/*
Theme Name: Astra Child
Theme URI: https://slim.cl
Author: Teresita Ca単ete
Author URI: https://estudioresortera.cl
Template: astra
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans+Condensed:wght@300;700&display=swap');

.ast-primary-header-bar {
    background-color: #0D0D52 !important;
  
}


/* Tipografía global */

body,
button,
input,
textarea,
p,
a,
select{
    font-family: "Aeonik Pro", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6{
     font-family: "Aeonik Pro", sans-serif;
}

body{
	

.elementor-element-f502dfb p{
  margin-bottom: 0 !important;
}

}
/* ===== Carrusel de logos (altura uniforme + hover) ===== */
.elementor-image-carousel .swiper-slide img{
  max-height: 70px;      /* ajusta 60–80px según tu diseño */
  width: auto;
  object-fit: contain;
  transition: filter .25s ease, opacity .25s ease, transform .25s ease;
}
.elementor-image-carousel .swiper-slide:hover img{
  filter: none;
  opacity: 1;
  transform: translateY(-2px);
}



/* ===== Submenú desktop (dropdown) ===== */
.ast-desktop .main-header-menu .sub-menu,
.ast-desktop .ast-nav-menu .sub-menu{
  background:#0D0D52 !important;
  border:none !important;
  box-shadow: 0 14px 32px rgba(13,13,82,.28) !important;
  padding: 0 !important;
  min-width: 210px !important;
}

.ast-desktop .main-header-menu .sub-menu a,
.ast-desktop .ast-nav-menu .sub-menu a{
  font-family: "Aeonik Pro", sans-serif !important;
  font-weight: 400 !important;
  color:#fff !important;
  background:#0D0D52 !important;
  padding:16px 20px !important;
  line-height:1.35 !important;
  position:relative !important;
}

.ast-desktop .main-header-menu .sub-menu a:hover,
.ast-desktop .ast-nav-menu .sub-menu a:hover{
  background:#1A2DC2 !important;
  color:#fff !important;
}

.ast-desktop .main-header-menu .sub-menu a:hover::before,
.ast-desktop .ast-nav-menu .sub-menu a:hover::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:100%;
  background:#27BFE6;
}


/* ===== Menú móvil (drawer) Astra ===== */
.ast-header-break-point .ast-mobile-popup-drawer .ast-mobile-popup-inner{
  background: rgba(45,129,154,.95) !important; /* translúcido elegante */
  backdrop-filter: blur(8px);
}
.ast-header-break-point .main-header-menu,
.ast-header-break-point .ast-nav-menu,
.ast-header-break-point .main-header-menu .sub-menu{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
.ast-header-break-point .main-header-menu .menu-item > a.menu-link{
  color:#fff !important;
}
.ast-header-break-point .main-header-menu .menu-item:hover > a.menu-link,
.ast-header-break-point .main-header-menu .current-menu-item > a.menu-link{
  background: rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.ast-header-break-point .main-header-menu .menu-item{
  border-color: rgba(255,255,255,.15) !important;
}
.ast-header-break-point .ast-menu-toggle .ast-icon,
.ast-header-break-point .ast-menu-toggle{
  color:#fff !important;
  border-color: rgba(255,255,255,.4) !important;
}
.ast-mobile-popup-drawer .menu-toggle-close{
  color:#fff !important;
  border-color: rgba(255,255,255,.6) !important;
}
.ast-header-break-point .ast-mobile-popup-drawer a{
  color:#fff !important;
}

.menu-dos-lineas .menu-link:hover{
  color: #f47b20!important; /* tu naranja */
}
.menu-dos-lineas .menu-link:hover,
.menu-dos-lineas.current-menu-item .menu-link,
.menu-dos-lineas.current_page_item .menu-link{
  color: #27BFE6!important;
}


/* ====== Tarjeta (card) ====== */
.mis-testimonios .wpmtst-testimonial{
  background:#fff !important;
  border:1px solid rgba(0,0,0,.08) !important;
  border-radius:14px !important;
  padding:28px !important;
  box-shadow:0 6px 18px rgba(0,0,0,.06) !important;

  /* por si el plugin pone display:block/float */
  display:flex !important;
  flex-direction:column;
  gap:10px;
  line-height:1.6;
}
/* === Fondo del panel móvil (off-canvas) === */
.ast-mobile-popup-drawer.active,
.ast-header-break-point .ast-mobile-popup-drawer.active,
.ast-mobile-popup-drawer .ast-mobile-popup-inner {
  background-color: #2D819A !important; /* Fondo turquesa sólido */
  background: #2D819A !important;
  color: #fff !important;
  border: none !important;
}

/* === Fondo interno del contenedor del menú === */
.ast-header-break-point .ast-mobile-popup-content,
.ast-mobile-popup-content {
  background: transparent !important;
}

/* === Enlaces principales del menú === */
.ast-mobile-popup-drawer .main-header-menu .menu-link,
.ast-header-break-point .main-header-menu .menu-link {
  color: #fff !important;
  background: transparent !important;
}

/* === Hover / activo === */
.ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
.ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link {
  background: rgba(255,255,255,0.15) !important;
  color: #fff !important;
}

/* === Submenús dentro del móvil === */
.ast-mobile-popup-drawer .sub-menu {
  background: rgba(45,129,154,0.95) !important;
  border: none !important;
}

/* === Iconos de flechas (▾ / toggle) === */
.ast-mobile-popup-drawer .ast-icon svg path {
  fill: #fff !important;
}

/* === Botón "Cerrar" (X) === */
.ast-mobile-popup-drawer .menu-toggle-close {
  color: #fff !important;
  border-color: rgba(255,255,255,0.4) !important;
}

/* === Link “Acceder” o links sueltos === */
.ast-mobile-popup-drawer a {
  color: #fff !important;
}

/* === Evitar fondo blanco residual del body al abrir el menú === */
.ast-mobile-popup-drawer.active body,
.ast-mobile-popup-drawer.active html {
  background: #2D819A !important;
}
/* === Mantiene el logo arriba y baja el menú === */

/* Asegura que el logo esté por encima del panel */
.ast-header-break-point .site-branding {
  position: relative;
  z-index: 9999 !important;
}

/* Agrega espacio superior dentro del drawer del menú móvil */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-header-break-point .main-header-bar-navigation.toggle-on {
  padding-top: 100px !important; /* Ajusta este valor según la altura de tu logo */
}

/* Evita que el logo se oculte detrás del drawer */
.ast-mobile-popup-drawer.active {
  margin-top: 0 !important;
}

/* Corrige si el botón "X" de cerrar se sobrepone al logo */
.ast-mobile-popup-drawer .menu-toggle-close {
  top: 20px !important;
  right: 20px !important;
}

/* ====== Texto del testimonio ====== */
.mis-testimonios .testimonial-content p{
  margin:0 0 8px;
}

/* ====== Nombre y cargo ====== */
.mis-testimonios .testimonial-name{
  font-weight:700 !important;
  color:#1a2a33 !important;
  margin-top:4px;
}
.mis-testimonios .testimonial-company{
  color:#5b6b73 !important;
  margin-top:2px;
}

/* ====== Separación consistente entre slides ====== */
.mis-testimonios .wpmtst-testimonial{
  /* el plugin ya agrega margin-right inline; mantenemos coherencia */
  min-height: 200px; /* evita saltos si un testimonio es más corto */
}

/* ====== Opcional: comillas de color corporativo ====== */
.mis-testimonios .testimonial-content{
  position:relative;
}
.mis-testimonios .testimonial-content:before{
  content: "“";
  position:absolute; left:-12px; top:-8px;
  font-size:32px; line-height:1;
  color:#4dadc3; opacity:.35;
}

/* No recortes el contenido del slide */
.mis-testimonios .wpmslider-viewport {
  height: auto !important;
  overflow: hidden !important;
}

/* Asegura que cada tarjeta crezca libremente */

/* Si dejaste 2 por vista, evita saltos grandes */
@media (min-width: 1025px){
  .mis-testimonios .wpmtst-testimonial { min-height: 240px; } /* ajusta si quieres */
}
.strong-view.wpmtst-simple .wpmtst-testimonial-inner {  display: flex!important ; 
	flex-direction:
	column!important; justify-content: space-between; }


.strong-view.wpmtst-simple .wpmtst-testimonial-inner > *:not(:nth-last-child(2)):not(:last-child) {
    margin-bottom: 5px;
    margin-top: auto;
}
.mis-testimonios .testimonial-content:before{
	display:none;
}

.mis-testimonios .wpmtst-testimonial::before{
  content:'';
  position:absolute; left:0; top:18px; bottom:18px;
  width:4px; border-radius:4px;
  background:#0D0D52  ;
}
.mis-testimonios .wpmtst-testimonial:hover{
  transform: translateY(-4px);
  box-shadow:0 12px 28px rgba(0,0,0,.10);
}

/* 1) Volver a contener el header dentro del ancho del sitio */
.site-primary-header-wrap .ast-container,
.site-primary-header-wrap {
  max-width: 1300px !important;   /* ajústalo al mismo ancho que uses en Astra → Global → Container */
  width: 100%;
  margin: 0 auto;
  padding-inline: clamp(12px, 2vw, 24px);
}



/* 5) Alinear verticalmente logo + menú */
.ast-builder-grid-row.ast-builder-grid-row-has-sides{
  align-items:center!important;
}

/* 6) Logo un poco más contenido (da aire al menú) */
.site-logo-img img{
  max-height: 96px;
  width: auto;
}
.ta-hero-text{
  background: rgba(13,13,82,.88) !important;
  color: #ffffff !important;
}


/* Cards base */
.pilar-card {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 24px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pilar-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

/* Íconos
.pilar-card i {
  font-size: 36px;
  color: #2D819A;
  margin-bottom: 12px;
} */

/* Título */
.pilar-card h3 {
  color: #E97C24;
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 0!important;
}

/* Texto */
.pilar-card p {
  color: #333;
  font-size: 15px;

}

.container-asesoria{
	 background:#FFF;
}

/*home */

/* =========================
   HERO – TÍTULO PRINCIPAL
========================= */
.hero-title{
  font-family: "Aeonik Pro", sans-serif !important;
  font-size: clamp(22px, 3.6vw, 44px)!important;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.3px;
  color: #ffffff!important;
  margin: 0 0 16px;
  text-align: center;
}
.hero-subtitle{
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.65;
  font-weight: 700;
  color: rgba(255,255,255,0.92);

}

.hero-subtitle{
  background: rgba(0,0,0,0.18);
  padding: 10px 14px;
  border-radius: 10px;
  display: inline-block;
  text-align: center;
}

/* =========================
   HERO – CTAs
========================= */
.hero-ctas{
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 28px;
}


/* Base */
.hero-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .25s ease;
  min-width: 180px;
  text-decoration: none!important;
}

/* CTA primario */
.hero-btn-primary{
  background: #1A2DC2;
  color: #fff;
}
.hero-btn-primary:hover{
  background: #0D0D52;
  color: #FFFF;
  transform: translateY(-1px);
}

/* CTA secundario */
.hero-btn-secondary{
   background: transparent;
  color: #ffffff;
  border: 1px solid #EAE8E2;
}
.hero-btn-secondary:hover{
   background: rgba(255,255,255,.08);
  color: #ffffff;
  border-color: #EAE8E2;

}
@media (max-width: 767px){

  .elementor-element-45fbea0{
    text-align: center !important;
  }

  /* Columnas/containers dentro del hero */
  .elementor-element-45fbea0 .e-con{
    align-items: center !important;    
  }
	
	.ta-h1.title-condensed{
    font-size: clamp(2.6rem,4vw,4.2rem);
    font-weight: 700;
    line-height: 1.1;
    color: #fff; !important
    letter-spacing: -.02em;
    margin: 0;
}

  .elementor-element-45fbea0 h1.ta-h1{
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 92vw;                     /* evita que “se pegue” */
  }

  /* El párrafo del texto */
  .elementor-element-45fbea0 .ta-hero-text,
  .elementor-element-45fbea0 .ta-hero-text p{
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 520px;
  }

  /* Botón */
  .elementor-element-45fbea0 .ta-cta{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================
   MANIFIESTO
========================= */

.manifesto{
  background: #E9F6F9!important; /* o blanco si prefieres */
}

.manifesto-title{
  max-width: 900px;
  margin: 0 auto 60px;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.25;
  color: #1a2a33;
}

.manifesto-intro{
  max-width: 760px;
  margin: 0 auto 40px;
  font-size: 18px;
  line-height: 1.7;
  color: #1a2a33;
  opacity: .9;
 
}

/* Bloques de texto */
.manifesto-block{

  margin: 0 auto 28px;
  padding-left: 22px;
  border-left: 4px solid #27BFE6;

  font-size: 16.5px;
  line-height: 1.75;
  color: #1a2a33;
   text-align: left!important;
   padding-left: 16px!important;
}

/* Último bloque: más contundente */
.manifesto-close{
  border-left-color: #27BFE6;
  font-weight: 500;
}

/* Mobile */
@media (max-width: 767px){
  .manifesto-intro{
    font-size: 16px;
  }
  .manifesto-block{
    font-size: 15.5px;
    padding-left: 16px;
  }
}
/* =========================
   SERVICIOS HOME
========================= */

.services-home{
      background: linear-gradient(
        180deg,
        #F6F5F2 0%,
        #F9F9F7 45%,
        #FFFFFF 100%
    );
    padding: 10px 0;
}

@media (max-width: 767px){
  .services-home{ padding: 54px 0; }
}

/* Título de sección (H2) */
.services-home h2{
  max-width: 900px;
  margin: 0 auto 14px;
  text-align: center;
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.2;
  color: #1a2a33;
}

/* Bajada */
.services-intro{
  max-width: 760px;
  margin: 0 auto 44px;
  text-align: center;
  font-size: clamp(15.5px, 1.6vw, 18px);
  line-height: 1.7;
  color: #1a2a33;
  opacity: .9;
}

/* Grid (Elementor a veces deja gaps raros) */
.services-home .elementor-inner-section .elementor-column-gap-default > .elementor-column > .elementor-element-populated{
  padding: 12px !important;
}

/* Card */
.service-card{
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;

  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  padding: 26px 26px 22px;

  text-decoration: none !important;
  color: #1a2a33;

  box-shadow: 0 6px 16px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* Barra izquierda de marca */
.service-card::before{
  content: "";
  position: absolute;
  left: 0;
  top: 18px;
  bottom: 18px;
  width: 4px;
  border-radius: 4px;
  background: #0D0D52;
  opacity: .9;
}

/* Hover */
.service-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
  border-color: rgba(77,173,195,.55);
}

/* Título card */
.service-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
  color: #0D0D52;
}

/* Copy card */
.service-copy{
  margin: 0;
  font-size: 15.5px;
  line-height: 1.65;
  color: #1a2a33;
  opacity: .92;
}

/* Sub-áreas (al final) */
.service-areas{
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.06);

  font-size: 13.5px;
  line-height: 1.5;
  color: #5b6b73;
  opacity: .95;
}

/* Un detalle: resaltar card al enfocar con teclado (accesibilidad) */
.service-card:focus{
  outline: 3px solid rgba(233,124,36,.45);
  outline-offset: 3px;
}

/* Mobile: cards más compactas */
@media (max-width: 767px){
  .service-card{
    padding: 22px 18px 18px;
    border-radius: 16px;
  }
  .service-title{ font-size: 17px; }
  .service-copy{ font-size: 15px; }
}
/* Forzar columnas de Elementor a igual altura */
.services-home .elementor-column,
.services-home .elementor-widget-wrap{
  height: 100%;
}

/* Asegura que la card ocupe todo el alto disponible */
.services-home .elementor-widget-shortcode{
  height: 100%;
}

.services-home .elementor-widget-shortcode > div,
.services-home .elementor-widget-shortcode > a{
  height: 100%;
}

/* =========================
   FIX MENÚ MÓVIL + HEADER FIXED
========================= */

/* 1) Desktop: mantén fixed como lo tienes */
#masthead,
#masthead .main-header-bar{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9999;
}

/* 2) Mobile/Tablet: cambia fixed -> sticky para no pelear con el drawer */
@media (max-width: 921px){
  #masthead,
  #masthead .main-header-bar{
    position: fixed !important;
    top: 0 !important;
  }
  .admin-bar #masthead{ top: 0px !important; } /* WP admin bar en mobile */
  .ast-header-break-point .main-header-bar-navigation.toggle-on {
    padding-top: 0px !important;
}
header .custom-logo-link img {
    max-width: 64px;
    width: 94px;
}
.ast-header-break-point .ast-mobile-header-wrap .ast-flex.stack-on-mobile {
  
    padding-top: 0%;
}
}
[data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
    width: 30px!important;
    height: 30px!important;
    fill: #fff!important;
}



/* =========================
   COLLAGE 4 IMÁGENES (CONTAINERS)
========================= */

.gallery-collage{
  position: relative;
  max-width: 1180px!important;
  margin: 0 auto;
  padding: 70px 16px!important;
  gap: 18px;
}

/* Columnas */
.gallery-collage .collage-left,
.gallery-collage .collage-right{
  position: relative;
  display: flex;
  gap: 18px;
}

.gallery-collage .collage-left{
  width: 70%;
  min-width: 0;
}

.gallery-collage .collage-right{
  width: 30%;
  min-width: 0;
  flex-direction: column;
}

/* Base de cada “panel” */
.gallery-collage .collage-img{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,.12);
}



/* Overlay suave turquesa */
.gallery-collage .collage-img::after{
  content:"";
  position:absolute; inset:0;
  background: rgba(45,129,154,.22)!important;
  mix-blend-mode: multiply!important;
  pointer-events:none;
}


/* Imagen dentro */
.gallery-collage .collage-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
  transition: transform .35s ease;
}
.gallery-collage .collage-img:hover img{
  transform: scale(1.07);
}

/* Tamaños del collage */
.gallery-collage .img-1{ height: 520px; flex: 1; }     /* grande izquierda */
.gallery-collage .img-2{
  position: absolute;
  width: 36%;
  height: 260px;
  right: 18px;
  top: -10px;
  z-index: 3;
}

.gallery-collage .collage-img,
.gallery-collage .collage-img img{
  border: none !important;
}

.gallery-collage .img-3{ height: 330px; }             /* vertical derecha */
.gallery-collage .img-4{ height: 190px; opacity: .96; }

/* Bloque de texto flotante */
.gallery-collage .collage-note{
  position: absolute;
  left: 46px;
  top: 26px;
  max-width: 460px;
  background: rgba(233,124,36,.92);
  color: #fff;
  padding: 22px 22px;
  border-radius: 16px;
  box-shadow: 0 16px 30px rgba(0,0,0,.16);
  line-height: 1.6;
  z-index: 5;
}

/* Un toque tipográfico dentro del bloque */
.gallery-collage .collage-note strong{
  display: inline-block;
  margin-bottom: 6px;
}

/* Responsive */
@media (max-width: 980px){
  .gallery-collage{
    flex-direction: column;
  }
  .gallery-collage .collage-left,
  .gallery-collage .collage-right{
    width: 100%;
  }
  .gallery-collage .img-1{ height: 420px; }
  .gallery-collage .img-2{
    position: relative;
    width: 100%;
    height: 220px;
    right: auto;
    top: auto;
  }
  .gallery-collage .collage-note{
    position: relative;
    left: auto; top: auto;
    max-width: 100%;
    margin-bottom: 14px;
  }
}

@media (max-width: 520px){
  .gallery-collage{ padding: 54px 12px; }
  .gallery-collage .img-1{ height: 320px; }
  .gallery-collage .img-3{ height: 260px; }
  .collage-note{  margin:0 auto !important;}
}
/* FIX rápido: la nota no debe tapar el collage */
.gallery-collage .collage-note{
  max-width: 420px !important;
  width: min(420px, calc(100% - 32px)) !important;
  background: #0D0D52 !important;
  padding: 18px 18px !important;
  border-radius: 16px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* Si el texto dentro viene como p con márgenes gigantes */
.gallery-collage .collage-note p{
  margin: 0 0 10px !important;
}
.gallery-collage .collage-note p:last-child{
  margin-bottom: 0 !important;
}

/* Para que el collage se vea, baja un pelín el z-index del bloque */
.gallery-collage .collage-note{ z-index: 6 !important; }
.gallery-collage .collage-img{ z-index: 1 !important; }
.gallery-collage .img-2{ z-index: 3 !important; }




/* =========================
   FUNDADORA – EL ALMA
========================= */

/* Texto */
.founder-content h2{
  font-size: clamp(26px, 3vw, 36px)!important;
  line-height: 1.2;
  margin-bottom: 14px!important;
  color: #1a2a33!important;
}
.founder-section{
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px 16px;
  align-items: center;
}

/* Imagen */
.founder-photo img{
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(0,0,0,.14);
  width: 100%;
  height: auto;
}



.founder-name{
  font-weight: 700!important;
  color: #27BFE6!important;
  margin-bottom: 18px;
  font-size: 15px!important;
  letter-spacing: .3px;
}

/* Cita editorial */
.founder-quote{
  font-size: 16.5px;
  line-height: 1.75;
  color: #333;
  position: relative;
  padding-left: 22px;
}

/* Línea editorial (muy sutil) */
.founder-quote::before{
  content:"";
  position:absolute;
  left:0;
  top:6px;
  width:4px;
  height: calc(100% - 12px);
  background: #27BFE6;
  border-radius: 4px;
}

/* CTA */
.founder-cta .elementor-button{
  margin-top: 26px;
  background: #1A2DC2  !important;
  color: #fff !important;
  border: 2px solid #1A2DC2 !important;
  border-radius: 999px;
  padding: 12px 26px;
  font-weight: 700;
}

.founder-cta .elementor-button:hover{
  background: #0D0D52 !important;
  color: #fff !important;
  border: 2px solid #0D0D52 !important;
}

/* Responsive */
@media (max-width: 900px){
  .founder-section{
    flex-direction: column;
    padding: 64px 14px;
  }
  .founder-content{
    text-align: center;
  }
	.founder-cta .elementor-button{
		text-align:center!important;
	}
}

@media (max-width: 900px){

  /* 1) Contenedor de los botones */
  .ta-card__actions{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;
  }

  /* 2) Cada widget de Elementor (esto es lo que te está dejando “corridos”) */
  .ta-card__actions .elementor-widget-button{
    width: 100%;
    display: flex !important;
    justify-content: center !important;
  }

  /* 3) El <a> (por si algún estilo lo fuerza) */
  .ta-card__actions .elementor-button{
    margin-left: auto !important;
    margin-right: auto !important;
  }
}





/* Contenedor de imágenes */
.ta-visual{
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* Imagen principal */
.ta-visual .img-main{
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,.12);
}

/* Imagen secundaria */
.ta-visual .img-secondary{
  width: 75%;
  margin-left: auto;
  border-radius: 18px;
  overflow: hidden;
  filter: grayscale(100%);
  opacity: 0.55;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

/* Reset fondos raros */
.ta-visual img{
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
}


.ta-box{
  padding: 18px 22px !important;
  margin-bottom: 14px !important;
}

.ta-box h3{
  margin-bottom: 6px !important;
}

.ta-box p,
.ta-box li{
  line-height: 1.45!important;
}




/* === Burbujas (a prueba de Elementor) === */
.ta-bubbles{
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}

/* Elementor a veces mete contenedores; cubrimos ambos casos */
.ta-bubbles .ta-bubble,
.ta-bubbles .elementor-widget-container .ta-bubble{
  position: relative;
  padding: 18px 18px 18px 18px;
  border-radius: 18px;
  background: #1E4850;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.07);
  line-height: 1.5;
  overflow: visible;
}

/* Quita márgenes típicos de <p> si Elementor los mete */
.ta-bubbles .ta-bubble p{
  margin: 0 !important;
}

/* Barrita naranja */
.ta-bubbles .ta-bubble::after{
  content:"";
  position:absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 4px;
  border-radius: 12px;
  background: #f47b20;
}

/* “Piquito” del globo */
.ta-bubbles .ta-bubble::before{
  content:"";
  position:absolute;
  left: 22px;
  top: -7px;
  width: 14px;
  height: 14px;
  background:  #1E4850;
  border-left: 1px solid rgba(0,0,0,.08);
  border-top: 1px solid rgba(0,0,0,.08);
  transform: rotate(45deg);
  border-top-left-radius: 4px;
}

/* Responsive */
@media (max-width: 980px){
  .ta-bubbles{ grid-template-columns: 1fr; }
}




/* ===== Caja base ===== */
.ta-box{
  position: relative;
    overflow: hidden;
  padding: 22px 22px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 12px 30px rgba(0,0,0,0.07);
}



/* ===== Título H3 ===== */
.ta-box h3{
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.25;
}

/* ===== Texto ===== */
.ta-box p{
  margin: 0;
  line-height: 1.6;
}

/* ===== Acento lateral ===== */

.ta-box.ta-accent::before{
  content:"";
  position:absolute;
  left: 0;             /* pegado al borde */
  top: 0;
  bottom: 0;
  width: 4px;
  background: #27BFE6;
}

/* Responsive */
@media (max-width: 980px){
  .ta-box{
    padding: 18px 18px 16px;
  }
}






/* ===== Grid de programas ===== */
.ta-program-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

/* ===== Tarjeta base ===== */
.ta-program-card{
  position: relative;
  border-radius: 20px;
  padding: 22px 22px 18px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 14px 34px rgba(0,0,0,0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 360px;
}

/* Barra de acento lateral (por defecto naranja TransformAcción) */
.ta-program-card::before{
  content:"";
  position:absolute;
  left: 14px;
  top: 18px;
  bottom: 18px;
  width: 4px;
  border-radius: 999px;
  background: #f47b20; /* tu naranja */
  opacity: .95;
}

/* “Bloque visual” superior (metáfora) */
.ta-program-card::after{
  content:"";
  position:absolute;
  right: -60px;
  top: -60px;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, rgba(244,123,32,.22), rgba(244,123,32,0));
  transform: rotate(12deg);
  pointer-events: none;
}

/* Kicker */
.ta-program-card .ta-kicker{
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .78;
  margin: 0 0 10px;
}

/* Título H3 */
.ta-program-card h3{
  margin: 0 0 10px;
  font-size: 20px;
  line-height: 1.2;
}

/* Texto */
.ta-program-card p{
  margin: 0 0 14px;
  line-height: 1.6;
}

/* Empuja el botón hacia abajo */
.ta-program-card .elementor-widget-button{
  margin-top: auto;
}

/* Botón más editorial */
.ta-program-card .elementor-button{
  border-radius: 14px;
  padding: 12px 16px;
}

/* ===== Variantes por programa (solo cambia el “halo” visual) ===== */
/* Águila */
.ta-program-card.ta-eagle::after{
    background: radial-gradient(
        circle at 30% 30%,
        rgba(39,191,230,.10),
        rgba(39,191,230,0)
    );
}

/* Manada */
.ta-program-card.ta-pack::after{
    background: radial-gradient(
        circle at 30% 30%,
        rgba(26,45,194,.07),
        rgba(26,45,194,0)
    );
}

/* Oruga */
.ta-program-card.ta-cocoon::after{
    background: radial-gradient(
        circle at 30% 30%,
        rgba(39,191,230,.08),
        rgba(39,191,230,0)
    );
}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .ta-program-grid{
    grid-template-columns: 1fr;
  }
  .ta-program-card{
    min-height: auto;
  }
}
.ta-bubble-dark{
  position: relative;
  display: block;
  overflow: hidden;

  max-width: 1020px;
  padding: 22px 24px;

  background: #ffffff;

  border: 1px solid rgba(13,13,82,.08);

  border-radius: 22px;

  color: #0D0D52;

  line-height: 1.6;

  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

.ta-bubble-dark::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: 4px !important;
  border-radius: 999px !important;
  background: #27BFE6 !important;
}

/* pequeño quiebre orgánico superior */
.ta-bubble-dark::after{
  content: "";
  position: absolute;
  top: -6px;
  left: 36px;
  width: 18px;
  height: 18px;
  background: #0D0D52;
  transform: rotate(45deg);
  border-radius: 4px;
}

/* Textos interiores */
.ta-bubble-dark,
.ta-bubble-dark p,
.ta-bubble-dark h2,
.ta-bubble-dark h3,
.ta-bubble-dark h4,
.ta-bubble-dark strong{
  color: #0D0D52  !important;
}

/* Quita márgenes raros de Elementor */
.ta-bubble-dark p{
  margin: 0;
}

/* Mobile */
@media (max-width: 768px){
  .ta-bubble-dark{
    max-width: 100%;
    padding: 18px 20px;
  }
}

.ta-links{
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}

.ta-links li{
  margin-bottom: 12px;
}

.ta-links a{
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.40);
  background: transparent;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  transition: all .25s ease;
}

.ta-links a:hover{
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.75);
  color: #fff;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}




.ta-pain-card{
  background:#fff;
  border-radius:18px!important;
  padding:24px!important;
  box-shadow: 0 16px 40px rgba(0,0,0,.08);

}
.elementor .ta-pain-card{
  position: relative;
  overflow: hidden;
}

.elementor .ta-pain-card::before{
  content:"";
  position:absolute;
  left:0;
  top: 24px;        /* controla desde arriba */
  height: 200px;     /* largo exacto de la barra */
  width: 4px;
  width:4px;
  background:#27BFE6;
  border-radius:999px;
}






.ta-theme{
  --ta-accent: #27BFE6;
  --ta-ink: #0D0D52;
  --ta-ink-2: #4A5F63;
  --ta-surface: #ffffff;
  --ta-bg-1: #EFF2FB;
  --ta-bg-2: #E9F6F9;
  --ta-stroke: rgba(21,32,43,.12);
  --ta-shadow: 0 14px 44px rgba(21,32,43,.10);
}

/* Wrapper con fondo vivo pero sobrio */
.ta-tabs.ta-theme{
  max-width:1100px;
  margin:0 auto;
  padding:18px;
  border-radius:26px;
  background:
    radial-gradient(900px 260px at 0% 0%, var(--ta-bg-1), transparent 55%),
    radial-gradient(900px 260px at 100% 100%, var(--ta-bg-2), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.75));
  border:1px solid rgba(21,32,43,.08);
}

/* Tabs */
.ta-tablist{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  padding:6px;
  border-radius:999px;
  background: rgba(255,255,255,.75);
  border:1px solid rgba(21,32,43,.08);
}

.ta-tab{
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid var(--ta-stroke);
  background: rgba(255,255,255,.85);
  color: var(--ta-ink);
  border-radius:999px;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}

.ta-tab .ta-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: rgba(21,32,43,.25);
  box-shadow: 0 0 0 3px rgba(39,191,230,.18);
}

/* Hover de pestañas inactivas */
.ta-tab:not(.is-active):hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(13,13,82,.10);
  border-color: rgba(39,191,230,.45);
  color: #0D0D52 !important;
}

/* Pestaña activa, también al hacer hover o focus */
.ta-tab.is-active,
.ta-tab.is-active:hover,
.ta-tab.is-active:focus{
  background: #0D0D52;
  border-color: #0D0D52;
  color: #ffffff !important;
}
.ta-tab.is-active{
  background:#0D0D52;
  border-color:#0D0D52;
  color:#fff !important;
}
.ta-tab.is-active .ta-dot{
    background:#27BFE6;
    box-shadow:0 0 0 4px rgba(39,191,230,.20);
}



/* Panel */
.ta-panels{ margin-top:10px; }

.ta-panel{
  display:none;
  background: var(--ta-surface);
  border-radius:22px;
  padding:12px 30px;
  box-shadow: var(--ta-shadow);
  border:1px solid rgba(21,32,43,.08);
  position:relative;
  overflow:hidden;
}

/* Línea lateral “marca” TransformAcción */
.ta-panel::before{
  content:"";
  position:absolute;
  left:0; top:18px; bottom:18px;
  width:5px;
  background: linear-gradient(180deg,#27BFE6,rgba(39,191,230,.20));
  border-radius:999px;
}

/* Brillo suave en esquina (da vida sin gritar) */
.ta-panel::after{
  content:"";
  position:absolute;
  right:-80px; top:-80px;
  width:220px; height:220px;
  background: radial-gradient(circle,rgba(39,191,230,.14),transparent 60%);
  transform: rotate(8deg);
}

.ta-panel.is-active{ display:block; }

.ta-panel small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
  color: var(--ta-ink-2);
  opacity:.85;
  margin-bottom:6px;
}

.ta-panel h3{
  margin:0 0 10px;
  color: var(--ta-ink);
}

.ta-panel em{
  display:block;
  font-style:italic;
  color: var(--ta-ink-2);
  margin-bottom:14px;
  opacity:.92;
}

.ta-panel p{ color: var(--ta-ink-2); }
.ta-panel strong{ color: var(--ta-ink); }

.ta-panel ul{
  margin: 12px 0 0 18px;
  color: var(--ta-ink-2);
}

/* Mobile */
@media (max-width: 767px){
  .ta-tabs.ta-theme{ padding:14px; }
  .ta-tablist{
    border-radius:18px;
    padding:8px;
  }
  .ta-tab{
    width:100%;
    text-align:left;
    border-radius:14px;
  }
}


/* CONTENEDOR GENERAL */
.ta-cards{
  text-align:center;
  margin:0px 0;
}

.ta-cards-h2{
	color:#0D0D52 !important;
}

/* GRID */
.ta-cards-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:28px;
  margin-top:36px;
}

/* CARD */
.ta-card{
  background:#ffffff;
  border-radius:22px;
  padding:30px 26px;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
  transition:transform .3s ease, box-shadow .3s ease;
  position:relative;
	display: flex;           
  flex-direction: column;   
  height: 100%; 
	
}

/* SUTIL BORDE DE IDENTIDAD */
.ta-card::before{
  content:"";
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:3px;
  border-radius:999px;
  background:#27BFE6;
  opacity:.85;
}

/* HOVER */
.ta-card:hover{
  transform:translateY(-8px);
  box-shadow:0 22px 46px rgba(0,0,0,.12);
}

/* TITULO */
.ta-card-title{
  font-weight:700;
  font-size:1.6rem;
  margin:18px 0 10px;
  color:#0D0D52;
}

/* TEXTO */
.ta-card-text{
  font-size:.1.9rem;
  line-height:1.6;
  color:#4a5f63;
	margin:0!important;
	padding:0!important;
}
.entry-content p {
  margin-bottom: 0;
}

.ta-card-cta{
  margin-top: auto;
  align-self: center;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  font-size: 14px;
  font-weight: 600;
  color: #fff;
  text-decoration: none!important;

  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,172,194,.35);
  background: #1A2DC2;

  transition: 
    color .2s ease,
    background .2s ease,
    border-color .2s ease,
    transform .15s ease;
}

.ta-card-cta:hover{
  color: #ffffff;
  background: #1A2DC2;
  transform: translateY(-1px);
}



/* ICONO (por si después vuelves a usarlo) */
.ta-card-icon{
  width:44px;
  margin:0 auto 10px;
  display:block;
}

/* RESPONSIVE */
@media(max-width:1024px){
  .ta-cards-grid{
    grid-template-columns:repeat(2,1fr);
    gap:22px;
  }
}
@media(max-width:640px){
  .ta-cards-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .ta-card{
    padding:26px 22px;
  }
}
/* ===== GRID BASE ===== */
/* ===== GRID BASE ===== */
.ta-cards-grid {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(4, 1fr);
}

/* ========================= */
/* ===== 5 TARJETAS ======== */
/* ========================= */

.ta-cards-grid:has(.ta-card:nth-child(5)) {
  grid-template-columns: repeat(6, 1fr);
}

.ta-cards-grid:has(.ta-card:nth-child(5)) .ta-card:nth-child(-n+3) {
  grid-column: span 2;
}

.ta-cards-grid:has(.ta-card:nth-child(5)) .ta-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.ta-cards-grid:has(.ta-card:nth-child(5)) .ta-card:nth-child(5) {
  grid-column: 4 / span 2;
}

/* ========================= */
/* ===== 3 TARJETAS ======== */
/* ========================= */

.ta-cards-grid:not(:has(.ta-card:nth-child(4))) {
  grid-template-columns: repeat(6, 1fr);
}

.ta-cards-grid:not(:has(.ta-card:nth-child(4))) .ta-card {
  grid-column: span 2;
}

/* ========================= */
/* ===== 2 TARJETAS ======== */
/* ========================= */

.ta-cards-grid:has(.ta-card:nth-child(2)):not(:has(.ta-card:nth-child(3))) {
  grid-template-columns: repeat(6, 1fr);
}

.ta-cards-grid:has(.ta-card:nth-child(2)):not(:has(.ta-card:nth-child(3))) .ta-card:nth-child(1) {
  grid-column: 2 / span 2;
}

.ta-cards-grid:has(.ta-card:nth-child(2)):not(:has(.ta-card:nth-child(3))) .ta-card:nth-child(2) {
  grid-column: 4 / span 2;
}

/* ========================= */
/* ===== 1 TARJETA ========= */
/* ========================= */

.ta-cards-grid:has(.ta-card:nth-child(1)):not(:has(.ta-card:nth-child(2))) {
  grid-template-columns: repeat(6, 1fr);
}

.ta-cards-grid:has(.ta-card:nth-child(1)):not(:has(.ta-card:nth-child(2))) .ta-card {
  grid-column: 3 / span 2;
}

/* ========================= */
/* ===== RESPONSIVE ======== */
/* ========================= */

@media (max-width: 1024px) {
  .ta-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .ta-card {
    grid-column: auto !important;
  }
}

@media (max-width: 768px) {
  .ta-cards-grid {
    grid-template-columns: 1fr !important;
  }
}






/* === BASE DUO MEDIA === */
.ta-duo-media{
  margin:0px 0;
}
.ta-section-h2{
     font-family: "Aeonik Pro", sans-serif !important;
  color:#0D0D52 !important;
}
.ta-duo-media-grid{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:40px;
  align-items:center;
  margin-top:32px;
}

.ta-duo-left p{
  line-height:1.6;
  color:#4a5f63;
}

.ta-duo-right img{
  width:100%;
  border-radius:22px!important;
  box-shadow:0 18px 40px rgba(0,0,0,.12)!important;
}
.ta-duo-cta{
  margin-top: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 600;
  text-decoration: none!important;

  color: #fff;
  background: #1A2DC2;

  transition:
    background .2s ease,
    color .2s ease,
    transform .15s ease,
    border-color .2s ease;
}

.ta-duo-cta:hover{
  background: #1A2DC2;
  color: #ffffff;
  transform: translateY(-1px);
}


/* LISTADO */
.ta-duo-item{
  margin-bottom:14px;
}

.ta-duo-item-title{
  font-weight:700;
  margin-bottom:4px;
  color:#0D0D52;
}

.ta-duo-item-text{
  color:#000000;
  font-size:.95rem;
  line-height:1.55;
}

/* RESPONSIVE */
@media(max-width:900px){
  .ta-duo-media-grid{
    grid-template-columns:1fr;
  }
}

/* === VARIANTE CLEAN === */
.ta-duo-media--clean .ta-duo-left{
  padding-right:10px;
}

.ta-duo-media--clean .ta-duo-item{
  padding-left:20px;
  position:relative;
}

.ta-duo-media--clean .ta-duo-item::before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#27BFE6;
}
/* === VARIANTE CLEAN: imagen izquierda / texto derecha === */
.ta-duo-media--clean .ta-duo-media-grid{
  grid-template-columns: 0.9fr 1.1fr; /* imagen un poco más chica */
}

.ta-duo-media--clean .ta-duo-right{
  order:1;                 /* imagen primero */
  display:flex;
  justify-content:flex-start;
}

.ta-duo-media--clean .ta-duo-left{
  order:2;                 /* texto después */
  padding-right:0;
}

.ta-duo-media--clean .ta-section-label,
.ta-duo-media--clean .ta-section-intro{
  text-align:center!important;
}
/* H2 centrado SOLO en la variante clean */
.ta-duo-media--clean .ta-section-h2{
  text-align:center;
}
/* === Fondo editorial SOLO variante clean === */
.ta-duo-media--clean{
  position:relative;
  padding:64px 64px;
  border-radius:32px;
  background: #EFF2FB;

  overflow:hidden; /* clave para los halos */
}
.ta-duo-media--clean::before,
.ta-duo-media--clean::after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.45);
  filter:blur(60px);
opacity:.5;

  z-index:0;
}

/* halo izquierdo */
.ta-duo-media--clean::before{
  width:320px;
  height:320px;
  left:-120px;
  bottom:-120px;
}

/* halo derecho */
.ta-duo-media--clean::after{
  width:260px;
  height:260px;
  right:-100px;
  top:-100px;
}
.ta-duo-media--clean > *{
  position:relative;
  z-index:1;
}
.ta-duo-media--clean .ta-duo-left{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.ta-duo-media--clean .ta-duo-right img{
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

@media (max-width: 768px){
  .ta-duo-media--clean .ta-duo-media-grid{
    grid-template-columns:1fr;
  }

  .ta-duo-media--clean .ta-duo-right{
    order:1;
    justify-content:center;
  }

  .ta-duo-media--clean .ta-duo-left{
    order:2;
  }
}




/* === VARIANTE ACCENT === */
.ta-duo-media--accent .ta-duo-left{
  background:#EFF2FB;
  border-radius:22px;
  padding:28px;
}

.ta-duo-media--accent .ta-duo-item{
  padding-left:26px;
  position:relative;
}

.ta-duo-media--accent .ta-duo-item::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  font-weight:900;
  color:#27BFE6;
}


/* ===============================
   VARIANTE ACCENT-X (con X)
================================ */

.ta-duo-media--accent-x .ta-duo-left{
  background:#EFF2FB;
  border-radius:22px;
  padding:28px;
}

.ta-duo-media--accent-x .ta-duo-item{
  padding-left:26px;
  position:relative;
}

.ta-duo-media--accent-x .ta-duo-item::before{
  content:"✕";        /* ← X */
  position:absolute;
  left:0;
  top:0;
  font-weight:900;
  color:#27BFE6;      /* rojo elegante, cámbialo si quieres */
}
/* ===============================
   ACCENT-X: centrar título y texto
================================ */

.ta-duo-media--accent-x .ta-section-h2{
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Opcional: limitar ancho para que no se vea demasiado largo */
.ta-duo-media--accent-x .ta-section-intro{
  /*max-width: 720px;*/
}


/* =========================
   VARIANTE STACK: upgrade visual
   ========================= */

.ta-duo-media--stack{
  position:relative;
  padding:56px 28px;
  border-radius:32px;
  overflow:hidden;

  /* fondo suave editorial */
  background: #EAE8E2;
}

/* halos suaves */
.ta-duo-media--stack::before,
.ta-duo-media--stack::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(50px);
  opacity:.55;
  z-index:0;
  pointer-events:none;
}

.ta-duo-media--stack::before{
  width:340px; height:340px;
  left:-140px; top:-140px;

}

.ta-duo-media--stack::after{
  width:320px; height:320px;
  right:-140px; bottom:-140px;

}

/* asegurar que el contenido esté sobre el fondo */
.ta-duo-media--stack > *{
  position:relative;
  z-index:1;
}

/* layout */
.ta-duo-media--stack .ta-duo-media-grid{
  grid-template-columns:1fr;
  gap:18px;
}
.ta-duo-media--stack .ta-duo-right{
  position:relative;
  z-index:1;
}

/* imagen arriba con tratamiento */
.ta-duo-media--stack .ta-duo-right{
  order:1;
}

.ta-duo-media--stack .ta-duo-right img{
  width:100%;
  max-width:900px;   /* antes 980–1000px */
  margin:0 auto;
  display:block;
  border-radius:26px;

  box-shadow:0 18px 45px rgba(0,0,0,.12);
  border:1px solid rgba(30,59,65,.08);
}
/* Card montada sobre la imagen */
.ta-duo-media--stack .ta-duo-listbox{
  margin-top:-102px!important;              /* sube la caja */
  position:relative;
  z-index:2;

  background:rgba(255,255,255,.95);
  backdrop-filter: blur(6px);
}


/* contenido abajo */
.ta-duo-media--stack .ta-duo-left{
  order:2;
  max-width:860px;
  margin:0 auto;
  text-align:left;
}

/* caja de contenido más elegante */
.ta-duo-media--stack .ta-duo-listbox{
  margin-top:16px;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  border:1px solid rgba(30,59,65,.08);

  border-radius:22px;
  padding:22px 22px;

  box-shadow:0 14px 30px rgba(0,0,0,.08);
}

/* items con más ritmo */
.ta-duo-media--stack .ta-duo-item{
  position:relative;
  padding-left:18px;
  padding-top:8px;
  padding-bottom:8px;
}

.ta-duo-media--stack .ta-duo-item + .ta-duo-item{
  border-top:1px solid rgba(30,59,65,.08);
}

/* bullet moderno */
.ta-duo-media--stack .ta-duo-item::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#27BFE6;
  box-shadow:0 0 0 6px rgba(127,193,179,.18);
}

/* tipografía un pelín más editorial (sin cambiar fuentes) */
.ta-duo-media--stack .ta-duo-item-title{
  font-weight:700;
  color:#1e3b41;
  margin-bottom:4px;
}

.ta-duo-media--stack .ta-duo-item-text{
  color:rgba(30,59,65,.78);
  line-height:1.55;
}
.ta-duo-media--stack .ta-duo-listbox{
  border:1px solid rgba(30,59,65,.10);
  box-shadow:0 16px 40px rgba(0,0,0,.10);
}
.ta-duo-media--stack .ta-duo-right{
  position:relative;
}

.ta-duo-media--stack .ta-duo-right::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:120px;
  background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.75));
  pointer-events:none;
  border-radius:0 0 26px 26px;
}
.ta-duo-media--stack .ta-section-h2,.ta-duo-media--stack .ta-section-intro{
  text-align:center;
  max-width:820px;
  margin:0 auto 24px;
}
@media (max-width:768px){
  .ta-duo-media--stack .ta-duo-listbox{
    margin-top:16px;
    max-width:100%;
  }
}

/* responsive */
@media (max-width:768px){
  .ta-duo-media--stack{
    padding:38px 18px;
    border-radius:24px;
  }

  .ta-duo-media--stack .ta-duo-right img{
    border-radius:20px;
  }

  .ta-duo-media--stack .ta-duo-listbox{
    padding:18px;
  }
}
.ta-duo-media--noimg.ta-duo-media--clean .ta-duo-media-grid,
.ta-duo-media--noimg.ta-duo-media--accent .ta-duo-media-grid,
.ta-duo-media--noimg.ta-duo-media--accent-x .ta-duo-media-grid{
  grid-template-columns: 1fr !important;
}

.ta-duo-media--noimg .ta-duo-left{
  max-width: 100%;
  margin: 0;
}

/* STACK sin imagen: no montes la caja encima */
.ta-duo-media--stack.ta-duo-media--noimg .ta-duo-listbox{
  margin-top:16px !important;  /* quita el negativo */
}

/* STACK sin imagen: elimina el degradado que asume imagen */
.ta-duo-media--stack.ta-duo-media--noimg .ta-duo-right::after{
  display:none !important;
}
/* NOIMG: centra el bloque completo dentro del ancho disponible */
.ta-duo-media--noimg .ta-duo-media-grid{
  width: 100% !important;
  max-width: 1200px !important; /* ajusta aquí */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* evita que una regla anterior lo deje pegado */
.ta-duo-media--noimg .ta-duo-left{
  width: 100% !important;
  margin: 0 !important;
}
/* NOIMG: centrar contenido y darle ancho editorial */
.ta-duo-media--noimg .ta-duo-media-grid{
  display: block !important;     /* rompe la lógica de columnas */
  max-width: 1200px;             /* ajusta aquí el ancho real */
  margin: 0 auto;                /* centra el bloque */
}


/* =========================
   FAQ (details/summary) limpio
   ========================= */

.ta-faq{
  margin:0;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.ta-faq-list{
  margin-top:32px;
}

/* Card */
.ta-faq-item{
  background:#fff;
  border-radius:18px;
  margin-bottom:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  overflow:hidden; /* ok para bordes redondeados */
  transition:box-shadow .5s ease, transform .5s ease;
}

.ta-faq-item[open]{
  transform:translateY(-2px);
  box-shadow:0 18px 40px rgba(0,0,0,.12);
}

/* Summary */
.ta-faq-question{
  padding:18px 52px 18px 22px;
  cursor:pointer;
  font-weight:700;
  color:#0D0D52;
  list-style:none;
  position:relative;
  display:block;
}

.ta-faq-question::-webkit-details-marker{
  display:none;
}

/* Icon + / x */
.ta-faq-question::after{
  content:"+";
  position:absolute;
  right:22px;
  top:12px;
  font-size:1.4rem;
  color:#1A2DC2;
  transition:transform .25s ease, color .25s ease;
}

.ta-faq-item[open] .ta-faq-question::after{
  transform:rotate(45deg) scale(1.05);
  color:#1A2DC2;
}

/* =========================
   Contenido animado
   (la altura la controla el JS)
   ========================= */

.ta-faq-answer{
  display:block;
   height:auto;                 /* por defecto, sin cortes */
  overflow:hidden;
  padding:0 22px;             /* lateral siempre */
  transition:height .25s cubic-bezier(.2,.8,.2,1), padding .25s ease!important;
  will-change:height;

}
.ta-faq-item:not([open]) .ta-faq-answer{
  height:0;                    /* aquí sí, solo cerrado */
  padding-bottom:0;
}
/* al abrir, damos aire abajo (el JS pone height:auto al final) */
.ta-faq-item[open] .ta-faq-answer{
  padding-bottom:20px;
}

/* inner: SOLO para fade/slide */
.ta-faq-answer-inner{
  overflow:visible;           /* importante para que no se “coma” texto */
  opacity:0;
  transform:translateY(-6px);
  transition:opacity .25s ease, transform .55s ease!important;
}

.ta-faq-item[open] .ta-faq-answer-inner{
  opacity:1;
  transform:translateY(0);
  transition-delay:.25s!important;
}

/* =========================
   Tipografía de respuesta
   (wpautop mete <p>, controlamos márgenes)
   ========================= */

.ta-faq-answer-inner > :first-child{
  margin-top:0 !important;
}
.ta-faq-answer-inner > :last-child{
  margin-bottom:0 !important;
}

.ta-faq-answer-inner p{
  margin:0 0 12px !important;
}
.ta-faq-answer-inner p:last-child{
  margin-bottom:0 !important;
}
/* NOIMG: dar aire lateral al contenido */
.ta-duo-media--noimg .ta-duo-left{
  padding-left: 64px;
  padding-right: 64px;
}

/* Ajuste responsive */
@media (max-width: 900px){
  .ta-duo-media--noimg .ta-duo-left{
    padding-left: 28px;
    padding-right: 28px;
  }
}


/* Encabezado alineado con el mismo ancho */
.ta-duo-media.ta-duo-media--noimg .ta-section-h2,
.ta-duo-media.ta-duo-media--noimg .ta-section-intro{
  max-width:1200px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
}
.ta-ribbon{
  width:100%;
  color:#fff;
  border-radius:18px;
  padding:14px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
}

.ta-ribbon .ta-ribbon__text{
  font-weight:700;
  letter-spacing:-0.2px;
  font-size:16px;
}

.ta-ribbon .ta-ribbon__btn{
  background:#1A2DC2;
  color:#fff;
  padding:0 18px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}

.ta-ribbon .ta-ribbon__btn:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

.service-card{
  display:block;
  text-decoration:none;
}

.service-card{
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}


.service-card:hover .service-cta,
.service-card:focus .service-cta{
  transform: translateY(-1px);
}
.service-cta{
  margin-top: auto; /* 🔑 magia pura */
  align-self: flex-start; /* evita que se estire */
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid currentColor;
  font-weight: 600;
  line-height: 1;
}

.service-cta::after{
  content: "→";
}
/* ===== Grilla de Expertos (Elementor Free) ===== */

/* Si usas Contenedores: clase en el contenedor padre */
/* GRID */
/* Bloque meta */
/* Texto base */
.sr-meta p{
  margin: 14px 0;
  line-height: 1.55;
  font-size: 14px;
  color: #2b2f33;
}

/* Mini título arriba */
.sr-meta .sr-tag{
   display: block; 
  margin-bottom: 4px;
  font-weight: 700;
  font-size: 13px;
  color: #1F4F55;
  letter-spacing: .3px;
  padding-bottom: 2px;

}
/* Grilla con aire */
.sr-grid{
  display: grid;
  gap: 22px;                 /* separación entre tarjetas */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
@media (max-width: 1024px){
  .sr-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px){
  .sr-grid{ grid-template-columns: 1fr; }
}

/* Tarjeta premium */
.sr-card{
  background: #fff;
  border: 1px solid rgba(31,79,85,.14);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  transition: transform .15s ease, box-shadow .15s ease;
}

/* Hover sutil (desktop) */
@media (hover:hover){
  .sr-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(0,0,0,.10);
  }
}
.sr-card h3::after{
  content: "";
  display: block;
  width: 32px;
  height: 3px;
  margin-top: 8px;
  background: rgba(31,79,85,.35);
  border-radius: 2px;
}

.sr-card h4{
  margin: 0 0 16px !important;
  font-size: 14px;
  font-weight: 600;
  color: #6f8f94; /* versión suave del verde */
  text-transform: uppercase;
  letter-spacing: .6px;
}
.sr-card h4{
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(31,79,85,.15);
}
.sr-card{
  padding-top: 24px;
}




//* contenedor del item */
.btn-aula{
  display: flex;
  align-items: center;
}

/* enlace botón */
.btn-aula a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px !important;
  min-height: 34px;
  line-height: 1 !important;
  border-radius: 8px;
  background: #27BFE6 !important;
  color: #0D0D52 !important;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  white-space: nowrap;
}



/* un poco de aire a la derecha */
.ast-above-header-bar .menu-item.btn-aula{
  margin-right: 10px;
}

/* en pantallas más pequeñas */
@media (max-width: 1366px){
  .btn-aula a{
    padding: 3px 21px !important;
    min-height: 30px;
    font-size: 13px!important;
  }

  .ast-above-header-bar .menu-item.btn-aula{
    margin-right: 6px;
  }
}

@media (min-width: 1025px) and (max-width: 1366px) {
    .main-header-menu > li > a {
        padding-left: 10px !important;
        padding-right: 10px !important;
        font-size: 12x !important;
        white-space: nowrap !important;
    }
}

/* =========================
   FORMULARIO CONTACTO
========================= */

#wpforms-2431{
  max-width: 1080px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 18px 45px rgba(13,13,82,.08);
}

#wpforms-2431 .wpforms-field-label{
  color: #0D0D52 !important;
  font-family: "Aeonik Pro", sans-serif !important;
  font-weight: 700 !important;
}

#wpforms-2431 input,
#wpforms-2431 textarea{
  border: 1px solid #EAE8E2 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #1a2a33 !important;
}

#wpforms-2431 input:focus,
#wpforms-2431 textarea:focus{
  border-color: #1A2DC2 !important;
  box-shadow: 0 0 0 3px rgba(39,191,230,.15) !important;
}

#wpforms-2431 .wpforms-submit{
  background: #1A2DC2 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

#wpforms-2431 .wpforms-submit:hover{
  background: #0D0D52 !important;
}

/* =========================
   FORMULARIO CONTACTO 6545
========================= */

#wpforms-6545 {
  max-width: 1080px;
  margin: 0 auto;
  background: #ffffff;
  border-radius: 24px;
  padding: 32px;
  box-shadow: 0 18px 45px rgba(13,13,82,.08);
}

#wpforms-6545 .wpforms-field-label {
  color: #0D0D52 !important;
  font-family: "Aeonik Pro", sans-serif !important;
  font-weight: 700 !important;
}

#wpforms-6545 input,
#wpforms-6545 textarea {
  border: 1px solid #EAE8E2 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  color: #1a2a33 !important;
}

#wpforms-6545 input:focus,
#wpforms-6545 textarea:focus {
  border-color: #1A2DC2 !important;
  box-shadow: 0 0 0 3px rgba(39,191,230,.15) !important;
}

#wpforms-6545 .wpforms-submit {
  background: #1A2DC2 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

#wpforms-6545 .wpforms-submit:hover {
  background: #0D0D52 !important;
}