/*
 Theme Name:   CREATOR FOUNDER
 Theme URI:    http://creatorfounder.pedrobuerbaum.com/
 Description:  Child theme para CREATOR FOUNDER.
 Author:       ETHOS
 Author URI:   https://pedrobuerbaum.com/
 Template:     generatepress
 Version:      0.1
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
*/

/*  
  ─── ÍNDICE ─────────────────────────────────────────────────────────────
  1. VARIABLES GENERALES Y TIPOGRAFÍAS
  2. TÍTULOS
  3. TEXTOS
  4. BOTONES
  5. HEADER
  6. FOOTER
  7. DISTANCIAS
  8. SECCIONES
  9. RESPONSIVE
*/

/*─────────────────────────────────────────────────────────────────────────────
  1. VARIABLES GENERALES Y TIPOGRAFÍAS
─────────────────────────────────────────────────────────────────────────────*/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root{
  --fuente: "Inter", sans-serif;
  --color-negro: #000000;
  --color-blanco: #ffffff;
  --color-gris:#808080;
}
body{
  font-family: var(--fuente) !important;
}

/*─────────────────────────────────────────────────────────────────────────────
  2. TÍTULOS
─────────────────────────────────────────────────────────────────────────────*/
.titulo-primario-negro h2{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 40px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.titulo-primario-blanco h2{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 40px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}
.titulo-secundario h2{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 40px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.titulo-primario-blanco span, .titulo-primario-negro span{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 40px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.titulo-primario-gris h2{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 30px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.titulo-contraste-blanco h3{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 30px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}

.titulo-contraste-blanco span{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 30px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
  background-color: var(--color-blanco) !important;
  padding:0px  1px  !important;
}

.titulo-contraste-negro span{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 40px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
  background-color: var(--color-negro) !important;
  padding:0px  1px  !important;
}
.subtitulo-negro h3{
  font-family: var(--fuente) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 24px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.titulo-tarjeta h3{
  font-family: var(--fuente) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.titulo-tarjeta b{
  font-family: var(--fuente) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.titulo-tarjeta h2{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-style: Bold !important;
  font-size: 35px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
/*─────────────────────────────────────────────────────────────────────────────
  3. TEXTOS
─────────────────────────────────────────────────────────────────────────────*/
.texto-degradado .qodef-m-text-item {
  font-family: var(--fuente) !important;
  background: linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(255,255,255,0.02)) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
.texto-primario-negro p{
  font-family: var(--fuente) !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.texto-primario-blanco p{  
  font-family: var(--fuente) !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}
.texto-secundario p{  
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.texto-secundario-blanco p{  
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}
.texto-tarjeta p{  
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.texto-terciario p{  
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.texto-terciario-blanco p{  
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}
.texto-cuaternario p{  
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.texto-18{
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
.etiqueta-gris p{
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
  padding: 9px 17px !important;
  border: 1px solid var(--color-blanco) !important;
  border-radius: 100px !important;
}
.glass p{
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
  padding: 9px 17px !important;
  border-radius: 100px !important;
  position: relative;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(2px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2), 
              inset 0 4px 20px rgba(255, 255, 255, 0.3);
}
.glass {
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
  padding: 9px 17px !important;
  border-radius: 100px !important;
  position: relative;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(2px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 2rem;
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2), 
              inset 0 4px 20px rgba(255, 255, 255, 0.3);
}
.glass::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2rem;
  backdrop-filter: blur(1px);
  box-shadow: inset -10px -8px 0px -11px rgba(255, 255, 255, 1),
              inset 0px -9px 0px -8px rgba(255, 255, 255, 1);
  opacity: 0.6;
  z-index: -1;
  filter: blur(1px) drop-shadow(10px 4px 6px black) brightness(115%);
}

.etiqueta-negra p{
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
  padding: 9px 17px !important;
  border: 1px solid var(--color-negro) !important;
  border-radius: 100px !important;
}
.texto-cita p{
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 170% !important;
  font-style: italic !important;
  color: var(--color-negro) !important;
}
.politica {
  color: #FFF !important;
  text-decoration: underline !important;
}
/*─────────────────────────────────────────────────────────────────────────────
  4. BOTONES
─────────────────────────────────────────────────────────────────────────────*/

/*─────────────────────────────────────────────────────────────────────────────
  5. HEADER
─────────────────────────────────────────────────────────────────────────────*/

/*─────────────────────────────────────────────────────────────────────────────
  6. FOOTER
─────────────────────────────────────────────────────────────────────────────*/
.copyright p{
  color: var(--color-negro) !important;
  font-family: var(--fuente) !important;
  font-size: 20px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 110% !important;
}
.legal p{
  color: var(--color-gris) !important;
  font-family: var(--fuente) !important;
  font-size: 18px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 110% !important;
}

/*─────────────────────────────────────────────────────────────────────────────
  7. DISTANCIAS
─────────────────────────────────────────────────────────────────────────────*/

/*─────────────────────────────────────────────────────────────────────────────
  8. SECCIONES
─────────────────────────────────────────────────────────────────────────────*/
/*TARJETAS*/

/*FORMULARIO*/
.formulario input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
  border: 1px solid var(--color-blanco) !important;
  border-radius: 100px !important;
  padding: 15px 30px !important;
  max-width: 100% !important;
  padding-left: 42px !important; /* espacio para el icono */
  background-repeat: no-repeat;
  background-position: 14px 50%;
  background-size: 18px;
}
.formulario .elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label {
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 18px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
}
.iti__selected-flag {
  padding: 0 6px 0 14px !important;
}
.fomulario input[type=checkbox]{
  background-color: transparent !important;
  border: 1px solid var(--color-blanco) !important;
}
.formulario .elementor-field-subgroup:not(.elementor-subgroup-inline) .elementor-field-option {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px !important;
  align-items: flex-start !important;
}
.formulario .elementor-button[type="submit"]{
  margin-top: 30px !important;
}
.formulario #form-field-telephone{
  padding:  15px 30px 15px 50px !important;
}

#form-field-name {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23fff"><path d="M12 12c2.7 0 5-2.3 5-5s-2.3-5-5-5-5 2.3-5 5 2.3 5 5 5zm0 2c-4 0-8 2-8 6v2h16v-2c0-4-4-6-8-6z"/></svg>');
}

#form-field-email {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23fff"><path d="M12 13 2 6.76V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6.76L12 13z"/><path d="M22 6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2l10 6 10-6z"/></svg>');
}

#form-field-instagram {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="%23fff"><path d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm5 5a5 5 0 1 0 0 10 5 5 0 0 0 0-10zm6.5-.75a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5zM12 9a3 3 0 1 1 0 6 3 3 0 0 1 0-6z"/></svg>');
}



/* CARRUSEL ICONOS */
.icon-carousel {
  overflow: hidden;
  background: #fff;
  padding: 20px 0;
}

.icon-track {
  display: flex;
  width: max-content; /* asegura que el contenido se ajuste a lo que haya */
  animation: scroll 40s linear infinite; /* ajusta velocidad aquí */
}

.icon {
  flex: 0 0 auto;
  padding: 0 30px;
}

.icon img {
  height: 50px !important;
  width: auto;
  display: block;
}

@keyframes scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); } /* -50% porque duplicamos el bloque */
}


/*HISTORIA*/
.numero p{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
  background: var(--color-blanco) !important;
  padding: 14px !important;
  border-radius: 100px !important;
}
.texto-historia p{
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 150% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.texto-historia span{
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 150% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}

/* VALIDACIÓN */
/* .validacion .elementor-icon-list-item {
  background-color: #F2F2F2 !important;
  padding: 20px 40px !important;
  border-radius: 15px !important;
  margin-bottom: 20px !important;
} */
.validacion .elementor-icon-list-text {
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.validacion .elementor-icon-list-text span{
  color: var(--color-gris) !important;
}

/*CORE*/
.titulo-core h3{
  font-family: var(--fuente) !important;
  font-weight: 700 !important;
  font-size: 30px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.titulo-core span{
  color: var(--color-blanco) !important;
  background-color: var(--color-negro)!important;
}
.texto-core p{
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-negro) !important;
}
.texto-core span{
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 100% !important;
  letter-spacing: 0% !important;
  color: var(--color-gris) !important;
}
/*Fondos*/
.gradiente{
  background: linear-gradient(180deg, #F2F2F2 0%, #FFF 100%) !important;
}
.fondo-blanco{
  background-color: var(--color-blanco) !important;
}
.fondo-negro{
  background-color: var(--color-negro) !important;
}

/* SECCION ROADMAP */
.listado-gris .elementor-icon-list-text {
  font-family: var(--fuente) !important;
  font-weight: 500 !important;
  font-size: 18px !important;
  line-height: 110% !important;
  letter-spacing: -0.2px !important;
  color: var(--color-gris) !important;
  margin-top: -3px !important;
}

.listado-blanco .elementor-icon-list-text {
  font-family: var(--fuente) !important;
  font-weight: 300 !important;
  font-size: 20px !important;
  line-height: 110% !important;
  letter-spacing: 0% !important;
  color: var(--color-blanco) !important;
  margin-top: -3px !important;
}



/*TESTIMONIOS */


/* Swiper alto y espaciado */
.testi-vertical .testi-swiper { height: 800px; padding: 24px 4px; }

/* Tarjeta */
.testi-card{
  background: rgb(255, 255, 255);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 14px 14px;
  box-shadow: 0 10px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter: blur(2px);
  transition: transform .45s ease, box-shadow .45s ease, filter .45s ease, opacity .45s ease;
}
.testi-row{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.avatar{
  width:30px; height:30px; border-radius:50%;
  background: #000;
  color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:16px;
}
.meta{ display:flex; flex-direction:column; line-height:1.1; }
.meta strong{ font-size:16px; color:#000; font-family: var(--fuente);}
.meta span{ font-size:16px; color:#000; font-family: var(--fuente);}
.text{ margin: 8px 0 0; color:#000; font-size:16px; line-height:1.5;font-family: var(--fuente); }

/* Estados de enfoque/desenfoque */
.testi-vertical .swiper-slide { transition: transform .45s ease; }
.testi-vertical .swiper-slide .testi-card{ opacity:.35; filter: blur(3px) saturate(.8); transform: scale(.96); }
.testi-vertical .swiper-slide-active .testi-card{
  opacity:1; filter: none; transform: scale(1);
  box-shadow: 0 14px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
}

/* Oculta scrollbar si aparece */
.testi-vertical .swiper::-webkit-scrollbar{ display:none; }

/* === Fade top/bottom sólo en los extremos === */
:root{
  --testi-fade-size: 80px; /* alto del difuminado arriba/abajo */
}

/* Asegura posicionamiento del wrapper */
#testi-vertical { position: relative; }

/* Aplica la máscara al carrusel */
#testi-vertical .testi-swiper{
  /* Hace el desvanecido arriba y abajo */
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0,
    black var(--testi-fade-size),
    black calc(100% - var(--testi-fade-size)),
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0,
    black var(--testi-fade-size),
    black calc(100% - var(--testi-fade-size)),
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
}

/* SOLO si necesitas fallback */
#testi-vertical::before,
#testi-vertical::after{
  content:"";
  position:absolute;
  left:0; right:0;
  height: var(--testi-fade-size);
  pointer-events:none;
  z-index: 3; /* por encima de las tarjetas */
}
#testi-vertical::before{
  top:0;
  background: linear-gradient(to bottom, #000, rgba(0,0,0,0));
}
#testi-vertical::after{
  bottom:0;
  background: linear-gradient(to top, #000, rgba(0,0,0,0));
}

/*─────────────────────────────────────────────────────────────────────────────
  9. RESPONSIVE
─────────────────────────────────────────────────────────────────────────────*/

@media only screen and (max-width: 600px) {
    .titulo-primario-negro h2{
      font-size: 32px !important;
    }
    .titulo-primario-blanco h2{
      font-size: 32px !important;
    }
    .titulo-secundario h2{
      font-size: 32px !important;
    }
    .titulo-primario-blanco span, .titulo-primario-negro span{
      font-size: 32px !important;
    }
    .copyright p{
      font-size: 16px !important;
    }
    .legal p{
      font-size: 16px !important;
    }
    .texto-historia p{
      font-size: 16px !important;
    }
    .texto-historia span{
      font-size: 16px !important;
    }
    .texto-cita p{
      font-family: var(--fuente) !important;
      font-weight: 300 !important;
      font-size: 16px !important;
      line-height: 170% !important;
      font-style: italic !important;
      color: var(--color-negro) !important;
    }
    .icon img {
      height: 30px !important;
    }
    .icon {
      padding: 0 15px !important;
    }
    .texto-tarjeta p{  
      font-size: 16px !important;
    }
    .titulo-tarjeta h2{
      font-size: 28px !important;
    }
    .testi-vertical .testi-swiper { height: 530px; padding: 24px 4px; }
  }