:root{
    --verde:#1F8F66;
    --verde-fresco:#80C670;
    --terracota:#E8836B;
    --durazno:#F9D8C5;
    --crema:#FCF8ED;
    --texto:#2B1810;
    --texto-suave:#7A6E63;
    --blanco:#ffffff;
    --sombra:0 18px 50px -18px rgba(43,24,16,.22);
    --sombra-suave:0 10px 30px -14px rgba(43,24,16,.18);
    --radio:22px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Mulish',system-ui,sans-serif;
    color:var(--texto);
    background:var(--crema);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;line-height:1.08;font-weight:600;letter-spacing:-.01em;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  .verde{color:var(--verde);}
  .terra{color:var(--terracota);}

  /* ---------- Barra superior ---------- */
  .topbar{
    background:var(--verde);
    color:#eafaf1;
    font-size:.82rem;
    font-weight:600;
    text-align:center;
    padding:9px 16px;
    letter-spacing:.01em;
  }
  .topbar span{opacity:.95;}

  /* ---------- Nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:60;
    background:rgba(252,248,237,.86);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(43,24,16,.06);
  }
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;}
  .logo{font-family:'Fraunces',serif;font-weight:600;font-size:1.32rem;display:flex;align-items:center;gap:9px;}
  .logo .leaf{font-size:1.15rem;}
  .logo .mf{color:var(--terracota);}
  nav.links{display:flex;align-items:center;gap:30px;}
  nav.links a{font-weight:600;font-size:.95rem;color:var(--texto);position:relative;padding:4px 0;}
  nav.links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--verde);transition:width .25s ease;}
  nav.links a:hover{color:var(--verde);}
  nav.links a:hover::after{width:100%;}
  .soon{font-size:.62rem;background:var(--durazno);color:var(--terracota);font-weight:800;padding:2px 6px;border-radius:20px;margin-left:5px;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em;}
  .btn{
    display:inline-block;font-weight:800;font-family:'Mulish',sans-serif;
    border-radius:40px;padding:13px 26px;font-size:.95rem;
    cursor:pointer;border:none;transition:transform .18s ease,box-shadow .18s ease,background .2s ease;
    text-align:center;letter-spacing:.01em;
  }
  .btn-primary{background:var(--terracota);color:#fff;box-shadow:0 12px 26px -10px rgba(232,131,107,.7);}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 34px -12px rgba(232,131,107,.85);}
  .btn-green{background:var(--verde);color:#fff;box-shadow:0 12px 26px -10px rgba(31,143,102,.6);}
  .btn-green:hover{transform:translateY(-2px);}
  .btn-ghost{background:transparent;border:2px solid var(--verde);color:var(--verde);}
  .btn-ghost:hover{background:var(--verde);color:#fff;}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
  .burger span{width:24px;height:2.5px;background:var(--texto);border-radius:2px;}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;
    background:
      radial-gradient(1100px 520px at 88% -12%, rgba(249,216,197,.55), transparent 62%),
      linear-gradient(135deg,#E8836B 0%, #eb9179 42%, #F4B79E 100%);
    padding:60px 0 72px;
    overflow:hidden;
  }
  .hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:70px;
    background:linear-gradient(to bottom,transparent,var(--crema));pointer-events:none;}
  .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
  .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:#fff;background:rgba(43,24,16,.14);padding:6px 14px;border-radius:30px;font-size:.86rem;letter-spacing:.02em;margin-bottom:20px;}
  .hero h1{font-size:clamp(2.5rem,5.2vw,4.05rem);font-weight:600;margin-bottom:22px;color:#2B1810;}
  .hero h1 .accent{color:var(--crema);}
  .hero p.lead{font-size:1.12rem;color:#4a2c1e;max-width:520px;margin-bottom:30px;}
  .hero p.lead strong{color:#2B1810;}
  .hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;}
  .hero-note{font-size:.85rem;color:var(--texto-suave);margin-top:18px;}
  .hero .hero-note{color:rgba(43,24,16,.62);}
  .btn-outline-cream{background:transparent;border:2px solid var(--crema);color:var(--crema);}
  .btn-outline-cream:hover{background:var(--crema);color:var(--terracota);transform:translateY(-2px);}
  .hero-img-card{
    position:relative;border-radius:30px;overflow:hidden;box-shadow:var(--sombra);
    transform:rotate(1.4deg);
    aspect-ratio:4/5;
    background:linear-gradient(160deg,#e6f0dd,#f6e4d6);
  }
  .hero-img-card img{width:100%;height:100%;object-fit:cover;}
  .float-badge{
    position:absolute;left:-14px;bottom:26px;background:#fff;border-radius:18px;
    padding:14px 18px;box-shadow:var(--sombra-suave);transform:rotate(-2deg);
    display:flex;align-items:center;gap:12px;max-width:220px;
  }
  .float-badge .num{font-family:'Fraunces',serif;font-size:2rem;color:var(--terracota);font-weight:600;line-height:1;}
  .float-badge small{font-size:.78rem;color:var(--texto-suave);font-weight:600;}

  /* ---------- Franja de confianza ---------- */
  .trust{background:var(--verde);color:#eafaf1;}
  .trust-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 42px;padding:20px 24px;text-align:center;font-weight:600;font-size:.95rem;}
  .trust-inner span{display:inline-flex;align-items:center;gap:9px;}

  /* ---------- Secciones ---------- */
  section{padding:60px 0;}
  .sec-head{text-align:center;max-width:640px;margin:0 auto 38px;}
  .sec-head .kicker{font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--terracota);margin-bottom:12px;}
  .sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:16px;}
  .sec-head p{color:var(--texto-suave);font-size:1.05rem;}

  /* Producto destacado */
  .producto{background:linear-gradient(180deg,#FCF8ED, #F6EFDF);}
  .prod-card{
    display:grid;grid-template-columns:1fr 1fr;gap:0;
    background:#fff;border-radius:30px;overflow:hidden;box-shadow:var(--sombra);
  }
  .prod-media{background:linear-gradient(160deg,#2f9c72,#1F8F66);position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;padding:36px;}
  .prod-media img{border-radius:16px;box-shadow:0 20px 44px -18px rgba(0,0,0,.4);}
  .prod-media .ph{color:#eafaf1;text-align:center;font-weight:700;}
  .prod-body{padding:48px 46px;display:flex;flex-direction:column;justify-content:center;}
  .tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}
  .tag{background:var(--durazno);color:var(--terracota);font-weight:800;font-size:.74rem;padding:6px 12px;border-radius:20px;text-transform:uppercase;letter-spacing:.04em;}
  .tag.g{background:#e4f2dd;color:var(--verde);}
  .prod-body h3{font-size:2.1rem;margin-bottom:14px;}
  .prod-body p{color:var(--texto-suave);margin-bottom:18px;}
  .checklist{list-style:none;margin-bottom:26px;}
  .checklist li{display:flex;gap:11px;align-items:flex-start;margin-bottom:11px;font-weight:600;color:var(--texto);}
  .checklist li::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;background:var(--verde-fresco);color:#fff;border-radius:50%;font-size:.8rem;font-weight:800;margin-top:2px;}
  .price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;}
  .price{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--verde);font-weight:600;}
  .price s{font-family:'Mulish';font-size:1.1rem;color:var(--texto-suave);}
  .price small{font-size:.85rem;color:var(--texto-suave);font-weight:600;}

  /* Método en 3 pasos */
  .metodo{background:linear-gradient(135deg,#F9D8C5 0%, #FCF8ED 50%, #E9F3E4 100%);}
  .pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
  .paso{
    background:#fff;border-radius:var(--radio);padding:34px 28px 32px;box-shadow:var(--sombra-suave);
    border-top:5px solid var(--verde-fresco);position:relative;text-align:center;transition:transform .2s ease;
  }
  .paso:hover{transform:translateY(-5px);}
  .paso .icon{font-size:2rem;margin-bottom:8px;}
  .paso .n{font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--terracota);font-size:.76rem;margin-bottom:8px;}
  .paso h3{font-size:1.5rem;margin-bottom:12px;}
  .paso p{color:var(--texto-suave);font-size:.98rem;}

  /* FAQ Macrobiótica */
  .faq{background:#fff;}
  .faq-grid{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
  details.qa{
    background:var(--crema);border:1px solid rgba(43,24,16,.07);border-radius:16px;
    padding:4px 22px;transition:box-shadow .2s ease,border-color .2s ease;
  }
  details.qa[open]{box-shadow:var(--sombra-suave);border-color:rgba(31,143,102,.3);}
  details.qa summary{
    list-style:none;cursor:pointer;font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;
    color:var(--texto);padding:18px 34px 18px 0;position:relative;display:flex;align-items:center;
  }
  details.qa summary::-webkit-details-marker{display:none;}
  details.qa summary::after{
    content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);
    font-family:'Mulish';font-weight:700;font-size:1.6rem;color:var(--verde);transition:transform .25s ease;
  }
  details.qa[open] summary::after{content:"–";}
  details.qa .a{color:var(--texto-suave);padding:0 0 20px;font-size:1rem;line-height:1.7;}
  details.qa .a strong{color:var(--texto);}
  .faq-cta{text-align:center;margin-top:40px;}

  /* Sobre mí */
  .sobre-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center;}
  .sobre-img{border-radius:26px;overflow:hidden;box-shadow:var(--sombra);aspect-ratio:4/5;background:linear-gradient(160deg,#e0eecf,#f6e0d3);}
  .sobre-img img{width:100%;height:100%;object-fit:cover;}
  .sobre-body h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:20px;}
  .sobre-body p{color:var(--texto-suave);margin-bottom:16px;}
  .sobre-body p strong{color:var(--texto);}
  .sobre-meta{font-size:.88rem;color:var(--texto-suave);font-style:italic;margin-top:8px;}

  /* Próximamente / ecosistema */
  .eco{background:#fff;}
  .eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  .eco-card{
    border-radius:var(--radio);padding:30px 24px;position:relative;overflow:hidden;
    background:var(--crema);border:1px solid rgba(43,24,16,.06);transition:transform .2s ease, box-shadow .2s ease;
  }
  .eco-card:hover{transform:translateY(-4px);box-shadow:var(--sombra-suave);}
  .eco-card .ico{font-size:1.9rem;margin-bottom:14px;}
  .eco-card h3{font-size:1.3rem;margin-bottom:8px;}
  .eco-card p{color:var(--texto-suave);font-size:.92rem;}
  .eco-card .badge{position:absolute;top:16px;right:16px;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--verde);color:#fff;padding:4px 9px;border-radius:20px;}
  .eco-card.live .badge{background:var(--terracota);}

  /* Newsletter / comunidad */
  .comunidad{background:linear-gradient(150deg,#1F8F66,#186f50);color:#eafaf1;}
  .comunidad .sec-head h2{color:#fff;}
  .comunidad .sec-head .kicker{color:var(--durazno);}
  .comunidad .sec-head p{color:#d6ecdf;}
  .news-form{max-width:520px;margin:0 auto;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
  .news-form input{
    flex:1;min-width:240px;border:none;border-radius:40px;padding:15px 22px;font-size:1rem;font-family:'Mulish';
    background:rgba(255,255,255,.95);color:var(--texto);
  }
  .news-form input:focus{outline:3px solid var(--verde-fresco);}
  .news-note{text-align:center;font-size:.82rem;color:#cfe7d8;margin-top:16px;}

  /* Footer */
  footer.site{background:var(--texto);color:#e9ddd4;padding:60px 0 28px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px;}
  .foot-brand .logo{color:#fff;margin-bottom:14px;}
  .foot-brand p{color:#bba99c;font-size:.92rem;max-width:280px;}
  .foot-col h4{font-family:'Mulish';font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#c9b6a8;margin-bottom:16px;}
  .foot-col a{display:block;color:#e9ddd4;font-size:.94rem;margin-bottom:10px;opacity:.85;transition:opacity .2s,color .2s;}
  .foot-col a:hover{opacity:1;color:var(--verde-fresco);}
  .foot-col .soon{background:rgba(255,255,255,.12);color:#e9c9bd;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.83rem;color:#a99787;}

  /* WhatsApp flotante */
  .wa{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:12px;}
  .wa .bubble{background:#fff;border-radius:16px;padding:10px 16px;box-shadow:var(--sombra-suave);font-size:.86rem;font-weight:700;color:var(--texto);}
  .wa .bubble small{display:block;font-weight:500;color:var(--texto-suave);font-size:.76rem;}
  .wa .icon{width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(37,211,102,.7);flex-shrink:0;}
  .wa .icon svg{width:30px;height:30px;fill:#fff;}

  /* Responsive */
  @media(max-width:900px){
    .hero-grid,.sobre-grid{grid-template-columns:1fr;gap:38px;}
    .hero-img-card{transform:none;max-width:420px;margin:0 auto;}
    .sobre-img{max-width:400px;margin:0 auto;}
    .prod-card{grid-template-columns:1fr;}
    .prod-media{min-height:280px;}
    .pasos{grid-template-columns:1fr;max-width:420px;margin:0 auto;}
    .eco-grid{grid-template-columns:1fr 1fr;}
    nav.links{display:none;}
    .burger{display:flex;}
    .nav-cta .btn{display:none;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  @media(max-width:560px){
    .eco-grid,.foot-grid{grid-template-columns:1fr;}
    .wa .bubble{display:none;}
    section{padding:46px 0;}
    .prod-body{padding:34px 26px;}
  }

/* =====================================================
   MENÚ ACTIVO
   Mantiene el efecto hover original y deja visible
   la sección en la que se encuentra el usuario.
   ===================================================== */
nav.links a.active{
  color:var(--verde);
  font-weight:800;
}
nav.links a.active::after{
  width:100%;
}


/* =====================================================
   PÁGINA EBOOK
   Estilos específicos. El diseño general sigue usando
   styles.css para mantener consistencia con el sitio.
   ===================================================== */

.ebook-page {
  padding: 70px 24px 100px;
}

.ebook-container {
  width: min(1120px, calc(100% - 40px));
  margin: 0 auto;
}

.ebook-hero {
  padding: 10px 0 30px;
}

.ebook-hero .ebook-container {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 64px;
}

.ebook-kicker {
  display: inline-block;
  margin-bottom: 18px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--verde);
}

.ebook-title {
  margin: 0 0 20px;
  max-width: 600px;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1.1;
}

.ebook-description {
  max-width: 600px;
  margin: 0 0 30px;
  font-size: 1.08rem;
  line-height: 1.7;
}

.ebook-visual {
  display: flex;
  justify-content: center;
  align-items: center;
}

.ebook-cover-placeholder {
  width: min(520px, 100%);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--sombra);
}

.ebook-cover-placeholder span {
  display: block;
}

.ebook-cover-placeholder img {
  display: block;
  width: 100%;
  height: auto;
}

.ebook-benefits {
  padding: 80px 0;
}

.ebook-section-title {
  max-width: 660px;
  margin: 0 auto 50px;
  text-align: center;
}

.ebook-section-title h2 {
  margin: 0 0 16px;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.2;
}

.ebook-section-title p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
}

.ebook-benefits-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.ebook-benefit {
  padding: 34px 30px;
  border-radius: 18px;
  background: var(--crema-2);
  box-shadow: var(--sombra-suave);
}

.ebook-benefit h3 {
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.3;
  color: var(--verde);
}

.ebook-benefit p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

.ebook-form-section {
  padding: 90px 0;
}

.ebook-form-box {
  width: min(680px, 100%);
  margin: 0 auto;
  padding: 42px;
  border-radius: 20px;
  background: var(--crema-2);
  box-shadow: var(--sombra-suave);
  text-align: center;
}

.ebook-form-box h2 {
  margin-top: 0;
}

.ebook-form-placeholder {
  margin-top: 28px;
  padding: 35px 20px;
  border: 1px dashed rgba(0,0,0,.22);
  border-radius: 12px;
  color: #666;
  background: rgba(255,255,255,.35);
}

@media (max-width: 800px) {
  .ebook-hero {
    min-height: auto;
  }

  .ebook-hero .ebook-container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .ebook-visual {
    order: -1;
  }

  .ebook-benefits {
    padding: 30px 0 60px;
  }

  .ebook-benefits-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .ebook-benefit {
    padding: 26px 22px;
  }

  .ebook-section-title {
    margin-bottom: 34px;
  }

  .ebook-form-box {
    padding: 28px 20px;
  }
}
