/* =========================================================
   Sonia Arias — estilos compartidos: menú y pie (como en Wix),
   testimonios de WhatsApp, recurso gratuito y páginas de texto.
   El diseño de la landing vive en el <style> de index.html.
   ========================================================= */
:root{
  --sa-white:#FFFFFF;
  --sa-header:#FEECF0;     /* fondo del menú en Wix */
  --sa-pink-soft:#FFE2EE;
  --sa-pink-card:#F3A7CA;  /* botón del menú en Wix */
  --sa-pink:#F862AC;
  --sa-beige:#DDD1C8;
  --sa-ink:#545454;
  --sa-meta:#B4ABA3;
  --sa-nav:#000052;        /* texto del menú en Wix */
}

/* ---------- Menú (réplica del encabezado de Wix) ---------- */
.site-header{background:var(--sa-header); position:relative; z-index:60;}
.site-header-inner{
  max-width:1280px;
  margin:0 auto;
  height:100px;
  padding:0 56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-logo img{width:54px; height:54px; display:block;}
.site-nav{display:flex; align-items:center; gap:36px; margin-left:auto;}
.site-nav ul{display:flex; gap:38px; list-style:none; margin:0; padding:0;}
.site-nav ul a{
  font-family:'Poppins', sans-serif;
  font-size:16px;
  font-weight:400;
  color:var(--sa-nav);
  text-decoration:none;
  transition:color .2s ease;
}
.site-nav ul a:hover,
.site-nav ul a[aria-current="page"]{color:var(--sa-pink);}
.header-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:226px;
  height:40px;
  padding:0 24px;
  border-radius:999px;
  background:var(--sa-pink-card);
  border:1px solid #E89FC1;
  font-family:'Poppins', sans-serif;
  font-size:16px;
  color:var(--sa-nav);
  text-decoration:none;
  transition:filter .2s ease;
}
.header-btn:hover{filter:brightness(0.95);}
.nav-toggle{display:none; background:none; border:0; width:44px; height:44px; padding:10px 8px; cursor:pointer; color:var(--sa-nav);}
.nav-toggle span{display:block; height:1.5px; background:currentColor; margin:6px 0; border-radius:2px; transition:transform .25s ease, opacity .25s ease;}
.nav-toggle span:nth-child(2){width:80%; margin-left:auto;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

@media (max-width:899px){
  .site-header-inner{height:68px; padding:0 20px; display:grid; grid-template-columns:1fr auto 1fr;}
  .site-logo img{width:34px; height:34px;}
  .nav-toggle{display:block; justify-self:center;}
  .header-btn{justify-self:end; min-width:0; height:38px; padding:0 20px; font-size:14px; white-space:nowrap;}
  .hb-long{display:none;}
  .site-nav{
    display:none;
    position:absolute;
    top:68px; left:0; right:0;
    background:var(--sa-header);
    padding:8px 24px 20px;
    box-shadow:0 14px 24px -14px rgba(19,15,28,0.25);
  }
  .site-nav.is-open{display:block;}
  .site-nav ul{flex-direction:column; gap:0;}
  .site-nav ul a{display:block; padding:14px 0; border-bottom:1px solid rgba(232,159,193,0.4);}
  .site-nav li:last-child a{border-bottom:0;}
}

/* ---------- Pie de página (como en Wix) ---------- */
.site-footer{background:var(--sa-header); color:var(--sa-nav); font-family:'Poppins', sans-serif; padding:36px 24px 30px; text-align:center;}
.site-footer ul{display:flex; flex-wrap:wrap; justify-content:center; gap:10px 34px; list-style:none; margin:0 0 18px; padding:0;}
.site-footer a{color:var(--sa-nav); text-decoration:none; font-size:15px;}
.site-footer a:hover{color:var(--sa-pink);}
.site-footer p{font-size:13px; line-height:1.6; margin:0;}
.site-footer p a{font-size:13px; text-decoration:underline; text-underline-offset:3px;}

/* ---------- Testimonios: capturas reales de WhatsApp ---------- */
.wa-card{
  background:var(--sa-white);
  border-radius:20px;
  max-width:480px;
  margin:0 auto;
  padding:14px 14px 18px;
  box-shadow:0 10px 26px rgba(19,15,28,0.06);
}
.wa-card .stars{color:var(--sa-pink); font-size:15px; letter-spacing:2px; text-align:center; margin:4px 0 12px;}
.wa-shot{display:block; border-radius:12px; overflow:hidden; background:#EFE7DE; border:1px solid rgba(221,209,200,0.8); cursor:zoom-in;}
.wa-shot img{display:block; width:100%; height:auto;}
.wa-card figcaption{margin-top:14px; display:flex; align-items:center; justify-content:center; gap:10px; font-family:'Montserrat', sans-serif; font-size:12.5px; color:var(--sa-meta);}
.wa-card figcaption strong{color:var(--sa-ink); font-weight:600;}
.wa-pair{display:grid; gap:20px; max-width:880px; margin:0 auto; align-items:start;}
.wa-pair .wa-card{max-width:none; margin:0;}
.wa-pair .is-tall .wa-shot{max-height:520px;}
@media (min-width:768px){ .wa-pair{grid-template-columns:1fr 1fr;} }

/* ---------- Recurso gratuito (captura de leads) ---------- */
.freebie{padding:56px 0 64px;}
.freebie-box{
  max-width:960px;
  margin:0 auto;
  background:var(--sa-pink-soft);
  border-radius:20px;
  padding:40px 24px;
  display:grid;
  gap:32px;
  align-items:center;
}
.freebie-copy{text-align:center;}
.freebie-copy .badge{margin-bottom:16px;}
.freebie-copy h2{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; font-size:clamp(21px, 1.2vw + 17px, 28px); line-height:1.3; margin-bottom:12px; color:var(--sa-ink);}
.freebie-copy p{color:var(--sa-ink); max-width:440px; margin:0 auto;}
.doc-mockup{
  position:relative;
  width:190px;
  aspect-ratio:1/1.3;
  margin:28px auto 4px;
  background:var(--sa-white);
  border-radius:10px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
  transform:rotate(-2deg);
  box-shadow:0 1px 2px rgba(19,15,28,0.08), 0 22px 40px -14px rgba(19,15,28,0.24);
}
.doc-mockup::before{content:''; position:absolute; top:-34px; left:-30px; width:100px; height:100px; border-radius:50%; background:var(--sa-pink-soft);}
.doc-mockup::after{content:''; position:absolute; bottom:-38px; right:-34px; width:86px; height:86px; border-radius:50%; background:var(--sa-beige);}
.doc-mockup > *{position:relative; z-index:1;}
.doc-eyebrow{font-family:'Montserrat', sans-serif; font-size:9px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sa-pink); margin-bottom:10px;}
.doc-mockup strong{font-family:'Playfair Display', serif; font-style:italic; font-weight:600; font-size:17px; line-height:1.2; margin-bottom:12px; color:var(--sa-ink);}
.doc-by{font-family:'Montserrat', sans-serif; font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--sa-meta);}

.lead-card{background:var(--sa-white); border-radius:20px; padding:28px 22px 24px; box-shadow:0 10px 26px rgba(19,15,28,0.08);}
.lead-card h3{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; font-size:22px; text-align:center; color:var(--sa-ink);}
.lead-sub{text-align:center; margin:2px 0 18px; font-size:14.5px;}
.lead-form{display:flex; flex-direction:column; gap:12px;}
.lead-form label{font-family:'Montserrat', sans-serif; font-size:11.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--sa-ink);}
.lead-form .opt{font-weight:400; text-transform:none; letter-spacing:0; color:var(--sa-meta);}
.lead-form input[type="text"],
.lead-form input[type="email"],
.lead-form input[type="tel"]{
  display:block;
  width:100%;
  margin-top:6px;
  font-family:'Poppins', sans-serif;
  font-size:16px;
  color:var(--sa-ink);
  background:var(--sa-white);
  border:1px solid var(--sa-beige);
  border-radius:12px;
  padding:11px 14px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.lead-form input::placeholder{color:var(--sa-meta);}
.lead-form input:focus{border-color:var(--sa-pink); box-shadow:0 0 0 3px rgba(248,98,172,0.18);}
.lead-form .consent{display:flex; gap:10px; align-items:flex-start; font-family:'Poppins', sans-serif; font-size:12.5px; font-weight:400; letter-spacing:0; text-transform:none; line-height:1.5;}
.lead-form .consent input{flex:none; width:18px; height:18px; margin-top:1px; accent-color:var(--sa-pink);}
.lead-form .consent a{color:var(--sa-pink); text-decoration:underline;}
.lead-form .hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}
.lead-form .btn{width:100%; animation:none;}
.lead-form button[disabled]{opacity:.65; cursor:wait;}
.lead-status{font-size:13.5px; min-height:1.2em; text-align:center;}
.lead-status.is-error{color:#C0396F;}
.lead-meta{display:block; text-align:center; font-family:'Montserrat', sans-serif; font-size:12px; color:var(--sa-meta);}
.lead-success{text-align:center;}
.lead-success p{margin:10px 0 18px; font-size:14.5px;}
.lead-success .btn{width:100%; animation:none;}
@media (min-width:860px){
  .freebie-box{grid-template-columns:1fr 1fr; padding:52px 52px; gap:48px;}
}

/* ---------- Páginas de texto (legales, gracias, 404) ---------- */
.page-text{margin:0; font-family:'Poppins', sans-serif; color:var(--sa-ink); background:var(--sa-white); -webkit-font-smoothing:antialiased;}
.page-text *{box-sizing:border-box;}
.legal{max-width:780px; margin:0 auto; padding:56px 24px 72px; line-height:1.8; font-size:14.5px;}
.legal h1{font-family:'Playfair Display', serif; font-style:italic; font-weight:500; font-size:clamp(26px, 1.8vw + 19px, 36px); line-height:1.2; margin:0 0 8px;}
.legal .updated{font-family:'Montserrat', sans-serif; font-size:12.5px; color:var(--sa-meta); margin-bottom:28px;}
.legal h2{font-family:'Montserrat', sans-serif; font-size:13.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin:36px 0 10px; padding-top:22px; border-top:1px solid rgba(221,209,200,0.75);}
.legal h3{font-family:'Montserrat', sans-serif; font-size:14px; font-weight:600; margin:20px 0 8px;}
.legal p{margin:0 0 12px;}
.legal ul{list-style:disc; padding-left:22px; margin:0 0 14px;}
.legal li{margin-bottom:6px;}
.legal a{color:var(--sa-pink); text-decoration:underline; text-underline-offset:3px;}
.legal-center{text-align:center;}
.legal .btn-page{display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:13px 28px; border-radius:999px; background:var(--sa-pink); color:var(--sa-pink-soft); font-family:'Montserrat', sans-serif; font-size:13px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; text-decoration:none;}
.calendly-wrap{max-width:1000px; margin:0 auto; padding:0 16px 72px;}
.calendly-inline-widget{min-width:300px; height:720px;}
