  :root{
    /* Fondo — beige */
    --papel:#EEE4CF;
    --papel-hondo:#E4D6B8;
    /* Texto */
    --tinta:#2A2018;
    --tinta-suave:#6B5D4C;
    /* Marcador — Café Tabaco */
    --tabaco:#6B4226;
    --tabaco-oscuro:#4A2C18;
    --tabaco-claro:#C79A6E;
    /* Utilitarios */
    --linea:#D9C8A0;
    --blanco:#FBF7EC;
    --tinta-panel:#38291B;
    --tinta-borde:#4A3A28;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation:none!important;transition:none!important}
  }
  body{
    background:var(--papel);
    color:var(--tinta);
    font-family:"DM Sans",Georgia,"Times New Roman",serif;
    font-size:1.0625rem;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit}
  .wrap{max-width:1060px;margin:0 auto;padding:0 24px}
  .eyebrow{
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.6875rem;font-weight:600;
    letter-spacing:.18em;text-transform:uppercase;
    color:var(--tabaco);
  }
  h1,h2,h3{font-family:"Bricolage Grotesque","Iowan Old Style",Georgia,serif;text-wrap:balance;font-weight:700}

  /* ---------- Nav ---------- */
  nav{border-bottom:1px solid var(--linea)}
  .nav-in{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
  .marca{display:flex;align-items:center;gap:11px;font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.25rem;font-weight:700;letter-spacing:.01em;text-decoration:none}
  .marca span{color:var(--tabaco)}
  .marca img{height:48px;width:auto;display:block;mix-blend-mode:multiply}
  @media (max-width:560px){.marca img{height:40px}}
  .nav-links{display:flex;gap:28px;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;letter-spacing:.04em}
  .nav-links a{text-decoration:none;color:var(--tinta-suave)}
  .nav-links a:hover,.nav-links a:focus-visible{color:var(--tinta)}
  a:focus-visible,button:focus-visible{outline:2px solid var(--tabaco);outline-offset:3px}

  /* ---------- Hero ---------- */
  header.hero{padding:96px 0 84px;position:relative;overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:56px;align-items:end}
  .hero h1{
    font-size:clamp(2.6rem,6vw,4.4rem);
    line-height:1.06;
    font-weight:300;
    letter-spacing:-.01em;
    margin-top:20px;
  }
  .hero h1 em{font-style:italic;font-weight:400;color:var(--tabaco)}
  .hero-sub{
    margin-top:22px;
    font-size:1.125rem;
    color:var(--tinta-suave);
    max-width:38ch;
  }
  .hero-nota{
    border-left:1px solid var(--linea);
    padding-left:28px;
    font-size:1rem;
    color:var(--tinta-suave);
    max-width:34ch;
  }
  .hero-nota strong{color:var(--tinta);font-weight:500}
  .hero-cta{margin-top:36px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
  .btn{
    display:inline-block;
    font-family:"DM Sans",system-ui,sans-serif;
    font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
    padding:15px 30px;border:1px solid var(--tinta);
    background:var(--tinta);color:var(--papel);
    text-decoration:none;cursor:pointer;
    transition:background .2s,color .2s;
  }
  .btn:hover{background:var(--tabaco);border-color:var(--tabaco);color:var(--blanco)}
  .btn.fantasma{background:transparent;color:var(--tinta)}
  .btn.fantasma:hover{background:var(--tinta);color:var(--papel)}

  /* ---------- Contornos (fin de la tierra) ---------- */
  .contornos{position:absolute;right:-140px;bottom:-180px;width:560px;height:560px;opacity:.5;pointer-events:none}

  /* ---------- Manifiesto ---------- */
  .manifiesto{border-top:1px solid var(--linea);background:var(--papel-hondo)}
  .manifiesto-in{padding:88px 0;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px}
  .manifiesto p{
    font-family:"Bricolage Grotesque",Georgia,serif;
    font-size:clamp(1.05rem,1.5vw,1.3rem);
    line-height:1.65;font-weight:300;
    max-width:32em;
  }
  .manifiesto p + p{margin-top:1.2em}
  .manifiesto-intro{font-style:italic;color:var(--tabaco);font-size:clamp(1.3rem,2vw,1.6rem)}
  .firma{margin-top:2em;font-family:"DM Sans",Georgia,serif;font-style:italic;color:var(--tinta-suave);font-size:1rem}
  .regiones{
    list-style:none;margin-top:1.4em;
    display:flex;flex-direction:column;gap:14px;
  }
  .regiones li{
    display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,3fr);gap:20px;
    padding:22px 26px;background:var(--papel);border-left:3px solid var(--tabaco);
    box-shadow:0 2px 10px rgba(42,32,24,.06);
    font-family:"DM Sans",Georgia,serif;
    font-size:1.0625rem;line-height:1.65;font-weight:400;color:var(--tinta-suave);
  }
  .regiones .region-nombre{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;font-weight:600;
    letter-spacing:.08em;text-transform:uppercase;color:var(--tabaco);
    padding-top:.2em;
  }
  .mx-mapa-wrap{grid-column:1/-1;margin-top:56px;max-width:640px}
  .mx-mapa{width:100%;height:auto;display:block}
  .mx-estado{fill:var(--linea);stroke:var(--papel-hondo);stroke-width:.8}
  .mx-estado.mx-activo{fill:var(--tabaco)}
  .mx-marcador circle{fill:var(--tabaco-oscuro)}
  .mx-marcador line{stroke:var(--tabaco-oscuro);stroke-width:1;stroke-dasharray:2,2}
  .mx-marcador text{font-family:"DM Sans",system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.03em;fill:var(--tinta)}
  .mx-mapa-nota{margin-top:16px;font-family:"DM Sans",Georgia,serif;font-style:italic;font-size:.9rem;color:var(--tinta-suave)}

  /* ---------- Orígenes ---------- */
  .origenes{border-top:1px solid var(--linea);background:var(--papel-hondo);padding:96px 0}
  .origenes-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px;margin-bottom:64px}
  .origenes-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.15}
  .origenes-head p{color:var(--tinta-suave);max-width:60ch;font-size:1.0625rem}
  .origenes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
  .origen-card{background:var(--papel);border-top:3px solid var(--tabaco);padding:32px 28px 36px;box-shadow:0 2px 14px rgba(42,32,24,.07)}
  .origen-num{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tabaco);background:var(--papel-hondo);display:inline-block;padding:5px 12px;border-radius:100px;margin-bottom:20px}
  .origen-card h3{font-size:1.4rem;font-weight:400;line-height:1.15;margin-bottom:2px}
  .origen-sub{font-family:"DM Sans",Georgia,serif;font-style:italic;color:var(--tabaco);font-size:.9375rem;margin-bottom:22px}
  .origen-datos{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--linea)}
  .origen-dato{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,2fr);gap:10px;font-size:.8125rem}
  .origen-dato dt{font-family:"DM Sans",system-ui,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
  .origen-dato dd{color:var(--tinta)}
  .origen-card p.perfil{font-size:.9375rem;line-height:1.6;margin-bottom:20px}
  .origen-ideal{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.03em;color:var(--tinta-suave);border-left:2px solid var(--tabaco);padding-left:12px}
  .origen-ideal strong{color:var(--tinta);font-weight:600}

  /* ---------- El café ---------- */
  .cafe{border-top:1px solid var(--linea);padding:96px 0}
  .cafe-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px;margin-bottom:64px}
  .cafe-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.15}
  .productos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
  .producto{display:flex;flex-direction:column}
  .bolsa{
    background:var(--blanco);
    aspect-ratio:4/5;
    position:relative;overflow:hidden;
    border:1px solid var(--linea);
  }
  .bolsa .b-foto{width:100%;height:100%;object-fit:contain;display:block;padding:28px}
  .b-info{margin-top:22px}
  .b-info .b-origen{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-suave)}
  .b-info .b-nombre{font-family:"Bricolage Grotesque",Georgia,serif;font-size:clamp(1.5rem,2.6vw,2.05rem);font-weight:700;line-height:1.1;margin-top:4px}
  .b-info .b-pie{display:flex;justify-content:space-between;align-items:baseline;font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.08em;color:var(--tinta-suave);margin-top:12px;padding-top:14px;border-top:1px solid var(--linea)}
  .bolsa .sello{
    position:absolute;top:20px;right:20px;width:56px;height:56px;border:1px solid var(--tabaco-claro);border-radius:50%;
    display:flex;align-items:center;justify-content:center;text-align:center;background:var(--blanco);
    font-family:"DM Sans",system-ui,sans-serif;font-size:.5rem;letter-spacing:.1em;line-height:1.4;color:var(--tabaco);
  }
  .producto.premium .bolsa .sello{border-color:var(--tabaco);color:var(--tabaco-oscuro)}
  .favorito-btn{
    position:absolute;top:20px;left:20px;width:34px;height:34px;padding:0;border:none;background:var(--blanco);border-radius:50%;cursor:pointer;
    display:flex;align-items:center;justify-content:center;color:var(--tinta-suave);transition:color .15s,transform .15s;
    box-shadow:0 1px 4px rgba(42,32,24,.12);
  }
  .favorito-btn:hover{transform:scale(1.12)}
  .favorito-btn svg{width:19px;height:19px}
  .favorito-btn svg .relleno{opacity:0;transition:opacity .15s}
  .favorito-btn.activo{color:var(--tabaco)}
  .favorito-btn.activo svg .relleno{opacity:1}
  .ficha{border-top:1px solid var(--linea);margin-top:28px}
  .ficha-fila{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,5fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--linea)}
  .ficha-fila dt{font-family:"DM Sans",system-ui,sans-serif;font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);padding-top:3px}
  .ficha-fila dd{font-size:.9375rem}
  .notas-cata{display:flex;gap:8px;flex-wrap:wrap}
  .nota-chip{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;letter-spacing:.05em;border:1px solid var(--tabaco);color:var(--tabaco);padding:4px 11px;border-radius:100px}
  .producto.premium .nota-chip{border-color:var(--tabaco-oscuro);color:var(--tabaco-oscuro)}

  /* ---------- Compra ---------- */
  .compra{margin-top:auto;padding-top:26px;flex:1;display:flex;flex-direction:column;justify-content:flex-end}
  .compra-precio{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
  .precio{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.9rem;font-weight:700;font-variant-numeric:tabular-nums}
  .precio-uni{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
  .compra-controles{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
  .cantidad{display:flex;border:1px solid var(--linea)}
  .cantidad button{
    width:40px;border:none;background:transparent;cursor:pointer;
    font-family:"DM Sans",system-ui,sans-serif;font-size:1rem;color:var(--tinta);
  }
  .cantidad button:hover{background:var(--papel-hondo)}
  .cantidad output{width:42px;display:flex;align-items:center;justify-content:center;font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;font-variant-numeric:tabular-nums;border-left:1px solid var(--linea);border-right:1px solid var(--linea)}
  .compra .btn{flex:1;min-width:150px;text-align:center;font-size:.75rem;padding:14px 20px}

  .carrito{margin-top:56px;padding:28px 30px;background:var(--blanco);border:1px solid var(--linea);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
  .carrito-info p:first-child{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:6px}
  .carrito-total{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.6rem;font-variant-numeric:tabular-nums}
  .carrito-envio{font-size:.875rem;color:var(--tinta-suave);margin-top:4px}
  .compra-aviso{margin-top:14px;font-size:.8125rem;color:var(--tinta-suave)}

  /* ---------- Ritual ---------- */
  .ritual{border-top:1px solid var(--linea);background:var(--tinta);color:var(--papel)}
  .ritual-in{padding:84px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
  .ritual .eyebrow{color:var(--tabaco-claro)}
  .ritual h3{font-size:1.4rem;font-weight:400;margin:14px 0 10px;color:var(--blanco)}
  .ritual p{font-size:.9875rem;color:var(--linea);max-width:30ch}

  /* ---------- Membresía ---------- */
  .membresia{border-top:1px solid var(--linea);padding:96px 0}
  .membresia-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px;margin-bottom:56px}
  .membresia-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.15}
  .membresia-head p{color:var(--tinta-suave);max-width:56ch;font-size:1.0625rem}
  .club{
    border:1px solid var(--linea);background:var(--blanco);
    display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
  }
  .club-armar{padding:44px;border-right:1px solid var(--linea)}
  .club-grupo{margin-bottom:32px}
  .club-grupo:last-child{margin-bottom:0}
  .club-label{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;font-weight:600;
    letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);
    margin-bottom:14px;display:block;
  }
  .club-opciones{display:flex;gap:10px;flex-wrap:wrap}
  .club-pill{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;
    padding:11px 18px;border:1px solid var(--linea);background:var(--papel);
    cursor:pointer;color:var(--tinta);transition:border-color .15s,background .15s,color .15s;
  }
  .club-pill:hover{border-color:var(--tinta-suave)}
  .club-pill.activa{background:var(--tabaco);border-color:var(--tabaco);color:var(--blanco)}
  .club-resumen{
    background:var(--tinta);color:var(--papel);
    padding:44px;display:flex;flex-direction:column;justify-content:space-between;
  }
  .club-resumen-top p.eyebrow{color:var(--tabaco-claro);margin-bottom:6px}
  .club-frase{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.35rem;font-weight:700;line-height:1.35;margin-bottom:28px}
  .club-frase strong{font-weight:500;color:var(--blanco)}
  .club-linea{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--tinta-borde);font-size:.9375rem;color:var(--linea)}
  .club-linea span:last-child{color:var(--blanco);font-variant-numeric:tabular-nums}
  .club-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:18px;margin-top:6px;border-top:1px solid var(--tinta-borde)}
  .club-total{gap:12px}
  .club-total > span:first-child{white-space:nowrap}
  .club-total-num{font-family:"Bricolage Grotesque",Georgia,serif;font-size:clamp(1.5rem,2.1vw + .6rem,2.1rem);font-variant-numeric:tabular-nums;white-space:nowrap}
  .club-ahorro{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.04em;color:var(--tabaco-claro);margin-top:6px}
  .club .btn{width:100%;text-align:center;margin-top:26px;background:var(--tabaco);border-color:var(--tabaco)}
  .club .btn:hover{background:var(--papel);color:var(--tinta);border-color:var(--papel)}

  /* ---------- Lista de correo ---------- */
  .lista{border-top:1px solid var(--linea);background:var(--tinta);color:var(--papel)}
  .lista-in{padding:76px 0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:48px;align-items:center}
  .lista .eyebrow{color:var(--tabaco-claro)}
  .lista h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:var(--blanco);margin-top:10px;line-height:1.2}
  .lista p.lista-copy{color:var(--linea);margin-top:12px;max-width:44ch;font-size:.9875rem}
  .lista-form{display:flex;gap:0;border:1px solid var(--tinta-borde);background:var(--tinta-panel)}
  .lista-form input{
    flex:1;min-width:0;background:transparent;border:none;padding:17px 20px;
    font-family:"DM Sans",Georgia,serif;font-size:1rem;color:var(--blanco);
  }
  .lista-form input::placeholder{color:var(--tabaco-claro)}
  .lista-form input:focus{outline:none}
  .lista-form button{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
    padding:0 26px;border:none;background:var(--tabaco);color:var(--blanco);cursor:pointer;white-space:nowrap;
    transition:background .2s;
  }
  .lista-form button:hover{background:var(--tabaco-oscuro)}
  .lista-nota{margin-top:12px;font-size:.8125rem;color:var(--tabaco-claro)}

  /* ---------- Carrito y Favoritos (nav) ---------- */
  .nav-iconos{display:flex;align-items:center;gap:4px}
  .idioma-btn{
    height:38px;padding:0 10px;border:1px solid var(--linea);background:transparent;cursor:pointer;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.06em;color:var(--tinta-suave);
    transition:color .15s,border-color .15s;
  }
  .idioma-btn:hover{color:var(--tabaco);border-color:var(--tabaco-claro)}
  .cuenta-btn{color:var(--tinta);display:flex;align-items:center;text-decoration:none;transition:color .15s}
  .cuenta-btn:hover{color:var(--tabaco)}
  .cuenta-btn svg{width:22px;height:22px}
  .cuenta-btn{gap:6px;padding:0 6px}
  .cuenta-txt{font-family:"DM Sans",system-ui,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.02em;white-space:nowrap}
  @media(max-width:700px){.cuenta-txt{display:none}.cuenta-btn{padding:0}}
  .club-linea.club-descuento span:last-child{color:var(--tabaco-claro);white-space:nowrap}
  .carrito-btn,.favoritos-btn{
    position:relative;display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;border:none;background:transparent;cursor:pointer;color:var(--tinta);
    padding:0;
  }
  .carrito-btn svg,.favoritos-btn svg{width:22px;height:22px}
  .carrito-btn:hover,.favoritos-btn:hover{color:var(--tabaco)}
  .favoritos-btn svg .relleno{opacity:0;transition:opacity .15s}
  .favoritos-btn.activo svg .relleno{opacity:1}
  .favoritos-btn.activo{color:var(--tabaco)}
  .carrito-badge,.favoritos-badge{
    position:absolute;top:-2px;right:-4px;
    min-width:17px;height:17px;padding:0 4px;border-radius:100px;
    background:var(--tabaco);color:var(--blanco);
    font-family:"DM Sans",system-ui,sans-serif;font-size:.625rem;font-weight:600;
    display:flex;align-items:center;justify-content:center;line-height:1;
  }
  .carrito-overlay{
    position:fixed;inset:0;background:rgba(20,14,9,.45);
    opacity:0;pointer-events:none;transition:opacity .25s;z-index:40;
  }
  .carrito-overlay.abierto{opacity:1;pointer-events:auto}
  .carrito-panel{
    position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);
    background:var(--papel);border-left:1px solid var(--linea);
    display:flex;flex-direction:column;
    transform:translateX(100%);transition:transform .3s ease;
    z-index:90;
  }
  .carrito-panel.abierto{transform:translateX(0)}
  .carrito-panel-head{
    display:flex;justify-content:space-between;align-items:center;
    padding:24px 28px;border-bottom:1px solid var(--linea);
  }
  .carrito-panel-head h2{font-size:1.35rem;font-weight:400}
  .carrito-cerrar{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--tinta-suave);padding:6px}
  .carrito-cerrar:hover{color:var(--tinta)}
  .carrito-panel-items{flex:1;overflow-y:auto;padding:8px 28px}
  .carrito-vacio{padding:40px 0;text-align:center;color:var(--tinta-suave);font-size:.9375rem}
  .carrito-vacio a{color:var(--tabaco);text-decoration:none;border-bottom:1px solid var(--tabaco)}
  .carrito-item{
    display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;
    padding:20px 0;border-bottom:1px solid var(--linea);
  }
  .carrito-item-nombre{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.0625rem}
  .carrito-item-precio{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;color:var(--tinta-suave);margin-top:4px}
  .carrito-item-cantidad{display:flex;border:1px solid var(--linea)}
  .carrito-item-cantidad button{
    width:30px;height:30px;border:none;background:transparent;cursor:pointer;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.9375rem;color:var(--tinta);
  }
  .carrito-item-cantidad button:hover{background:var(--papel-hondo)}
  .carrito-item-cantidad output{
    width:32px;display:flex;align-items:center;justify-content:center;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;font-variant-numeric:tabular-nums;
    border-left:1px solid var(--linea);border-right:1px solid var(--linea);
  }
  .carrito-item-quitar{background:none;border:none;color:var(--tinta-suave);font-size:.9375rem;cursor:pointer;padding:4px}
  .carrito-item-quitar:hover{color:var(--tabaco)}
  .carrito-panel-footer{border-top:1px solid var(--linea);padding:24px 28px}
  .carrito-panel-envio{font-size:.8125rem;color:var(--tinta-suave);margin-bottom:14px}
  .carrito-panel-promo{font-size:.8125rem;line-height:1.45;margin:-6px 0 14px;padding:8px 10px;border-radius:8px}
  .carrito-panel-promo[hidden]{display:none}
  .carrito-panel-promo{display:flex;flex-direction:column;gap:6px;padding:0;background:none}
  .carrito-panel-promo[hidden]{display:none}
  .promo-linea{font-size:.8125rem;line-height:1.45;padding:8px 10px;border-radius:8px}
  .promo-linea.activa{background:#E6EFE0;color:#2f6b3a;font-weight:600}
  .promo-linea.pista{background:#F3E9D2;color:var(--tinta)}
  .tienda-promo{margin:14px 0 0;padding:12px 16px;background:#3F5B3A;color:#fff;border-radius:12px;font-size:1rem;line-height:1.5}.tienda-promo[hidden]{display:none}.tienda-promo+.tienda-promo{margin-top:10px}.tienda-promo strong{color:#E8A92B}
  .ct-descuento{color:#2f6b3a}
  .ct-fila[hidden]{display:none}
  .carrito-panel-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px;font-family:"DM Sans",system-ui,sans-serif}
  .carrito-panel-total span:last-child{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.5rem;color:var(--tinta);font-variant-numeric:tabular-nums}
  #carrito-panel-pagar{width:100%;text-align:center}
  @media(max-width:820px){
    .carrito-panel{width:100vw}
  }

  /* ---------- Checkout (dirección + pago con PayPal) ---------- */
  .checkout-panel{
    position:absolute;inset:0;background:var(--papel);
    overflow-y:auto;
    padding:24px 28px 32px;
  }
  .checkout-panel[hidden]{display:none}
  .checkout-panel:not([hidden]){display:flex;flex-direction:column}
  .checkout-panel h3{font-family:"Bricolage Grotesque",Georgia,serif;font-weight:700;font-size:1.2rem;margin:0 0 20px}
  .checkout-form{display:flex;flex-direction:column;gap:14px}
  .checkout-campo{display:flex;flex-direction:column;gap:6px;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave)}
  .checkout-campo input{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.9375rem;color:var(--tinta);
    padding:11px 12px;border:1px solid var(--linea);background:var(--blanco);
  }
  .checkout-campo input:focus-visible{outline:2px solid var(--tabaco);outline-offset:1px}
  .checkout-fila{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:420px){.checkout-fila{grid-template-columns:1fr}}
  .checkout-nota{font-size:.75rem;color:var(--tinta-suave);line-height:1.5;margin:2px 0 4px}
  .checkout-error{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:#a33;
    background:rgba(170,51,51,.08);border:1px solid rgba(170,51,51,.25);
    padding:12px 14px;margin:0;
  }
  .checkout-continuar{width:100%;text-align:center;margin-top:6px}
  .checkout-volver{
    background:none;border:none;cursor:pointer;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;color:var(--tinta-suave);
    text-align:left;padding:4px 0;align-self:flex-start;
  }
  .checkout-volver:hover{color:var(--tinta)}
  .checkout-cargando{padding:60px 0;text-align:center;color:var(--tinta-suave);font-size:.9375rem}
  .checkout-pago[hidden]{display:none}
  .checkout-pago:not([hidden]){display:flex;flex-direction:column;gap:18px}
  .checkout-total{font-family:"DM Sans",system-ui,sans-serif;font-size:.9375rem;color:var(--tinta);display:flex;flex-direction:column;gap:6px}
  .checkout-envios[hidden]{display:none}
  .checkout-envios:not([hidden]){display:flex;flex-direction:column;gap:14px}
  .envio-opciones{display:flex;flex-direction:column;gap:10px}
  .envio-opcion{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--tabaco-oscuro);border-radius:6px;cursor:pointer;background:rgba(255,255,255,.35)}
  .envio-opcion:has(input:checked){background:#fff;box-shadow:0 0 0 2px var(--tabaco-oscuro)}
  .envio-opcion-texto{display:flex;flex-direction:column;flex:1;font-family:"DM Sans",system-ui,sans-serif}
  .envio-opcion-texto small{opacity:.75}
  .envio-opcion-precio{font-family:"DM Sans",system-ui,sans-serif;font-weight:600;white-space:nowrap}
  .ct-fila{display:flex;justify-content:space-between;gap:12px}
  .ct-total{font-weight:600;font-size:1.0625rem;border-top:1px solid currentColor;padding-top:8px;margin-top:2px}
  #stripe-payment-container[hidden]{display:none}
  #stripe-payment-container:not([hidden]){display:flex;flex-direction:column;gap:14px}
  #stripe-pagar-btn:disabled{opacity:.6;cursor:default}
  .checkout-proximamente[hidden]{display:none}
  .checkout-proximamente:not([hidden]){display:flex;flex-direction:column;gap:14px;padding:20px 4px}
  .checkout-exito{padding:20px 4px;display:flex;flex-direction:column;gap:10px}
  .checkout-exito h3{margin:0}
  .checkout-exito-id{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave)}
  .carrito-panel{position:fixed;overflow:hidden}

  /* ---------- Footer ---------- */
  footer{border-top:1px solid var(--linea);padding:64px 0 40px}
  .foot-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:40px}
  .foot-logo{height:64px;width:auto;display:block;margin-bottom:14px}
  .foot-meta{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.08em;color:var(--tinta-suave)}
  .foot-titulo{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-suave);margin-bottom:14px}
  .foot-contacto{display:flex;flex-direction:column;gap:10px;font-size:.9375rem}
  .foot-contacto a{text-decoration:none;color:var(--tinta)}
  .foot-contacto a:hover{color:var(--tabaco)}
  .foot-links{display:flex;flex-direction:column;gap:10px;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem}
  .foot-links a{text-decoration:none;color:var(--tinta-suave)}
  .foot-links a:hover{color:var(--tinta)}
  .foot-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--linea);display:flex;flex-wrap:wrap;align-items:center;gap:16px;justify-content:space-between}
  .foot-legales{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
  .foot-pagos{display:flex;align-items:center;gap:10px}
  .foot-pagos-label{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;color:var(--tinta-suave)}
  .pago-icono{display:block;flex:none}
  .foot-legal{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.06em;color:var(--tinta-suave);text-decoration:underline;text-underline-offset:2px}
  .foot-legal:hover{color:var(--tabaco)}
  @media(max-width:820px){
    .foot-grid{grid-template-columns:minmax(0,1fr)}
  }

  @media(max-width:820px){
    .hero-grid,.manifiesto-in,.cafe-head,.cafe-grid,.origenes-head,.origenes-grid,.membresia-head,.club,.lista-in,.teaser-in,.productos{grid-template-columns:minmax(0,1fr)}
    .productos{gap:40px}
    .ritual-in{grid-template-columns:minmax(0,1fr);gap:36px}
    .hero-nota{border-left:none;padding-left:0;border-top:1px solid var(--linea);padding-top:20px}
    header.hero{padding:64px 0 56px}
    .contornos{display:none}
    .origenes-grid{gap:20px}
    .origen-card{padding:28px 24px}
    .club-armar{border-right:none;border-bottom:1px solid var(--linea);padding:32px 24px}
    .club-resumen{padding:32px 24px}
    .lista-form{flex-direction:column}
    .lista-form button{padding:15px}
    .nav-in{flex-wrap:wrap;row-gap:14px}
    .nav-links{flex-wrap:wrap;gap:14px 20px}
    .teaser{padding:52px 0}
  }

  /* ---------- Page H1 (páginas internas) ---------- */
  .nosotros-h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.15;margin-bottom:22px;color:var(--tinta)}

  /* ---------- Home: teasers ---------- */
  .teasers{border-top:1px solid var(--linea)}
  .teaser{border-bottom:1px solid var(--linea);padding:72px 0}
  .teaser-in{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px;align-items:start}
  .teaser-in h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;line-height:1.2;margin-bottom:14px}
  .teaser-in p{color:var(--tinta-suave);max-width:56ch;font-size:1.0625rem;margin-bottom:20px}
  .teaser-link{
    font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;font-weight:600;
    letter-spacing:.06em;color:var(--tabaco);text-decoration:none;
    border-bottom:1px solid var(--tabaco);padding-bottom:2px;
  }
  .teaser-link:hover{color:var(--tabaco-oscuro);border-color:var(--tabaco-oscuro)}
  .teaser-productos{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}
  .teaser-producto{
    border:1px solid var(--linea);padding:16px 20px;flex:1;min-width:200px;
    display:flex;justify-content:space-between;align-items:baseline;gap:12px;
    text-decoration:none;color:var(--tinta);transition:border-color .15s;
  }
  .teaser-producto:hover{border-color:var(--tabaco)}
  .teaser-producto span:first-child{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.1rem}
  .teaser-producto span:last-child{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave)}
  @media(max-width:820px){
    .teaser-in{grid-template-columns:minmax(0,1fr)}
  }

  /* ---------- Aviso de cookies ---------- */
  .cookie-banner{
    position:fixed;left:0;right:0;bottom:0;z-index:80;
    background:var(--tinta-panel);color:var(--blanco);
    padding:18px 24px;
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 24px;
    box-shadow:0 -6px 20px rgba(0,0,0,.18);
    transform:translateY(120%);transition:transform .35s ease;
  }
  .cookie-banner.visible{transform:translateY(0)}
  body.cookie-banner-activo{padding-bottom:120px;transition:padding-bottom .35s ease}
  @media(max-width:640px){
    body.cookie-banner-activo{padding-bottom:170px}
  }
  .cookie-banner p{
    margin:0;max-width:640px;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;line-height:1.6;
    color:var(--blanco);
  }
  .cookie-banner a{color:var(--tabaco-claro);text-decoration:underline;text-underline-offset:2px}
  .cookie-banner a:hover{color:var(--blanco)}
  .cookie-banner button{
    flex-shrink:0;background:var(--tabaco-claro);color:var(--tinta-panel);border:none;cursor:pointer;
    font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.06em;
    padding:10px 22px;transition:background .15s;
  }
  .cookie-banner button:hover{background:var(--blanco)}
  @media (prefers-reduced-motion: reduce){
    .cookie-banner{transition:none}
  }

  /* ---------- Aviso de privacidad ---------- */
  .legal-page{padding:88px 0 96px}
  .legal-wrap{max-width:760px}
  .legal-fecha{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.06em;color:var(--tinta-suave);margin:-6px 0 32px}
  .legal-page h2{font-family:"Bricolage Grotesque",Georgia,serif;font-weight:700;font-size:1.3rem;margin:40px 0 14px;color:var(--tinta)}
  .legal-page p{margin-bottom:16px}
  .legal-lista{list-style:disc;padding-left:22px;margin-bottom:16px}
  .legal-lista li{margin-bottom:10px}
  .legal-page a{color:var(--tabaco);text-decoration:underline;text-underline-offset:2px}

/* ---------- Tienda y página de producto (Fase 3) ---------- */
.tienda{border-top:1px solid var(--linea);padding:96px 0}
.tienda-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:48px;margin-bottom:40px}
.tienda-head h1{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.15}
.filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filtro{font-family:"DM Sans",system-ui,sans-serif;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--linea);color:var(--tinta);padding:10px 20px;border-radius:100px;text-decoration:none;transition:background .15s}
.filtro:hover{background:var(--papel-hondo)}
.filtro.activo{background:var(--tinta);border-color:var(--tinta);color:var(--papel)}
.tienda-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.tienda-vacio{margin-top:24px;color:var(--tinta-suave)}
.tarjeta{display:flex;flex-direction:column}
.tarjeta[hidden]{display:none}
.tarjeta .bolsa .tarjeta-img{display:block;width:100%;height:100%}
.tarjeta .b-info{margin-top:18px}
.tarjeta-nombre{font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.4rem;font-weight:700;line-height:1.15;margin-top:4px}
.tarjeta-nombre a{color:inherit;text-decoration:none}
.tarjeta-nombre a:hover{text-decoration:underline;text-underline-offset:3px}
.tarjeta-compra{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:18px}
.tarjeta-compra .precio{font-size:1.5rem}
.tarjeta-compra .btn{font-size:.6875rem;padding:12px 16px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.etiqueta-ejemplo{position:absolute;left:14px;bottom:14px;font-family:"DM Sans",system-ui,sans-serif;font-size:.5625rem;letter-spacing:.16em;text-transform:uppercase;background:var(--tinta);color:var(--papel);padding:5px 10px;border-radius:100px}

.producto-pagina{border-top:1px solid var(--linea);padding:56px 0 96px}
.migas{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.06em;color:var(--tinta-suave);margin-bottom:32px}
.migas a{color:inherit}
.producto-det{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}
.producto-det .bolsa{position:sticky;top:96px}
.producto-det-info h1{font-family:"Bricolage Grotesque",Georgia,serif;font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:700;line-height:1.1;margin:6px 0 20px}
.producto-desc{font-size:1.0625rem;line-height:1.6;margin-top:4px}
.producto-det-info .ficha{margin-top:28px}
.producto-compra{padding-top:28px;flex:none}
.aviso-ejemplo{border:1px dashed var(--tabaco);color:var(--tabaco-oscuro);padding:14px 16px;font-size:.875rem}
.relacionados{border-top:1px solid var(--linea);padding:72px 0 96px}
.relacionados h2{font-family:"Bricolage Grotesque",Georgia,serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;margin-bottom:40px}

@media(max-width:900px){
  .tienda-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 24px}
}
@media(max-width:820px){
  .tienda{padding:64px 0}
  .tienda-head{grid-template-columns:minmax(0,1fr);gap:16px}
  .producto-det{grid-template-columns:minmax(0,1fr);gap:36px}
  .producto-det .bolsa{position:relative;top:auto}
}
@media(max-width:520px){
  .tienda-grid{grid-template-columns:minmax(0,1fr)}
}

/* Entrega local (Fase 4a): el aviso del checkout se resalta cuando el CP está en la zona */
.checkout-nota-local{color:var(--tabaco-oscuro);font-weight:500}

/* Selector de tamaño (presentaciones) */
.presentaciones{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.pres{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.04em;padding:9px 14px;border:1px solid var(--linea);background:transparent;color:inherit;cursor:pointer}
.pres:hover{background:var(--papel-hondo)}
.pres.activa{border-color:currentColor;background:var(--papel-hondo);font-weight:600}
.producto-compra .presentaciones{margin:0 0 16px}

/* ---------- Membresía en línea (Fase 5 · Etapa 2) ---------- */
.sus-pruebas{background:#FFF3CD;border:1px solid #E0C36A;color:#5a4500;padding:10px 14px;margin:0 0 18px;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem}
.sus-filas{display:flex;flex-direction:column;gap:10px}
.sus-fila{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--linea);background:var(--papel)}
.sus-fila-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.sus-fila-nombre{font-family:"DM Sans",system-ui,sans-serif;font-size:.9375rem;color:var(--tinta)}
.sus-fila-precio{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave)}
.sus-fila-precio s{opacity:.65}
.sus-fila-precio strong{color:var(--tabaco);font-weight:600}
.sus-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}
.sus-stepper button{width:34px;height:34px;border:1px solid var(--linea);background:var(--blanco);color:var(--tinta);font-size:1.1rem;cursor:pointer}
.sus-stepper button:hover{border-color:var(--tabaco);color:var(--tabaco)}
.sus-cant{min-width:30px;text-align:center;font-family:"DM Sans",system-ui,sans-serif;font-variant-numeric:tabular-nums}
.sus-btn{margin-top:26px;width:100%;text-align:center}
.club-armar .sus-btn{background:var(--tabaco);border-color:var(--tabaco);color:var(--blanco)}
.sus-h3{font-family:"Bricolage Grotesque",Georgia,serif;font-weight:700;font-size:1.3rem;margin:0 0 20px}
.sus-nota{margin-top:12px;line-height:1.5;letter-spacing:.02em}
.envio-opcion-precio{font-family:"DM Sans",system-ui,sans-serif;font-weight:600}
#sus-paso-datos[hidden],#sus-paso-armar[hidden],#sus-paso-envio[hidden],#sus-paso-pago[hidden],#sus-cargando[hidden],#sus-exito[hidden]{display:none}
#sus-paso-envio:not([hidden]){display:flex;flex-direction:column;gap:14px}
.club-armar .checkout-continuar,.club-armar .checkout-volver{margin-top:10px}

/* ---------- Reseñas (Fase 7) ---------- */
.est{position:relative;display:inline-block;color:#D9C8A0;letter-spacing:2px;line-height:1;font-size:1rem}
.est::before{content:"★★★★★";position:absolute;left:0;top:0;width:var(--p,0%);overflow:hidden;white-space:nowrap;color:#C08A2E}
.est-n{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave);margin-left:4px}
.est-tarjeta{margin-top:6px;display:flex;align-items:center}
.est-resumen{display:inline-flex;align-items:center;gap:4px;margin:2px 0 10px;text-decoration:none;color:inherit}
.est-resumen[hidden],.est-tarjeta[hidden]{display:none}
.resenas{padding:56px 0 32px;border-top:1px solid var(--linea)}
.resenas h2{font-size:clamp(1.5rem,3vw,1.9rem);margin-bottom:20px}
.res-resumen{display:flex;flex-wrap:wrap;gap:28px 48px;align-items:center;margin-bottom:24px}
.res-prom{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.res-prom-n{font-family:"Bricolage Grotesque",Georgia,serif;font-size:3rem;line-height:1}
.res-prom .est{font-size:1.25rem}
.res-prom-t,.res-meta,.res-nota{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave)}
.res-barras{flex:1;min-width:220px;max-width:380px}
.res-bar{display:grid;grid-template-columns:28px 1fr 24px;gap:10px;align-items:center;font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;color:var(--tinta-suave);margin:4px 0}
.res-bar-fondo{height:8px;background:var(--papel-hondo);border-radius:4px;overflow:hidden;display:block}
.res-bar-fondo>span{display:block;height:100%;background:#C08A2E}
.res-vacio,.res-aviso{font-family:"DM Sans",system-ui,sans-serif;font-size:.9rem;color:var(--tinta-suave);margin:0 0 14px}
.res-aviso a{color:var(--tabaco)}
.res-ok{background:var(--papel-hondo);border-left:3px solid var(--tabaco);padding:10px 14px;font-family:"DM Sans",system-ui,sans-serif;font-size:.875rem;margin:0 0 14px}
.res-accion{margin:6px 0 28px}
.res-lista{display:grid;gap:22px}
.res-item{border-top:1px solid var(--linea);padding-top:18px}
.res-item-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.res-texto{white-space:pre-wrap;margin:6px 0}
.res-meta{margin:6px 0 0}
.res-verif{color:#5a7a3a}
.res-resp{background:var(--papel);border-left:3px solid var(--tabaco);padding:10px 14px;margin-top:12px;font-size:.9rem}
.res-resp strong{font-family:"DM Sans",system-ui,sans-serif;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tabaco)}
.res-resp p{margin:4px 0 0;white-space:pre-wrap}
.res-form{display:grid;gap:8px;max-width:520px;margin-top:6px}
.res-form label{font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;color:var(--tinta-suave);margin-top:6px}
.res-form input,.res-form textarea{font:inherit;padding:10px 12px;border:1px solid var(--linea);background:var(--blanco);color:var(--tinta);border-radius:4px;width:100%;box-sizing:border-box}
.res-stars{display:flex;gap:4px}
.res-star{background:none;border:0;font-size:2rem;line-height:1;color:#D9C8A0;cursor:pointer;padding:2px}
.res-star.on{color:#C08A2E}
.res-form-btns{display:flex;gap:12px;align-items:center;margin-top:8px}
.res-cancelar{background:none;border:0;color:var(--tinta-suave);text-decoration:underline;cursor:pointer;font:inherit}
.res-error{color:#8a2b1f;font-family:"DM Sans",system-ui,sans-serif;font-size:.8125rem;margin:0;min-height:1em}
