/*
Theme Name: Hello Elementor Child
Template: hello-elementor
*/

/* ========== Base & Optimizaciones ========== */

/* Evita usar position: relative en todo */
* { box-sizing: border-box; }

body {
  min-height: 100dvh;
  background-color: #FFF;
}

h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
  font-size: inherit;
  line-height: inherit;
  text-rendering: optimizeLegibility;
  margin-block: 0;
}

p {
  text-wrap: balance;
  font-size: inherit;
  line-height: inherit;
  text-rendering: optimizeLegibility;
  margin-block: 0;
  font-variant-ligatures: common-ligatures discretionary-ligatures;
}

/* Fallback tipográfico para navegadores sin text-wrap */
p, h1, h2, h3, h4, h5, h6 { 
    overflow-wrap: anywhere; 
}

svg { 
    shape-rendering: geometricPrecision; 
}

.legales p { 
    text-wrap: pretty; 
}

.contenido-html a {
  color: currentColor;
  text-decoration: underline;
  text-decoration-thickness: .06em;
}
.contenido-html a:hover {
  text-decoration-thickness: .1em;
}

/* Elimina espacio blanco final en editor Elementor */
.elementor-widget-text-editor :where(p, ul, ol):last-child { 
    margin-bottom: 0; 
}

.reset-list ul {
  margin-block: 0; /* quita espacio arriba/abajo del <ul> */
  padding-inline-start: .9rem; /* sangría mínima (0 si lo quieres a ras) */
  list-style: disc; /* asegura viñetas normales */
  }


/* Negrita específica para párrafos */
.strong-bold { 
    font-weight: 600; 
}

/* Separación entre párrafos del widget texto */
.elementor-widget-text-editor p { 
    margin-bottom: 1.2rem; 
}

/* Utilidades de visibilidad */
.ocultar { 
    display: none; 
}



/* Links Header y Footer Tachados */









/* Animación de entrada en viewport fijada al scroll */

@supports (animation-timeline: view()) {
  .fade-in-escala {
    view-timeline-name: --fadeEscala;
    view-timeline-axis: block;
    animation: escalador 1.5s cubic-bezier(.3,.3,.3,1) both;
    animation-timeline: --fadeEscala;
    animation-range: entry 0% cover 40%;
    will-change: transform, border-radius; /* opcional */
  }
}




@keyframes escalador {
  from {
    opacity: 1;
    transform: scale(.6);
    border-radius: 80px;
  }
  to {
    opacity: 1;
    transform: scale(1);
    border-radius: 0px;
  }
}






/* ========== Backdrop Blur (con utilidades) ========== */

/* Superficie translúcida + fallback si no hay soporte */
.backdrop-surface { 
    background-color: hsla(0,0%,97%,.85);
}
@supports not (backdrop-filter: blur(20px)) {
  .backdrop-surface { background-color: hsla(0,0%,97%,.85); }
}

/* Blur estático */
.background-blur {
  backdrop-filter: blur(20px);
  background-color: hsla(0,0%,97%,.85);
  -webkit-backdrop-filter: blur(20px);  
}






/* Animación: blur (0→30px) */
.background-motion-blur {
  animation: desenfoque-gradual .3s ease-in forwards;
}
@keyframes desenfoque-gradual {
  from {
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
  }
  to {
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
  }
}







/* ========== Formularios (Aceptación) ========== */
.elementor-field-option { 
    padding: 8px 0; 
}

.aceptacion-title {
  color: #000000;
  font-weight: 700;
  font-size: .85rem;
  line-height: .95rem;
}

.aceptacion {
  color: #000000;
  font-size: .7rem;
  line-height: .95rem;
  padding-top: 8px;
}

/* Enlaces */
.aceptacion-title a,
.aceptacion a {
  color: #000000;
  text-decoration: underline; /* opcional */
  transition: color 0.25s ease;
}

/* Hover */
.aceptacion-title a:hover,
.aceptacion a:hover {
  color: #ffffff;
}







/* ========== Botón gestión consentimiento ========== */
#cmplz-manage-consent .cmplz-manage-consent {
  border: 1px solid #000 !important;
  background-color: #FFF !important;
  color:#000 !important;
  font-size: .9em !important;
  font-weight: 400 !important;
  min-width: 80px !important;
}



