/* ZAIRA — estilos compartidos de las páginas internas (fichas, recetas, ayuda) */
:root{
  --green-deep:#1F3D2B; --green-sage:#3E6B4B; --gold:#F2B134; --orange:#E06A24;
  --rust:#C94A2B; --cream:#F6E8CF; --paper:#FBF6E9; --ink:#1B2420; --muted:#6b6658;
  --display:'Space Grotesk', sans-serif; --body:'DM Sans', sans-serif;
  --content:1200px; --margin:56px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,video{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.05;letter-spacing:-.01em;margin:0;}
p{line-height:1.6;margin:0;}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
.wrap{max-width:var(--content);margin:0 auto;padding:0 var(--margin);}
@media (max-width:900px){:root{--margin:20px;}}

/* ---------- aviso + header ---------- */
.z-banner{background:var(--rust);color:var(--paper);text-align:center;font-size:13px;font-weight:700;padding:9px 16px;}
.z-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid rgba(27,36,32,.08);}
.z-header .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;}
.z-nav{display:flex;gap:28px;}
.z-nav a{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;}
.z-nav a:hover{color:var(--rust);}
.z-logo{display:flex;align-items:center;justify-content:center;text-decoration:none;}
.z-logo img{height:64px;width:auto;}
.z-actions{display:flex;justify-content:flex-end;align-items:center;gap:6px;}
.z-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;position:relative;border:0;background:none;color:var(--ink);text-decoration:none;}
.z-icon svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;}
.z-count{position:absolute;top:3px;right:3px;background:var(--gold);color:var(--green-deep);font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.z-count[hidden]{display:none;}
.z-menu-btn{display:none;}
.z-mobile{display:none;}
@media (max-width:900px){
  .z-header .wrap{grid-template-columns:auto 1fr auto;height:64px;}
  .z-nav{display:none;}
  .z-menu-btn{display:inline-flex;}
  .z-logo img{height:50px;}
  .z-mobile{position:fixed;inset:0;background:var(--green-deep);z-index:80;padding:20px 24px;display:flex;flex-direction:column;gap:4px;transform:translateY(-100%);transition:transform .35s ease;}
  .z-mobile.open{transform:none;}
  .z-mobile a{color:var(--paper);font-family:var(--display);font-weight:800;font-size:26px;text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(246,232,207,.12);}
  .z-mobile .z-icon{color:var(--paper);align-self:flex-end;}
}

/* ---------- botones, chips ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 28px;border-radius:999px;font-weight:700;font-size:15px;border:2px solid transparent;text-decoration:none;transition:background .18s,color .18s,transform .18s;}
.btn:active{transform:scale(.97);}
.btn-primary{background:var(--rust);color:var(--paper);}
.btn-primary:hover{background:var(--green-deep);}
.btn-outline{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn-outline:hover{background:var(--ink);color:var(--paper);}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #d8cfb8;border-radius:99px;padding:7px 14px;font-size:13.5px;font-weight:600;text-decoration:none;}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--rust);}
.crumbs{font-size:13px;color:var(--muted);padding:22px 0 0;}
.crumbs a{text-decoration:none;}
.crumbs a:hover{color:var(--rust);}

/* ---------- ficha de salsa ---------- */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;padding:28px 0 80px;align-items:start;}
.pdp-gal{display:grid;gap:12px;position:sticky;top:96px;}
.pdp-main{aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#e9e0c8;}
.pdp-main img{width:100%;height:100%;object-fit:cover;}
.pdp-gal-track{height:100%;}
@media (min-width:901px){.pdp-gal-track img:not(:first-child){display:none;}}
.pdp-thumbs{display:flex;gap:10px;}
.pdp-thumbs button{width:76px;aspect-ratio:1;border-radius:6px;overflow:hidden;border:2px solid transparent;padding:0;background:#e9e0c8;}
.pdp-thumbs button.on{border-color:var(--ink);}
.pdp-thumbs img{width:100%;height:100%;object-fit:cover;}
.pdp-info h1{font-size:clamp(34px,4.6vw,56px);margin-top:10px;}
.pdp-notes{font-size:16px;color:var(--muted);margin-top:12px;}
.pdp-price{font-family:var(--display);font-weight:800;font-size:30px;margin-top:22px;display:flex;align-items:baseline;gap:12px;}
.pdp-price small{font-family:var(--body);font-weight:500;font-size:14px;color:var(--muted);}
.heat{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;margin-top:16px;}
.heat i{display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--rust);}
.heat i.off{background:#e3d8bf;}
.pdp-buy{display:flex;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap;}
.qty{display:inline-flex;align-items:center;border:1.5px solid #d8cfb8;border-radius:99px;height:52px;}
.qty button{width:44px;height:100%;border:0;background:none;font-size:18px;}
.qty span{min-width:22px;text-align:center;font-weight:700;}
.pdp-ship{font-size:13.5px;color:var(--muted);margin-top:14px;}
.pdp-desc{font-size:17px;margin-top:30px;}
.pdp-facts{list-style:none;padding:0;margin:26px 0 0;border-top:1px solid rgba(27,36,32,.1);}
.pdp-facts li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid rgba(27,36,32,.1);font-size:14.5px;}
.pdp-facts li span:first-child{color:var(--muted);}
.pdp-facts li span:last-child{text-align:right;font-weight:600;}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sticky-buy{display:none;}
@media (max-width:900px){
  .pdp{grid-template-columns:1fr;gap:26px;padding-top:14px;}
  .pdp-gal{position:static;}
  .sticky-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--paper);border-top:1px solid rgba(27,36,32,.12);padding:10px 16px calc(10px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .3s ease;}
  .sticky-buy.show{transform:none;}
  .sticky-buy strong{font-family:var(--display);font-size:16px;display:block;}
  .sticky-buy .btn{height:46px;padding:0 22px;}
}

/* ---------- secciones ---------- */
.band{padding:80px 0;}
.band-cream{background:var(--cream);}
.band-green{background:var(--green-deep);color:var(--paper);}
.band h2{font-size:clamp(28px,3.8vw,44px);}
.band .sub{margin-top:12px;color:var(--muted);max-width:56ch;}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px;margin-top:36px;}
.card{text-decoration:none;display:flex;flex-direction:column;}
.card-media{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#e9e0c8;}
.card-media img,.card-media video{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.card:hover .card-media img{transform:scale(1.03);}
.card h3{font-family:var(--body);font-weight:700;font-size:17px;margin-top:12px;line-height:1.3;}
.card .meta{font-size:13px;color:var(--muted);margin-top:4px;}
.card .meta.rust{color:var(--rust);font-weight:600;}
.card .price{font-family:var(--display);font-weight:800;margin-top:8px;}

/* ---------- receta ---------- */
.recipe{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:28px 0 80px;align-items:start;}
.recipe-media{border-radius:8px;overflow:hidden;aspect-ratio:4/5;background:#e9e0c8;position:sticky;top:96px;}
.recipe-media img,.recipe-media video{width:100%;height:100%;object-fit:cover;}
.recipe h1{font-size:clamp(32px,4.4vw,52px);margin-top:10px;}
.recipe-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:16px;font-size:14px;color:var(--muted);font-weight:600;}
.recipe h2{font-size:20px;margin-top:34px;}
.recipe ul,.recipe ol{padding-left:20px;margin:14px 0 0;line-height:1.7;font-size:16px;}
.recipe ol li{margin-bottom:8px;}
.sauce-box{display:flex;gap:16px;align-items:center;margin-top:34px;padding:16px;border-radius:10px;background:var(--cream);}
.sauce-box img{width:76px;height:76px;object-fit:cover;border-radius:8px;}
.sauce-box div{flex:1;}
.sauce-box small{font-size:12px;color:var(--muted);font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
.sauce-box strong{display:block;font-family:var(--display);font-size:18px;}
.sauce-box .btn{height:44px;padding:0 18px;}
@media (max-width:900px){.recipe{grid-template-columns:1fr;gap:24px;}.recipe-media{position:static;}}

/* ---------- texto largo (ayuda / historia) ---------- */
.prose{max-width:720px;padding:28px 0 80px;}
.prose h1{font-size:clamp(34px,4.6vw,54px);margin-top:10px;}
.prose .lead{font-size:19px;margin-top:18px;color:#3c443f;}
.prose h2{font-size:22px;margin-top:40px;}
.prose p{margin-top:14px;font-size:16.5px;}
.prose ul{margin:14px 0 0;padding-left:20px;line-height:1.7;}
.faq details{border-bottom:1px solid rgba(27,36,32,.12);padding:18px 0;}
.faq summary{font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;}
.faq summary::after{content:"+";font-size:22px;line-height:1;color:var(--rust);}
.faq details[open] summary::after{content:"–";}
.faq details p{margin-top:10px;}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;}

/* ---------- historia ---------- */
.story-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:36px 0 80px;}
.story-hero .media{border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--green-deep);}
.story-hero .media video,.story-hero .media img{width:100%;height:100%;object-fit:cover;}
.story-hero h1{font-size:clamp(34px,4.8vw,58px);margin-top:12px;}
.story-hero p{margin-top:18px;font-size:17.5px;}
.story-hero .philo{font-weight:700;color:var(--rust);}
@media (max-width:900px){.story-hero{grid-template-columns:1fr;gap:26px;}}

/* ---------- newsletter + footer ---------- */
.news{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;}
.news h2{font-size:clamp(24px,3.2vw,32px);}
.news form{display:flex;gap:10px;flex-wrap:wrap;}
.news input{height:52px;padding:0 18px;border:1.5px solid #d8cfb8;border-radius:99px;font:inherit;font-size:16px;min-width:260px;background:var(--paper);}
@media (max-width:900px){.news form{width:100%;}.news input{flex:1;min-width:0;}}
.z-footer{background:var(--ink);color:rgba(246,232,207,.82);padding:64px 0 0;}
.z-footer .top{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid rgba(246,232,207,.12);}
.z-footer img{height:84px;width:auto;filter:brightness(0) invert(1);}
.z-footer .cols{display:flex;gap:60px;flex-wrap:wrap;}
.z-footer h4{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold);margin:0 0 14px;}
.z-footer .cols div{display:flex;flex-direction:column;gap:9px;}
.z-footer a{font-size:14.5px;text-decoration:none;}
.z-footer a:hover{color:var(--paper);}
.z-footer .bottom{display:flex;justify-content:space-between;padding:20px 0;font-size:13px;color:rgba(246,232,207,.5);flex-wrap:wrap;gap:10px;}

/* ---------- aviso flotante ---------- */
.z-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 14px 12px 22px;border-radius:99px;font-size:14.5px;font-weight:600;opacity:0;pointer-events:none;transition:.3s;z-index:90;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);}
.z-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.z-toast a{background:var(--gold);color:var(--green-deep);padding:8px 14px;border-radius:99px;text-decoration:none;font-weight:800;white-space:nowrap;}
.z-toast span{flex:1;min-width:0;line-height:1.3;}
@media (max-width:900px){.z-toast{bottom:84px;left:16px;right:16px;transform:translateY(20px);max-width:none;border-radius:18px;font-size:13.5px;}.z-toast.show{transform:none;}}

/* ================= OPTIMIZACIÓN MÓVIL ================= */
@media (max-width:900px){
  .z-banner{font-size:11.5px;padding:7px 12px;}
  .z-header{transition:transform .3s ease;}
  html.z-hide .z-header{transform:translateY(-100%);}
  .z-icon{width:44px;height:44px;}
  .crumbs{padding-top:12px;font-size:12.5px;}
  .crumbs a{display:inline-block;padding:6px 0;}

  /* tarjetas en 2 columnas (antes 1 columna muy larga) */
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;}
  .card-media{aspect-ratio:1/1;border-radius:12px;}
  .card h3{font-size:15px;margin-top:10px;}
  .card .meta{font-size:12.5px;}
  .band{padding:48px 0;}
  .band h2{font-size:26px;}

  /* ficha: galería deslizable y compra arriba del pliegue */
  .pdp{gap:18px;padding:10px 0 40px;}
  .pdp-main{aspect-ratio:1/1;border-radius:14px;}
  .pdp-gal{gap:8px;}
  .pdp-gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;border-radius:14px;scrollbar-width:none;}
  .pdp-gal-track::-webkit-scrollbar{display:none;}
  .pdp-gal-track img{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1/1;object-fit:cover;}
  .pdp-thumbs{display:none;}
  .pdp-dots{display:flex;justify-content:center;gap:6px;}
  .pdp-dots i{width:7px;height:7px;border-radius:50%;background:#d8cfb8;}
  .pdp-dots i.on{background:var(--ink);}
  .pdp-info h1{font-size:30px;margin-top:6px;}
  .pdp-notes{font-size:14.5px;margin-top:6px;}
  .heat{margin-top:10px;}
  .pdp-price{font-size:26px;margin-top:14px;}
  .pdp-buy{margin-top:14px;flex-wrap:nowrap;}
  .pdp-buy .btn{flex:1;padding:0 16px;}
  .pdp-desc{font-size:16px;margin-top:22px;}
  .sticky-buy .btn{flex:0 0 auto;}
  .sticky-buy strong{font-size:15px;line-height:1.2;}
  .chip{min-height:38px;}

  /* receta e historia */
  .recipe{gap:18px;padding-top:10px;padding-bottom:40px;}
  .recipe-media{aspect-ratio:4/3;border-radius:14px;}
  .recipe h1{font-size:30px;}
  .recipe h2{margin-top:24px;}
  .sauce-box{flex-wrap:wrap;}
  .story-hero{padding:12px 0 40px;}
  .story-hero .media{aspect-ratio:1/1;}
  .story-hero h1{font-size:32px;}
  .prose{padding:12px 0 48px;}
  .prose h1{font-size:32px;}
  .cta-row .btn{flex:1 1 auto;}

  /* pie de página: ligas fáciles de tocar */
  .z-footer{padding-top:40px;}
  .z-footer .top{gap:28px;padding-bottom:28px;}
  .z-footer img{height:64px;}
  .z-footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%;}
  .z-footer .cols div{gap:0;}
  .z-footer .cols a{padding:9px 0;font-size:15px;}
  .news form{flex-wrap:nowrap;}
}
@media (min-width:901px){ .pdp-dots{display:none;} }
