/* =========================================================
   NOVO aplicado a Pilates — extendido desde el piloto del home.
   Depende de los tokens/componentes de novo-design-system.css.
   ========================================================= */

.novo{ font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif; }

/* ---------- Encabezado transparente + logo con resplandor ---------- */
.site-header{ background:transparent; backdrop-filter:none; border-bottom:none; margin-bottom:-100px; position:relative; z-index:20; }
.logo img{ filter:drop-shadow(0 1px 6px rgba(255,255,255,.6)); }

/* ---------- Nav del encabezado como una sola cápsula agrupada ---------- */
.main-nav{
  gap:2px;
  background:#fff;
  border-radius:var(--radius-pill);
  padding:6px;
  box-shadow:0 14px 30px -18px rgba(31,27,28,.35);
}
.main-nav a{
  padding:9px 18px;
  border-radius:var(--radius-pill);
  background:transparent;
  color:var(--ink);
  font-family:'Manrope',sans-serif;
  font-weight:700;
  font-size:.86rem;
  white-space:nowrap;
  transition:background .3s var(--ease),color .3s var(--ease);
}
.main-nav a:hover{ background:var(--lav-100); color:var(--purple-deep); }
.main-nav a.is-active{ background:var(--lav-100); color:var(--purple-deep); }
.nav-club{ background:var(--lav-100); color:var(--purple-deep); }

@media (max-width:1040px){
  .main-nav{
    display:none; position:absolute; top:100%; left:0; right:0;
    flex-direction:column; align-items:flex-start; gap:10px;
    background:#fff; border-bottom:1px solid var(--color-border);
    border-radius:0 0 20px 20px;
    padding:12px 24px 16px;
    box-shadow:0 20px 30px -20px rgba(31,27,28,.25);
  }
  .main-nav.is-open{ display:flex; }
  .nav-toggle{ display:flex; }
  .header-actions .novo-btn{ display:none; }
}

/* ---------- Variante de botón fantasma para fondos oscuros ---------- */
.novo-btn--ghost-light{
  background:transparent;color:#fff;box-shadow:none;
  border:1.5px solid rgba(255,255,255,.5);
}
.novo-btn--ghost-light::before{ display:none; }
.novo-btn--ghost-light .dot{ background:#fff;color:var(--purple-deep); }
.novo-btn--ghost-light:hover{ border-color:#fff;background:rgba(255,255,255,.08); }

/* ---------- Hero de la página (fondo lavanda, sin foto) ---------- */
.page-hero{
  position:relative;
  overflow:hidden;
  min-height:auto;
  background:linear-gradient(180deg,var(--lav-50) 0%,var(--lav-100) 60%,var(--lav-200) 100%);
  padding-top:148px;
  padding-bottom:64px;
}
.page-hero .fx-bloom{ top:-15%; bottom:auto; left:auto; right:-8%; width:min(480px,60%); }
.breadcrumb{ color:var(--ink-soft); position:relative; z-index:2; }
.breadcrumb a{ color:var(--purple-deep); }
.page-hero .eyebrow-light{ color:var(--purple-deep); position:relative; z-index:2; font-size:1.05rem; }
.page-hero h1, .page-hero-text{ color:var(--ink); position:relative; z-index:2; }
.page-hero-text, .hero-text{ color:var(--ink-soft); }
.page-hero .hero-ctas{ position:relative; z-index:2; }

.novo-wordmark{
  position:absolute; left:50%; bottom:-8%; transform:translateX(-50%);
  z-index:1; color:rgba(139,92,246,.14); white-space:nowrap; pointer-events:none; user-select:none;
}

@media (max-width:720px){
  .page-hero{ padding-top:120px; padding-bottom:48px; text-align:center; }
  .page-hero .hero-ctas{ justify-content:center; }
  .novo-wordmark{ font-size:clamp(48px,17vw,120px); }
}

/* ---------- Recortar el relleno duplicado entre secciones ---------- */
.page-hero + .section{ padding-top:48px; }
.section.section-alt{
  padding-top:32px; padding-bottom:48px;
  background:linear-gradient(180deg,var(--lav-50) 0%,var(--lav-100) 55%,#fff 100%);
}
.cta-final{ padding-top:48px; padding-bottom:64px; position:relative; overflow:hidden; }
.cta-final .fx-bloom{ top:50%; bottom:auto; left:50%; transform:translate(-50%,-50%); width:min(420px,55%); }
.cta-final .container{ position:relative; z-index:2; }

/* ---------- Tarjeta clara (certificación) ---------- */
.highlight-card{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--lav-50),var(--lav-100));
  color:var(--ink);
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.highlight-card .highlight-copy{ position:relative; z-index:2; max-width:640px; }
.highlight-card .fx-aurora{ display:none; }
.highlight-card p{ color:var(--ink-soft); }
.highlight-card .eyebrow{ color:var(--purple-deep); }
.highlight-card .highlight-cta{ flex:none; position:relative; z-index:2; }
.highlight-card .novo-btn--ghost-light{
  background:var(--purple); color:#fff; border:none;
  box-shadow:0 10px 24px -14px rgba(109,63,214,.9);
}

@media (max-width:720px){
  .highlight-card{ flex-direction:column; align-items:stretch; text-align:center; }
}
.highlight-card .novo-btn--ghost-light .dot{ background:#fff; color:var(--purple); }
.highlight-card .novo-btn--ghost-light:hover{ background:var(--purple-deep); }

/* ---------- Etiquetas con acento morado ---------- */
.style-tags span{ color:var(--purple-deep); background:var(--lav-100); }
.pilates-card .chip-icon{ color:var(--purple-deep); }

/* ---------- Footer con el mismo look del hero ---------- */
.site-footer{
  position:relative;
  overflow:hidden;
  background:#fff;
  color:var(--ink-soft);
  padding-top:48px;
}
.site-footer .fx-bloom{
  left:auto; right:-16%; bottom:auto; top:-42%;
  width:min(360px,48%);
  background:radial-gradient(circle at 50% 55%,
    rgba(255,255,255,.4) 0%,
    rgba(226,211,253,.32) 35%,
    rgba(139,92,246,.16) 60%,
    rgba(139,92,246,0) 78%);
  animation:none;
}
.footer-inner{ border-bottom-color:var(--line); }
.footer-brand p{ color:var(--ink-soft); }
.logo-footer img{ filter:none; }
.footer-col h4{ color:var(--ink); }
.footer-col a{ color:var(--ink-soft); }
.footer-col a:hover{ color:var(--purple-deep); }
.footer-bottom{ color:var(--ink-soft); }
