/* =========================================================
   NOVO aplicado a Club Vizcaya — 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; }
}

/* ---------- 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%);
}
.section.section-alt .catalog-card{ background:#fff; border-color:var(--line); }
.section.section-alt .catalog-card.catalog-more{ background:transparent; border-style:dashed; }
.catalog-avatar{ background:var(--lav-100); }
.catalog-avatar-initial{ color:var(--purple-deep); }
.catalog-discount{ color:var(--purple-deep); background:var(--lav-100); }

/* ---------- Acento morado ---------- */
.timeline-num{ background:var(--purple); }

/* ---------- Sección de afiliación con el mismo look del hero ---------- */
.section.club{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff 0%,var(--lav-50) 20%,var(--lav-100) 65%,var(--lav-200) 100%);
  color:var(--ink);
  padding-top:56px;
  padding-bottom:56px;
}
.section.club .eyebrow-light{ color:var(--purple-deep); }
.section.club .club-text{ color:var(--ink-soft); }
.section.club .fx-bloom{
  top:auto; bottom:-15%; width:min(420px,55%);
  background:radial-gradient(circle at 50% 55%,
    rgba(255,255,255,.45) 0%,
    rgba(226,211,253,.4) 30%,
    rgba(139,92,246,.24) 55%,
    rgba(139,92,246,0) 75%);
}
.section.club .novo-wordmark{ bottom:-10%; }

/* ---------- Footer con el mismo look del hero ---------- */
.site-footer{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,var(--lav-100) 0%,var(--lav-200) 45%,#fff 100%);
  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); }
