/* FILE: /assets/styles.css */
:root{
  --brand:#5B3EA1; /* morado agradable */
  --brand-600:#4e3590; --brand-700:#422d7d; --ink:#1d1d1f; --muted:#6b7280; --bg:#ffffff; --bg-soft:#faf7ff;
  --ok:#10b981; --shadow:0 10px 30px rgba(17,24,39,.08);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;display:block}
a{color:var(--brand);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.flex{display:flex}.between{justify-content:space-between}.center-y{align-items:center}
.grid2{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(min-width:1200px){.container{max-width:1200px}}
@media(max-width:900px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}

.topbar{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;z-index:20}
.brand{font-weight:700;font-size:20px;color:var(--brand)}
.nav{display:flex;gap:16px;align-items:center}
.nav-link{color:#333;padding:12px 8px;border-radius:10px}
.nav-link.active{color:var(--brand);font-weight:600;background:#f3efff}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:14px 18px;font-weight:600}
.btn-cta{background:var(--brand);color:#fff;box-shadow:var(--shadow)}
.btn-cta:hover{background:var(--brand-600)}
.btn-ghost{border:1px solid #e5e7eb;color:#111;background:#fff}
.btn-whatsapp{background:#25D366;color:#fff}
.btn.block{display:block;width:100%}

.hero{padding:72px 0}
.hero-home{background:linear-gradient(180deg,#fbfbff 0,#fff 100%)}
.hero-lamolina{background:linear-gradient(180deg,#f5f2ff 0,#fff 100%)}
.lead{font-size:18px;color:#333;line-height:1.55}
.accent{color:var(--brand)}
.chip{display:inline-block;background:#f3efff;color:var(--brand-700);padding:6px 10px;border-radius:999px;margin-right:8px;font-size:12px}
.card{background:#fff;border:1px solid #eee;border-radius:16px;padding:20px}
.shadow{box-shadow:var(--shadow)}
.section{padding:60px 0}
.section.soft{background:var(--bg-soft)}
.steps{margin:0;padding-left:18px;line-height:1.7}
.checklist{list-style:none;padding:0;margin:0}
.checklist li{padding-left:28px;position:relative;margin:10px 0}
.checklist li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:4px;background:var(--ok)}
.link{font-weight:600}

.cluster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:10px}
.cluster-item{border:1px solid #eee;border-radius:14px;padding:16px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.cluster-item:hover{transform:translateY(-3px);box-shadow:var(--shadow)}

.stats{margin-top:16px}
.stat{background:#fff;border:1px solid #eee;border-radius:14px;padding:18px;text-align:center}
.stat .num{font-size:32px;font-weight:700;color:var(--brand)}
.stat .lab{color:var(--muted);margin-top:6px}
.muted{color:var(--muted)}
.center{text-align:center}

.footer{border-top:1px solid #eee;padding:24px 0;background:#fff}
.footer .mini{display:flex;gap:14px}

.wafloat{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow)}
.wafloat:hover{filter:brightness(.95)}

/* ====== WALPMed compact & balance tweaks ====== */
.container{max-width:1200px}

.topbar.compact{padding:10px 0}
.topbar .nav .btn{padding:12px 16px}

.hero.hero-home.tight{padding:48px 0 36px}
.hero-balance{grid-template-columns:1.25fr .95fr; align-items:center}
.tight-h1{margin:0 0 8px; line-height:1.15}
.hero .lead{max-width:54ch; margin-bottom:14px}
.hero-points{margin:10px 0 0; padding-left:18px; color:#444}
.hero-points li{margin:6px 0}

/* Cards & stats más compactos */
.card h3{margin-top:4px}
.cards.grid3{grid-template-columns:repeat(3,1fr); gap:18px}
.stats.grid4.tight-stats{gap:14px}
.stat{padding:16px}
.stat .num{font-size:28px}

/* FAQ */
#faq details{border:1px solid #eee;border-radius:12px;padding:12px 14px;margin:10px 0;background:#fff}
#faq summary{cursor:pointer;font-weight:600}

/* Botón flotante visible y nítido */
.wafloat{position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(17,24,39,.18);z-index:50}
.wafloat svg{display:block}
.wafloat:hover{filter:brightness(.95)}
/* Reordenado: stack a la derecha para reducir blancos */
.hero-balance{grid-template-columns:1.05fr 1.15fr; align-items:center}
.hero-right{display:grid; grid-template-rows:auto 1fr; gap:14px}
.hero-copy{margin-bottom:0}
.hero-card{margin-top:0}

/* Ajustes visuales sutiles */
.hero.hero-home.tight{padding:44px 0 30px}
.tight-h1{margin:0 0 8px; line-height:1.15}
.hero .lead{margin-bottom:12px; max-width:60ch}
.hero-points{margin-top:8px}
/* Tarjeta de distritos: solo nombres + botón con margen */
.cluster-distritos { gap: 12px; }
.cluster-distritos .cluster-item { padding: 16px; text-align: center; }
.cluster-distritos .cluster-item h4 { margin: 0; font-size: 16px; }

.hero-card-cta { margin-top: 14px; } /* separa el botón del grid */
@media (max-width: 900px){
  .hero-card-cta { margin-top: 12px; }
}
/* ========= MOBILE FIRST / BREAKPOINTS ========= */
@media (max-width: 900px){
  .container{padding:0 16px; max-width: 100%}
  .topbar.compact{position:sticky; top:0; z-index:60; background:#fff; border-bottom:1px solid #F1F1F3; padding:0px 0}
  .brand img{width:160px; height:64px}

  /* Nav: fila desplazable (no salta) */
  .topbar .nav{display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none}
  .topbar .nav::-webkit-scrollbar{display:none}
  .topbar .nav .nav-link{white-space:nowrap; padding:8px 10px}
  .topbar .nav .btn.btn-whatsapp{flex:0 0 auto; padding:10px 12px}

  /* HERO: una columna, imagen arriba, texto debajo */
  .hero.hero-home.tight{padding:22px 0 10px}
  .hero-balance{display:grid; grid-template-columns:1fr; gap:14px}
  .hero-media img{width:100%; height:auto; max-height:54vh; object-fit:cover}
  .hero-right{display:block}
  .hero-copy{margin:0}

  /* Títulos y texto más compactos */
  .tight-h1{font-size:26px; line-height:1.2; margin:2px 0 8px}
  .hero .lead{font-size:15px; margin-bottom:10px}

  /* CTA: botones full width en stack */
  .cta-row{display:grid; grid-template-columns:1fr; gap:8px}
  .btn.btn-cta, .btn.btn-ghost{width:100%; justify-content:center}

  /* Bullets claros y juntos */
  .hero-points{margin-top:6px; padding-left:18px}
  .hero-points li{margin:6px 0; font-size:14px}

  /* Tarjeta de distritos full width + aire al botón */
  .hero-card{margin-top:12px}
  .cluster-distritos{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
  .cluster-distritos .cluster-item{padding:12px; border:1px solid #EEE; border-radius:12px; background:#fff}
  .cluster-distritos .cluster-item h4{font-size:14px}
  .hero-card-cta{margin-top:12px; padding:12px}

  /* Secciones: reducir padding vertical */
  .section{padding:22px 0}
  .section.soft{padding:20px 0}

  /* Grids de servicios: 1 columna */
  .cards.grid3{display:grid; grid-template-columns:1fr; gap:12px}
  .cards.grid3 .card{padding:14px}
  .cards.grid3 .card h3{font-size:18px; margin:4px 0 6px}
  .cards.grid3 .card p{font-size:14px}
  .cards .link{display:inline-block; margin-top:6px}

  /* Guía: 1 columna */
  .grid2{grid-template-columns:1fr !important; gap:10px}
  .checklist li{margin:8px 0; font-size:14px}

  /* Stats: 2 columnas (o 1 si muy chico) */
  .stats.grid4{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
  .stat{padding:12px}
  .stat .num{font-size:22px}
  .stat .lab{font-size:12px}

  /* FAQ: mayor área táctil */
  #faq details{padding:12px 14px}
  #faq summary{font-size:15px}
}

@media (max-width: 420px){
  .brand img{width:140px; height:56px}
  .cluster-distritos{grid-template-columns:1fr 1fr}
  .stats.grid4{grid-template-columns:1fr}
  .tight-h1{font-size:24px}
}

/* ========= BOTÓN WHATSAPP FLOTANTE (MEJOR UBICACIÓN) ========= */
.wafloat{
  right:16px;
  bottom:calc(16px + env(safe-area-inset-bottom));
  width:56px; height:56px;
  display:flex; align-items:center; justify-content:center;
}
.wafloat svg{width:26px; height:26px}

/* ========= ARREGLOS VARIOS ========= */
/* Evita que el header empuje el contenido cuando aparece el teclado móvil */
@supports (height: 100svh){
  .hero-media img{max-height:50svh}
}
/* Asegura que los enlaces no se rompan feo en móvil */
a{word-wrap:break-word}

/* ===== Mobile header limpio: ocultar "Principal" y tipografías más chicas ===== */
@media (max-width: 900px){
  /* Oculta el primer enlace del menú (Principal) */
  .topbar .nav .nav-link:first-child{ display:none; }

  /* Nav más compacto */
  .topbar .nav{ gap:8px; }
  .topbar .nav .nav-link{ font-size:14px; padding:6px 8px; }
  .topbar .nav .btn.btn-whatsapp{ font-size:13px; padding:8px 10px; }

  /* Titulares y textos más pequeños */
  .tight-h1{ font-size:22px; line-height:1.2; }
  .hero .lead{ font-size:14px; }
  .hero-points li{ font-size:13px; }

  /* Botones héroe más contenidos */
  .btn.btn-cta, .btn.btn-ghost{ font-size:14px; padding:12px; }

  /* Imagen del hero un poco más baja para que no empuje tanto */
  .hero-media img{ max-height:48vh; }
}

/* Ajuste extra para pantallas muy pequeñas */
@media (max-width: 420px){
  .topbar .nav .nav-link{ font-size:13px; padding:6px 6px; }
  .tight-h1{ font-size:20px; }
  .hero .lead{ font-size:13.5px; }
}
