/* =========================================
   ACADEMIA MINAS Â· PREMIUM SITE CSS
   Mejora visual global sin cambiar estructura
   ========================================= */

/* ---------- Variables ---------- */
:root{
  --bg:#f8fafc;
  --surface:#ffffff;
  --surface-soft:#f6f9fc;
  --text:#0f172a;
  --muted:#334155;
  --line:#e2e8f0;
  --line-strong:#d8e2ee;
  --primary:#2f5d95;
  --primary-dark:#21456f;
  --secondary:#2F49C7;
  --accent:#25D366;
  --warning:#f59e0b;
  --shadow:0 10px 30px rgba(15,23,42,.08);
  --shadow-soft:0 8px 24px rgba(15,23,42,.06);
  --radius-xl:24px;
  --radius-lg:18px;
  --radius-md:14px;
  --max:1180px;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
.container{
  width:min(var(--max),calc(100% - 2rem));
  margin-inline:auto;
}
.section{
  padding:clamp(3.5rem,6vw,5rem) 0;
}
.section-title{
  text-align:center;
  max-width:780px;
  margin:0 auto 2rem;
}
.section-title h2{
  font-size:clamp(1.85rem,3vw,2.7rem);
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:.75rem;
}
.section-title p{
  color:var(--muted);
  font-size:1.04rem;
}

/* ---------- Header / Nav ---------- */
.topbar{
  background:var(--secondary);
  color:#fff;
}
.topbar-inner{
  padding:.7rem 0;
  font-weight:600;
  text-align:center;
}
header{
  background:#fff;
  border-bottom:1px solid var(--line);
  padding:12px 0;
  text-align:center;
}
.brand{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.brand img,.logo-img{
  height:60px;
  width:auto;
  max-width:min(100%,520px);
  object-fit:contain;
}
.navbar{
  background:#fff;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:30;
  backdrop-filter:saturate(180%) blur(8px);
}
.nav{
  display:flex;
  justify-content:center;
  gap:1.5rem;
  flex-wrap:wrap;
  padding:.95rem 0;
  align-items:center;
}
.nav a{
  position:relative;
  font-size:1rem;
  font-weight:700;
  color:var(--muted);
  transition:color .2s ease;
}
.nav a:hover,
.nav a.active,
.nav a[aria-current="page"]{
  color:var(--primary);
}
.nav a.active::after,
.nav a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-.45rem;
  height:3px;
  background:var(--primary);
  border-radius:999px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:.98rem 1.3rem;
  border-radius:999px;
  font-weight:800;
  transition:transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  border:1px solid transparent;
}
.btn:hover{transform:none;filter:none}
.btn-primary{
  background:var(--primary);
  color:#fff;
  box-shadow:var(--shadow);
}
.btn-primary:hover{background:var(--primary-dark)}
.btn-whatsapp{
  background:var(--accent);
  color:#fff;
  box-shadow:var(--shadow);
}
.btn-whatsapp:hover{background:#1fb95b}
.btn-light{
  background:#fff;
  color:var(--primary-dark);
  border:1px solid #dbeafe;
  box-shadow:var(--shadow-soft);
}
.btn-light:hover{background:#f8fafc}

/* ---------- Hero ---------- */
.hero{
  padding:clamp(3rem,6vw,4.6rem) 0 clamp(2.2rem,4vw,3.2rem);
  background:
    radial-gradient(circle at top right, rgba(47,93,149,.10), transparent 30%),
    radial-gradient(circle at bottom left, rgba(47,73,199,.08), transparent 28%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:clamp(1.3rem,3vw,2.2rem);
  align-items:center;
}
.hero .eyebrow{
  display:inline-flex;
  align-items:center;
  background:#e0f2fe;
  color:#075985;
  padding:clamp(.5rem,1.2vw,.7rem) clamp(.9rem,2vw,1.3rem);
  border-radius:999px;
  font-weight:800;
  font-size:clamp(.9rem,2vw,1.15rem);
  margin-bottom:clamp(.8rem,2vw,1.4rem);
  box-shadow:0 6px 20px rgba(14,165,233,.15);
}
.hero h1{
  font-size:clamp(2.2rem,4.8vw,4.4rem);
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:clamp(.8rem,2vw,1.1rem);
  max-width:12ch;
}
.hero .lead{
  font-size:clamp(1rem,1.8vw,1.15rem);
  line-height:1.68;
  max-width:62ch;
  color:var(--muted);
}
.hero-actions{
  display:flex;
  gap:.9rem;
  flex-wrap:wrap;
  margin-top:1.5rem;
}
.hero-actions .btn{
  min-height:54px;
  padding:.95rem 1.3rem;
}
.hero-proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.85rem;
  margin-top:1.6rem;
}
.proof-item{
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  border-radius:14px;
  padding:1rem;
  text-align:center;
}
.proof-item strong{
  display:block;
  font-size:1.08rem;
  color:var(--primary-dark);
  margin-bottom:.15rem;
}
.proof-item span{
  color:var(--muted);
  font-size:.92rem;
}
.hero-card{
  background:linear-gradient(180deg,#2d5f96 0%, #3a73b1 100%);
  color:#fff;
  padding:clamp(1.25rem,2.2vw,1.8rem);
  border-radius:24px;
  box-shadow:0 16px 42px rgba(15,23,42,.14);
}
.hero-card h2{
  font-size:clamp(1.3rem,2.2vw,1.55rem);
  line-height:1.15;
  margin-bottom:.75rem;
  color:#fff;
}
.hero-card p{color:rgba(255,255,255,.94)}
.hero-list{
  display:grid;
  gap:.75rem;
  margin:1rem 0 1.25rem;
}
.hero-list-item{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:.9rem 1rem;
}
.hero-list-item strong{
  display:block;
  margin-bottom:.18rem;
  color:#fff;
}

/* ---------- Grids / Cards ---------- */
.grid-4,.grid-3,.news-grid{
  display:grid;
  gap:1rem;
}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
  background:#fff;
  border:1px solid var(--line-strong);
  border-radius:20px;
  padding:1.25rem;
  box-shadow:var(--shadow-soft);
}
.card h3{
  font-size:1.12rem;
  margin-bottom:.45rem;
}
.card p{color:var(--muted)}

/* ---------- Steps ---------- */
.process-card{position:relative}
.step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#eaf3ff;
  color:var(--primary-dark);
  font-weight:800;
  margin-bottom:.75rem;
}

/* ---------- Split / Features ---------- */
.split{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:1.25rem;
  align-items:stretch;
}
.feature-list{
  display:grid;
  gap:.9rem;
}
.feature-item{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:1rem;
}
.feature-icon{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#eef4ff;
  color:var(--primary);
  font-weight:800;
  font-size:1rem;
  flex:0 0 30px;
}
.callout{
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
  border:1px solid #dbe7ff;
  border-radius:24px;
  padding:1.55rem;
  box-shadow:var(--shadow);
}
.callout h3{
  font-size:1.38rem;
  line-height:1.15;
  margin-bottom:.55rem;
}
.callout p{color:var(--muted)}
.badge{
  display:inline-flex;
  align-items:center;
  background:#fff4e5;
  color:#9a3412;
  border:1px solid #fed7aa;
  border-radius:999px;
  padding:.45rem .8rem;
  font-weight:800;
  font-size:.9rem;
  margin-bottom:.85rem;
}

/* ---------- News / Avisos ---------- */
.news-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:1.15rem;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.news-label{
  display:inline-flex;
  align-items:center;
  padding:.4rem .75rem;
  border-radius:999px;
  font-weight:800;
  font-size:.9rem;
  margin-bottom:.75rem;
}
.news-warning .news-label{
  background:#fff4e5;
  color:#9a3412;
  border:1px solid #fed7aa;
}
.news-new .news-label{
  background:#eaf3ff;
  color:#1e3a5f;
  border:1px solid #cfe3fb;
}
.news-card p{
  margin:0;
  color:#475569;
  line-height:1.6;
}

/* ---------- Reviews ---------- */
.review-card{padding:1.2rem}
.stars{
  font-size:1.05rem;
  color:var(--warning);
  letter-spacing:.08rem;
  margin-bottom:.4rem;
}
.review-role{
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:.55rem;
}

/* ---------- FAQ ---------- */
.faq-list{
  display:grid;
  gap:.9rem;
  max-width:900px;
  margin:0 auto;
}
.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.1rem 1.15rem;
  box-shadow:var(--shadow-soft);
}
.faq-item h3{
  font-size:1.05rem;
  margin-bottom:.35rem;
}
.faq-item p{color:var(--muted)}

/* ---------- CTA Box ---------- */
.cta-box{
  background:linear-gradient(135deg,#eef4ff,#ffffff);
  border:1px solid #dbe7ff;
  border-radius:26px;
  padding:1.9rem;
  box-shadow:var(--shadow);
  text-align:center;
}
.cta-box h2{margin-bottom:.55rem}
.cta-box p{
  color:var(--muted);
  max-width:62ch;
  margin:0 auto 1rem;
}

/* ---------- Footer ---------- */
.footer{
  background:var(--secondary);
  color:#fff;
  padding:2rem 0;
  margin-top:2rem;
  text-align:center;
}

.footer,
.footer p,
.footer strong,
.footer a,
.footer-link,
.legal-link{
  color:#ffffff !important;
}

.footer p{margin:.35rem 0}
.footer-social{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1rem;
}
.footer-link,.legal-link{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  font-weight:700;
  color:#fff;
  text-decoration:none;
  background:rgba(255,255,255,.08);
  padding:.6rem .9rem;
  border-radius:999px;
}
.footer-link:hover,.legal-link:hover{
  background:rgba(255,255,255,.14);
}

/* ---------- Responsive ---------- */
@media (max-width:980px){
  .hero-grid,.split,.grid-4,.grid-3,.hero-proof,.news-grid{
    grid-template-columns:1fr;
  }
  .hero h1{max-width:none}
}
@media (max-width:760px){
  .container{width:min(var(--max),calc(100% - 1rem))}
  .brand img,.logo-img{
    height:50px;
    max-width:85vw;
  }
  .nav{
    gap:1rem;
    padding:.8rem 0;
  }
  .section{
    padding:3.7rem 0;
  }
  .hero{
    text-align:left;
  }
  .hero-actions .btn{
    width:100%;
  }
  .proof-item{text-align:left}
}.hero{
  text-align: center;
}

.hero .eyebrow{
  margin-left: auto;
  margin-right: auto;
}/* FIX DEFINITIVO CENTRAR ETIQUETA HERO */
.hero .eyebrow{
  display: block !important;
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ===== FIX INDEX: CENTRAR ETIQUETA AZUL DEL HERO ===== */
.am-index-hero-main{
  text-align:center !important;
}

.am-index-hero-main .eyebrow{
  display:block !important;
  width:fit-content !important;
  margin:0 auto 1rem auto !important;
}/* ===== PATCH FINAL (solo lo que pediste) ===== */

/* Contacto ¡ú hero mismo ancho que funcionamiento */
.contacto-hero-card{
  max-width: none !important;
  width: 100% !important;
}

/* Funcionamiento ¡ú m¨®dulo 1961 mismo ancho que hero */
.year-card{
  max-width: none !important;
  width: 100% !important;
}

/* FAQ ¡ú preguntas mismo ancho que hero */
.faq-wrap{
  max-width: none !important;
  width: 100% !important;
}

/* ===== FIX CONTACTO HERO MÁS ARRIBA ===== */
body .hero{
  padding-top: 2rem !important;
}

/* ---------- Funcionamiento · galería de fotos ---------- */
.academy-gallery-section{
  padding:0 0 3rem;
}
.academy-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  align-items:stretch;
}
.academy-photo{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.academy-photo img{
  display:block;
  width:100%;
  height:280px;
  object-fit:cover;
}
.academy-photo-wide img{
  height:320px;
}
.academy-photo figcaption{
  padding:1rem 1.1rem 1.1rem;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.45;
}
.academy-gallery-note{
  margin:1rem auto 0;
  max-width:760px;
  text-align:center;
  color:var(--muted);
  font-size:1rem;
}
@media (max-width:760px){
  .academy-gallery{
    grid-template-columns:1fr;
    gap:.85rem;
  }
  .academy-photo{
    border-radius:18px;
  }
  .academy-photo img,
  .academy-photo-wide img{
    height:220px;
  }
  .academy-photo figcaption{
    padding:.85rem .95rem 1rem;
    font-size:.92rem;
  }
  .academy-gallery-note{
    font-size:.94rem;
    margin-top:.85rem;
  }
}

.hero .container.hero-grid > *,
  .hero-grid > *{
    align-self:stretch !important;
  }
  .am-index-hero-main,
  .hero-card{
    height:100% !important;
  }
  .am-index-hero-main{
    display:flex !important;
    flex-direction:column !important;
  }
  .am-index-hero-main .hero-proof{
    margin-top:auto !important;
  }
  .hero-card{
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }
}

/* ===== MÓVIL/TABLET: AJUSTAR AL CONTENIDO ===== */
@media (max-width:980px){
  .am-index-hero-main,
  .hero-card,
  .year-card,
  .faq-wrap{
    height:auto !important;
    min-height:0 !important;
  }

  .am-index-hero-main,
  .hero-card{
    display:block !important;
  }

  .hero-card{
    padding:1.25rem !important;
  }

  .hero-card p{
    margin-bottom:.75rem !important;
  }

  .hero-list{
    margin:.85rem 0 .95rem !important;
  }
}

.google-reviews .reviews-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1rem !important;
  align-items:stretch !important;
}
@media (max-width:980px){
  .google-reviews .reviews-grid{
    grid-template-columns:1fr !important;
  }
}
/* ===== CONTACTO PRO: MAPAS Y UBICACIONES ===== */
.ubicaciones-card{
  padding: 1.35rem !important;
}

.ubicaciones-card .contact-title{
  margin-bottom: 1rem !important;
}

.location-block{
  background: #f8fbff;
  border: 1px solid #dbe7f3;
  border-radius: 18px;
  padding: 1rem;
  box-shadow: var(--shadow-soft);
}

.location-block + .location-block{
  margin-top: 1rem;
}

.location-block h3{
  margin: 0 0 .25rem 0;
  font-size: 1.08rem;
  line-height: 1.2;
}

.location-address{
  display: block;
  margin: 0 0 .85rem 0;
  color: var(--muted);
  font-size: .96rem;
  font-weight: 600;
}

.location-map{
  width: 100% !important;
  height: 300px !important;
  border: 0 !important;
  border-radius: 14px !important;
  display: block !important;
  background: #eef4ff;
}

@media (min-width: 981px){
  .ubicaciones-card{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .contacto-grid{
    align-items: stretch !important;
  }

  .contacto-grid > .card{
    height: 100% !important;
  }
}

@media (max-width: 760px){
  .ubicaciones-card{
    padding: 1rem !important;
  }

  .location-block{
    padding: .85rem;
    border-radius: 16px;
  }

  .location-map{
    height: 230px !important;
    border-radius: 12px !important;
  }
}

/* ===== MÓDULO DINÁMICO AVISOS Y NOVEDADES ===== */
.news-feed{
  display:grid;
  gap:1.1rem;
}

.news-empty{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:1rem 1.1rem;
  color:var(--muted);
}

.news-tile{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

.news-tile-top{
  display:flex;
  align-items:center;
  gap:1.8rem;
  padding:.95rem 1.2rem;
  color:#fff;
  font-weight:800;
  font-size:clamp(1rem,1.6vw,1.1rem);
  letter-spacing:-.01em;
  background:linear-gradient(90deg,#0b82bf,#1397d5);
}

.news-tile[data-accent="green"] .news-tile-top{
  background:linear-gradient(90deg,#1f7a42,#228b4a);
}

.news-tile[data-accent="orange"] .news-tile-top{
  background:linear-gradient(90deg,#c96a0a,#de7c12);
}

.news-tile-top span{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  white-space:nowrap;
}

.news-tile-top svg{
  width:20px;
  height:20px;
  min-width:20px;
  min-height:20px;
  display:block;
  flex:0 0 20px;
}

.news-tile-content,
.news-tile.has-media .news-tile-content{
  display:flex !important;
  flex-direction:row !important;
  gap:12px;
  align-items:stretch !important;
}

.news-tile-body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  padding:1rem 1.25rem 1.05rem;
  min-width:0;
}

.news-tile-media{
  width:96px !important;
  flex:0 0 96px !important;
  min-width:96px !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#f7f7f7;
  border-radius:14px;
  margin:1rem 1rem 1rem 0;
  align-self:stretch !important;
  min-height:120px;
}

.news-image-trigger{
  border:0;
  background:transparent;
  padding:0;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:zoom-in;
}

.news-tile-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  box-shadow:none;
}

.news-tile-title{
  margin:0 0 .45rem;
  font-size:clamp(1rem,1.6vw,1.18rem);
  line-height:1.2;
  letter-spacing:-.02em;
  font-weight:700;
  color:var(--text);
  max-width:none;
  text-wrap:balance;
}

.news-tile-excerpt{
  margin:0 0 .7rem;
  color:var(--muted);
  font-size:.96rem;
  line-height:1.45;
  max-width:60ch;
}

.news-tile-actions{
  margin-top:auto;
}

.news-tile-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:46px;
  padding:.68rem 1.35rem;
  border:2px solid #0b82bf;
  border-radius:14px;
  background:#fff;
  color:#0b82bf;
  text-decoration:none;
  font-weight:800;
  font-size:.86rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.news-tile-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(11,130,191,.14);
}

.news-tile:not(.has-media) .news-tile-body{
  max-width:none;
}

@media (max-width:760px){
  .news-tile-top{
    gap:.8rem;
    padding:.75rem .9rem;
    font-size:.9rem;
    flex-wrap:wrap;
  }

  .news-tile-content,
  .news-tile.has-media .news-tile-content{
    flex-direction:row !important;
    gap:10px;
    align-items:stretch !important;
  }

  .news-tile-body{
    padding:.9rem .95rem .95rem;
  }

  .news-tile-media{
    width:92px !important;
    flex:0 0 92px !important;
    min-width:92px !important;
    min-height:132px;
    margin:.9rem .9rem .9rem 0;
    border-radius:14px;
    order:0;
    align-self:stretch !important;
  }

  .news-tile-title{
    font-size:1rem;
    max-width:none;
    text-wrap:pretty;
  }

  .news-tile-excerpt{
    font-size:.9rem;
    line-height:1.4;
    max-width:none;
  }

  .news-tile-btn{
    min-width:0;
    min-height:46px;
    padding:.68rem 1.15rem;
    font-size:.82rem;
    letter-spacing:.1em;
  }
}

@media (max-width:760px){
  .news-tile-media{
    width:72px !important;
    flex:0 0 72px !important;
    min-width:72px !important;
    min-height:96px;
  }
}

@media (max-width:360px){
  .news-tile-content,
  .news-tile.has-media .news-tile-content{
    flex-direction:column !important;
    gap:0 !important;
    align-items:stretch !important;
  }

  .news-tile-body{
    order:0;
    padding:.95rem 1rem .7rem;
  }

  .news-tile-media{
    order:1;
    width:min(132px, calc(100% - 2rem)) !important;
    flex:0 0 auto !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 auto 1rem !important;
    align-self:center !important;
  }
}
.news-admin-link{
  margin-top:1rem;
  text-align:right;
}

.news-admin-link a{
  color:var(--muted);
  text-decoration:none;
  font-size:.95rem;
}

.news-admin-link a:hover{
  text-decoration:underline;
}

@media (max-width:760px){
  .news-tile-top{
    gap:.8rem;
    padding:.75rem .9rem;
    font-size:.9rem;
    flex-wrap:wrap;
  }

  .news-tile-content{
    flex-direction:row;
    gap:10px;
    align-items:stretch;
  }

  .news-tile-body{
    padding:.9rem .95rem .95rem;
  }

  .news-tile-media{
    width:84px;
    flex:0 0 84px;
    min-width:84px;
    min-height:112px;
    margin:.9rem .9rem .9rem 0;
    border-radius:14px;
    order:0;
    align-self:stretch;
  }

  .news-tile-title{
    font-size:1rem;
    max-width:none;
    text-wrap:pretty;
  }

  .news-tile-excerpt{
    font-size:.9rem;
    line-height:1.4;
    max-width:none;
  }

  .news-tile-btn{
    min-width:0;
    min-height:44px;
    padding:.64rem 1rem;
    font-size:.8rem;
    letter-spacing:.1em;
  }
}

/* ===== ALTURAS SOLO DONDE INTERESA ===== */
@media (min-width:981px){
  /* Home: solo hero de dos columnas */
  body.home .hero-grid{
    align-items:stretch !important;
  }
  body.home .hero-grid > .am-index-hero-main,
  body.home .hero-grid > .hero-card{
    height:100% !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body.home .hero-grid > .am-index-hero-main .hero-proof{
    margin-top:auto !important;
  }
  body.home .hero-grid > .hero-card .btn,
  body.home .hero-grid > .hero-card .hero-actions{
    margin-top:auto !important;
  }

  /* Funcionamiento: solo las cuatro tarjetas inferiores */
  body.funcionamiento-page .grid > .card{
    height:100% !important;
  }

  /* Contacto: solo datos de contacto y ubicaciones */
  body.contacto-page .contacto-equal > .card{
    height:100% !important;
  }
}

/* Por defecto, el resto de módulos se ajustan al contenido */
.hero-card,
.year-card,
.grid > .card,
.grid-2 > .card,
.grid-3 > .card,
.grid-4 > .card{
  min-height:0 !important;
  height:auto;
}

.nav a,.footer-link,.legal-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;}

/* ===== FIX FINAL FOOTER + ACCESIBILIDAD ===== */
.footer{
  background:#2f4fb0 !important;
  color:#ffffff !important;
  text-align:center !important;
}
.footer,
.footer *{
  color:#ffffff !important;
}
.footer p,
.footer strong,
.footer a,
.footer-link,

.footer-social{
  display:flex;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}
.footer-link,
.legal-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:44px !important;
  padding:.65rem 1rem !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  text-decoration:none !important;
}
.footer-link:hover,
.legal-link:hover{
  background:rgba(255,255,255,.18) !important;
}

.news-image-modal[hidden]{
  display:none !important;
}

.news-image-modal{
  position:fixed;
  inset:0;
  z-index:9999;
}

.news-image-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.72);
}

.news-image-modal-dialog{
  position:relative;
  z-index:1;
  width:min(92vw,700px);
  max-height:86vh;
  margin:5vh auto 0;
  background:#fff;
  border-radius:18px;
  padding:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.28);
}

.news-image-modal-dialog img{
  display:block;
  width:100%;
  max-height:calc(86vh - 28px);
  object-fit:contain;
  border-radius:12px;
}

.news-image-modal-close{
  position:absolute;
  top:10px;
  right:10px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  background:rgba(15,23,42,.08);
  color:#0f172a;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

/* Ajuste fino hero principal: separar mejor "Oficina Calle Uría" de las métricas */
.hero-actions-main{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  justify-content:center;
  column-gap:1rem;
  row-gap:1rem;
}
.hero-actions-main .btn-office{
  grid-column:1 / -1;
  justify-self:center;
  margin-top:.1rem;
  margin-bottom:.85rem;
}
.hero-actions-main + .hero-proof,
.am-index-hero-main .hero-proof{
  margin-top:0 !important;
}

@media (max-width:760px){
  .hero-actions-main{
    grid-template-columns:1fr;
    justify-items:center;
    row-gap:.8rem;
  }
  .hero-actions-main .btn,
  .hero-actions-main .btn-office{
    width:min(100%, 340px);
  }
  .hero-actions-main .btn-office{
    margin-top:0;
    margin-bottom:1rem;
  }
}

/* ---------- Brand polish ---------- */
body{
  background:
    radial-gradient(circle at top right, rgba(47,93,149,.04), transparent 24%),
    radial-gradient(circle at bottom left, rgba(47,73,199,.04), transparent 22%),
    var(--bg);
}
.hero-card,.panel,.feature,.family-card,.info-card,.schedule-card,.notice,.highlight-module,.review-card,.faq-item{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.hero-card:hover,.panel:hover,.feature:hover,.family-card:hover,.info-card:hover,.schedule-card:hover,.notice:hover,.highlight-module:hover,.review-card:hover,.faq-item:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 38px rgba(15,23,42,.10);
  border-color:#d7e3f2;
}
.subject-badge{
  background:linear-gradient(135deg,#e8f1ff,#f4f8ff);
  border:1px solid #cfe0f7;
}
.footer{
  border-top:1px solid #d8e2ee;
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.nav a{
  letter-spacing:.01em;
}

/* =========================================
   CAPA VISUAL PREMIUM · Academia Minas
   Sin cambiar estructura ni SEO
   ========================================= */

:root{
  --brand-navy:#18324f;
  --brand-blue:#2f5d95;
  --brand-indigo:#2F49C7;
  --brand-sky:#eaf4ff;
  --brand-surface:#ffffff;
  --brand-soft:#f7fbff;
  --brand-gold:#f59e0b;
  --brand-success:#16a34a;
  --shadow-premium:0 18px 44px rgba(15,23,42,.10);
  --shadow-premium-soft:0 12px 28px rgba(15,23,42,.08);
  --ring-premium:0 0 0 1px rgba(47,93,149,.08), 0 18px 44px rgba(15,23,42,.08);
}

body{
  background:
    radial-gradient(circle at 100% 0%, rgba(47,93,149,.08), transparent 24%),
    radial-gradient(circle at 0% 100%, rgba(47,73,199,.06), transparent 22%),
    linear-gradient(180deg,#fbfdff 0%, #f5f9fd 100%);
}

.topbar{
  background:linear-gradient(90deg,var(--brand-indigo),var(--brand-blue));
  box-shadow:0 6px 18px rgba(47,73,199,.18);
}

header{
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

.navbar{
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 28px rgba(15,23,42,.05);
}

.nav a{
  padding:.18rem .15rem;
}

.nav a.active::after,
.nav a[aria-current="page"]::after{
  height:4px;
  bottom:-.52rem;
  background:linear-gradient(90deg,var(--brand-indigo),var(--brand-blue));
}

.hero{
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 18%, rgba(47,93,149,.10), transparent 18%),
    radial-gradient(circle at 86% 12%, rgba(47,73,199,.08), transparent 16%);
  pointer-events:none;
}

.hero-card{
  position:relative;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92)),
    linear-gradient(135deg,#ffffff 0%, #f7fbff 100%);
  border:1px solid #dbe7f3;
  box-shadow:var(--shadow-premium);
}

.hero-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.hero .eyebrow{
  background:linear-gradient(135deg,#e7f3ff,#f2f8ff);
  color:var(--brand-blue);
  border:1px solid #cfe0f7;
  box-shadow:0 10px 24px rgba(14,165,233,.10);
}

.hero .lead{
  color:#43566c;
}

.badge-list{
  gap:.65rem;
}
.badge{
  background:linear-gradient(180deg,#ffffff,#f6faff);
  border:1px solid #d9e6f4;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  color:var(--brand-navy);
}

.btn-primary{
  background:linear-gradient(135deg,var(--brand-indigo),var(--brand-blue));
  box-shadow:0 14px 34px rgba(47,73,199,.22);
}
.btn-primary:hover{
  background:linear-gradient(135deg,#2842b8,#285486);
}
.btn-whatsapp{
  background:linear-gradient(135deg,#24c25a,#18a54a);
  box-shadow:0 14px 34px rgba(34,197,94,.18);
}
.btn-light{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dce7f4;
}

.hero-card,.panel,.feature,.family-card,.info-card,.schedule-card,.notice,.highlight-module,.review-card,.faq-item{
  border:1px solid #dbe7f3;
  box-shadow:var(--shadow-premium-soft);
}

.family-card,.panel,.notice,.highlight-module,.faq-item,.review-card{
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.95)),
    linear-gradient(135deg,#ffffff 0%, #f8fbff 100%);
}

.subject-badge{
  background:linear-gradient(135deg,#edf5ff,#f8fbff);
  border:1px solid #cfe0f7;
  color:var(--brand-blue);
  font-weight:800;
  box-shadow:0 8px 20px rgba(47,93,149,.08);
}

.family-general-link{
  background:linear-gradient(180deg,#ffffff,#f6faff);
  border:1px solid #dce7f4;
  border-radius:999px;
  padding:.55rem .95rem;
  font-weight:800;
  color:var(--brand-blue);
}

.entry-link{
  border:1px solid #e2ebf4;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
}
.entry-link:hover{
  border-color:#cbdcf0;
  box-shadow:0 12px 28px rgba(15,23,42,.08);
}

.entry-career{
  color:var(--brand-navy);
}
.entry-subject{
  color:#10243b;
}
.entry-meta,.entry-faculty{
  color:#55687d;
}

.info-card h3,.schedule-card h3,.panel h2,.section-title h2{
  color:#10243b;
}

.schedule-card{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
}
.schedule-card .group-tag{
  background:linear-gradient(135deg,#edf5ff,#f6faff);
  color:var(--brand-blue);
  border-color:#cfe0f7;
}
.schedule-card .meta .teacher-tag{
  background:#f5ebff;
}
.schedule-card .meta .mode-tag{
  background:#eaf7ff;
}
.schedule-card .meta .location-tag{
  background:#ecfdf3;
}
.schedule-card .meta .start-tag{
  background:#fff5e8;
}

.notice{
  position:relative;
  overflow:hidden;
}
.notice::before{
  content:"";
  position:absolute;
  inset:auto -8% -55% auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(47,93,149,.08) 0%, transparent 66%);
  pointer-events:none;
}

.highlight-module{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#eef6ff,#ffffff);
}
.highlight-module::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  background:linear-gradient(180deg,var(--brand-indigo),var(--brand-blue));
}
.highlight-module strong{
  color:#10243b;
}

.faq-item summary{
  color:#10243b;
  font-weight:800;
}

.footer{
  background:
    radial-gradient(circle at top right, rgba(47,93,149,.08), transparent 24%),
    linear-gradient(180deg,#ffffff 0%, #f8fbff 100%);
}
.footer .container{
  gap:1.2rem;
}
.footer-link,.legal-link{
  color:var(--brand-blue);
  font-weight:700;
}

@media (min-width: 960px){
  .hero-card{padding:2.35rem 2rem;}
  .panel,.notice,.highlight-module,.family-card{padding:1.35rem;}
}

/* ---------- Identidad visual más propia ---------- */
:root{
  --minas-stripe-1:#1f4f86;
  --minas-stripe-2:#2f49c7;
  --minas-stripe-3:#5fa8ff;
}

.topbar-inner{
  letter-spacing:.01em;
}

.brand{
  position:relative;
}
.brand::after{
  content:"";
  display:block;
  width:92px;
  height:4px;
  margin:.55rem auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,var(--minas-stripe-1),var(--minas-stripe-2),var(--minas-stripe-3));
  opacity:.88;
}

.hero-card h1,
.section-title h2,
.panel h2{
  text-wrap:balance;
}

.hero-card .lead,
.panel p,
.section-title p,
.notice p{
  max-width:68ch;
}

.hero-card{
  border-radius:28px;
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:6px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,var(--minas-stripe-1),var(--minas-stripe-2),var(--minas-stripe-3));
  opacity:.92;
}

.section-title{
  margin-bottom:2.4rem;
}

.family-card .family-head{
  gap:.8rem;
}

.family-card .entry-list{
  margin-top:.35rem;
}

.entry-link{
  min-height:100%;
  border-radius:18px;
}

.entry-link .entry-subject{
  margin-top:.12rem;
}

.notice,
.highlight-module{
  border-radius:26px;
}

.notice h2,
.highlight-module strong{
  letter-spacing:-.02em;
}

.btn,
.family-general-link,
.subject-badge,
.badge,
.schedule-card .group-tag,
.no-schedule-tag{
  letter-spacing:.01em;
}

.footer{
  position:relative;
  overflow:hidden;
}
.footer::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--minas-stripe-2),transparent);
  opacity:.65;
}
.footer .container > div:first-child p:first-child{
  font-size:1.05rem;
  letter-spacing:.01em;
}
.footer-social{
  gap:.8rem;
}

.cta-box,.filters,.results .schedule-card,.results .result-card,.faq-item,.review-card{
  border-radius:22px;
}

@media (min-width: 960px){
  .section{padding:4.2rem 0;}
  .hero{padding:3.8rem 0 2.8rem;}
}

/* ---------- Correcciones finales de capa ---------- */

/* Evitar textos blancos accidentales */
body, p, li, span, div, small, strong, h1, h2, h3, h4, h5, h6,
.hero-card .lead, .panel p, .section-title p, .notice p, .highlight-module p,
.proof-item span, .proof-item strong, .feature p, .review-card p, .faq-item, .faq-item p {
  color: var(--text);
}
.section-title p, .panel p, .lead, .entry-meta, .entry-faculty, .notice p, .highlight-module p {
  color: var(--muted) !important;
}
.proof-item strong, .feature strong, .entry-career, .entry-subject, .schedule-card h3,
.panel h2, .section-title h2, .hero h1, .hero-card h1 {
  color: #10243b !important;
}

/* Línea azul superior del hero también en páginas principales */
.hero-card{
  position: relative;
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:6px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,var(--minas-stripe-1),var(--minas-stripe-2),var(--minas-stripe-3));
  opacity:.92;
}

/* Línea azul en el logo, derecha e izquierda */
.brand{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.brand::before,
.brand::after{
  content:"";
  display:block;
  width:110px;
  max-width:18vw;
  height:6px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--minas-stripe-1),var(--minas-stripe-2),var(--minas-stripe-3));
  opacity:.88;
}
.brand::before{
  background:linear-gradient(90deg,var(--minas-stripe-3),var(--minas-stripe-2),var(--minas-stripe-1));
}
@media (max-width:700px){
  .brand::before,.brand::after{
    width:54px;
    height:5px;
  }
}
@media (max-width:420px){
  .brand::before,.brand::after{
    width:34px;
    height:4px;
  }
}

/* Tarjetas de métricas del index */
.proof-item{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #dbe7f3;
}
.proof-item strong{
  color:#173a61 !important;
}
.proof-item span{
  color:#4b6076 !important;
}

/* Módulos con fondo claro nunca deben forzar blanco */
.card, .panel, .hero-card, .feature, .notice, .highlight-module, .review-card, .faq-item,
.family-card, .info-card, .schedule-card, .proof-item {
  color: var(--text);
}

/* Ajustes hero principales */
body.premium-layer .hero .lead{
  color:#51667c !important;
}

/* ===== Fixes finos de contraste y héroes ===== */

/* Cabecera siempre blanca */
header,
.navbar{
  background:#ffffff !important;
}

/* Banner de cookies con contraste correcto */
.am-cookie-inner{
  background:#10243b !important;
  color:#ffffff !important;
}
.am-cookie-inner,
.am-cookie-inner *,
.am-cookie-copy,
.am-cookie-copy *{
  color:#ffffff !important;
}
.am-cookie-copy a{
  color:#7dd3fc !important;
}
.am-cookie-btn-secondary{
  background:#334155 !important;
  color:#ffffff !important;
}
.am-cookie-btn-primary{
  color:#ffffff !important;
}

/* Módulo de index "Una academia..." en tarjeta clara y legible */
.page-index .hero-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  color:#0f172a !important;
  border:1px solid #dbe7f3 !important;
  box-shadow:0 16px 38px rgba(15,23,42,.08) !important;
}
.page-index .hero-card h2,
.page-index .hero-card strong{
  color:#10243b !important;
}
.page-index .hero-card p,
.page-index .hero-card span{
  color:#51667c !important;
}
.page-index .hero-list-item{
  background:#f6faff !important;
  border:1px solid #d8e6f5 !important;
}
.page-index .hero-list-item strong{
  color:#173a61 !important;
}
.page-index .hero-list-item span{
  color:#50657b !important;
}

/* Tarjetas de métricas del index con texto oscuro */
.page-index .proof-item,
.page-index .proof-item *{
  color:#173a61 !important;
}
.page-index .proof-item span{
  color:#4b6076 !important;
}

/* Quitar la línea azul superior del hero en FAQ y Horarios */
.page-faq .hero-card::before,
.page-horarios .hero-card::before{
  display:none !important;
  content:none !important;
}

/* En FAQ y Horarios mantener hero limpio */
.page-faq .hero-card,
.page-horarios .hero-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  border:1px solid #dbe7f3 !important;
}

/* Funcionamiento y contacto con línea superior del hero visible y fondo claro */
.page-funcionamiento .hero-card,
.page-contacto .hero-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  color:#0f172a !important;
}
.page-funcionamiento .hero-card h1,
.page-contacto .hero-card h1{
  color:#10243b !important;
}
.page-funcionamiento .hero-card .lead,
.page-contacto .hero-card .lead{
  color:#51667c !important;
}

/* ===== Ajustes visuales finales solicitados ===== */

/* Franja superior: texto blanco siempre */
.topbar,
.topbar *,
.topbar-inner{
  color:#ffffff !important;
}

/* Centrar eyebrow en hero de Horarios y FAQ */
.page-horarios .hero .eyebrow,
.page-faq .hero .eyebrow{
  display:flex !important;
  width:fit-content !important;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
}

/* Módulo grande secundario del index en azul oscuro */
.page-index .hero-card{
  background:linear-gradient(180deg,#1e4d80 0%, #2f5d95 100%) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.14) !important;
}
.page-index .hero-card h2,
.page-index .hero-card strong{
  color:#ffffff !important;
}
.page-index .hero-card p,
.page-index .hero-card span{
  color:rgba(255,255,255,.94) !important;
}
.page-index .hero-list-item{
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.page-index .hero-list-item strong{
  color:#ffffff !important;
}
.page-index .hero-list-item span{
  color:rgba(255,255,255,.94) !important;
}
.page-index .hero-card .btn-light{
  background:#ffffff !important;
  color:#21456f !important;
  border:1px solid rgba(255,255,255,.7) !important;
}

/* Quitar línea superior rara del módulo azul secundario del index */
.page-index .hero-card::before{
  display:none !important;
  content:none !important;
}

/* Línea visual suave en el primer módulo debajo del nav */
body.premium-layer main > .hero .hero-card{
  position:relative;
}
body.premium-layer main > .hero .hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff);
  opacity:1;
  box-shadow:none !important;
}

/* Asegurar que no aparezca en módulos secundarios del index */
.page-index .hero-card::before{
  display:none !important;
  content:none !important;
}
.page-index main > .hero .hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff);
  opacity:1;
}

/* Ajuste exacto de la línea azul suave */

/* Base: sin línea en hero-card salvo cuando se indique */
.hero-card::before{
  display:none !important;
  content:none !important;
}

/* Sí en el hero principal bajo el nav */
body.premium-layer main > .hero .hero-card::before,
.page-index main > .hero .hero-card::before,
.page-funcionamiento main > .hero .hero-card::before,
.page-contacto main > .hero .hero-card::before,
.page-faq main > .hero .hero-card::before,
.page-horarios main > .hero .hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff);
  opacity:1;
  box-shadow:none !important;
}

/* No en el módulo azul secundario del index */
.page-index .hero-card::before{
  display:none !important;
  content:none !important;
}
.page-index main > .hero .hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff);
  opacity:1;
}

/* Asegurar presencia visual en funcionamiento y contacto */
.page-funcionamiento main > .hero .hero-card,
.page-contacto main > .hero .hero-card{
  position:relative;
}

/* ===== Corrección precisa de la línea suave del primer módulo ===== */

/* Reset general */
.hero-card::before,
.card::before{
  box-shadow:none !important;
}

/* No mostrar por defecto en cards genéricas */
.card::before{
  display:none;
  content:none;
}

/* Mostrar SOLO en el primer módulo correcto de cada página */
.page-index .am-index-hero-main,
.page-funcionamiento main > .hero .card:first-child,
.page-contacto main > .hero .contacto-hero-card,
.page-faq main > .hero .hero-card:first-child,
.page-horarios main > .hero .hero-card:first-child{
  position:relative;
}

.page-index .am-index-hero-main::before,
.page-funcionamiento main > .hero .card:first-child::before,
.page-contacto main > .hero .contacto-hero-card::before,
.page-faq main > .hero .hero-card:first-child::before,
.page-horarios main > .hero .hero-card:first-child::before{
  display:block !important;
  content:"" !important;
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:28px 28px 0 0;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff);
  opacity:1;
}

/* No en el módulo azul secundario del index */
.page-index .hero-card::before{
  display:none !important;
  content:none !important;
}

/* ===== Anulación definitiva de la línea en el segundo módulo del hero del index ===== */
.page-index .hero-grid > .hero-card::before,
.page-index .hero-grid > .hero-card:first-of-type::before,
.page-index .hero-grid > .hero-card:last-of-type::before{
  display:none !important;
  content:none !important;
}

/* ===== Específicas: formato de horarios como en horarios.html ===== */
.impartida-page header .container{
  padding:12px 0 !important;
}
.impartida-page .logo-img{
  height:60px !important;
}

.impartida-page #dynamic-schedule-mount{
  width:100%;
  display:flex;
  justify-content:center;
}
.impartida-page .schedule-grid-1{
  display:grid;
  grid-template-columns:minmax(320px, 560px);
  justify-content:center;
  gap:1rem;
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
.impartida-page .schedule-grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(320px,560px));
  justify-content:center;
  gap:1rem;
  width:fit-content;
  max-width:100%;
  margin-inline:auto;
}
.impartida-page .schedule-option{
  background:#fff;
  border:1px solid #dbe7f3;
  border-radius:22px;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  padding:1rem;
}
.impartida-page .option-title{
  margin-bottom:.5rem;
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
.impartida-page .option-badge{
  display:inline-flex;
  align-items:center;
  padding:.26rem .62rem;
  border-radius:999px;
  background:#eef4ff;
  color:#2f5d95;
  font-size:.78rem;
  font-weight:800;
  line-height:1.1;
}
.impartida-page .hours-badge{
  display:inline-flex;
  align-items:center;
  padding:.26rem .62rem;
  border-radius:999px;
  background:#fef3c7;
  color:#92400e;
  font-size:.78rem;
  font-weight:800;
  line-height:1.1;
}
.impartida-page .schedule-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.7rem;
}
.impartida-page .day{
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:.7rem .8rem;
}
.impartida-page .day strong{
  display:block;
  font-size:.86rem;
  color:#10243b;
  margin-bottom:.12rem;
}
.impartida-page .day span{
  color:#475569;
  font-size:.92rem;
}
.impartida-page .schedule-option .meta{
  display:flex !important;
  gap:.4rem;
  flex-wrap:wrap;
  margin:.7rem 0 0;
}
.impartida-page .schedule-option .meta span,
.impartida-page .schedule-option .meta a{
  display:inline-flex;
  align-items:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  padding:.32rem .62rem;
  border-radius:999px;
  color:#475569;
  font-size:.83rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.impartida-page .schedule-option .meta .teacher-tag{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}
.impartida-page .schedule-option .meta .mode-tag{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.impartida-page .schedule-option .meta .location-tag{background:#dcfce7;color:#166534;border-color:#86efac}
.impartida-page .schedule-option .meta .start-tag{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.impartida-page .schedule-option .meta .whatsapp-chip{background:#dcfce7;color:#166534;border-color:#86efac}
.impartida-page .schedule-option .meta .whatsapp-chip:hover{background:#bbf7d0}

.impartida-page .no-schedule-card{
  background:#fff;
  border:1px solid #dbe7f3;
  border-radius:22px;
  box-shadow:0 10px 30px rgba(15,23,42,.08);
  padding:1.2rem;
}
.impartida-page .no-schedule-tag{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  background:#fff7d6;
  color:#a8551a;
  border:2px solid #eed05c;
  border-radius:999px;
  padding:.38rem .85rem;
  font-weight:900;
  font-size:1rem;
  margin-bottom:.9rem;
}
.impartida-page .no-schedule-text{
  color:#274690 !important;
  font-weight:900;
  font-size:1.08rem;
  line-height:1.6;
  margin-bottom:.95rem;
}
.impartida-page .schedule-status{
  color:#334155 !important;
  font-weight:800;
  font-size:1rem;
  line-height:1.6;
  margin-bottom:1rem;
}
.impartida-page .info-chip{
  display:inline-flex;
  align-items:center;
  padding:.26rem .62rem;
  border-radius:999px;
  background:#dcfce7;
  border:1px solid #86efac;
  color:#166534 !important;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.impartida-page .info-chip:hover{background:#bbf7d0}

@media(max-width:760px){
  .impartida-page .schedule-grid-2,
  .impartida-page .schedule-grid{
    grid-template-columns:1fr;
  }
  .impartida-page .schedule-grid-1,
  .impartida-page .schedule-grid-2{
    width:100%;
  }
  .impartida-page .schedule-grid-1{
    grid-template-columns:minmax(0,1fr);
  }
}

/* ===== Líneas suaves intercaladas por módulos ===== */
:root{
  --module-line-blue-1:#d9ecff;
  --module-line-blue-2:#8cc4ff;
  --module-line-green-1:#daf7e6;
  --module-line-green-2:#8fe3b0;
}

.card, .panel, .notice, .review-card, .faq-item, .academy-gallery-card, .ubicaciones-card, .contacto-hero-card, .year-card, .filters{
  position:relative;
}
.card::before,
.panel::before,
.notice::before,
.review-card::before,
.faq-item::before,
.academy-gallery-card::before,
.ubicaciones-card::before,
.contacto-hero-card::before,
.year-card::before,
.filters::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:24px 24px 0 0;
  display:none;
}

/* Colores */
.module-line-blue::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.module-line-green::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}

/* FAQ: todos los items */
.page-faq .faq-item::before{
  display:block !important;
}
.page-faq .faq-item:nth-of-type(odd)::before{
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-faq .faq-item:nth-of-type(even)::before{
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}

/* Contacto: todos los módulos visibles */
.page-contacto .contacto-hero-card::before,
.page-contacto .contacto-grid > .card::before{
  display:block !important;
}
.page-contacto .contacto-hero-card::before{
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-contacto .contacto-grid > .card:nth-child(odd)::before{
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}
.page-contacto .contacto-grid > .card:nth-child(even)::before{
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}

/* Funcionamiento */
.page-funcionamiento .year-card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-funcionamiento .academy-gallery-card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}

/* Horarios */
.page-horarios .filters::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}

/* Index: módulos concretos en orden alterno */
.page-index main > .section:nth-of-type(1) .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-index main > .section:nth-of-type(2) .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}
.page-index main > .section.google-reviews .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-index main > .section:nth-of-type(4) .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}
.page-index main > .section:nth-of-type(5) .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}
.page-index main > .section:nth-of-type(7) .card::before{
  display:block !important;
  background:linear-gradient(90deg,var(--module-line-green-1),var(--module-line-green-2),var(--module-line-green-1));
}

/* ===== Intercalado por clases robusto ===== */
.module-line-blue,
.module-line-green{
  position:relative !important;
}
.module-line-blue::before,
.module-line-green::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  display:block !important;
  box-shadow:none !important;
  z-index:1 !important;
}
.module-line-blue::before{
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}
.module-line-green::before{
  background:linear-gradient(90deg,#daf7e6,#8fe3b0,#daf7e6) !important;
}

/* ===== Fix móvil header/logo/nav ===== */
html, body{
  overflow-x:hidden !important;
}

header, .navbar, .hero, .section, .container{
  max-width:100%;
}

.brand{
  overflow:visible;
}

@media (max-width: 760px){
  .brand{
    gap:.55rem !important;
    max-width:100%;
  }

  .brand::before,
  .brand::after{
    width:26px !important;
    min-width:26px !important;
    max-width:26px !important;
    height:4px !important;
    flex:0 0 26px !important;
  }

  .logo-img{
    height:46px !important;
    max-width:min(78vw, 340px) !important;
    width:auto !important;
  }

  header .container{
    padding:10px 0 !important;
    width:min(var(--max), calc(100% - 1rem)) !important;
  }

  .navbar .container{
    width:min(var(--max), calc(100% - 1rem)) !important;
  }

  .nav{
    gap:.7rem !important;
    row-gap:.55rem !important;
    padding:.65rem 0 .75rem !important;
  }

  .nav a{
    font-size:.95rem !important;
    line-height:1.2 !important;
    padding:.2rem 0 !important;
    white-space:nowrap;
  }
}

@media (max-width: 520px){
  .brand::before,
  .brand::after{
    width:18px !important;
    min-width:18px !important;
    max-width:18px !important;
    flex:0 0 18px !important;
  }

  .logo-img{
    height:40px !important;
    max-width:min(74vw, 290px) !important;
  }

  .nav{
    display:grid !important;
    grid-template-columns:repeat(4, max-content) !important;
    justify-content:center !important;
    column-gap:1rem !important;
    row-gap:.6rem !important;
  }

  .nav a:last-child{
    grid-column:1 / -1;
    justify-self:center;
  }
}

@media (max-width: 380px){
  .logo-img{
    height:36px !important;
    max-width:min(70vw, 250px) !important;
  }

  .brand::before,
  .brand::after{
    width:12px !important;
    min-width:12px !important;
    max-width:12px !important;
    flex:0 0 12px !important;
  }

  .nav{
    column-gap:.75rem !important;
  }

  .nav a{
    font-size:.9rem !important;
  }
}

/* ===== Ajustes pedidos ===== */

/* Funcionamiento: quitar raya en "Qué hacemos" y sus cards internas */
.page-funcionamiento main > .section:nth-of-type(2) > .container > .card.module-line-green::before,
.page-funcionamiento main > .section:nth-of-type(2) > .container > .grid-3 > .card.module-line-green::before,
.page-funcionamiento main > .section:nth-of-type(2) > .container > .grid-3 > .card.module-line-blue::before{
  display:none !important;
  content:none !important;
}

/* Index: quitar raya a submódulos de "Así de fácil es empezar" */
.page-index main > .section:nth-of-type(4) .process-card::before{
  display:none !important;
  content:none !important;
}

/* Botón volver en específicas */
.back-area-wrap{
  display:flex;
  justify-content:center;
  margin-top:1rem;
}
.back-area-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.95rem 1.25rem;
  border-radius:999px;
  font-weight:800;
  border:1px solid #dce7f4;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  color:#21456f;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.back-area-btn:hover{
  border-color:#cbdcf0;
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}

/* ===== Revisión móvil final de CSS y styles ===== */
html, body{
  overflow-x:hidden !important;
}

img, iframe{
  max-width:100%;
  height:auto;
}

@media (max-width: 760px){

  /* Layout general */
  .container{
    width:min(var(--max), calc(100% - 1rem)) !important;
  }
  .section{
    padding:1.5rem 0 1.8rem !important;
  }

  /* Hero index */
  .hero-grid{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  .am-index-hero-main{
    padding:1.15rem !important;
    overflow:hidden !important;
  }
  .am-index-hero-main h1{
    font-size:clamp(2rem, 8vw, 2.8rem) !important;
    line-height:1.06 !important;
    max-width:none !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
  }
  .am-index-hero-main .lead{
    font-size:1rem !important;
    line-height:1.55 !important;
    max-width:none !important;
  }
  .am-index-hero-main .hero-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.8rem !important;
  }
  .am-index-hero-main .hero-actions .btn{
    width:100% !important;
  }

  /* Métricas */
  .hero-proof{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:.75rem !important;
  }
  .proof-item{
    padding:.85rem .75rem !important;
    text-align:center !important;
    min-width:0 !important;
  }
  .proof-item strong{
    font-size:1rem !important;
    line-height:1.1 !important;
    word-break:keep-all !important;
  }
  .proof-item span{
    font-size:.9rem !important;
    line-height:1.2 !important;
  }

  /* Index módulos */
  .grid-4,
  .grid-3,
  .split{
    grid-template-columns:1fr !important;
  }

  /* Así de fácil */
  .process-card{
    padding:1rem !important;
    min-width:0 !important;
  }

  /* Qué encontrarás y otras cards */
  .feature-item,
  .callout,
  .review-card,
  .card{
    min-width:0 !important;
    overflow:hidden !important;
  }

  /* Avisos / noticias inyectadas */
  .news-feed,
  .news-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  .news-card,
  .news-item,
  .notice-card,
  .post-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:1rem !important;
    align-items:start !important;
  }
  .news-card img,
  .news-item img,
  .notice-card img,
  .post-card img{
    width:100% !important;
    max-width:220px !important;
    justify-self:center !important;
    border-radius:18px !important;
  }

  /* CTA y botones */
  .btn,
  .btn-primary,
  .btn-light,
  .btn-whatsapp,
  .btn-office{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    white-space:normal !important;
    text-align:center !important;
    line-height:1.25 !important;
    padding:1rem 1.1rem !important;
  }

  /* Footer */
  .footer .container{
    gap:1rem !important;
  }
  .footer-social{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    justify-items:center !important;
    gap:.75rem !important;
  }
  .footer-link,
  .legal-link{
    width:min(260px, 100%) !important;
    justify-content:center !important;
  }

  /* Área / generales / específicas */
  .areas-links-grid,
  .subject-grid,
  .info-grid-3,
  .schedule-grid-2,
  .grid-2{
    grid-template-columns:1fr !important;
  }
  .family-card,
  .entry-link,
  .schedule-card,
  .info-card{
    min-width:0 !important;
    overflow:hidden !important;
  }
  .family-title-wrap,
  .entry-link{
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }
}

@media (max-width: 420px){
  .hero-proof{
    grid-template-columns:1fr !important;
  }
  .am-index-hero-main h1{
    font-size:clamp(1.85rem, 9vw, 2.5rem) !important;
  }
  .proof-item strong,
  .proof-item span,
  .entry-link,
  .family-title-wrap{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
}

/* Quitar solo las rayas superiores de los 4 submódulos de "Así de fácil es empezar" */
.page-index .process-card.module-line-blue::before,
.page-index .process-card.module-line-green::before,
.page-index .process-card::before{
  display:none !important;
  content:none !important;
}

/* Mejorar visibilidad de botones blancos */
.btn-light,
.back-area-btn,
.family-general-link{
  background:linear-gradient(180deg,#ffffff 0%, #f7fbff 100%) !important;
  border:1.5px solid #c9dced !important;
  color:#21456f !important;
  box-shadow:
    0 10px 24px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.btn-light:hover,
.back-area-btn:hover,
.family-general-link:hover{
  border-color:#9fc0df !important;
  box-shadow:
    0 14px 30px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
  transform:translateY(-1px);
}

.btn-light:active,
.back-area-btn:active,
.family-general-link:active{
  transform:translateY(0);
}

.btn-light,
.back-area-btn{
  font-weight:800 !important;
  letter-spacing:.01em;
}

/* chips/botones blancos en módulos de área/generales */
.area-chip-link,
.entry-link{
  border-color:#d4e2ef !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.area-chip-link:hover,
.entry-link:hover{
  border-color:#aac7e2 !important;
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}

/* ===== Unificación global de botones respetando colores ===== */
:root{
  --btn-radius:999px;
  --btn-shadow:0 10px 24px rgba(15,23,42,.08);
  --btn-shadow-hover:0 14px 30px rgba(15,23,42,.12);
  --btn-pad-y:.98rem;
  --btn-pad-x:1.3rem;
  --btn-font:800;
  --btn-line:1.2;
}

/* Base común */
.btn,
.btn-primary,
.btn-light,
.btn-whatsapp,
.btn-office,
.back-area-btn,
.family-general-link,
.footer-link,
.legal-link,
.area-chip-link,
.info-chip,
.whatsapp-btn,
.meta a.whatsapp-chip,
a[class*="btn"],
button[class*="btn"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  min-height:48px;
  padding:var(--btn-pad-y) var(--btn-pad-x);
  border-radius:var(--btn-radius) !important;
  font-weight:var(--btn-font) !important;
  line-height:var(--btn-line) !important;
  letter-spacing:.01em;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

/* Hover / active común */
.btn:hover,
.btn-primary:hover,
.btn-light:hover,
.btn-whatsapp:hover,
.btn-office:hover,
.back-area-btn:hover,
.family-general-link:hover,
.footer-link:hover,
.legal-link:hover,
.area-chip-link:hover,
.info-chip:hover,
.whatsapp-btn:hover,
.meta a.whatsapp-chip:hover,
a[class*="btn"]:hover,
button[class*="btn"]:hover{
  transform:translateY(-1px);
}
.btn:active,
.btn-primary:active,
.btn-light:active,
.btn-whatsapp:active,
.btn-office:active,
.back-area-btn:active,
.family-general-link:active,
.footer-link:active,
.legal-link:active,
.area-chip-link:active,
.info-chip:active,
.whatsapp-btn:active,
.meta a.whatsapp-chip:active,
a[class*="btn"]:active,
button[class*="btn"]:active{
  transform:translateY(0);
}

/* Colores actuales, pero consistentes */
.btn-primary,
.btn-office{
  box-shadow:var(--btn-shadow);
}
.btn-primary:hover,
.btn-office:hover{
  box-shadow:var(--btn-shadow-hover);
}

.btn-whatsapp,
.whatsapp-btn{
  box-shadow:0 10px 24px rgba(34,197,94,.16);
}
.btn-whatsapp:hover,
.whatsapp-btn:hover{
  box-shadow:0 14px 30px rgba(34,197,94,.22);
}

.btn-light,
.back-area-btn,
.family-general-link{
  box-shadow:
    0 10px 24px rgba(15,23,42,.06),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}
.btn-light:hover,
.back-area-btn:hover,
.family-general-link:hover{
  box-shadow:
    0 14px 30px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* Footer/social */
.footer-link,
.legal-link{
  min-height:44px;
  padding:.78rem 1rem;
}

/* Chips y CTA pequeños */
.info-chip,
.whatsapp-btn,
.meta a.whatsapp-chip{
  min-height:38px;
  padding:.45rem .78rem;
  font-size:.84rem;
}

/* Área / listados */
.area-chip-link{
  min-height:56px;
}
.entry-link{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.entry-link:hover{
  transform:translateY(-1px);
}

@media (max-width:760px){
  .btn,
  .btn-primary,
  .btn-light,
  .btn-whatsapp,
  .btn-office,
  .back-area-btn,
  .family-general-link{
    width:100%;
  }
}

/* ===== Fix móvil específico para avisos/noticias del index ===== */
@media (max-width: 760px){
  .news-feed .card,
  .news-feed .news-card,
  .news-feed .notice-card,
  .news-feed .post-card,
  .news-feed article,
  .page-index .news-feed .card,
  .page-index .news-feed .news-card,
  .page-index .news-feed .notice-card,
  .page-index .news-feed .post-card,
  .page-index .news-feed article{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:1rem !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .news-feed .card > *,
  .news-feed .news-card > *,
  .news-feed .notice-card > *,
  .news-feed .post-card > *,
  .news-feed article > *{
    min-width:0 !important;
  }

  .news-feed img,
  .news-feed .card img,
  .news-feed .news-card img,
  .news-feed .notice-card img,
  .news-feed .post-card img,
  .news-feed article img,
  .page-index .news-feed img{
    display:block !important;
    width:min(150px, 100%) !important;
    max-width:150px !important;
    height:auto !important;
    margin:0 auto !important;
    border-radius:18px !important;
    object-fit:cover !important;
  }

  .news-feed .btn,
  .news-feed .btn-light,
  .news-feed .btn-primary,
  .news-feed .btn-whatsapp,
  .news-feed a[class*="btn"],
  .page-index .news-feed .btn{
    width:100% !important;
    max-width:none !important;
    white-space:normal !important;
  }

  .news-feed h2,
  .news-feed h3,
  .news-feed p,
  .news-feed .lead{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }
}
@media (max-width: 480px){
  .news-feed img,
  .news-feed .card img,
  .news-feed .news-card img,
  .news-feed .notice-card img,
  .news-feed .post-card img,
  .news-feed article img,
  .page-index .news-feed img{
    width:min(130px, 78%) !important;
    max-width:130px !important;
  }
}


/* Quitar la raya verde del módulo "Qué hacemos" en funcionamiento */
.page-funcionamiento main > .section:nth-of-type(3) > .container > .card.module-line-green::before,
.page-funcionamiento main > .section:nth-of-type(3) > .container > .card::before{
  display:none !important;
  content:none !important;
}

/* ===== Mejora final: acabado visual + robustez front-end ===== */

/* Base robusta */
html{
  box-sizing:border-box;
  -webkit-text-size-adjust:100%;
}
*, *::before, *::after{
  box-sizing:inherit;
}
:where(.container, .card, .panel, .hero-card, .feature, .notice, .review-card, .faq-item, .entry-link, .family-card, .info-card, .schedule-card, .filters, .process-card, .proof-item, .academy-gallery-card, .ubicaciones-card){
  min-width:0;
}
:where(img, svg, video, canvas, iframe){
  max-width:100%;
  height:auto;
}
:where(h1, h2, h3, p, li, a, span, strong){
  overflow-wrap:break-word;
}
:where(input, select, textarea, button){
  font:inherit;
}

/* Mejor consistencia visual */
:root{
  --surface-border:#d8e3ef;
  --surface-border-strong:#c5d7e8;
  --surface-shadow:0 10px 28px rgba(15,23,42,.07);
  --surface-shadow-hover:0 16px 34px rgba(15,23,42,.11);
}
.card,
.panel,
.hero-card,
.feature,
.notice,
.review-card,
.faq-item,
.entry-link,
.family-card,
.info-card,
.schedule-card,
.filters,
.process-card,
.proof-item,
.academy-gallery-card,
.ubicaciones-card{
  border:1px solid var(--surface-border) !important;
  box-shadow:var(--surface-shadow) !important;
}
.card:hover,
.panel:hover,
.hero-card:hover,
.feature:hover,
.notice:hover,
.review-card:hover,
.faq-item:hover,
.entry-link:hover,
.family-card:hover,
.info-card:hover,
.schedule-card:hover,
.filters:hover,
.process-card:hover,
.proof-item:hover,
.academy-gallery-card:hover,
.ubicaciones-card:hover{
  box-shadow:var(--surface-shadow-hover) !important;
}

/* Formularios más sólidos */
input,
select,
textarea{
  border:1px solid #cbd7e4 !important;
  background:#fff !important;
  color:#10243b !important;
}
input::placeholder,
textarea::placeholder{
  color:#7a8a9b;
}
select{
  appearance:auto;
}

/* Enlaces y botones más consistentes */
a{
  text-underline-offset:2px;
}
.btn,
.btn-primary,
.btn-light,
.btn-whatsapp,
.btn-office,
.back-area-btn,
.family-general-link,
.footer-link,
.legal-link,
.area-chip-link,
.info-chip,
.whatsapp-btn,
.meta a.whatsapp-chip{
  will-change:transform;
}

/* Robustez grids/flex */
:where(.grid-2, .grid-3, .grid-4, .hero-grid, .hero-proof, .subject-grid, .areas-links-grid, .schedule-grid-2, .info-grid-3, .split, .footer-social, .contacto-grid){
  align-items:stretch;
}
:where(.grid-2 > *, .grid-3 > *, .grid-4 > *, .hero-grid > *, .hero-proof > *, .subject-grid > *, .areas-links-grid > *, .schedule-grid-2 > *, .info-grid-3 > *, .split > *, .footer-social > *, .contacto-grid > *){
  min-width:0;
}

/* Acabado textos */
.lead,
.section-title p,
.notice p,
.panel p{
  color:#53677c !important;
}
h1, h2, h3{
  text-wrap:balance;
}

/* Footer más compacto y estable */
.footer{
  overflow:hidden;
}
.footer p{
  text-wrap:pretty;
}

/* Avisos/noticias robustos */
.news-feed,
.news-grid{
  gap:1rem;
}
.news-feed :where(.card, .news-card, .notice-card, .post-card, article){
  min-width:0;
  overflow:hidden;
}

/* FAQ robusta */
.faq-question,
.faq-answer-inner{
  min-width:0;
}

/* Móvil: seguridad extra */
@media (max-width: 760px){
  body{
    overflow-x:hidden !important;
  }
  .container{
    width:min(var(--max), calc(100% - 1rem)) !important;
  }
  :where(.grid-2, .grid-3, .grid-4, .hero-grid, .hero-proof, .subject-grid, .areas-links-grid, .schedule-grid-2, .info-grid-3, .split, .contacto-grid){
    grid-template-columns:1fr !important;
  }
  .nav{
    max-width:100%;
  }
  .nav a{
    min-width:0;
  }
  .footer .container{
    width:min(var(--max), calc(100% - 1rem)) !important;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* ===== FAQ final: primera línea azul, resto naranja suave ===== */
:root{
  --module-line-orange-1:#fff1de;
  --module-line-orange-2:#f7c98b;
}

.module-line-orange{
  position:relative !important;
}
.module-line-orange::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  display:block !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}

/* FAQ específico */
.page-faq .faq-wrap > .faq-item{
  position:relative;
}
.page-faq .faq-wrap > .faq-item::before{
  display:none !important;
  content:none !important;
}
.page-faq .faq-wrap > .faq-item.module-line-blue::before{
  display:block !important;
  content:"" !important;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}
.page-faq .faq-wrap > .faq-item.module-line-orange::before{
  display:block !important;
  content:"" !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}

/* ===== Consolidación final de patrones repetidos ===== */

/* Header / logo comunes */
header .container{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:12px 0;
}
.logo-img{
  height:60px;
  width:auto;
  object-fit:contain;
  display:block;
}
.navbar{
  background:#fff;
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;
  justify-content:center;
  gap:1.1rem;
  flex-wrap:wrap;
  padding:.8rem 0;
}
.nav a{
  font-weight:800;
  color:#334155;
  padding:.25rem 0;
  border-bottom:3px solid transparent;
}
.nav a.active,
.nav a:hover,
.nav a[aria-current="page"]{
  color:#2f5d95;
  border-color:#2f5d95;
}

/* Footer común */
.footer{
  background:#2f49c7;
  color:#fff;
  margin-top:2rem;
  padding:2rem 0 2.15rem;
}
.footer .container{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  text-align:center;
}
.footer p{
  color:rgba(255,255,255,.94);
  margin:0;
}
.footer > .container > div:first-child{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  align-items:center;
}
.footer-social{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.7rem;
}
.footer-link,
.legal-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.62rem .95rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  font-weight:700;
}
.legal-link-wrap{
  margin-top:.15rem;
}

/* Specific pages: schedule / no-schedule shared look */
.schedule-grid-1{
  display:grid;
  grid-template-columns:minmax(320px,560px);
  justify-content:center;
  gap:1rem;
}

.schedule-option .meta{
  display:flex !important;
  gap:.4rem;
  flex-wrap:wrap;
  margin:.7rem 0 0;
}
.schedule-option .meta span,
.schedule-option .meta a{
  display:inline-flex;
  align-items:center;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  padding:.32rem .62rem;
  border-radius:999px;
  color:#475569;
  font-size:.83rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.schedule-option .meta .teacher-tag{background:#f3e8ff;color:#6b21a8;border-color:#d8b4fe}
.schedule-option .meta .mode-tag{background:#e0f2fe;color:#075985;border-color:#bae6fd}
.schedule-option .meta .location-tag{background:#dcfce7;color:#166534;border-color:#86efac}
.schedule-option .meta .start-tag{background:#fff7ed;color:#c2410c;border-color:#fdba74}
.schedule-option .meta .whatsapp-chip{background:#dcfce7;color:#166534;border-color:#86efac}
.schedule-option .meta .whatsapp-chip:hover{background:#bbf7d0}

.no-schedule-text{
  color:#274690;
  font-weight:900;
  font-size:1.08rem;
  line-height:1.6;
  margin-bottom:.95rem;
}
.schedule-status{
  color:#334155;
  font-weight:800;
  font-size:1rem;
  line-height:1.6;
  margin-bottom:1rem;
}
.info-chip{
  display:inline-flex;
  align-items:center;
  padding:.26rem .62rem;
  border-radius:999px;
  background:#dcfce7;
  border:1px solid #86efac;
  color:#166534;
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
}
.info-chip:hover{background:#bbf7d0}

@media (max-width:760px){
  .footer{
    padding:1.85rem 0 2rem;
  }
  .footer .container{
    gap:.65rem;
  }
  .schedule-grid-2,
  
  
}



/* ===== FAQ restaurado: primera línea azul, resto naranja suave ===== */
:root{
  --module-line-orange-1:#fff1de;
  --module-line-orange-2:#f7c98b;
}

.module-line-orange{
  position:relative !important;
}
.module-line-orange::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  display:block !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}

.page-faq .faq-wrap > .faq-item{
  position:relative;
}
.page-faq .faq-wrap > .faq-item::before{
  display:none !important;
  content:none !important;
}
.page-faq .faq-wrap > .faq-item.module-line-blue::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}
.page-faq .faq-wrap > .faq-item.module-line-orange::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}



/* ===== FAQ final definitivo: hero azul, preguntas naranja ===== */
.page-faq main > .hero .hero-card{
  position:relative;
}
.page-faq main > .hero .hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}
.page-faq .faq-wrap > .faq-item{
  position:relative;
}
.page-faq .faq-wrap > .faq-item::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}
.page-faq .faq-wrap > .faq-item.module-line-blue::before,
.page-faq .faq-wrap > .faq-item.module-line-green::before,
.page-faq .faq-wrap > .faq-item.module-line-orange::before{
  display:block !important;
  content:"" !important;
  background:linear-gradient(90deg,var(--module-line-orange-1),var(--module-line-orange-2),var(--module-line-orange-1)) !important;
}



/* Horarios: módulos de carreras con línea naranja izquierda y mejor separación de badge */
.page-horarios .career{
  position:relative;
  overflow:hidden;
}
.page-horarios .career::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#fff1de,#f7c98b,#fff1de);
}

.page-horarios .career-head{
  align-items:flex-start !important;
}
.page-horarios .career-left{
  min-width:0;
}
.page-horarios .career-title{
  row-gap:.35rem;
}
.page-horarios .career-right{
  margin-left:.9rem !important;
  flex:0 0 auto;
}

.page-horarios .career .badge{
  margin-top:.55rem !important;
}

@media (max-width:760px){
  .page-horarios .career::before{
    width:5px;
  }
  .page-horarios .career-head{
    gap:.75rem !important;
  }
  .page-horarios .career-right{
    margin-left:.55rem !important;
  }
  .page-horarios .career .badge{
    margin-top:.45rem !important;
  }
}



/* Línea naranja suave lateral izquierda en módulos concretos de index, funcionamiento y contacto */
.left-soft-orange{
  position:relative;
  overflow:hidden;
}
.left-soft-orange::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#fff1de,#f7c98b,#fff1de);
}

/* Aplicación visual por página */
.page-contacto .ubicaciones-card,
.page-index .process-card,
.page-index .feature-item,
.page-index .subject-block,
.page-funcionamiento main > .section:nth-of-type(3) > .container > .grid-3 > .card,
.page-funcionamiento main > .section:nth-of-type(3) > .container > .card{
  position:relative;
  overflow:hidden;
}

.page-contacto .ubicaciones-card::before,
.page-index .process-card::before,
.page-index .feature-item::before,
.page-index .subject-block::before,
.page-funcionamiento main > .section:nth-of-type(3) > .container > .grid-3 > .card::before,
.page-funcionamiento main > .section:nth-of-type(3) > .container > .card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#fff1de,#f7c98b,#fff1de);
  box-shadow:none !important;
}

@media (max-width:760px){
  .page-contacto .ubicaciones-card::before,
  .page-index .process-card::before,
  .page-index .feature-item::before,
  .page-index .subject-block::before,
  .page-funcionamiento main > .section:nth-of-type(3) > .container > .grid-3 > .card::before,
  .page-funcionamiento main > .section:nth-of-type(3) > .container > .card::before{
    width:5px;
  }
}

/* ===== Verificación estricta: parches por estructura HTML real ===== */

/* Index: Asignaturas más demandadas - aplicar línea lateral a cards internas reales */
.page-index main > .section:nth-of-type(8) > .container > .grid-4 > .card,
.page-index main > .section:nth-of-type(8) > .container > .grid-3 > .card,
.page-index main > .section:nth-of-type(8) > .container > .grid-2 > .card{
  position:relative;
  overflow:hidden;
}
.page-index main > .section:nth-of-type(8) > .container > .grid-4 > .card::before,
.page-index main > .section:nth-of-type(8) > .container > .grid-3 > .card::before,
.page-index main > .section:nth-of-type(8) > .container > .grid-2 > .card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:6px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#fff1de,#f7c98b,#fff1de);
  box-shadow:none !important;
}
@media (max-width:760px){
  .page-index main > .section:nth-of-type(8) > .container > .grid-4 > .card::before,
  .page-index main > .section:nth-of-type(8) > .container > .grid-3 > .card::before,
  .page-index main > .section:nth-of-type(8) > .container > .grid-2 > .card::before{width:5px;}
}



/* ===== Fix definitivo: las cards internas usaban background shorthand y tapaban la franja ===== */

/* Funcionamiento: Qué hacemos + 3 tarjetas siguientes */
.page-funcionamiento main > .section:nth-of-type(3) > .container.grid > .card{
  background:
    linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Index: Asignaturas más demandadas, tarjetas internas */
.page-index main > .section:nth-of-type(8) > .container > .card > .grid-3 > .card,
.page-index main > .section:nth-of-type(8) > .container > .card > .grid-4 > .card,
.page-index main > .section:nth-of-type(8) > .container > .card > .grid-2 > .card{
  background:
    linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Contacto: ubicaciones */
.page-contacto .ubicaciones-card{
  background:
    linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Index: submódulos de Así de fácil */
.page-index .process-card{
  background:
    linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Index: Qué encontrarás en nuestras clases */
.page-index main > .section:nth-of-type(6) .feature-item{
  background:
    linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 6px 100% no-repeat,
    #ffffff !important;
}

@media (max-width:760px){
  .page-funcionamiento main > .section:nth-of-type(3) > .container.grid > .card,
  .page-index main > .section:nth-of-type(8) > .container > .card > .grid-3 > .card,
  .page-index main > .section:nth-of-type(8) > .container > .card > .grid-4 > .card,
  .page-index main > .section:nth-of-type(8) > .container > .card > .grid-2 > .card,
  .page-contacto .ubicaciones-card,
  .page-index .process-card,
  .page-index main > .section:nth-of-type(6) .feature-item{
    background:
      linear-gradient(180deg,#fff1de,#f7c98b,#fff1de) left top / 5px 100% no-repeat,
      #ffffff !important;
  }
}



/* Quitar solo la raya naranja de Ubicaciones en contacto */
.page-contacto .ubicaciones-card{
  background:#ffffff !important;
}
.page-contacto .ubicaciones-card::before{
  display:none !important;
  content:none !important;
}



/* Contacto: quitar definitivamente franja/raya en Ubicaciones */
.page-contacto .ubicaciones-card{
  background:#ffffff !important;
  background-image:none !important;
}
.page-contacto .ubicaciones-card::before,
.page-contacto .ubicaciones-card::after{
  display:none !important;
  content:none !important;
}



/* Contacto: Ubicaciones sin raya lateral naranja y con raya azul superior */
.page-contacto .ubicaciones-card{
  background:#ffffff !important;
  background-image:none !important;
  position:relative !important;
}
.page-contacto .ubicaciones-card::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}
.page-contacto .ubicaciones-card::after{
  display:none !important;
  content:none !important;
}


/* Ajuste global botón flotante */
.whatsapp-float,
.whatsapp-button-float,
.whatsapp-fixed,
.floating-whatsapp,
.float-whatsapp,
.whatsapp-button,
a[href*="wa.me"].floating,
a[href*="whatsapp"].floating,
a[href*="wa.me"].whatsapp-float,
a[href*="api.whatsapp.com"].whatsapp-float{
  position: fixed !important;
  right: max(16px, env(safe-area-inset-right)) !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  z-index: 999 !important;
  margin: 0 !important;
  inset: auto 16px 24px auto !important;
}

@media (max-width: 768px){
  .whatsapp-float,
  .whatsapp-button-float,
  .whatsapp-fixed,
  .floating-whatsapp,
  .float-whatsapp,
  .whatsapp-button,
  a[href*="wa.me"].floating,
  a[href*="whatsapp"].floating,
  a[href*="wa.me"].whatsapp-float,
  a[href*="api.whatsapp.com"].whatsapp-float{
    width: 48px !important;
    height: 48px !important;
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    inset: auto 12px 12px auto !important;
  }
  body{
    padding-bottom: max(88px, env(safe-area-inset-bottom)) !important;
  }
}



/* Override tamaño unificado botón flotante */
.whatsapp-float,
.whatsapp-button-float,
.whatsapp-fixed,
.floating-whatsapp,
.float-whatsapp,
.whatsapp-button,
a[href*="wa.me"].floating,
a[href*="whatsapp"].floating,
a[href*="wa.me"].whatsapp-float,
a[href*="api.whatsapp.com"].whatsapp-float{
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
}
.whatsapp-float img,
.whatsapp-button-float img,
.whatsapp-fixed img,
.floating-whatsapp img,
.float-whatsapp img,
.whatsapp-button img,
a[href*="wa.me"].floating img,
a[href*="whatsapp"].floating img,
a[href*="wa.me"].whatsapp-float img,
a[href*="api.whatsapp.com"].whatsapp-float img,
.whatsapp-float svg,
.whatsapp-button-float svg,
.whatsapp-fixed svg,
.floating-whatsapp svg,
.float-whatsapp svg,
.whatsapp-button svg,
a[href*="wa.me"].floating svg,
a[href*="whatsapp"].floating svg,
a[href*="wa.me"].whatsapp-float svg,
a[href*="api.whatsapp.com"].whatsapp-float svg{
  width: 28px !important;
  height: 28px !important;
  max-width: 28px !important;
  max-height: 28px !important;
}
@media (max-width: 768px){
  .whatsapp-float,
  .whatsapp-button-float,
  .whatsapp-fixed,
  .floating-whatsapp,
  .float-whatsapp,
  .whatsapp-button,
  a[href*="wa.me"].floating,
  a[href*="whatsapp"].floating,
  a[href*="wa.me"].whatsapp-float,
  a[href*="api.whatsapp.com"].whatsapp-float{
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
  }
  .whatsapp-float img,
  .whatsapp-button-float img,
  .whatsapp-fixed img,
  .floating-whatsapp img,
  .float-whatsapp img,
  .whatsapp-button img,
  a[href*="wa.me"].floating img,
  a[href*="whatsapp"].floating img,
  a[href*="wa.me"].whatsapp-float img,
  a[href*="api.whatsapp.com"].whatsapp-float img,
  .whatsapp-float svg,
  .whatsapp-button-float svg,
  .whatsapp-fixed svg,
  .floating-whatsapp svg,
  .float-whatsapp svg,
  .whatsapp-button svg,
  a[href*="wa.me"].floating svg,
  a[href*="whatsapp"].floating svg,
  a[href*="wa.me"].whatsapp-float svg,
  a[href*="api.whatsapp.com"].whatsapp-float svg{
    width: 24px !important;
    height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
  }
}


/* ===== Pulido global final ===== */
:root{
  --focus-ring: 0 0 0 4px rgba(59,130,246,.18);
}
.nav{
  gap: clamp(.9rem, 2vw, 1.4rem) !important;
  padding: .95rem 1rem 1.15rem !important;
}
.nav a{
  display:inline-flex !important;
  align-items:center !important;
  min-height: 40px;
  line-height: 1.1;
  padding: .1rem 0;
}
.nav a::before,
.nav a.active::before,
.nav a[aria-current="page"]::before{
  content:none !important;
}
.nav a.active::after,
.nav a[aria-current="page"]::after{
  height: 3px !important;
  bottom: -.38rem !important;
}
.nav a:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible{
  outline: none !important;
  box-shadow: var(--focus-ring) !important;
  border-radius: 12px;
}
.btn{ min-height: 50px; }
.hero-actions{ gap: .8rem !important; }
.hero-actions .btn{ min-height: 52px !important; }
.card{
  border-radius: 18px !important;
  padding: 1.15rem !important;
}
.card h2,.card h3{ line-height: 1.18; }
.impartida-page .schedule-grid-2{ gap: .9rem !important; }
.impartida-page .schedule-option{
  border-radius: 18px !important;
  padding: .95rem !important;
}
.impartida-page .option-title{
  margin-bottom: .55rem !important;
  gap: .4rem !important;
}
.impartida-page .option-badge,
.impartida-page .hours-badge{
  min-height: 28px;
}
.impartida-page .schedule-grid{ gap: .6rem !important; }
.impartida-page .day{
  border-radius: 12px !important;
  padding: .68rem .78rem !important;
}
.impartida-page .schedule-option .meta{
  gap: .38rem !important;
  margin-top: .65rem !important;
}
.impartida-page .schedule-option .meta span,
.impartida-page .schedule-option .meta a{
  min-height: 30px;
  line-height: 1.15 !important;
  padding: .34rem .66rem !important;
}
body{
  padding-bottom: max(72px, env(safe-area-inset-bottom)) !important;
}
@media (max-width: 768px){
  .nav{
    gap: .9rem !important;
    padding: .8rem .85rem 1rem !important;
  }
  .nav a{
    font-size: .98rem !important;
    min-height: 36px;
  }
  .hero-actions{ gap: .7rem !important; }
  .hero-actions .btn, .btn{ min-height: 48px !important; }
  .card{ padding: 1rem !important; }
  .impartida-page .schedule-option{ padding: .9rem !important; }
  .impartida-page .schedule-option .meta span,
  .impartida-page .schedule-option .meta a{
    min-height: 28px;
    font-size: .8rem !important;
  }
  body{
    padding-bottom: max(88px, env(safe-area-inset-bottom)) !important;
  }
}



/* ===== Footer compacto y sin margen blanco inferior ===== */
.footer{
  background: var(--secondary) !important;
  color: #fff !important;
  padding: 1.55rem 0 max(84px, env(safe-area-inset-bottom)) !important;
  margin-top: 1.35rem !important;
  margin-bottom: 0 !important;
  text-align: center !important;
}
.footer .container{
  display: grid !important;
  gap: .85rem !important;
  align-items: center !important;
  justify-items: center !important;
}
.footer p{
  margin: .18rem 0 !important;
}
.footer strong{
  font-size: 1.02rem !important;
}
.footer-social{
  display:flex !important;
  justify-content:center !important;
  gap:.55rem !important;
  flex-wrap:wrap !important;
  margin-top:.45rem !important;
}
.footer-link,
.legal-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height: 42px !important;
  padding: .55rem 1rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color:#fff !important;
  font-weight: 800 !important;
  text-decoration:none !important;
  box-shadow: none !important;
}
.footer-link:hover,
.legal-link:hover{
  background: rgba(255,255,255,.16) !important;
}
.legal-link-wrap{
  margin-top: .35rem !important;
}
body{
  padding-bottom: 0 !important;
}
@media (max-width: 768px){
  .footer{
    padding: 1.35rem 0 max(88px, env(safe-area-inset-bottom)) !important;
  }
  .footer .container{
    gap: .72rem !important;
  }
  .footer-social{
    gap: .5rem !important;
    margin-top: .35rem !important;
  }
  .footer-link,
  .legal-link{
    min-height: 38px !important;
    padding: .48rem .9rem !important;
    font-size: .98rem !important;
  }
}



/* ===== Premium phase pack ===== */
:root{
  --premium-blue:#27418e;
  --premium-green:#25D366;
  --premium-surface:#ffffff;
  --premium-surface-soft:#f8fbff;
}

.section-title h2,
.hero h1,
.hero-card h1,
.panel h2{
  text-wrap: balance;
}

.notice,
.panel,
.card,
.subject-panel,
.career,
.filters,
.cta-box{
  box-shadow: 0 12px 34px rgba(15,23,42,.07);
}

.btn,
.footer-link,
.legal-link,
.subject-head-btn,
.career-head{
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}

.btn:hover,
.footer-link:hover,
.legal-link:hover,
.subject-head-btn:hover,
.career-head:hover{
  transform: translateY(-1px);
}

.hero-proof,
.grid,
.grid-3,
.grid-4,
.split,
.subject-grid{
  align-items: stretch;
}

.hero-card p,
.card p,
.notice p,
.panel p{
  max-width: 68ch;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 4px rgba(59,130,246,.18) !important;
}

.premium-mini-note{
  color:var(--muted);
  font-size:.96rem;
  margin-top:.4rem;
}

@media (max-width:768px){
  .section{ padding: 3.2rem 0; }
  .hero{ padding-top: 2.6rem !important; }
}



/* ===== Fix buscador premium + footer + stats compactos ===== */
html,body{
  min-height:100%;
}
body{
  display:flex;
  flex-direction:column;
  padding-bottom:0 !important;
}
main{
  flex:1 0 auto;
}
.footer{
  margin-bottom:0 !important;
}
body::after{
  content:none !important;
  display:none !important;
}
.result-stats{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:.55rem !important;
  margin:0 0 .85rem !important;
}
.stat-card{
  border-radius:14px !important;
  padding:.62rem .75rem !important;
}
.stat-card strong{
  font-size:1.02rem !important;
  line-height:1.1 !important;
}
.stat-card span{
  font-size:.8rem !important;
  margin-top:.08rem !important;
  line-height:1.2 !important;
}
@media (max-width:768px){
  .result-stats{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:.4rem !important;
  }
  .stat-card{
    padding:.52rem .45rem !important;
    border-radius:12px !important;
  }
  .stat-card strong{
    font-size:.95rem !important;
  }
  .stat-card span{
    font-size:.72rem !important;
  }
  .footer{
    padding-bottom:max(76px, env(safe-area-inset-bottom)) !important;
  }
}



/* ===== Cierre final: consistencia, accesibilidad y pulido ===== */
:root{
  --cta-green:#25D366;
  --cta-green-dark:#1fb95b;
}

/* Consistencia CTA */
.btn-whatsapp,
.whatsapp-chip,
.info-chip{
  font-weight: 800 !important;
}
.whatsapp-chip,
.info-chip{
  min-height: 30px;
}

/* Chips y badges */
.badge,
.option-badge,
.hours-badge,
.course-pill,
.filter-chip,
.footer-link,
.legal-link{
  letter-spacing: -.01em;
}

.option-badge,
.hours-badge{
  min-height: 28px;
}

/* Accesibilidad */
a, button, input, select, textarea{
  -webkit-tap-highlight-color: transparent;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(59,130,246,.18) !important;
}
label{
  cursor: pointer;
}
input, select, textarea, .btn, .footer-link, .legal-link{
  min-height: 44px;
}

/* Footer más fino */
.footer{
  border-top: 1px solid rgba(255,255,255,.12);
}
.footer p{
  line-height: 1.35;
}
.footer-social{
  align-items:center;
}
.footer-link, .legal-link{
  background: rgba(255,255,255,.09) !important;
}
.footer-link:hover, .legal-link:hover{
  background: rgba(255,255,255,.15) !important;
}

/* Contacto y funcionamiento: más respiración */
.contact-item p,
.office-hours,
.location-address{
  max-width: 62ch;
}
.highlight,
.quick-card,
.card{
  box-shadow: 0 10px 28px rgba(15,23,42,.06);
}

/* Horarios: lectura más limpia */
.summary-meta{
  line-height: 1.25;
}
.career-meta{
  line-height: 1.35;
}
.schedule-status,
.no-schedule-text{
  max-width: 62ch;
}
.no-schedule-card .info-chip{
  margin-top: .15rem;
}

/* Estados hover más suaves */
.subject-item,
.career,
.card,
.quick-card,
.cta-box{
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.subject-item:hover,
.card:hover,
.quick-card:hover,
.cta-box:hover{
  transform: translateY(-1px);
}

/* Móvil final */
@media (max-width:768px){
  .footer-link,
  .legal-link{
    min-height: 38px !important;
  }
  .summary-meta{
    font-size: .85rem !important;
  }
  .career-title{
    line-height: 1.2 !important;
  }
}



/* ===== Fix final buscador y hueco bajo footer ===== */
html, body{
  margin:0 !important;
  padding:0 !important;
  min-height:100%;
}
body{
  padding-bottom:0 !important;
  overflow-x:hidden;
}
main{
  display:block;
}
.footer{
  margin-bottom:0 !important;
  padding-bottom:max(76px, env(safe-area-inset-bottom)) !important;
}
body > :last-child.footer{
  margin-bottom:0 !important;
}
.summary-mini{
  margin:0 !important;
  color:var(--muted) !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  text-align:right;
}
@media (max-width:768px){
  .summary{
    gap:.45rem !important;
  }
  .summary-mini{
    font-size:.8rem !important;
    text-align:left !important;
    width:100%;
  }
  .footer{
    padding-bottom:max(72px, env(safe-area-inset-bottom)) !important;
  }
}



/* ===== Accesibilidad: contraste y áreas táctiles ===== */
:root{
  --muted:#334155;
  --line:#cbd5e1;
  --primary:#234b78;
  --primary-dark:#1b3d63;
}

.btn-light{
  color:#1e3a5f;
  border-color:#bfd3ea;
}

.footer-link,
.legal-link{
  color:#ffffff;
}

@media (max-width:768px){
  .btn,
  .nav a,
  .footer-link,
  .legal-link,
  .news-tile-btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .nav a,
  .footer-link,
  .legal-link{
    padding:10px 12px;
  }

  .footer-social{
    gap:10px;
  }
}


/* ===== Accesibilidad fase 2: contraste y tamaño táctil ===== */

/* Botones de avisos con más contraste */
.news-tile-btn{
  color:#163b63 !important;
  border:2px solid #7ea3c7 !important;
  background:#ffffff !important;
  font-weight:800 !important;
}
.news-tile-btn:hover,
.news-tile-btn:focus{
  color:#0f2e4d !important;
  border-color:#5c89b4 !important;
  background:#f8fbff !important;
}

/* Botón flotante de WhatsApp: tamaño táctil mínimo real */
.whatsapp{
  width:56px !important;
  height:56px !important;
  min-width:56px !important;
  min-height:56px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.whatsapp img,
.whatsapp svg{
  width:26px !important;
  height:26px !important;
}

/* Botones del banner de cookies */
.am-cookie-btn{
  min-height:44px !important;
  min-width:44px !important;
  padding:.7rem 1rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:800 !important;
}
.am-cookie-btn-primary{
  color:#ffffff !important;
}
.am-cookie-btn-secondary{
  color:#ffffff !important;
}

@media (max-width:768px){
  .whatsapp{
    width:56px !important;
    height:56px !important;
    min-width:56px !important;
    min-height:56px !important;
    right:max(12px, env(safe-area-inset-right)) !important;
    bottom:max(12px, env(safe-area-inset-bottom)) !important;
  }
  .am-cookie-actions{
    gap:.75rem !important;
  }
  .am-cookie-btn{
    min-height:46px !important;
  }
}


/* ===== Accesibilidad fase 3: contraste banner cookies ===== */
.am-cookie-btn-primary{
  background:#15803d !important;
  color:#ffffff !important;
  border:2px solid #0f5f2e !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
.am-cookie-btn-primary:hover,
.am-cookie-btn-primary:focus{
  background:#166534 !important;
  color:#ffffff !important;
  border-color:#0b4f24 !important;
}
.am-cookie-btn-secondary{
  background:#334155 !important;
  color:#ffffff !important;
  border:2px solid #1e293b !important;
}


/* ===== Accesibilidad fase 4: contraste final cookies ===== */
.am-cookie-btn-primary,
button.am-cookie-btn.am-cookie-btn-primary,
#amAcceptCookies{
  background:#14532d !important;
  color:#ffffff !important;
  border:2px solid #0a3f22 !important;
  text-shadow:none !important;
  box-shadow:none !important;
}
.am-cookie-btn-primary:hover,
.am-cookie-btn-primary:focus,
button.am-cookie-btn.am-cookie-btn-primary:hover,
button.am-cookie-btn.am-cookie-btn-primary:focus,
#amAcceptCookies:hover,
#amAcceptCookies:focus{
  background:#166534 !important;
  color:#ffffff !important;
  border-color:#08361d !important;
}



/* =========================================================
   ACABADO PREMIUM TOTAL · Remate final conservador
   Mantiene la estética actual y refuerza sistema visual
   ========================================================= */

:root{
  --brand-navy:#143253;
  --brand-blue:#2f5d95;
  --brand-indigo:#2f49c7;
  --brand-sky:#eaf4ff;
  --brand-soft:#f7fbff;
  --brand-orange-soft:#fff1de;
  --brand-orange:#f7c98b;
  --brand-green-soft:#eaf8ef;
  --premium-border:#d8e3ef;
  --premium-border-strong:#c5d7e8;
  --premium-shadow:0 12px 30px rgba(15,23,42,.08);
  --premium-shadow-hover:0 18px 40px rgba(15,23,42,.12);
  --premium-glow:0 0 0 1px rgba(47,93,149,.06), 0 10px 28px rgba(15,23,42,.07);
}

/* Base tipográfica y ritmo */
.premium-layer h1,
.premium-layer h2,
.premium-layer h3{
  color:#10243b;
  text-wrap:balance;
}
.premium-layer p,
.premium-layer li{
  text-wrap:pretty;
}
.premium-layer .lead,
.premium-layer .section-title p,
.premium-layer .notice p,
.premium-layer .panel p,
.premium-layer .faq-answer-inner p{
  color:#53677c !important;
}
.premium-layer .section-title{
  margin-bottom:2.15rem;
}
.premium-layer .section{
  padding:clamp(3.4rem,6vw,4.8rem) 0;
}

/* Header, topbar y nav más de marca */
.premium-layer .topbar{
  background:linear-gradient(90deg,var(--brand-indigo),var(--brand-blue));
  box-shadow:0 6px 18px rgba(47,73,199,.18);
}
.premium-layer .topbar,
.premium-layer .topbar *,
.premium-layer .topbar-inner{
  color:#fff !important;
}
.premium-layer header{
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.premium-layer .navbar{
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.premium-layer .nav{
  gap:1.05rem;
}
.premium-layer .nav a{
  position:relative;
}
.premium-layer .nav a.active::after,
.premium-layer .nav a[aria-current="page"]::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-.52rem;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-indigo),var(--brand-blue));
}

/* Firma visual del logo */
.premium-layer .brand{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
}
.premium-layer .brand::before,
.premium-layer .brand::after{
  content:"";
  display:block;
  width:92px;
  max-width:18vw;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--brand-indigo),var(--brand-blue),#6eb2ff);
  opacity:.88;
}
.premium-layer .brand::before{
  background:linear-gradient(90deg,#6eb2ff,var(--brand-blue),var(--brand-indigo));
}

/* Héroes más coherentes */
.premium-layer .hero{
  position:relative;
  background:
    radial-gradient(circle at top right, rgba(47,93,149,.10), transparent 30%),
    radial-gradient(circle at bottom left, rgba(47,73,199,.06), transparent 26%);
}
.premium-layer .hero-card,
.premium-layer .contacto-hero-card,
.premium-layer .am-index-hero-main{
  border:1px solid var(--premium-border) !important;
  box-shadow:var(--premium-shadow) !important;
}
.premium-layer .hero-card,
.premium-layer .contacto-hero-card{
  position:relative;
  overflow:hidden;
}
.premium-layer .hero-card::after,
.premium-layer .contacto-hero-card::after,
.premium-layer .am-index-hero-main::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
  border-radius:inherit;
}

/* Superficies premium */
.premium-layer .card,
.premium-layer .panel,
.premium-layer .feature,
.premium-layer .family-card,
.premium-layer .info-card,
.premium-layer .schedule-card,
.premium-layer .notice,
.premium-layer .highlight-module,
.premium-layer .review-card,
.premium-layer .faq-item,
.premium-layer .academy-gallery-card,
.premium-layer .ubicaciones-card,
.premium-layer .filters,
.premium-layer .feature-item,
.premium-layer .callout,
.premium-layer .process-card,
.premium-layer .news-card{
  border:1px solid var(--premium-border) !important;
  box-shadow:var(--premium-shadow) !important;
}
.premium-layer .card:hover,
.premium-layer .panel:hover,
.premium-layer .feature:hover,
.premium-layer .family-card:hover,
.premium-layer .info-card:hover,
.premium-layer .schedule-card:hover,
.premium-layer .notice:hover,
.premium-layer .highlight-module:hover,
.premium-layer .review-card:hover,
.premium-layer .faq-item:hover,
.premium-layer .academy-gallery-card:hover,
.premium-layer .ubicaciones-card:hover,
.premium-layer .filters:hover,
.premium-layer .feature-item:hover,
.premium-layer .callout:hover,
.premium-layer .process-card:hover,
.premium-layer .news-card:hover{
  box-shadow:var(--premium-shadow-hover) !important;
}
.premium-layer .callout,
.premium-layer .notice,
.premium-layer .highlight-module{
  background:linear-gradient(180deg,#ffffff 0%, var(--brand-soft) 100%) !important;
}

/* Botones sistema cerrado respetando colores */
.premium-layer .btn,
.premium-layer .btn-primary,
.premium-layer .btn-light,
.premium-layer .btn-whatsapp,
.premium-layer .btn-office,
.premium-layer .back-area-btn,
.premium-layer .family-general-link,
.premium-layer .footer-link,
.premium-layer .legal-link,
.premium-layer .area-chip-link,
.premium-layer .info-chip,
.premium-layer .whatsapp-btn,
.premium-layer .meta a.whatsapp-chip{
  min-height:48px;
  padding:.98rem 1.28rem;
  border-radius:999px !important;
  font-weight:800 !important;
  letter-spacing:.01em;
  line-height:1.2 !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.premium-layer .btn:hover,
.premium-layer .btn-primary:hover,
.premium-layer .btn-light:hover,
.premium-layer .btn-whatsapp:hover,
.premium-layer .btn-office:hover,
.premium-layer .back-area-btn:hover,
.premium-layer .family-general-link:hover,
.premium-layer .footer-link:hover,
.premium-layer .legal-link:hover,
.premium-layer .area-chip-link:hover,
.premium-layer .info-chip:hover,
.premium-layer .whatsapp-btn:hover,
.premium-layer .meta a.whatsapp-chip:hover{
  transform:translateY(-1px);
}
.premium-layer .btn-primary,
.premium-layer .btn-office{
  background:linear-gradient(135deg,var(--brand-indigo),var(--brand-blue)) !important;
  box-shadow:0 14px 32px rgba(47,73,199,.20) !important;
}
.premium-layer .btn-primary:hover,
.premium-layer .btn-office:hover{
  box-shadow:0 18px 36px rgba(47,73,199,.26) !important;
}
.premium-layer .btn-whatsapp,
.premium-layer .whatsapp-btn{
  box-shadow:0 14px 30px rgba(34,197,94,.18) !important;
}
.premium-layer .btn-light,
.premium-layer .back-area-btn,
.premium-layer .family-general-link{
  background:linear-gradient(180deg,#ffffff 0%, #f8fbff 100%) !important;
  border:1.5px solid var(--premium-border-strong) !important;
  color:#21456f !important;
  box-shadow:0 10px 24px rgba(15,23,42,.06), inset 0 1px 0 rgba(255,255,255,.96) !important;
}
.premium-layer .btn-light:hover,
.premium-layer .back-area-btn:hover,
.premium-layer .family-general-link:hover{
  border-color:#9fc0df !important;
  box-shadow:0 14px 30px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.98) !important;
}

/* Chips, badges y etiquetas */
.premium-layer .badge,
.premium-layer .subject-badge,
.premium-layer .group-tag,
.premium-layer .option-badge,
.premium-layer .hours-badge,
.premium-layer .schedule-option .meta span,
.premium-layer .schedule-option .meta a{
  box-shadow:0 6px 16px rgba(15,23,42,.04);
}
.premium-layer .badge{
  background:#fff4e5;
  border-color:#fed7aa;
}
.premium-layer .subject-badge{
  box-shadow:0 8px 18px rgba(47,93,149,.12);
}

/* Listados y cards específicas */
.premium-layer .entry-link{
  border-color:#d8e3ef;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.premium-layer .entry-link:hover{
  border-color:#aac7e2;
  box-shadow:0 14px 28px rgba(15,23,42,.08);
}
.premium-layer .area-chip-link{
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.premium-layer .area-chip-link:hover{
  border-color:#aac7e2;
  box-shadow:0 12px 24px rgba(15,23,42,.08);
}

/* Footer premium */
.premium-layer .footer{
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.10), transparent 24%),
    linear-gradient(180deg,#2f49c7 0%, #244b8d 100%);
}
.premium-layer .footer::before{
  content:"";
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  opacity:.8;
}
.premium-layer .footer-social{
  gap:.8rem;
}

/* Decoración controlada */
.premium-layer .left-soft-orange::before{
  background:linear-gradient(180deg,var(--brand-orange-soft),var(--brand-orange),var(--brand-orange-soft));
}

/* Robustez responsive */
@media (max-width:760px){
  .premium-layer .brand{
    gap:.55rem;
    max-width:100%;
  }
  .premium-layer .brand::before,
  .premium-layer .brand::after{
    width:24px;
    max-width:24px;
    height:4px;
    flex:0 0 24px;
  }
  .premium-layer .logo-img{
    height:46px !important;
    max-width:min(78vw,340px) !important;
  }
  .premium-layer .nav{
    gap:.72rem;
    row-gap:.55rem;
  }
  .premium-layer .hero-actions,
  .premium-layer .error-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.8rem !important;
  }
  .premium-layer .hero-actions .btn,
  .premium-layer .error-actions .btn,
  .premium-layer .btn,
  .premium-layer .btn-primary,
  .premium-layer .btn-light,
  .premium-layer .btn-whatsapp,
  .premium-layer .btn-office,
  .premium-layer .back-area-btn,
  .premium-layer .family-general-link{
    width:100%;
  }
  .premium-layer .hero-card,
  .premium-layer .contacto-hero-card,
  .premium-layer .am-index-hero-main{
    padding:1.15rem !important;
  }
}
@media (max-width:420px){
  .premium-layer .brand::before,
  .premium-layer .brand::after{
    width:16px;
    max-width:16px;
    flex:0 0 16px;
  }
  .premium-layer .logo-img{
    height:40px !important;
    max-width:min(74vw,290px) !important;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .premium-layer *,
  .premium-layer *::before,
  .premium-layer *::after{
    transition:none !important;
    animation:none !important;
    scroll-behavior:auto !important;
  }
}



/* =========================================================
   PREMIUM VISIBLE V2 · Colores de líneas + héroes centrados
   ========================================================= */

:root{
  --line-blue-1:#d9ecff;
  --line-blue-2:#8cc4ff;
  --line-green-1:#e4f8ea;
  --line-green-2:#90ddb0;
  --line-orange-1:#fff1de;
  --line-orange-2:#f7c98b;
}

/* Héroes: etiquetas y títulos centrados */
.premium-layer .hero .eyebrow{
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero h1,
.premium-layer .hero .section-title h1,
.premium-layer .hero .contacto-hero-card h1,
.premium-layer .hero .am-index-hero-main h1{
  text-align:center !important;
}
.premium-layer .hero .lead,
.premium-layer .hero .section-title p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .hero-actions{
  justify-content:center !important;
}

/* Utilidades de líneas de color */
.line-top-blue,
.line-top-green,
.line-top-orange,
.line-left-green,
.line-left-orange{
  position:relative !important;
}
.line-top-blue::before,
.line-top-green::before,
.line-top-orange::before{
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
}
.line-top-blue::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}
.line-top-green::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.line-top-orange::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}

.line-left-green{
  background:
    linear-gradient(180deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) left top / 6px 100% no-repeat,
    #ffffff !important;
}
.line-left-orange{
  background:
    linear-gradient(180deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Index: jugar más con los colores */
.page-index main > .section:nth-of-type(2) > .container > .card{ /* Avisos */
  position:relative;
}
.page-index main > .section:nth-of-type(2) > .container > .card::before{
  content:"" !important; position:absolute; inset:0 auto auto 0; width:100%; height:5px; border-radius:24px 24px 0 0;
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}
.page-index main > .section:nth-of-type(3) > .container > .card::before{ /* Por qué elegir */
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.page-index main > .section.google-reviews > .container > .card::before{ /* Reseñas */
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}
.page-index main > .section:nth-of-type(5) > .container > .card::before{ /* Así de fácil */
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}
.page-index main > .section:nth-of-type(6) > .container > .card::before{ /* Qué encontrarás */
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.page-index main > .section:nth-of-type(8) > .container > .card::before{ /* Asignaturas demandadas */
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}

/* Funcionamiento */
.page-funcionamiento main > .hero .container > .card:first-child::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}
.page-funcionamiento .year-card::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.page-funcionamiento .academy-gallery-card::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}

/* FAQ: hero azul, preguntas naranja */
.page-faq main > .hero .hero-card::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}
.page-faq .faq-wrap > .faq-item::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}

/* Contacto */
.page-contacto .contacto-hero-card::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}
.page-contacto .contacto-grid > .card:nth-child(1)::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.page-contacto .ubicaciones-card::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}

/* Horarios */
.page-horarios .filters:nth-of-type(1)::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}
.page-horarios .filters:nth-of-type(2)::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.page-horarios .career{
  background:
    linear-gradient(180deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) left top / 6px 100% no-repeat,
    #ffffff !important;
}

/* Footer: más separación para aviso legal */
.premium-layer .legal-link-wrap{
  margin-top:.75rem !important;
  padding-top:.55rem;
}
.premium-layer .footer .container > div:first-child{
  margin-bottom:.25rem;
}

@media (max-width:760px){
  .page-horarios .career{
    background:
      linear-gradient(180deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) left top / 5px 100% no-repeat,
      #ffffff !important;
  }
}



/* =========================================================
   VERSIÓN FINAL ESTABLE · líneas visibles + footer + FAQ
   ========================================================= */

:root{
  --line-blue-1:#d9ecff;
  --line-blue-2:#8cc4ff;
  --line-green-1:#e4f8ea;
  --line-green-2:#90ddb0;
  --line-orange-1:#fff1de;
  --line-orange-2:#f7c98b;
}

/* Héroes: etiqueta y título centrados */
.premium-layer .hero .eyebrow{
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero h1,
.premium-layer .hero .lead,
.premium-layer .hero .section-title p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .hero-actions{
  justify-content:center !important;
}

/* Líneas superiores visibles en módulos principales */
.page-index main > .section:nth-of-type(2) > .container > .card,
.page-index main > .section:nth-of-type(3) > .container > .card,
.page-index main > .section.google-reviews > .container > .card,
.page-index main > .section:nth-of-type(5) > .container > .card,
.page-index main > .section:nth-of-type(6) > .container > .card,
.page-index main > .section:nth-of-type(8) > .container > .card,
.page-funcionamiento main > .hero .container > .card:first-child,
.page-funcionamiento .year-card,
.page-funcionamiento .academy-gallery-card,
.page-contacto .contacto-hero-card,
.page-contacto .contacto-grid > .card,
.page-horarios .filters,
.page-faq main > .hero .hero-card,
.page-faq .faq-wrap > .faq-item,
.page-contacto .ubicaciones-card{
  position:relative !important;
}

.page-index main > .section:nth-of-type(2) > .container > .card::before,
.page-index main > .section:nth-of-type(3) > .container > .card::before,
.page-index main > .section.google-reviews > .container > .card::before,
.page-index main > .section:nth-of-type(5) > .container > .card::before,
.page-index main > .section:nth-of-type(6) > .container > .card::before,
.page-index main > .section:nth-of-type(8) > .container > .card::before,
.page-funcionamiento main > .hero .container > .card:first-child::before,
.page-funcionamiento .year-card::before,
.page-funcionamiento .academy-gallery-card::before,
.page-contacto .contacto-hero-card::before,
.page-contacto .contacto-grid > .card::before,
.page-horarios .filters::before,
.page-faq main > .hero .hero-card::before,
.page-faq .faq-wrap > .faq-item::before,
.page-contacto .ubicaciones-card::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
}

/* Colores de líneas visibles */
.page-index main > .section:nth-of-type(2) > .container > .card::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}
.page-index main > .section:nth-of-type(3) > .container > .card::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}
.page-index main > .section.google-reviews > .container > .card::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}
.page-index main > .section:nth-of-type(5) > .container > .card::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}
.page-index main > .section:nth-of-type(6) > .container > .card::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}
.page-index main > .section:nth-of-type(8) > .container > .card::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}

.page-funcionamiento main > .hero .container > .card:first-child::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}
.page-funcionamiento .year-card::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}
.page-funcionamiento .academy-gallery-card::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}

.page-contacto .contacto-hero-card::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}
.page-contacto .contacto-grid > .card:nth-child(1)::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}
/* Ubicaciones: solo azul superior, sin franja lateral */
.page-contacto .ubicaciones-card{
  background:#ffffff !important;
  background-image:none !important;
}
.page-contacto .ubicaciones-card::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}
.page-contacto .ubicaciones-card::after{
  display:none !important;
  content:none !important;
}

.page-horarios .filters:nth-of-type(1)::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}
.page-horarios .filters:nth-of-type(2)::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}

/* Horarios: carreras con línea lateral naranja suave */
.page-horarios .career{
  background:
    linear-gradient(180deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) left top / 6px 100% no-repeat,
    #ffffff !important;
}
.page-horarios .career-right{margin-left:.9rem !important;}
.page-horarios .career .badge{margin-top:.55rem !important;}

/* FAQ: hero azul, preguntas naranja */
.page-faq main > .hero .hero-card::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}
.page-faq .faq-wrap > .faq-item::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}

/* Footer: separación real del aviso legal */
.premium-layer .footer .container > div:last-child{
  margin-top:1rem !important;
  padding-top:.9rem !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
}
.premium-layer .legal-link-wrap{
  margin-top:.95rem !important;
  padding-top:0 !important;
}

/* Móvil */
@media (max-width:760px){
  .page-horarios .career{
    background:
      linear-gradient(180deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) left top / 5px 100% no-repeat,
      #ffffff !important;
  }
}



/* ===== Fix real: centrado de héroes + más variedad visible de líneas ===== */

/* Centrado real de héroes */
.premium-layer .hero .container,
.premium-layer .hero .hero-grid,
.premium-layer .hero .contacto-hero-grid{
  justify-items:center !important;
}
.premium-layer .hero .hero-card,
.premium-layer .hero .contacto-hero-card,
.premium-layer .hero .am-index-hero-main{
  text-align:center !important;
}
.premium-layer .hero .hero-card .eyebrow,
.premium-layer .hero .contacto-hero-card .eyebrow,
.premium-layer .hero .am-index-hero-main .eyebrow{
  display:inline-flex !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .hero-card h1,
.premium-layer .hero .contacto-hero-card h1,
.premium-layer .hero .am-index-hero-main h1{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .hero-card .lead,
.premium-layer .hero .contacto-hero-card .lead,
.premium-layer .hero .am-index-hero-main .lead{
  max-width:62ch;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.premium-layer .hero .hero-actions{
  justify-content:center !important;
}

/* Reparto más claro de colores en páginas que seguían demasiado azules */

/* Áreas / listados */
.premium-layer .areas-hero-card::before,
.premium-layer .admin-hero-card::before,
.premium-layer .legal-hero-card::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  box-shadow:none !important;
  z-index:1 !important;
}
.premium-layer .areas-hero-card::before{background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;}
.premium-layer .admin-hero-card::before{background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;}
.premium-layer .legal-hero-card::before{background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;}

/* Cards internas de áreas y páginas auxiliares */
.premium-layer .areas-grid > .card:nth-child(odd)::before,
.premium-layer .areas-grid > .entry-link:nth-child(odd)::before,
.premium-layer .subject-grid > .card:nth-child(odd)::before,
.premium-layer .subject-grid > .entry-link:nth-child(odd)::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
  z-index:1 !important;
}
.premium-layer .areas-grid > .card:nth-child(even)::before,
.premium-layer .areas-grid > .entry-link:nth-child(even)::before,
.premium-layer .subject-grid > .card:nth-child(even)::before,
.premium-layer .subject-grid > .entry-link:nth-child(even)::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
  z-index:1 !important;
}

/* Asegurar positioning en esas cards */
.premium-layer .areas-grid > .card,
.premium-layer .areas-grid > .entry-link,
.premium-layer .subject-grid > .card,
.premium-layer .subject-grid > .entry-link,
.premium-layer .areas-hero-card,
.premium-layer .admin-hero-card,
.premium-layer .legal-hero-card{
  position:relative !important;
}

/* Si existen contenedores de información rápida/privada, dar variedad */
.premium-layer .admin-grid > .card:nth-child(1)::before,
.premium-layer .tools-grid > .card:nth-child(1)::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
  z-index:1 !important;
}
.premium-layer .admin-grid > .card:nth-child(2)::before,
.premium-layer .tools-grid > .card:nth-child(2)::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
  z-index:1 !important;
}
.premium-layer .admin-grid > .card,
.premium-layer .tools-grid > .card{
  position:relative !important;
}



/* ===== Ajuste final visible: héroes centrados + líneas variadas + footer ===== */

:root{
  --line-blue-1:#d9ecff;
  --line-blue-2:#8cc4ff;
  --line-green-1:#e4f8ea;
  --line-green-2:#90ddb0;
  --line-orange-1:#fff1de;
  --line-orange-2:#f7c98b;
}

/* Centrado fuerte de todos los héroes */
.premium-layer .hero,
.premium-layer .hero-card,
.premium-layer .contacto-hero-card,
.premium-layer .am-index-hero-main,
.premium-layer .areas-hero-card,
.premium-layer .admin-hero-card,
.premium-layer .legal-hero-card{
  text-align:center !important;
}
.premium-layer .hero .eyebrow,
.premium-layer .hero-card .eyebrow,
.premium-layer .contacto-hero-card .eyebrow,
.premium-layer .am-index-hero-main .eyebrow,
.premium-layer .areas-hero-card .eyebrow,
.premium-layer .admin-hero-card .eyebrow,
.premium-layer .legal-hero-card .eyebrow{
  display:inline-flex !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero h1,
.premium-layer .hero-card h1,
.premium-layer .contacto-hero-card h1,
.premium-layer .am-index-hero-main h1,
.premium-layer .areas-hero-card h1,
.premium-layer .admin-hero-card h1,
.premium-layer .legal-hero-card h1{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .lead,
.premium-layer .hero-card .lead,
.premium-layer .contacto-hero-card .lead,
.premium-layer .am-index-hero-main .lead,
.premium-layer .areas-hero-card .lead,
.premium-layer .admin-hero-card .lead,
.premium-layer .legal-hero-card .lead,
.premium-layer .hero p:first-of-type,
.premium-layer .hero-card p:first-of-type,
.premium-layer .contacto-hero-card p:first-of-type,
.premium-layer .am-index-hero-main p:first-of-type{
  max-width:62ch !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.premium-layer .hero .hero-actions,
.premium-layer .hero-card .hero-actions{
  justify-content:center !important;
}

/* Más variedad de líneas en páginas que seguían muy azules */
.premium-layer .areas-hero-card,
.premium-layer .admin-hero-card,
.premium-layer .legal-hero-card,
.premium-layer .areas-grid > .card,
.premium-layer .areas-grid > .entry-link,
.premium-layer .subject-grid > .card,
.premium-layer .subject-grid > .entry-link,
.premium-layer .admin-grid > .card,
.premium-layer .tools-grid > .card{
  position:relative !important;
}

.premium-layer .areas-hero-card::before,
.premium-layer .admin-hero-card::before,
.premium-layer .legal-hero-card::before,
.premium-layer .areas-grid > .card::before,
.premium-layer .areas-grid > .entry-link::before,
.premium-layer .subject-grid > .card::before,
.premium-layer .subject-grid > .entry-link::before,
.premium-layer .admin-grid > .card::before,
.premium-layer .tools-grid > .card::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  z-index:1 !important;
  box-shadow:none !important;
}

.premium-layer .areas-hero-card::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.premium-layer .admin-hero-card::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}
.premium-layer .legal-hero-card::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}

.premium-layer .areas-grid > .card:nth-child(3n+1)::before,
.premium-layer .areas-grid > .entry-link:nth-child(3n+1)::before,
.premium-layer .subject-grid > .card:nth-child(3n+1)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n+1)::before,
.premium-layer .admin-grid > .card:nth-child(3n+1)::before,
.premium-layer .tools-grid > .card:nth-child(3n+1)::before{
  background:linear-gradient(90deg,var(--line-green-1),var(--line-green-2),var(--line-green-1)) !important;
}
.premium-layer .areas-grid > .card:nth-child(3n+2)::before,
.premium-layer .areas-grid > .entry-link:nth-child(3n+2)::before,
.premium-layer .subject-grid > .card:nth-child(3n+2)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n+2)::before,
.premium-layer .admin-grid > .card:nth-child(3n+2)::before,
.premium-layer .tools-grid > .card:nth-child(3n+2)::before{
  background:linear-gradient(90deg,var(--line-orange-1),var(--line-orange-2),var(--line-orange-1)) !important;
}
.premium-layer .areas-grid > .card:nth-child(3n)::before,
.premium-layer .areas-grid > .entry-link:nth-child(3n)::before,
.premium-layer .subject-grid > .card:nth-child(3n)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n)::before,
.premium-layer .admin-grid > .card:nth-child(3n)::before,
.premium-layer .tools-grid > .card:nth-child(3n)::before{
  background:linear-gradient(90deg,var(--line-blue-1),var(--line-blue-2),var(--line-blue-1)) !important;
}

/* Footer: más separación visible del aviso legal */
.premium-layer .footer .container > div:last-child{
  margin-top:1.35rem !important;
  padding-top:1.15rem !important;
  border-top:1px solid rgba(255,255,255,.24) !important;
}
.premium-layer .legal-link-wrap{
  margin-top:1.15rem !important;
  padding-top:.25rem !important;
}
.premium-layer .footer p + .legal-link-wrap,
.premium-layer .footer .footer-copy + .legal-link-wrap{
  margin-top:1.2rem !important;
}
.premium-layer footer a[href*="aviso"]{
  display:inline-block !important;
  margin-top:.9rem !important;
}



/* ===== LCP/hero fino: aligerar primer render sin cambiar el look ===== */
.page-index.premium-layer{
  background:linear-gradient(180deg,#fbfdff 0%, #f4f8fc 100%) !important;
}
.page-index.premium-layer .hero{
  background:none !important;
}
.page-index.premium-layer .am-index-hero-main,
.page-index.premium-layer .hero-card{
  box-shadow:0 10px 20px rgba(15,23,42,.06) !important;
}



/* ===== Centrado real de héroes + separación aviso legal ===== */

/* Contenedores hero comunes y auxiliares */
.premium-layer .hero,
.premium-layer .hero-card,
.premium-layer .contacto-hero-card,
.premium-layer .am-index-hero-main,
.premium-layer .areas-hero-card,
.premium-layer .legal-hero-card,
.premium-layer .access-card,
.premium-layer .admin-hero-card{
  text-align:center !important;
}

.premium-layer .hero .eyebrow,
.premium-layer .hero-card .eyebrow,
.premium-layer .contacto-hero-card .eyebrow,
.premium-layer .am-index-hero-main .eyebrow,
.premium-layer .areas-hero-card .eyebrow,
.premium-layer .legal-hero-card .eyebrow,
.premium-layer .access-card .eyebrow,
.premium-layer .admin-hero-card .eyebrow{
  display:inline-flex !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.premium-layer .hero h1,
.premium-layer .hero-card h1,
.premium-layer .contacto-hero-card h1,
.premium-layer .am-index-hero-main h1,
.premium-layer .areas-hero-card h1,
.premium-layer .legal-hero-card h1,
.premium-layer .access-card h1,
.premium-layer .admin-hero-card h1{
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.premium-layer .hero .lead,
.premium-layer .hero-card .lead,
.premium-layer .contacto-hero-card .lead,
.premium-layer .am-index-hero-main .lead,
.premium-layer .areas-hero-card .lead,
.premium-layer .legal-hero-card .lead,
.premium-layer .access-card .lead,
.premium-layer .admin-hero-card .lead,
.premium-layer .hero p:first-of-type,
.premium-layer .hero-card p:first-of-type,
.premium-layer .contacto-hero-card p:first-of-type,
.premium-layer .am-index-hero-main p:first-of-type,
.premium-layer .areas-hero-card p:first-of-type,
.premium-layer .legal-hero-card p:first-of-type,
.premium-layer .access-card p:first-of-type,
.premium-layer .admin-hero-card p:first-of-type{
  max-width:62ch !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.premium-layer .hero .hero-actions,
.premium-layer .hero-card .hero-actions,
.premium-layer .access-card .hero-actions,
.premium-layer .admin-hero-card .hero-actions{
  justify-content:center !important;
}

/* Footer: más separación real para Aviso legal / Área privada */
.premium-layer .footer .container > div:last-child{
  margin-top:1.35rem !important;
  padding-top:1.15rem !important;
  border-top:1px solid rgba(255,255,255,.24) !important;
}
.premium-layer .legal-link-wrap{
  margin-top:1.15rem !important;
  padding-top:.25rem !important;
}
.premium-layer .footer p + .legal-link-wrap{
  margin-top:1.2rem !important;
}
.premium-layer footer a[href*="aviso"],
.premium-layer footer a[href*="acceso-usuarios"]{
  display:inline-block !important;
  margin-top:.9rem !important;
}

/* Carreras: alternancia de líneas para que no se vea todo azul */
.premium-layer .subject-grid > .card,
.premium-layer .subject-grid > .entry-link,
.premium-layer .career-grid > .card,
.premium-layer .career-grid > .entry-link{
  position:relative !important;
}
.premium-layer .subject-grid > .card::before,
.premium-layer .subject-grid > .entry-link::before,
.premium-layer .career-grid > .card::before,
.premium-layer .career-grid > .entry-link::before{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 auto auto 0 !important;
  width:100% !important;
  height:5px !important;
  border-radius:24px 24px 0 0 !important;
  z-index:1 !important;
  box-shadow:none !important;
}
.premium-layer .subject-grid > .card:nth-child(3n+1)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n+1)::before,
.premium-layer .career-grid > .card:nth-child(3n+1)::before,
.premium-layer .career-grid > .entry-link:nth-child(3n+1)::before{
  background:linear-gradient(90deg,#e4f8ea,#90ddb0,#e4f8ea) !important;
}
.premium-layer .subject-grid > .card:nth-child(3n+2)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n+2)::before,
.premium-layer .career-grid > .card:nth-child(3n+2)::before,
.premium-layer .career-grid > .entry-link:nth-child(3n+2)::before{
  background:linear-gradient(90deg,#fff1de,#f7c98b,#fff1de) !important;
}
.premium-layer .subject-grid > .card:nth-child(3n)::before,
.premium-layer .subject-grid > .entry-link:nth-child(3n)::before,
.premium-layer .career-grid > .card:nth-child(3n)::before,
.premium-layer .career-grid > .entry-link:nth-child(3n)::before{
  background:linear-gradient(90deg,#d9ecff,#8cc4ff,#d9ecff) !important;
}


.logo-picture{display:inline-flex;align-items:center;justify-content:center}
.logo-picture img{display:block}


/* Fix nav mobile/tablet: 2 columns, last odd item full width */
@media (max-width: 820px){
  .nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    width:100% !important;
    column-gap:1rem !important;
    row-gap:.9rem !important;
    justify-content:stretch !important;
    align-items:stretch !important;
  }
  .nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-width:0 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .nav a:last-child:nth-child(odd){
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
  }
}
@media (max-width: 380px){
  .nav{
    grid-template-columns:1fr !important;
  }
  .nav a:last-child:nth-child(odd){
    grid-column:auto !important;
  }
}


/* Mobile/tablet nav cards */
@media (max-width: 820px){
  .nav a{
    padding: 1rem 1.1rem !important;
    min-height: 72px !important;
    border: 1px solid var(--line) !important;
    border-radius: 24px !important;
    background: #f8fafc !important;
    box-shadow: 0 1px 0 rgba(15,23,42,.02) !important;
    text-decoration: none !important;
  }
  .nav a:hover,
  .nav a.active,
  .nav a[aria-current="page"]{
    background: #f8fafc !important;
  }
}


/* Nav tags also when still on one line */
@media (max-width: 1100px){
  .nav{
    gap: .9rem !important;
  }
  .nav a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .95rem 1.15rem !important;
    min-height: 60px !important;
    border: 1px solid var(--line) !important;
    border-radius: 24px !important;
    background: #f8fafc !important;
    box-shadow: 0 1px 0 rgba(15,23,42,.02) !important;
    text-decoration: none !important;
  }
  .nav a:hover,
  .nav a.active,
  .nav a[aria-current="page"]{
    background: #f8fafc !important;
  }
}


/* Keep nav tag styling at browser zoom around 60% / wider visual viewport */
@media (max-width: 1280px){
  .nav{
    gap:.85rem !important;
  }
  .nav a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:.9rem 1.1rem !important;
    min-height:58px !important;
    border:1px solid var(--line) !important;
    border-radius:24px !important;
    background:#f8fafc !important;
    box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
    text-decoration:none !important;
  }
  .nav a:hover,
  .nav a.active,
  .nav a[aria-current="page"]{
    background:#f8fafc !important;
  }
}


/* Nav tags always visible, independent of browser zoom */
.nav{
  gap:.9rem !important;
}
.nav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:.9rem 1.1rem !important;
  min-height:58px !important;
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  background:#f8fafc !important;
  box-shadow:0 1px 0 rgba(15,23,42,.02) !important;
  text-decoration:none !important;
}
.nav a:hover,
.nav a.active,
.nav a[aria-current="page"]{
  background:#f8fafc !important;
}


/* Fix stat cards and chips text wrapping at narrow effective widths / browser zoom */
.hero-proof,
.hero-stats,
.stats,
.metrics{
  align-items:stretch !important;
}

.hero-proof .proof-item,
.hero-stats .proof-item,
.stats .stat,
.metrics .stat,
.hero-proof > div,
.hero-stats > div{
  min-width:0 !important;
}

.hero-proof .proof-item strong,
.hero-stats .proof-item strong,
.stats .stat strong,
.metrics .stat strong,
.hero-proof .proof-item span,
.hero-stats .proof-item span,
.stats .stat span,
.metrics .stat span,
.hero-proof .proof-item p,
.hero-stats .proof-item p,
.stats .stat p,
.metrics .stat p{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  hyphens:auto !important;
  max-width:100% !important;
}

@media (max-width: 900px){
  .hero-proof,
  .hero-stats,
  .stats,
  .metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width: 560px){
  .hero-proof,
  .hero-stats,
  .stats,
  .metrics{
    grid-template-columns:1fr !important;
  }
}


/* Compact nav for very large zoom / very narrow effective widths */
@media (max-width: 560px){
  .nav{
    grid-template-columns: 1fr !important;
    row-gap: .7rem !important;
  }

  .nav a{
    font-size: .94rem !important;
    line-height: 1.2 !important;
    padding: .78rem .95rem !important;
    min-height: 54px !important;
    border-radius: 20px !important;
  }
}


/* Make nav tags shorter at very high zoom / very narrow widths */
@media (max-width: 560px){
  .nav a{
    padding: .56rem .85rem !important;
    min-height: 44px !important;
    border-radius: 16px !important;
    line-height: 1.1 !important;
  }
}


/* Stronger compact nav for high zoom / narrow effective width */
@media (max-width: 700px){
  .nav{
    grid-template-columns: 1fr !important;
    row-gap: .45rem !important;
    column-gap: .45rem !important;
  }

  .nav a{
    font-size: .82rem !important;
    line-height: 1 !important;
    padding: .34rem .72rem !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 14px !important;
  }
}


/* Stack nav at 100% on small screens, not only at extreme zoom */
@media (max-width: 820px){
  .nav{
    grid-template-columns: 1fr !important;
    row-gap: .6rem !important;
    column-gap: .6rem !important;
  }

  .nav a{
    width: 100% !important;
  }

  .nav a:last-child:nth-child(odd){
    grid-column: auto !important;
    justify-self: stretch !important;
  }
}


/* Small screens at 100%: keep 2 columns with tags.
   Only collapse to 1 column at very narrow effective widths / high zoom. */
@media (max-width: 820px){
  .nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    row-gap:.6rem !important;
    column-gap:.6rem !important;
  }

  .nav a{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:.92rem !important;
    line-height:1.1 !important;
    padding:.52rem .8rem !important;
    min-height:46px !important;
    height:auto !important;
    border-radius:16px !important;
  }

  .nav a:last-child:nth-child(odd){
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
  }
}

@media (max-width: 560px){
  .nav{
    grid-template-columns:1fr !important;
    row-gap:.45rem !important;
  }

  .nav a{
    font-size:.82rem !important;
    line-height:1 !important;
    padding:.34rem .72rem !important;
    min-height:0 !important;
    border-radius:14px !important;
  }

  .nav a:last-child:nth-child(odd){
    grid-column:auto !important;
  }
}


/* Normal mobile at 100%: keep 2 columns.
   Only switch to 1 column on much narrower effective widths. */
@media (max-width: 820px){
  .nav{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    row-gap:.55rem !important;
    column-gap:.55rem !important;
  }

  .nav a{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:.88rem !important;
    line-height:1.05 !important;
    padding:.42rem .68rem !important;
    min-height:40px !important;
    height:auto !important;
    border-radius:14px !important;
  }

  .nav a:last-child:nth-child(odd){
    grid-column:1 / -1 !important;
    justify-self:stretch !important;
  }
}

@media (max-width: 430px){
  .nav{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .nav a{
    font-size:.82rem !important;
    padding:.34rem .55rem !important;
    min-height:36px !important;
    border-radius:12px !important;
  }
}

@media (max-width: 340px){
  .nav{
    grid-template-columns:1fr !important;
    row-gap:.42rem !important;
  }

  .nav a{
    font-size:.78rem !important;
    padding:.3rem .5rem !important;
    min-height:32px !important;
    border-radius:10px !important;
  }

  .nav a:last-child:nth-child(odd){
    grid-column:auto !important;
  }
}


/* Unify footer across site using the footer style from area-quimica-biociencias-oviedo */
.footer{
  background:#2f49c7 !important;
  color:#fff !important;
  margin-top:2rem !important;
  padding:2rem 0 2.15rem !important;
  text-align:center !important;
}
.footer .container{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:.75rem !important;
  text-align:center !important;
}
.footer p{
  color:rgba(255,255,255,.94) !important;
  margin:0 !important;
}
.footer > .container > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  gap:.35rem !important;
  align-items:center !important;
}
.footer-social{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  gap:.7rem !important;
  margin-top:0 !important;
}
.footer-link,
.legal-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:.62rem .95rem !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
.footer-link:hover,
.legal-link:hover{
  background:rgba(255,255,255,.16) !important;
}
.legal-link-wrap{
  margin-top:.15rem !important;
}
@media (max-width:760px){
  .footer{
    padding:1.85rem 0 2rem !important;
  }
  .footer .container{
    gap:.65rem !important;
  }
}


/* Force the footer to match the Química/Biociencias version exactly */
.footer{
  border-top: none !important;
  background: #334bcf !important;
  background-image: none !important;
  box-shadow: none !important;
}
.footer::before,
.footer::after{
  display: none !important;
  content: none !important;
}
.footer .container{
  gap: .7rem !important;
}
.footer p{
  margin: 0 !important;
}
.footer > .container > div:last-child{
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.footer > .container > div:last-child p:first-child{
  border-top: none !important;
  padding-top: 0 !important;
  margin-top: .15rem !important;
}
.legal-link-wrap{
  margin-top: .25rem !important;
}


/* Restore footer version with separator line and roomier spacing */
.footer{
  padding:2rem 0 2.15rem !important;
  margin-top:2rem !important;
}
.footer .container{
  gap:1rem !important;
}
.footer-social{
  margin-top:.95rem !important;
  margin-bottom:.2rem !important;
  gap:.8rem !important;
}
.footer p{
  margin:.32rem 0 !important;
}
.footer > .container > div:last-child{
  width:min(620px,100%) !important;
  margin-top:.55rem !important;
  padding-top:1.05rem !important;
  border-top:1px solid rgba(255,255,255,.18) !important;
}
.legal-link-wrap{
  margin-top:.75rem !important;
}
@media (max-width:760px){
  .footer{
    padding:2rem 0 2.15rem !important;
    margin-top:1.6rem !important;
  }
  .footer .container{
    gap:.95rem !important;
  }
  .footer > .container > div:last-child{
    margin-top:.5rem !important;
    padding-top:1rem !important;
  }
  .legal-link-wrap{
    margin-top:.7rem !important;
  }
}


/* Highlight current page in nav without changing sizing/positioning */
.nav a.active,
.nav a[aria-current="page"]{
  color:#1f4f86 !important;
  background:rgba(47,93,149,.10) !important;
  border-color:rgba(47,93,149,.22) !important;
  box-shadow:inset 0 0 0 1px rgba(47,93,149,.10) !important;
}

.nav a.active:hover,
.nav a[aria-current="page"]:hover{
  background:rgba(47,93,149,.12) !important;
}

/* Centrado uniforme de títulos y subtítulos en bloques hero */
.hero h1,
.hero h2,
.hero h3,
.hero .hero-title,
.hero-card h1,
.hero-card h2,
.hero-card h3,
.hero-card .hero-title,
.contacto-hero-card h1,
.contacto-hero-card h2,
.contacto-hero-card h3,
.am-index-hero-main h1,
.am-index-hero-main h2,
.am-index-hero-main h3,
.access-card h1,
.access-card h2,
.access-card h3{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* === Fix fino de líneas decorativas: mantenerlas pegadas al módulo === */
.card,
.panel,
.notice,
.review-card,
.faq-item,
.academy-gallery-card,
.ubicaciones-card,
.contacto-hero-card,
.year-card,
.filters,
.access-card,
.access-panel,
.control-panel,
.help-panel{
  overflow:hidden;
}
.card::before,
.panel::before,
.notice::before,
.review-card::before,
.faq-item::before,
.academy-gallery-card::before,
.ubicaciones-card::before,
.contacto-hero-card::before,
.year-card::before,
.filters::before,
.module-line-blue::before,
.module-line-green::before,
.module-line-orange::before,
.line-top-blue::before,
.line-top-green::before,
.line-top-orange::before,
.access-panel::before{
  left:0 !important;
  right:0 !important;
  top:0 !important;
  width:auto !important;
  transform:none !important;
}

/* Ajuste de las líneas decorativas junto al logo para que no queden sueltas */
.premium-layer header .brand,
.premium-layer header .container.brand{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.premium-layer header .brand::before,
.premium-layer header .brand::after,
.premium-layer header .container.brand::before,
.premium-layer header .container.brand::after{
  position:relative !important;
  inset:auto !important;
  top:0 !important;
  flex:0 0 clamp(48px, 8vw, 92px) !important;
  width:clamp(48px, 8vw, 92px) !important;
  margin:0 14px !important;
  transform:none !important;
}
@media (max-width: 760px){
  .premium-layer header .brand::before,
  .premium-layer header .brand::after,
  .premium-layer header .container.brand::before,
  .premium-layer header .container.brand::after{
    margin:0 10px !important;
  }
}

/* hover fix escritorio: evita texto borroso en botones */
@media (hover:hover) and (pointer:fine){
  .btn, button, .subject-toggle, .career .toggle{backface-visibility:hidden;-webkit-font-smoothing:antialiased;}
  .btn:hover, button:hover{transform:none !important;filter:none !important;}
}


/* REMATE FINAL ACCESIBILIDAD */
:where(a,button,input,select,textarea,.btn,.badge-btn,.back-area-btn):focus-visible{
  outline:3px solid rgba(47,93,149,.22);
  outline-offset:3px;
  box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px rgba(47,93,149,.18);
}
:where(.btn,.badge-btn,.back-area-btn){
  -webkit-font-smoothing:antialiased;
  backface-visibility:hidden;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* ===== Pasada final de botonería global: CTA principales con lenguaje visual unificado ===== */
:root{
  --cta-shadow-blue:0 16px 34px rgba(47,73,199,.20);
  --cta-shadow-green:0 16px 34px rgba(37,211,102,.22);
  --cta-shadow-light:0 14px 30px rgba(15,23,42,.10);
}

.hero-actions .btn,
.hero-actions a.btn,
.hero-actions button.btn,
.contacto-hero-card .hero-actions .btn,
.am-index-hero-main .hero-actions .btn,
.contacto-value-strip + .hero-actions .btn{
  position:relative;
  isolation:isolate;
  min-height:58px;
  padding:1rem 1.45rem;
  border-width:1px;
  border-style:solid;
  overflow:hidden;
  letter-spacing:.01em;
}

.hero-actions .btn::before,
.hero-actions a.btn::before,
.hero-actions button.btn::before{
  content:"";
  position:absolute;
  left:1rem;
  top:50%;
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid currentColor;
  opacity:.18;
  transform:translateY(-50%);
  pointer-events:none;
}

.hero-actions .btn::after,
.hero-actions a.btn::after,
.hero-actions button.btn::after{
  content:"";
  position:absolute;
  left:1.95rem;
  top:50%;
  width:12px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  opacity:.18;
  transform:translateY(-50%);
  pointer-events:none;
}

.hero-actions .btn{
  padding-left:3.05rem;
}

.hero-actions .btn-primary,
.hero-actions a.btn-primary,
.hero-actions button.btn-primary{
  background:#2F49C7 !important;
  border-color:#2F49C7 !important;
  color:#fff !important;
  box-shadow:var(--cta-shadow-blue) !important;
}
.hero-actions .btn-primary:hover,
.hero-actions a.btn-primary:hover,
.hero-actions button.btn-primary:hover{
  background:#2a43ba !important;
  border-color:#2a43ba !important;
}

.hero-actions .btn-whatsapp,
.hero-actions a.btn-whatsapp,
.hero-actions button.btn-whatsapp{
  background:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
  box-shadow:var(--cta-shadow-green) !important;
}
.hero-actions .btn-whatsapp:hover,
.hero-actions a.btn-whatsapp:hover,
.hero-actions button.btn-whatsapp:hover{
  background:#1fb95b !important;
  border-color:#1fb95b !important;
}

.hero-actions .btn-light,
.hero-actions a.btn-light,
.hero-actions button.btn-light,
.hero-actions .btn-office,
.hero-actions a.btn-office,
.hero-actions button.btn-office{
  background:#fff !important;
  border-color:#d8e5f5 !important;
  color:#163154 !important;
  box-shadow:var(--cta-shadow-light) !important;
}
.hero-actions .btn-light:hover,
.hero-actions a.btn-light:hover,
.hero-actions button.btn-light:hover,
.hero-actions .btn-office:hover,
.hero-actions a.btn-office:hover,
.hero-actions button.btn-office:hover{
  background:#f8fbff !important;
  border-color:#cddff2 !important;
}

.hero-actions .btn span,
.hero-actions a.btn span,
.hero-actions button.btn span{
  position:relative;
  z-index:1;
}

@media (max-width:760px){
  .hero-actions .btn,
  .hero-actions a.btn,
  .hero-actions button.btn{
    min-height:56px;
    padding-left:2.95rem;
  }
  .hero-actions .btn::before,
  .hero-actions a.btn::before,
  .hero-actions button.btn::before{
    left:.95rem;
  }
  .hero-actions .btn::after,
  .hero-actions a.btn::after,
  .hero-actions button.btn::after{
    left:1.85rem;
  }
}


/* === Última pasada fina: uniformidad visual y respiración === */
.page-index .am-index-hero-main .premium-mini-note,
.page-contacto .premium-mini-note,
.page-carreras .premium-mini-note,
.page-funcionamiento .premium-mini-note{
  max-width:58ch;
  color:#5c708f;
  line-height:1.55;
}


.page-index .am-index-hero-main .hero-assistant-note,
.page-contacto .premium-mini-note.helper-assistant-note{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

.page-index .am-index-hero-main .hero-proof{
  margin-top:1.2rem;
}

.page-index .am-index-hero-main .hero-actions,
.page-contacto .contacto-hero-card .hero-actions,
.page-carreras .hero-card .hero-actions{
  margin-bottom:.1rem;
}

.page-contacto .contacto-value-strip{
  margin-top:1.05rem;
  margin-bottom:1.05rem;
}

.page-contacto .contacto-value-strip + .hero-actions{
  margin-top:1rem;
}

.page-carreras .hero-card .lead{
  max-width:68ch;
  margin-left:auto;
  margin-right:auto;
}

.page-carreras .carreras-hero-pills{
  margin-top:1rem;
  margin-bottom:1.05rem;
}

.page-carreras .carreras-helper-wrap{
  padding-top:2.4rem;
}

.page-carreras .carreras-helper-card{
  padding:1.9rem 2rem;
  align-items:center;
}

.page-carreras .carreras-helper-card h2{
  margin-bottom:.55rem;
}

.page-carreras .carreras-helper-card p{
  max-width:58ch;
}

.page-carreras .carreras-helper-side{
  gap:.85rem;
}

.page-carreras .carreras-bottom-cta{
  padding:1.95rem 2rem;
}

.page-funcionamiento .hero-grid{
  align-items:stretch;
}

.page-funcionamiento .hero-grid > .premium-mini-note{
  grid-column:1 / -1;
  margin-top:.35rem;
}

.page-funcionamiento .year-card p{
  max-width:34ch;
}

@media (max-width:860px){
  .page-carreras .carreras-helper-wrap{
    padding-top:1.9rem;
  }
  .page-carreras .carreras-helper-card,
  .page-carreras .carreras-bottom-cta{
    padding:1.55rem;
  }
  .page-funcionamiento .hero-grid > .premium-mini-note{
    margin-top:.1rem;
  }
}

/* ===== Recuperar adorno curvo de conjunto en grupos de CTA principales ===== */
.page-index .am-index-hero-main .hero-actions-main,
.page-contacto .contacto-hero-card .hero-actions,
.page-carreras .hero-card .hero-actions,
.page-carreras .carreras-bottom-side{
  position:relative;
}

/* Quitar el adorno interno por botón en los bloques principales donde quedaba raro */
.page-index .am-index-hero-main .hero-actions .btn::before,
.page-index .am-index-hero-main .hero-actions .btn::after,
.page-contacto .contacto-hero-card .hero-actions .btn::before,
.page-contacto .contacto-hero-card .hero-actions .btn::after,
.page-carreras .hero-card .hero-actions .btn::before,
.page-carreras .hero-card .hero-actions .btn::after,
.page-carreras .carreras-bottom-side .btn::before,
.page-carreras .carreras-bottom-side .btn::after{
  display:none !important;
}

.page-index .am-index-hero-main .hero-actions .btn,
.page-contacto .contacto-hero-card .hero-actions .btn,
.page-carreras .hero-card .hero-actions .btn,
.page-carreras .carreras-bottom-side .btn{
  padding-left:1.45rem !important;
}

/* Trazo continuo a la derecha del conjunto, con curva tipo semicircunferencia */
.page-index .am-index-hero-main .hero-actions-main::after,
.page-contacto .contacto-hero-card .hero-actions::after,
.page-carreras .hero-card .hero-actions::after,
.page-carreras .carreras-bottom-side::after{
  content:"";
  position:absolute;
  right:16px;
  top:8px;
  bottom:8px;
  width:34px;
  border-right:3px solid rgba(255,255,255,.45);
  border-top-right-radius:28px;
  border-bottom-right-radius:28px;
  pointer-events:none;
  z-index:3;
}

/* En grupos con botones blancos, mantener una línea visible y elegante */
.page-contacto .contacto-hero-card .hero-actions::before,
.page-carreras .carreras-bottom-side::before{
  content:"";
  position:absolute;
  right:16px;
  top:8px;
  bottom:8px;
  width:34px;
  border-right:3px solid rgba(22,49,84,.18);
  border-top-right-radius:28px;
  border-bottom-right-radius:28px;
  pointer-events:none;
  z-index:2;
}

@media (max-width:760px){
  .page-index .am-index-hero-main .hero-actions-main::after,
  .page-contacto .contacto-hero-card .hero-actions::after,
  .page-carreras .hero-card .hero-actions::after,
  .page-carreras .carreras-bottom-side::after,
  .page-contacto .contacto-hero-card .hero-actions::before,
  .page-carreras .carreras-bottom-side::before{
    right:12px;
    width:28px;
    top:7px;
    bottom:7px;
    border-right-width:2px;
  }
}


/* ===== Corrección real: adorno de grupo vertical en CTA apilados ===== */
.page-index .am-index-hero-main .hero-actions,
.page-contacto .contacto-value-strip + .hero-actions,
.page-carreras .hero-card > .hero-actions,
.page-carreras .hero-card .hero-actions{
  position:relative;
}

.page-index .am-index-hero-main .hero-actions .btn::before,
.page-index .am-index-hero-main .hero-actions .btn::after,
.page-contacto .contacto-value-strip + .hero-actions .btn::before,
.page-contacto .contacto-value-strip + .hero-actions .btn::after,
.page-carreras .hero-card .hero-actions .btn::before,
.page-carreras .hero-card .hero-actions .btn::after{
  content:none !important;
}

.page-index .am-index-hero-main .hero-actions .btn,
.page-contacto .contacto-value-strip + .hero-actions .btn,
.page-carreras .hero-card .hero-actions .btn{
  padding-left:1.45rem !important;
}

.page-index .am-index-hero-main .hero-actions::after,
.page-contacto .contacto-value-strip + .hero-actions::after,
.page-carreras .hero-card .hero-actions::after{
  content:"";
  position:absolute;
  right:14px;
  top:12px;
  bottom:12px;
  width:34px;
  border:3px solid rgba(218,228,243,.78);
  border-left:0;
  border-radius:0 999px 999px 0;
  pointer-events:none;
  z-index:2;
}

.page-index .am-index-hero-main .hero-actions::before,
.page-contacto .contacto-value-strip + .hero-actions::before,
.page-carreras .hero-card .hero-actions::before{
  content:"";
  position:absolute;
  right:26px;
  top:18px;
  bottom:18px;
  width:2px;
  background:rgba(218,228,243,.78);
  border-radius:999px;
  pointer-events:none;
  z-index:2;
}

@media (max-width:760px){
  .page-index .am-index-hero-main .hero-actions::after,
  .page-contacto .contacto-value-strip + .hero-actions::after,
  .page-carreras .hero-card .hero-actions::after{
    right:10px;
    width:30px;
    top:10px;
    bottom:10px;
    border-width:2.5px;
  }
  .page-index .am-index-hero-main .hero-actions::before,
  .page-contacto .contacto-value-strip + .hero-actions::before,
  .page-carreras .hero-card .hero-actions::before{
    right:20px;
    top:16px;
    bottom:16px;
  }
}

/* ===== Ajuste final: mantener chincheta izquierda y recuperar adorno de bloque superior ===== */
/* Desactivar el adorno curvo de grupo que no estaba dando el efecto buscado */
.page-index .am-index-hero-main .hero-actions-main::after,
.page-index .am-index-hero-main .hero-actions-main::before,
.page-index .am-index-hero-main .hero-actions::after,
.page-index .am-index-hero-main .hero-actions::before,
.page-contacto .contacto-hero-card .hero-actions::after,
.page-contacto .contacto-hero-card .hero-actions::before,
.page-contacto .contacto-value-strip + .hero-actions::after,
.page-contacto .contacto-value-strip + .hero-actions::before,
.page-carreras .hero-card .hero-actions::after,
.page-carreras .hero-card .hero-actions::before,
.page-carreras .carreras-bottom-side::after,
.page-carreras .carreras-bottom-side::before{
  content:none !important;
}

/* El detalle visual vuelve al bloque/contenedor, no dentro del grupo de botones */
.page-index .am-index-hero-main::before,
.page-contacto .contacto-hero-card::before,
.page-carreras .hero-card.module-line-combo::before,
.page-carreras .section-card.module-line-combo::before{
  display:block !important;
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  border-radius:24px 24px 0 0;
  background:linear-gradient(90deg,var(--module-line-blue-1),var(--module-line-blue-2),var(--module-line-blue-1));
}


/* v20260405 mobile-safe polish */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
.card,.callout,.cta-box,.hero-card,.news-card,.feature-item,.proof-item{overflow:hidden}
@media (max-width:760px){
  .container{width:min(var(--max),calc(100% - 1rem))}
  .section{padding:3rem 0}
  .card,.callout,.cta-box{border-radius:18px}
  .btn{min-height:48px}
}
@media (max-width:560px){
  html{-webkit-text-size-adjust:100%}
  .topbar-inner{padding:.6rem .25rem;font-size:.92rem;line-height:1.35}
  header{padding:10px 0}
  .brand img,.logo-img{height:42px;max-width:min(76vw,300px)}
  .nav{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));justify-content:center;column-gap:.9rem;row-gap:.5rem;padding:.7rem 0 .8rem}
  .nav a{font-size:.94rem;line-height:1.25;text-align:center}
  .nav a:last-child{grid-column:1 / -1;justify-self:center}
  .hero{padding:2.5rem 0 1.8rem}
  .hero h1{max-width:none}
  .hero-actions{gap:.7rem}
  .hero-actions .btn{width:100%}
  .hero-proof{gap:.7rem}
  .proof-item{padding:.85rem .9rem;text-align:left}
}


/* v20260405 final accessibility and mobile polish */
body.am-cookie-banner-visible .am-chat-widget:not(.am-chat-widget-inline),
body.am-cookie-banner-visible .am-assistant-inline-float{bottom:110px !important;}
body.am-cookie-banner-visible .am-whatsapp-float{bottom:118px !important;}
@media (max-width:820px){
  body.am-cookie-banner-visible .am-chat-widget:not(.am-chat-widget-inline),
  body.am-cookie-banner-visible .am-assistant-inline-float{bottom:112px !important;}
  body.am-cookie-banner-visible .am-whatsapp-float{bottom:120px !important;}
}
@media (max-width:560px){
  body.am-cookie-banner-visible .am-chat-widget:not(.am-chat-widget-inline),
  body.am-cookie-banner-visible .am-assistant-inline-float{bottom:118px !important;}
  body.am-cookie-banner-visible .am-whatsapp-float{bottom:124px !important;}
}
.am-chat-widget:not(.am-chat-widget-inline) .am-chat-toggle{min-width:60px !important;min-height:60px !important;}
.am-chat-widget:not(.am-chat-widget-inline) .am-chat-toggle:focus-visible,
.am-whatsapp-float:focus-visible{outline:3px solid rgba(21,82,45,.35) !important;outline-offset:3px !important;}
.btn.btn-whatsapp,
a.btn.btn-whatsapp,
button.btn.btn-whatsapp{
  background:#15803d !important;
  color:#ffffff !important;
  border:2px solid #0f5f2e !important;
  text-shadow:none !important;
  box-shadow:none !important;
  min-height:48px !important;
}
.btn.btn-whatsapp:hover,
a.btn.btn-whatsapp:hover,
button.btn.btn-whatsapp:hover,
.btn.btn-whatsapp:focus-visible,
a.btn.btn-whatsapp:focus-visible,
button.btn.btn-whatsapp:focus-visible{
  background:#166534 !important;
  color:#ffffff !important;
  border-color:#0b4f24 !important;
}
.am-cookie-actions{gap:.85rem !important;flex-wrap:wrap !important;}
.am-cookie-btn,
button.am-cookie-btn,
#amRejectCookies,
#amAcceptCookies{
  min-width:48px !important;
  min-height:48px !important;
  padding:.82rem 1.1rem !important;
  border-radius:12px !important;
  font-size:15px !important;
  line-height:1.2 !important;
}
#amRejectCookies{background:#334155 !important;color:#fff !important;border:2px solid #1e293b !important;}
#amRejectCookies:hover,#amRejectCookies:focus-visible{background:#1e293b !important;color:#fff !important;}


/* 2026-04 premium polish */
html.am-chat-open,
body.am-chat-open{
  overflow:hidden !important;
  overscroll-behavior:none !important;
}
body.am-chat-open{
  touch-action:none;
}
body.am-chat-open .am-chat-panel,
body.am-chat-open .am-chat-panel *,
body.am-chat-open .am-chat-toggle,
body.am-chat-open .am-chat-close{
  touch-action:auto;
}
:root{
  --am-premium-radius-card:22px;
  --am-premium-radius-hero:28px;
  --am-premium-shadow-soft:0 10px 24px rgba(15,23,42,.055);
  --am-premium-shadow-card:0 14px 32px rgba(15,23,42,.07);
  --am-premium-shadow-hero:0 18px 42px rgba(15,23,42,.09);
}
:where(.card, .panel, .notice, .review-card, .faq-item, .family-card, .info-card, .schedule-card, .proof-item, .filters, .academy-gallery-card, .ubicaciones-card, .contacto-hero-card, .year-card, .cta-box, .results .result-card, .results .schedule-card){
  border-radius:var(--am-premium-radius-card) !important;
  box-shadow:var(--am-premium-shadow-soft) !important;
}
:where(.hero-card){
  border-radius:var(--am-premium-radius-hero) !important;
  box-shadow:var(--am-premium-shadow-hero) !important;
}
:where(.btn, .hero-actions .btn, .hero-actions-main .btn, .hero-actions-main .btn-office, .am-cookie-btn){
  min-height:50px;
}
:where(.grid-2, .grid-3, .grid-4, .hero-grid, .hero-proof, .subject-grid, .areas-links-grid, .schedule-grid-2, .info-grid-3, .split, .footer-social, .contacto-grid){
  gap:clamp(1rem, 1.8vw, 1.35rem) !important;
}
:where(.section-title){
  margin-bottom:clamp(1rem, 1.8vw, 1.3rem) !important;
}
:where(.section-title p, .panel p, .lead, .notice p, .highlight-module p, .review-card p, .faq-item p){
  max-width:68ch;
}
:where(.hero-card, .card, .panel, .notice, .review-card, .faq-item, .family-card, .info-card, .schedule-card, .proof-item, .filters, .btn){
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
:where(.btn, .am-cookie-btn, .am-chat-toggle, .am-whatsapp-float){
  min-height:48px;
}
:where(a, button, summary, input, textarea, select){
  -webkit-tap-highlight-color: rgba(47,93,149,.12);
}
@media (min-width: 1024px){
  :where(.container){
    width:min(100% - 2rem, 1180px);
  }
}

/* Ajustes finales de consistencia y móvil */
[id]{scroll-margin-top:92px}
@media (max-width: 767px){
  input,select,textarea{font-size:16px !important}
  .btn,.btn-primary,.btn-light,.btn-whatsapp,.btn-office{min-height:48px}
}
@media (max-width: 560px){
  .hero h1,.section-title h2,.news-tile-title{overflow-wrap:anywhere}
}


/* Pulido fino seguro: reduce trabajo en móvil sin cambiar apariencia */
@media (hover:none), (pointer:coarse){
  .btn,
  .btn-primary,
  .btn-light,
  .btn-whatsapp,
  .news-tile,
  .news-tile-btn,
  .footer-link,
  .legal-link,
  .review-card,
  .proof-item,
  .card,
  .process-card,
  .am-cookie-btn,
  .am-compact-nav a,
  .nav a,
  .faq-icon,
  .toggle,
  .subject-toggle,
  .career-head,
  .subject-list li{
    transition:none !important;
    animation:none !important;
  }
}
@media (hover:hover) and (pointer:fine){
  .btn,
  .news-tile,
  .news-tile-btn,
  .footer-link,
  .legal-link,
  .review-card,
  .proof-item,
  .card,
  .process-card,
  .am-compact-nav a,
  .subject-list li{
    will-change:transform;
  }
}
