/* NaturAO shared stylesheet (extracted from the single-page implementation) */
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
--bg:#F9F8F6;--card:#FFFFFF;--tx:#2C2C2C;--mut:#6b6b66;--ac:#4A5342;--acx:#F9F8F6;--bd:#E6E2D8;--gold:#C8A265;
--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--sans);line-height:1.5}
h1,h2,h3{margin:0}button,input,textarea,select{font:inherit}
html{touch-action:manipulation}input,select,textarea{font-size:max(16px,1em)}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;max-width:1000px;margin:auto}
header h1{font-size:1.5rem;letter-spacing:.04em}header h1 span{color:var(--ac)}
.btn{background:var(--ac);color:var(--acx);border:0;border-radius:8px;padding:10px 16px;cursor:pointer;font-weight:bold}
.btn.alt{background:transparent;color:var(--tx);border:1px solid var(--bd)}
main{max-width:1000px;margin:auto;padding:0 20px 60px}
.hero{padding:20px 0 4px}.hero p{color:var(--mut);margin:6px 0 0}
h2.sec{margin:28px 0 4px;font-size:1.35rem;border-bottom:2px solid var(--ac);padding-bottom:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:14px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}
.card .em{font-size:2.8rem;text-align:center;background:var(--bg);border-radius:10px;padding:12px}
.card p{margin:0;color:var(--mut);font-size:.92rem;flex:1}
.tag{font-size:.72rem;color:var(--gold);font-weight:bold;text-transform:uppercase;letter-spacing:.06em}
.price{font-size:1.25rem;font-weight:bold}
.card label{font-size:.78rem;color:var(--mut);margin:2px 0 -4px;display:block}
select{width:100%;padding:9px;border:1px solid var(--bd);border-radius:8px;background:var(--bg);color:var(--tx)}
.foot{margin-top:36px;padding:16px;border:1px solid var(--bd);border-radius:12px;background:var(--card);font-size:.92rem}
.overlay{position:fixed;inset:0;background:#0007;display:none;justify-content:flex-end;z-index:10}
.overlay.on{display:flex}
.panel{background:var(--bg);width:min(460px,100%);height:100%;overflow-y:auto;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px))}
.row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd)}
.qty{white-space:nowrap}.qty button{width:28px;height:28px;border-radius:6px;border:1px solid var(--bd);background:var(--card);color:var(--tx);cursor:pointer}
label.f{display:block;font-size:.85rem;color:var(--mut);margin:12px 0 4px}
input,textarea{width:100%;padding:10px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx)}
.pay{display:grid;gap:8px;margin-top:8px}
.pay label{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:10px;cursor:pointer}
.pay input{width:auto;margin-top:4px}
.box{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px;font-size:.92rem;margin-top:10px}
.sum{display:flex;justify-content:space-between;margin:6px 0}.sum.t{font-size:1.2rem;font-weight:bold;margin:12px 0}
.hide{display:none}small{color:var(--mut)}

.nav{display:flex;gap:4px}.nav button{background:transparent;border:0;color:var(--mut);padding:8px 12px;cursor:pointer;border-bottom:2px solid transparent;font-weight:bold}
.nav button.on{color:var(--tx);border-color:var(--ac)}
.heroimg{position:relative;border-radius:16px;overflow:hidden;margin-top:8px;min-height:280px;background:linear-gradient(135deg,#3f5a1c,#6d8a34)}
.heroimg img{width:100%;height:100%;min-height:340px;max-height:460px;object-fit:cover;display:block}
.heroimg .ov2{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff}
.heroimg h2{font-size:clamp(1.8rem,5vw,2.8rem);margin-bottom:4px}.heroimg p{margin:0 0 14px;max-width:520px}
.about{margin-top:32px;display:grid;gap:12px}.about p{margin:0;color:var(--mut);max-width:70ch}
.hl{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:14px}
.hl .card{cursor:pointer}.hl .card h3{font-size:1.1rem}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:28px;font-size:.92rem}
.perks div{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px}
.hide{display:none}

.heroimg{background:var(--card);border:1px solid var(--bd);min-height:0}
.heroimg .ov2{position:static;align-items:center;justify-content:center;text-align:center;color:var(--tx);padding:56px 24px}
.heroimg h2{color:var(--ac);letter-spacing:.12em;text-transform:uppercase;font-size:clamp(2.2rem,7vw,3.4rem);margin-bottom:10px}
.heroimg p{max-width:none;opacity:1!important}.heroimg p+p{color:var(--mut)}

.heroimg{background:#222;border:0;min-height:380px}
.heroimg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;display:block;min-height:0;max-height:none}
.heroimg .ov2{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.5));color:#fff;padding:24px;text-shadow:0 1px 8px #0008}
.heroimg h2{color:#fff}.heroimg p+p{color:#ffffffd9}

.wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#25D366;color:#fff;text-decoration:none;font-weight:bold;padding:12px 16px;border-radius:999px;box-shadow:0 4px 14px #0004;z-index:9;font-family:var(--sans)}
.cbtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.cbtns a{text-decoration:none;display:inline-block}

.faq{margin-top:12px;display:grid;gap:8px}
.faq details{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:12px 14px}
.faq summary{cursor:pointer;font-weight:bold}
.faq details[open] summary{color:var(--ac);margin-bottom:6px}
.faq p{margin:0;color:var(--mut);font-size:.95rem}

.alert{background:#b3261e;color:#fff;border-radius:12px;padding:16px;margin-top:14px;font-size:1.02rem;line-height:1.5;animation:pl 1.6s ease-in-out infinite}
@keyframes pl{0%,100%{box-shadow:0 0 0 0 #b3261e88}50%{box-shadow:0 0 0 8px #b3261e00}}

.alert.warn{background:#b45309}.alert.wait{background:#f4c20d;color:#2b2b2b}.alert.ok{background:#2e7d32;animation:none}
header{flex-wrap:wrap;gap:8px}.nav{flex-wrap:wrap}
@media(max-width:560px){.nav button{padding:6px 8px;font-size:.9rem}}

.req{color:#b3261e;font-weight:bold}
input.err{border-color:#b3261e!important;background:#b3261e14!important}
.emsg{color:#b3261e;font-size:.82rem;margin-top:3px;font-weight:bold}

header{position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);z-index:8;border-bottom:1px solid var(--bd)}
#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(76px + env(safe-area-inset-bottom,0px));background:var(--tx);color:var(--bg);border:0;border-radius:999px;padding:10px 18px;z-index:9;font-weight:bold;cursor:pointer;box-shadow:0 4px 14px #0004;white-space:nowrap}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}.bump{animation:bump .4s}

.about ul{margin:0;padding-left:22px;color:var(--mut)}.about li{margin:2px 0}

header{justify-content:flex-start}
header h1{order:1}
#open{order:2;margin-left:auto}
.nav{order:3;width:100%;justify-content:flex-start}
@media(min-width:700px){.nav{order:2;width:auto;margin-left:12px}#open{order:3}}

.card .em.ph{background:#fff;padding:0;height:250px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .em.ph img{max-width:100%;max-height:100%;object-fit:contain;display:block}

.card .em.ph{height:300px;background:#fff}
.card .em.ph.pk{height:210px}

.heroimg{min-height:0;background:linear-gradient(160deg,#2b4313,#5c7a2b);display:flex;flex-direction:column;align-items:center;padding:18px 16px 0}
.heroimg svg{width:min(100%,380px);height:auto;display:block}
.heroimg .ov2{position:static;inset:auto;background:none;padding:4px 16px 30px;width:100%}

.heroimg{overflow:hidden}
.deco{position:absolute;width:120px;height:auto;pointer-events:none;z-index:0;opacity:.95}
.deco.tr{top:0;right:0}.deco.bl{bottom:0;left:0;transform:rotate(180deg)}
.heroimg svg#pour,.heroimg .ov2{position:relative;z-index:1}
@media(min-width:700px){.deco{width:200px}}

.heroimg svg.deco{width:105px;height:auto}
@media(min-width:700px){.heroimg svg.deco{width:200px}}

.heroimg svg.deco{width:105px}

@media(min-width:700px){.heroimg svg.deco{width:190px}}

.deco.tl{top:0;left:0;right:auto;transform:scaleX(-1)}
@media(min-width:700px){.heroimg svg.deco{width:190px}}

.hl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.tile{border-radius:16px;padding:10px 12px 14px;cursor:pointer;color:#2b2a22;display:flex;flex-direction:column;gap:3px;box-shadow:0 2px 10px #0000001a;opacity:0;transform:translateY(26px);transition:transform .25s,box-shadow .25s}
.tile.in{opacity:1;transform:none;transition:opacity .6s ease var(--d,0s),transform .6s ease var(--d,0s),box-shadow .25s}
.tile.in:hover,.tile.in:active{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 26px #00000030}
.tile .timg{height:130px;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:4px}
.tile img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;animation:flt 4.5s ease-in-out infinite alternate}
.tile:nth-child(2) img{animation-delay:-1.1s}.tile:nth-child(3) img{animation-delay:-2.2s}.tile:nth-child(4) img{animation-delay:-3.3s}
@keyframes flt{from{transform:translateY(-4px)}to{transform:translateY(5px)}}
.tile .tag{color:#8a5d12}.tile h3{font-size:1.02rem;margin:2px 0 0}.tile p{margin:0;font-size:.85rem;color:#5b5a4e}.tile b{font-size:.85rem;color:#3f5a1c;margin-top:2px}
.t-alm{background:#f1dcc0}.t-mie{background:#fbe3a6}.t-oil{background:#dfeab9}.t-pack{background:#f4e6c4}
@media(prefers-reduced-motion:reduce){.tile img{animation:none}.tile{opacity:1;transform:none}}

/* ---- packs llamativos ---- */
.card.pack{position:relative;overflow:hidden;background:linear-gradient(160deg,#fffaf0,#f8ebc8);color:#2b2a22;border:2px solid #d9b54a;box-shadow:0 8px 22px #b8860b2e}
.card.pack h3{color:#2b2a22}.card.pack p{color:#5b5a4e}.card.pack .tag{color:#8a5d12}
.card.pack label{color:#6b5a2a}.card.pack select{background:#fff;color:#2b2a22;border-color:#e0cf9a}
.card.pack .price{color:#2b2a22}.card.pack .price s{color:#9a8a5a}
.card.pack .em.ph{background:linear-gradient(135deg,#fff3cf,#f5dc9c)}.card.pack .em.ph img{mix-blend-mode:multiply}
.card.pack::after,.tile.t-pack::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 38%,#ffffff99 50%,transparent 62%);transform:translateX(-130%);animation:shine 5.5s ease-in-out infinite;pointer-events:none}
#g2 .card:nth-child(2)::after{animation-delay:.6s}#g2 .card:nth-child(3)::after{animation-delay:1.2s}#g2 .card:nth-child(4)::after{animation-delay:1.8s}#g2 .card:nth-child(5)::after{animation-delay:2.4s}#g2 .card:nth-child(6)::after{animation-delay:3s}
@keyframes shine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.pbadge{position:absolute;top:10px;left:10px;z-index:2;background:#3f5a1c;color:#fff;font-size:.74rem;font-weight:bold;padding:4px 10px;border-radius:999px;box-shadow:0 2px 6px #0003}
.save{position:absolute;top:10px;right:10px;z-index:2;background:#c62828;color:#fff;font-size:.78rem;font-weight:bold;padding:5px 10px;border-radius:8px;box-shadow:0 2px 8px #c6282866;animation:pls 1.8s ease-in-out infinite}
@keyframes pls{0%,100%{transform:scale(1)}50%{transform:scale(1.09)}}
.card.pack .price{font-size:1.45rem;color:#8a1c1c}.card.pack .price:not(:has(s)){color:#2b2a22}
.tile.t-pack{position:relative;overflow:hidden;background:linear-gradient(150deg,#f9e9b4,#efc860);border:2px solid #d9a92a;box-shadow:0 8px 22px #b8860b40}
.rib{position:absolute;top:10px;right:-34px;transform:rotate(38deg);background:#c62828;color:#fff;font-size:.68rem;font-weight:bold;padding:4px 40px;letter-spacing:.02em;box-shadow:0 2px 6px #0003;z-index:2;white-space:nowrap}
@media(prefers-reduced-motion:reduce){.card.pack::after,.tile.t-pack::after,.save{animation:none}}

.rib{top:10px;right:10px;left:auto;transform:none;border-radius:8px;padding:5px 10px;font-size:.72rem;box-shadow:0 2px 8px #c6282866;animation:pls 1.8s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.rib{animation:none}}

/* ---- productos vistosos (los packs siguen destacando más) ---- */
.card.prod{color:#2b2a22;border:0;box-shadow:0 3px 12px #0000001f;opacity:0;transform:translateY(22px);transition:transform .25s,box-shadow .25s}
.card.prod.in{opacity:1;transform:none;transition:opacity .6s ease var(--d,0s),transform .6s ease var(--d,0s),box-shadow .25s}
.card.prod.in:hover{transform:translateY(-4px);box-shadow:0 12px 26px #0000002e}
.card.prod.t-alm{background:#f6e6d0}.card.prod.t-mie{background:#fdeebf}.card.prod.t-oil{background:#e8f0cd}
.card.prod h3{color:#2b2a22}.card.prod p{color:#5b5a4e}.card.prod .tag{color:#8a5d12}
.card.prod label{color:#6b6a50}.card.prod select{background:#fff;color:#2b2a22;border-color:#d9d4b8}.card.prod .price{color:#2b2a22}
.card.prod .em.ph{background:transparent}.card.prod .em.ph img{mix-blend-mode:multiply;animation:flt 4.5s ease-in-out infinite alternate}
#g1 .card:nth-child(even) .em img{animation-delay:-2.2s}
.card.pack{animation:glow 3s ease-in-out infinite}
@keyframes glow{0%,100%{box-shadow:0 8px 22px #b8860b2e}50%{box-shadow:0 8px 32px #d9a92a77}}
@media(prefers-reduced-motion:reduce){.card.prod{opacity:1;transform:none}.card.prod .em.ph img,.card.pack{animation:none}}

:root{--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
header h1{font-family:var(--sans);font-weight:800;letter-spacing:.06em}
.nav button{font-family:var(--sans);font-weight:600;font-size:.92rem}
.heroimg h2{font-family:var(--sans);font-weight:800;letter-spacing:.22em}
.heroimg p{font-family:var(--sans);letter-spacing:.03em}
.heroimg p:first-of-type{font-weight:500}.heroimg p+p{font-weight:300;letter-spacing:.08em}

#open{font-family:var(--sans);font-weight:700}

body{line-height:1.55;-webkit-font-smoothing:antialiased}
h2.sec{font-weight:800;letter-spacing:-.01em}
.card h3,.tile h3{font-weight:700;letter-spacing:-.005em}
.tag{letter-spacing:.1em;font-weight:700}
.price{font-weight:800;letter-spacing:-.01em}
.btn{font-weight:700;letter-spacing:.01em}

.flagbar{width:104px;height:7px;border-radius:4px;margin:12px auto 0;background:linear-gradient(90deg,#AA151B 0 25%,#F1BF00 25% 75%,#AA151B 75% 100%);box-shadow:0 1px 4px #0004}

.heroimg .ov2 p+p{font-weight:400;opacity:1}

.xmas{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:linear-gradient(135deg,#2b4313,#5c7a2b);color:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 22px #2b431355}
.xmas .xm-ic{font-size:2.6rem;line-height:1}.xmas .xm-tx{flex:1;min-width:230px}
.xmas h3{margin:0 0 6px;font-size:1.15rem;font-weight:800}.xmas p{margin:0 0 12px;color:#eef3df;font-size:.95rem}
.xmas .btn{background:#F1BF00;color:#2b2a22;display:inline-block;text-decoration:none}

.bizg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:14px}
.bizc{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;font-size:.9rem;color:var(--mut)}.bizc b{display:block;margin:4px 0;color:var(--tx);font-size:1rem}

@media(max-width:520px){header{padding:12px 14px}.nav{width:100%;justify-content:space-between;gap:0}.nav button{padding:6px 3px;font-size:.8rem;letter-spacing:0}}@media(max-width:360px){.nav button{font-size:.74rem;padding:6px 2px}}

.card.mine{grid-column:1/-1;text-align:center;border:0;color:#2b2a22;background:linear-gradient(115deg,#fdeebf 0%,#e8f0cd 55%,#f6e6d0 100%);box-shadow:0 3px 12px #0000001f;padding:18px 20px;gap:6px}
.card.mine h3{color:#2b2a22;margin:0}.card.mine p{color:#5b5a4e;margin:0}
.card.mine .em{background:transparent;font-size:2.2rem;padding:0}
.card.mine .tag{align-self:center;color:#8a5d12}.card.mine .btn.alt{background:#fffdf5;color:#2b2a22;border:1px solid #2b2a2255}
@media(min-width:760px){.card.mine{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"em tag btn" "em h3 btn" "em p btn";column-gap:20px;align-items:center;text-align:left;padding:16px 26px}
.card.mine .em{grid-area:em;font-size:2.6rem}.card.mine .tag{grid-area:tag;justify-self:start}.card.mine h3{grid-area:h3}.card.mine p{grid-area:p}.card.mine>.btn{grid-area:btn;width:auto;padding:12px 28px;white-space:nowrap}.card.mine #mine_opts{grid-column:1/-1}}
.card.mine #mine_opts{grid-template-columns:1fr 1fr}
.bzrow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--bd);font-size:.92rem}
.bzrow small{color:var(--mut)}.bzrow input{width:74px;text-align:center;flex:none}
.bznote{font-size:.85rem;color:var(--mut);margin:6px 0 0}

.card.prod .em.ph,.card.pack .em.ph{background:#fff}
.card.prod .em.ph img,.card.pack .em.ph img{mix-blend-mode:normal}

.em.ph{position:relative;cursor:zoom-in}
.em.ph::after{content:"⤢";position:absolute;right:8px;bottom:8px;width:26px;height:26px;border-radius:50%;background:#0000008c;color:#fff;font-size:15px;line-height:26px;text-align:center;pointer-events:none}
#gal{position:fixed;inset:0;background:#000000f2;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(54px + env(safe-area-inset-top,0px)) 0 calc(18px + env(safe-area-inset-bottom,0px))}
#gal.hide{display:none}
#gtrack{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}
#gtrack::-webkit-scrollbar{display:none}
.gslide{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;padding:0 12px}
.gslide img{max-width:min(100%,920px);max-height:70vh;object-fit:contain;background:#fff;border-radius:14px}
.gclose{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:12px;width:42px;height:42px;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:20px;cursor:pointer}
.gnav{display:none;position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.gprev{left:14px}.gnext{right:14px}
@media(min-width:700px){#gal.multi .gnav{display:block}}
#gcap{color:#fff;margin-top:12px;text-align:center;font-weight:700;padding:0 14px}
#gdots{display:flex;gap:8px;margin-top:10px;min-height:8px}#gdots i{width:8px;height:8px;border-radius:50%;background:#ffffff59}#gdots i.on{background:#fff}

.gslide img{touch-action:pan-x;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;will-change:transform}
#gal.zoomed .gslide img{touch-action:none;cursor:grab}
.gzoom{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:12px;display:flex;gap:8px}
.gzoom button{width:42px;height:42px;border-radius:50%;border:0;background:#ffffff26;color:#fff;font-size:24px;line-height:1;cursor:pointer}

.qrow{display:flex;gap:8px;align-items:stretch;margin-top:2px}
.qty2{display:flex;align-items:center;border:1px solid var(--bd);border-radius:10px;background:#fff;overflow:hidden;flex:none}
.qty2 button{width:34px;border:0;background:transparent;font-size:1.25rem;cursor:pointer;color:#2b2a22;padding:0}
.qty2 input{width:42px;text-align:center;border:0;border-radius:0;padding:8px 0;font-weight:700;background:transparent;color:#2b2a22;-moz-appearance:textfield}
.qty2 input::-webkit-outer-spin-button,.qty2 input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qrow .btn{flex:1;padding-left:8px;padding-right:8px}
.qinfo{font-size:.82rem;color:var(--mut);min-height:1.15em}

.card p.vline{flex:none;margin:-2px 0 0;font-size:.9rem}.card p.vline b{color:var(--tx)}.card.prod p.vline b,.card.pack p.vline b{color:#2b2a22}

.btn:disabled{opacity:.45;cursor:not-allowed}

.tel,.card .tel,.faq .tel,.foot .tel,.box .tel{color:var(--tx)!important;font-weight:700;text-decoration:underline;text-decoration-color:var(--ac);text-underline-offset:3px}
a[x-apple-data-detectors],a[href^="tel:"]:not(.tel),a[href^="mailto:"]:not(.btn){color:inherit!important;text-decoration:none!important}

:root{--lm:#2C2C2C;--ls:#4A5342}
.mk{display:block;height:auto;flex:none}
.mk use.s{fill:var(--ls)}.mk use.m{fill:var(--lm)}
header h1.brand{display:flex;align-items:center;gap:10px;font-size:1rem;letter-spacing:0;font-weight:600;color:var(--tx)}
header h1.brand .nm{font-family:'Josefin Sans','Century Gothic','Futura',var(--sans);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:1.05rem;line-height:1;color:var(--tx)}
header h1.brand .nm b{color:var(--ls);font-weight:600}
.heroimg .ov2 h2.herologo{display:flex;flex-direction:column;align-items:center;gap:12px;margin:0 0 6px;font-weight:600;letter-spacing:0}
.heroimg .herologo .hl{width:min(60vw,205px)}
.heroimg .herologo .hnm{font-family:'Josefin Sans','Century Gothic','Futura',var(--sans);font-weight:600;font-size:clamp(1.9rem,9vw,2.5rem);letter-spacing:.16em;padding-left:.16em;text-transform:uppercase;color:#faf7f2;line-height:1}
.heroimg .herologo .hnm b{color:#8cb347;font-weight:600}
.heroimg .herologo .htag{font-family:'Josefin Sans','Century Gothic','Futura',var(--sans);font-weight:600;font-size:.72rem;letter-spacing:.18em;padding-left:.18em;text-transform:uppercase;color:#dbe8b8}
.sealrow{display:flex;justify-content:center;padding:26px 0 8px}

.emptycart{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 0 14px;text-align:center}
.emptycart p{margin:0;color:var(--mut)}

#s1:not(.hide){display:flex;flex-direction:column;min-height:calc(100% - 96px)}
#s1 .sealcart{margin-top:auto;padding:30px 0 4px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.sealcart .st{font-family:'Josefin Sans','Century Gothic','Futura',var(--sans);font-weight:600;font-size:.68rem;letter-spacing:.18em;padding-left:.18em;text-transform:uppercase;color:var(--mut)}

#sitefoot{max-width:1000px;margin:36px auto 0;padding:20px 20px calc(96px + env(safe-area-inset-bottom,0px));text-align:center;font-size:.86rem;color:var(--mut);border-top:1px solid var(--bd)}
#sitefoot a{color:var(--tx);cursor:pointer;text-decoration:underline;text-decoration-color:var(--ac);text-underline-offset:3px}
#sitefoot .fl{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
#sitefoot .fi{margin-top:14px}#sitefoot .fi a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700}
#sitefoot .fc{margin-top:12px}
.ppu{font-size:.82rem;color:var(--mut);margin-top:-6px}
.lk{color:var(--ac);text-decoration:underline}
#legal{position:fixed;inset:0;background:#000000a6;z-index:50;display:flex;align-items:flex-end;justify-content:center}
#legal.hide{display:none}
.lbox{background:var(--bg);color:var(--tx);width:min(720px,100%);max-height:92vh;overflow:auto;overscroll-behavior:contain;border-radius:18px 18px 0 0;padding:20px 20px calc(28px + env(safe-area-inset-bottom,0px));position:relative}
.lbox .lclose{position:sticky;top:0;float:right;margin-left:12px;z-index:1}
.lbox h2{margin:4px 0 6px}.lbox h3{margin:18px 0 6px;font-size:1.02rem}.lbox p,.lbox li{line-height:1.55;color:var(--tx)}.lbox ul{padding-left:20px}
.lbox .upd{font-size:.85rem;color:var(--mut);margin:0 0 8px}
mark.ph{background:#fff1a0;color:#222;padding:0 3px;border-radius:3px}

.stkrow{min-height:0;display:flex}
.stk{display:none;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
.stk.low{display:inline-block;background:#fff0d6;color:#8a4b00;border:1px solid #f0c27a}
.stk.out{display:inline-block;background:#fde2e2;color:#8a1f1f;border:1px solid #f0a5a5}
.stkmsg{font-size:.86rem;color:var(--tx);line-height:1.4}
.stkmsg .lk2{border:0;background:none;color:var(--ac);text-decoration:underline;cursor:pointer;font:inherit;font-weight:700;padding:0}
.topbar{background:var(--ac);color:var(--acx);text-align:center;font-size:.85rem;padding:7px 14px;letter-spacing:.2px}.topbar b{font-weight:700}.cpy{margin-left:8px;padding:4px 10px;border:1px solid var(--bd);border-radius:8px;background:var(--card);color:var(--tx);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;vertical-align:baseline}.cpy.ok{background:var(--ac);color:var(--acx);border-color:var(--ac)}
.heroimg .hbg{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(18,28,8,.34) 0%,rgba(18,28,8,.12) 40%,rgba(18,28,8,.58) 100%),url(img/campo-hero-m.jpg) center 60%/cover no-repeat}
@media(min-width:700px){.heroimg .hbg{background:linear-gradient(180deg,rgba(18,28,8,.4) 0%,rgba(18,28,8,.2) 45%,rgba(18,28,8,.6) 100%),url(img/campo-hero.jpg) center 55%/cover no-repeat}}
.heroimg svg.deco{display:none}
.heroimg .herologo .hnm,.heroimg .herologo .htag{text-shadow:0 2px 12px rgba(0,0,0,.45)}
.campo{margin-top:34px}.campo h2.sec{margin-bottom:4px}.campo>p{margin:0 0 14px;color:var(--mut);max-width:60ch}
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:760px){.cgrid{grid-template-columns:repeat(3,1fr);gap:14px}.cgrid figure:first-child{grid-column:auto;aspect-ratio:1/1}}
.cgrid figure:first-child{grid-column:1/-1;aspect-ratio:16/9}.cgrid figure{margin:0;position:relative;border-radius:14px;overflow:hidden;aspect-ratio:1/1;background:var(--card)}
.cgrid img{width:100%;height:100%;object-fit:cover;display:block}
.cgrid figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;color:#fff;font-size:.82rem;font-weight:600;letter-spacing:.04em;background:linear-gradient(transparent,rgba(0,0,0,.62))}
@media(min-width:760px){.cgrid figure:first-child{grid-column:auto;aspect-ratio:1/1}}
.em .nchip{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.62);color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.03em;padding:5px 10px;border-radius:999px;pointer-events:none}
.card .em.ph{position:relative}
.stkrow{align-items:center;flex-wrap:wrap;gap:8px}.stkwhy{font-size:.84rem;color:#8a1f1f}.stkwhy b{font-weight:700}
.bizg{gap:14px}
.bizc{position:relative;overflow:hidden;padding:20px 16px 16px;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s;line-height:1.45}
.bizc::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--bc,var(--ac))}
.bizc .bi{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;font-size:1.55rem;margin-bottom:10px;background:color-mix(in srgb,var(--bc,var(--ac)) 16%,var(--card))}
.bizc b{font-size:1.04rem;margin:2px 0 6px}
.bizc:nth-child(1){--bc:#5c7a2b}.bizc:nth-child(2){--bc:#d4a21f}.bizc:nth-child(3){--bc:#c0703a}.bizc:nth-child(4){--bc:#b4527a}
@media(hover:hover){.bizc:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.09)}}
.box.note{border-left:4px solid var(--ac);background:color-mix(in srgb,var(--ac) 9%,var(--card));border-radius:12px;padding:14px 16px}
@media(max-width:560px){.bizg{grid-template-columns:1fr;gap:12px}.bizc{display:grid;grid-template-columns:50px 1fr;column-gap:14px;align-items:start;padding:18px 16px 16px}.bizc .bi{grid-row:1/3;margin:0}.bizc b{margin:0 0 4px;align-self:end}}
.bizg{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px}
.bizc{padding:14px 14px 12px;font-size:.86rem;border-radius:14px;line-height:1.4}
.bizc .bi{width:38px;height:38px;border-radius:12px;font-size:1.2rem;margin-bottom:6px}
.bizc b{font-size:.98rem;margin:0 0 3px}
.bizc::before{height:3px}
@media(max-width:560px){.bizg{grid-template-columns:1fr;gap:8px}.bizc{grid-template-columns:38px 1fr;grid-template-rows:auto 1fr;column-gap:12px;padding:12px 14px 12px}.bizc .bi{margin:0}.bizc b{margin:0 0 2px}}
a.wal,a.mal{color:var(--tx);font-weight:700;text-decoration:underline;text-decoration-color:var(--ac);text-underline-offset:3px}
@media(min-width:561px){.bizg{grid-template-columns:repeat(2,1fr);gap:12px}.bizc{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto 1fr;column-gap:14px;align-items:start;padding:16px 18px 14px;font-size:.9rem}.bizc .bi{grid-row:1/3;margin:0;width:42px;height:42px;font-size:1.3rem}.bizc b{margin:0 0 3px;align-self:start}.bizc>span:not(.bi){grid-column:2}}

/* duo cards + FAQ */
.duo{margin-top:24px;display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.duo{grid-template-columns:1fr 1fr}}
.dc{position:relative;display:flex;flex-direction:column;align-items:flex-start;border-radius:16px;padding:18px 18px 16px;overflow:hidden}
.dc .dic{font-size:1.5rem;line-height:1;width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.dc h3{margin:0 0 6px;font-size:1.08rem;font-weight:800;line-height:1.25}
.dc p{margin:0 0 14px;font-size:.93rem;line-height:1.4}
.dc .dch{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.dc .dch span{font-size:.76rem;font-weight:700;padding:4px 9px;border-radius:99px}
.dc .btn{margin-top:auto;cursor:pointer;text-decoration:none;display:inline-block}
.dc1{background:linear-gradient(135deg,#2b4313,#5c7a2b);color:#fff;box-shadow:0 8px 22px #2b431344}
.dc1 .dic{background:#ffffff22}.dc1 p{color:#eef3df}.dc1 .dch span{background:#ffffff1f;color:#f4f7e6}
.dc1 .btn{background:#F1BF00;color:#2b2a22}
.dc2{background:var(--card);border:1px solid var(--bd);color:var(--tx)}
.dc2 .dic{background:#F1BF0033}.dc2 p{color:var(--mut)}.dc2 .dch span{background:var(--bg);border:1px solid var(--bd);color:var(--mut)}
.dc2 .btn{background:var(--ac);color:#fff}
.fgrp{margin:18px 0 2px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);font-weight:800}
.faq{gap:8px}
.faq details{padding:0;overflow:hidden;transition:border-color .15s,box-shadow .15s}
.faq details[open]{border-color:var(--ac);box-shadow:0 4px 14px #0000000d}
.faq summary{list-style:none;display:flex;align-items:center;gap:11px;padding:13px 14px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-style:normal;font-size:1.05rem;width:34px;height:34px;flex:none;border-radius:10px;background:var(--bg);border:1px solid var(--bd);display:flex;align-items:center;justify-content:center}
.faq summary::after{content:"";margin-left:auto;flex:none;width:8px;height:8px;border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.faq details[open] summary{margin-bottom:0}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-2px);border-color:var(--ac)}
.faq details>p{padding:0 14px 14px 59px;line-height:1.5}
.faqhelp{margin-top:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;background:var(--card);border:1px dashed var(--ac);border-radius:14px;padding:14px 16px}
.faqhelp>div:first-child{display:flex;flex-direction:column;gap:2px;flex:1;min-width:200px}
.faqhelp span{color:var(--mut);font-size:.9rem}
.faqhelp .fh-b{display:flex;gap:8px}.faqhelp .btn{text-decoration:none;cursor:pointer}

/* galería de 2 fotos */
.cgrid{grid-template-columns:1fr}
.cgrid figure,.cgrid figure:first-child{grid-column:auto;aspect-ratio:16/10}
@media(min-width:760px){.cgrid{grid-template-columns:1fr 1fr;gap:14px}.cgrid figure,.cgrid figure:first-child{aspect-ratio:4/3}}

/* ============================================================
   FASE 2 · IDENTIDAD NATURAO + ARQUITECTURA DE UNA SOLA PÁGINA
   ============================================================ */
:root{--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
body{background:var(--bg);color:var(--tx);font-family:var(--sans);font-weight:400}
#inicio{scroll-margin-top:110px}
.nav-brand .mk use.s{fill:var(--gold)}
.nav-brand .mk use.m{fill:var(--bg)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;color:var(--ac);line-height:1.16;letter-spacing:-.01em}
p,li,label,button,input,select,textarea,summary{font-family:var(--sans)}
a{color:inherit}
::selection{background:var(--gold);color:var(--tx)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--ac);color:var(--bg);padding:12px 18px;border-radius:8px;font:600 14px var(--sans);text-decoration:none;transition:top .15s ease}
.skip-link:focus{top:calc(10px + env(safe-area-inset-top,0px))}

/* Cabecera: cápsula flotante, plana y sticky */
.site-nav{position:sticky;top:calc(10px + env(safe-area-inset-top,0px));z-index:40;display:block;max-width:none;margin:0;padding:0 max(12px,env(safe-area-inset-left,0px));background:transparent;border:0;pointer-events:none}
.nav-pill{pointer-events:auto;max-width:1100px;margin:0 auto;min-height:64px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 8px 8px 20px;border-radius:999px;background:var(--ac);border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 30px rgba(44,44,44,.16);transition:box-shadow .18s ease}
.site-nav.scrolled .nav-pill{box-shadow:0 16px 42px rgba(44,44,44,.26)}
.nav-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;min-height:44px;padding:0 4px;color:var(--bg)}
.nav-brand .mk{width:30px;height:auto}
.nav-brand .nm{font-family:var(--serif);font-weight:500;font-size:1.18rem;letter-spacing:.11em;text-transform:uppercase;line-height:1}
.nav-brand .nm b{font-weight:500;color:var(--gold)}
.nav-links{justify-self:end}
.nav-links ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:999px;color:var(--bg);text-decoration:none;font-size:.875rem;font-weight:500;opacity:.78;transition:background .14s ease,opacity .14s ease}
.nav-links a:hover{background:rgba(255,255,255,.08);opacity:1}
.nav-links a[aria-current="page"]{background:rgba(255,255,255,.15);opacity:1}
.nav-actions{justify-self:end;display:flex;align-items:center;gap:6px}
.nav-cart{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:var(--gold);color:#2C2C2C;font:600 .875rem var(--sans);cursor:pointer;transition:transform .12s ease,filter .14s ease}
.nav-cart:hover{filter:brightness(1.04)}
.nav-cart:active{transform:scale(.98)}
.nav-cart #cnt{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--ac);color:var(--bg);font-size:.75rem;font-weight:600}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:transparent;color:var(--bg);cursor:pointer;padding:0;place-items:center}
.nav-toggle span{display:block;width:18px;height:1.5px;background:currentColor;margin:3px auto;transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4.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(-4.5px) rotate(-45deg)}
.nav-scrim{position:fixed;inset:0;z-index:44;background:rgba(30,34,26,.34);opacity:0;pointer-events:none;transition:opacity .18s ease}
.nav-scrim.open{opacity:1;pointer-events:auto}
.nav-sheet{position:fixed;z-index:45;top:calc(84px + env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));width:min(440px,calc(100vw - 24px));max-height:calc(100vh - 110px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;padding:20px;border-radius:26px;background:var(--bg);border:1px solid var(--bd);box-shadow:0 24px 60px rgba(44,44,44,.24);visibility:hidden;opacity:0;transform:translateY(-8px) scale(.98);transition:opacity .26s cubic-bezier(.22,1,.36,1),transform .26s cubic-bezier(.22,1,.36,1),visibility .26s}
.nav-sheet.open{visibility:visible;opacity:1;transform:none}
.nav-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.nav-sheet-head h2{font-size:1.35rem;margin:0;color:var(--tx)}
.nav-sheet-close{width:44px;height:44px;border:1px solid var(--bd);border-radius:50%;background:var(--card);color:var(--tx);font:400 1.15rem var(--sans);cursor:pointer}
.nav-sheet-links{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.nav-sheet-links a{display:flex;align-items:center;min-height:52px;padding:0 14px;border-radius:12px;text-decoration:none;color:var(--tx);font-weight:500}
.nav-sheet-links a:hover,.nav-sheet-links a[aria-current="page"]{background:rgba(74,83,66,.08);color:var(--ac)}
.nav-sheet-actions{display:grid;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--bd)}
.nav-sheet-actions .btn,.nav-sheet-actions .nav-cart{width:100%;justify-content:center;text-align:center;min-height:48px}
@media(max-width:960px){
  .nav-pill{grid-template-columns:auto 1fr auto;min-height:56px;padding:6px 6px 6px 16px}
  .nav-links{display:none}
  .nav-toggle{display:grid}
  .nav-brand .mk{width:27px}
}
@media(min-width:961px){.nav-sheet,.nav-scrim{display:none!important}}
@media(max-width:599px){.nav-cart{padding:10px 13px}.nav-cart .cart-label{display:none}.nav-brand .nm{font-size:1.02rem}}
@media(max-width:399px){.nav-brand .nm{display:none}}

/* Estructura de secciones */
#contenido{max-width:none;margin:0;padding:0}
.page-section{max-width:1100px;margin:0 auto;padding:56px 20px 12px;scroll-margin-top:110px}
.page-section+.page-section{padding-top:40px}
.section-head{max-width:70ch;margin-bottom:18px}
.section-head h2{font-size:clamp(1.75rem,3.6vw,2.55rem);margin-bottom:8px}
.section-head p{margin:0;color:var(--mut);line-height:1.65}
.eyebrow{display:block;font:600 .72rem var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.section-rule{height:1px;border:0;background:var(--bd);max-width:1100px;margin:8px auto 0}

/* Hero */
.heroimg{position:relative;max-width:1100px;margin:18px auto 0;min-height:480px;display:flex;align-items:flex-end;padding:0;border-radius:22px;overflow:hidden;background:linear-gradient(150deg,#3f4939,#242a22);border:0;text-align:left}
@media(max-width:699px){.heroimg{min-height:420px;border-radius:16px}}
#open{order:0;margin:0;font-family:inherit}
.heroimg .hbg{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(28,32,24,.32) 0%,rgba(28,32,24,.18) 35%,rgba(28,32,24,.72) 100%),url(img/campo-hero-m.jpg) center 60%/cover no-repeat}
@media(min-width:700px){.heroimg .hbg{background:linear-gradient(180deg,rgba(28,32,24,.4) 0%,rgba(28,32,24,.2) 40%,rgba(28,32,24,.72) 100%),url(img/campo-hero.jpg) center 55%/cover no-repeat}}
.heroimg #pour{display:none}
.heroimg .ov2{position:relative;z-index:1;width:100%;display:block;padding:48px clamp(22px,5vw,54px) 42px;color:var(--bg);text-align:left}
.heroimg .hero-eyebrow{margin:0 0 12px;font:600 .74rem var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.heroimg h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,5.4vw,4.1rem);line-height:1.06;letter-spacing:-.02em;color:#FFFFFF;margin:0 0 16px;max-width:17ch;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.heroimg .hero-sub{margin:0;max-width:56ch;color:#F1EEE6;font-size:1.03rem;line-height:1.6}
.heroimg .hero-sub+.hero-sub{margin-top:6px;color:#DAD6CC;font-size:.95rem}
.hero-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:24px;padding:11px 24px;border-radius:999px;background:var(--gold);color:#2C2C2C;text-decoration:none;font-weight:600;border:1px solid transparent}
.hero-btn:hover{filter:brightness(1.05)}
.flagbar{display:none}

/* Botones y controles */
.btn{background:var(--ac);color:var(--bg);border:1px solid var(--ac);border-radius:999px;padding:11px 20px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .14s ease,border-color .14s ease,transform .12s ease}
.btn:hover{background:#3c4436;border-color:#3c4436}
.btn:active{transform:scale(.99)}
.btn.alt{background:transparent;color:var(--ac);border:1px solid var(--bd)}
.btn.alt:hover{background:rgba(74,83,66,.06);border-color:var(--ac)}
select,input,textarea{background:var(--card);border:1px solid var(--bd);border-radius:8px;color:var(--tx);padding:10px}
select:focus,input:focus,textarea:focus{border-color:var(--ac);outline:none}
label.f{color:var(--mut);font-size:.82rem;letter-spacing:.02em}
.req{color:#9a4f3d}

/* Tarjetas de categoría */
.hl{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:8px}
.tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 16px 18px;border-radius:16px;background:var(--card);border:1px solid var(--bd);box-shadow:none;color:var(--tx);text-decoration:none;opacity:1;transform:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.tile.in,.tile:hover{opacity:1;transform:none;box-shadow:0 10px 26px rgba(44,44,44,.08);border-color:var(--gold)}
.tile .timg{height:150px;border-radius:12px;background:var(--bg);margin-bottom:6px}
.tile img{mix-blend-mode:normal;animation:none;max-height:100%}
.tile .tag{color:var(--gold);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.tile h3{font-family:var(--serif);font-size:1.25rem;font-weight:500;color:var(--tx);margin:0}
.tile p{font-size:.9rem;color:var(--mut);margin:0}
.tile b{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--ac);margin-top:6px}
.t-alm,.t-mie,.t-oil,.t-pack,.tile.t-pack,.card.prod.t-alm,.card.prod.t-mie,.card.prod.t-oil{background:var(--card);border:1px solid var(--bd);box-shadow:none}
.tile.t-pack::after,.card.pack::after,.rib,.save{display:none!important}

/* Prose / sobre nosotros */
.about{max-width:760px;margin:0;padding:0;display:grid;gap:14px}
.about p{margin:0;color:var(--mut);max-width:70ch;line-height:1.7}
.about ul{margin:0;padding-left:20px;color:var(--mut)}
.about li{margin:4px 0}
.about a{color:var(--ac);font-weight:600}

/* Perks / confianza */
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:22px}
.perk{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:16px;font-size:.9rem;color:var(--mut);display:flex;gap:11px;align-items:flex-start;line-height:1.5}
.perk svg{flex:none;width:20px;height:20px;color:var(--ac);margin-top:1px}
.perk b{color:var(--tx);font-weight:600}

/* Duo empresas/productores */
.duo{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
@media(min-width:700px){.duo{grid-template-columns:1fr 1fr}}
.dc{display:flex;flex-direction:column;align-items:flex-start;border-radius:16px;padding:24px;overflow:hidden}
.dc .dic{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(200,162,101,.16);color:var(--ac);margin-bottom:14px}
.dc .dic svg{width:20px;height:20px}
.dc h3{margin:0 0 8px;font-family:var(--serif);font-size:1.4rem;font-weight:500;line-height:1.2;color:var(--tx)}
.dc p{margin:0 0 18px;font-size:.94rem;line-height:1.6;color:var(--mut)}
.dc .dch{display:none}
.dc .btn{margin-top:auto;text-decoration:none}
.dc1{background:var(--ac);border:1px solid var(--ac);color:var(--bg)}
.dc1 .dic{background:rgba(255,255,255,.12);color:var(--gold)}
.dc1 h3{color:#FFFFFF}.dc1 p{color:#DADFD6}
.dc1 .btn{background:var(--gold);color:#2C2C2C;border-color:var(--gold)}
.dc2{background:var(--card);border:1px solid var(--bd)}
.dc2 .btn{background:transparent;color:var(--ac);border:1px solid var(--bd)}

/* Catálogo */
.cat-nav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 26px;position:sticky;top:86px;z-index:10;background:var(--bg);padding:10px 0}
.cat-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--bd);border-radius:999px;background:var(--card);color:var(--ac);text-decoration:none;font-size:.86rem;font-weight:500;transition:border-color .14s,background .14s}
.cat-nav a:hover{border-color:var(--gold);background:rgba(200,162,101,.08)}
.cat-block{padding:30px 0 10px;scroll-margin-top:150px}
.cat-block>h2{font-size:clamp(1.55rem,3vw,2.1rem);margin-bottom:6px}
.cat-block>.cat-intro{margin:0 0 16px;color:var(--mut);max-width:66ch;line-height:1.65}
.grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:12px}

/* Tarjetas de producto */
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:18px;box-shadow:none;color:var(--tx)}
.card.prod,.card.pack{background:var(--card);color:var(--tx);border:1px solid var(--bd);box-shadow:none;opacity:1;transform:none}
.card.prod.in{opacity:1;transform:none}
.card.prod.in:hover,.card.pack:hover{transform:none;box-shadow:0 14px 30px rgba(44,44,44,.08);border-color:var(--gold)}
.card.pack{border:1px solid var(--gold)}
.card .em{background:var(--bg);border-radius:12px}
.card .em.ph,.card.pack .em.ph,.card.prod .em.ph{background:#FFFFFF;height:280px}
.card .em.ph.pk{height:230px}
.card .em.ph img{mix-blend-mode:normal;animation:none}
.card .tag{color:var(--gold);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.card h3{font-family:var(--serif);font-size:1.35rem;font-weight:500;color:var(--tx);letter-spacing:0;line-height:1.2}
.card p{color:var(--mut);font-size:.91rem;line-height:1.55}
.card.pack h3,.card.pack p,.card.prod h3,.card.prod p{color:inherit}
.card.pack p,.card.prod p{color:var(--mut)}
.card .price,.card.pack .price,.card.prod .price{font-family:var(--sans);font-weight:600;color:var(--tx);font-size:1.35rem;letter-spacing:0}
.card.pack .price{color:var(--tx)}
.card label,.card.prod label,.card.pack label{color:var(--mut);font-size:.78rem}
.card.pack select,.card.prod select{background:var(--card);color:var(--tx);border-color:var(--bd)}
.card .em img{animation:none}
.pbadge{background:var(--ac);color:var(--bg);font-weight:600;font-size:.7rem;padding:4px 11px;box-shadow:none}
.card.pack{animation:none;background:var(--card);box-shadow:none}
.card.mine{background:var(--bg);border:1px solid var(--bd);color:var(--tx);box-shadow:none}
.card.mine h3{color:var(--tx)}.card.mine p{color:var(--mut)}
.card.mine .tag{color:var(--gold)}
.card.mine .em{color:var(--ac)}
.card.mine .btn.alt{background:var(--card);color:var(--ac);border-color:var(--bd)}
.card.pack .em.ph{background:var(--bg)}
.pbadge{position:absolute}
.vline.allergen{color:#8a5a3a}
.qty2{background:var(--card);border-color:var(--bd)}
.qinfo,.ppu{color:var(--mut)}
.price s{color:var(--mut)}

/* Formularios corporativos / productores */
.bizg{gap:12px}
.bizc{background:var(--card);border:1px solid var(--bd);border-radius:14px;box-shadow:none;padding:18px;color:var(--mut)}
.bizc::before{display:none}
.bizc .bi{background:rgba(74,83,66,.08);color:var(--ac);border-radius:50%;font-size:0;width:42px;height:42px}
.bizc .bi svg{width:20px;height:20px;display:block;margin:auto}
.bizc b{color:var(--tx);font-weight:600}
@media(hover:hover){.bizc:hover{transform:none;box-shadow:none;border-color:var(--gold)}}
.box{background:var(--card);border:1px solid var(--bd);border-radius:12px}
.box.note{border-left:3px solid var(--gold);background:rgba(200,162,101,.08)}
.bznote{color:var(--mut)}
.bzrow{border-bottom-color:var(--bd)}

/* Envíos, FAQ y contacto */
.info-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:760px){.info-grid{grid-template-columns:1fr 1fr}}
.info-card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:20px}
.info-card h3{margin:0 0 10px;font-size:1.2rem;color:var(--tx)}
.info-card ul{margin:0;padding-left:18px;color:var(--mut);line-height:1.7}
.info-card p{margin:0 0 8px;color:var(--mut);line-height:1.65}
.info-card b{color:var(--tx)}
.ship-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:.92rem}
.ship-table th,.ship-table td{padding:10px 8px;border-bottom:1px solid var(--bd);text-align:left;vertical-align:top}
.ship-table th{color:var(--ac);font-family:var(--serif);font-weight:500;font-size:1rem}
.ship-table td{color:var(--mut)}
.faq{display:grid;gap:8px;margin-top:16px}
.faq details{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:0;overflow:hidden}
.faq details[open]{border-color:var(--gold);box-shadow:none}
.faq summary{display:flex;align-items:center;min-height:52px;padding:13px 16px;font-weight:500;color:var(--tx);gap:0}
.faq summary i{display:none}
.faq summary::after{width:8px;height:8px;border-color:var(--ac)}
.faq details>p{padding:0 16px 15px;line-height:1.65;color:var(--mut)}
.fgrp{margin:22px 0 4px;font-family:var(--sans);font-size:.72rem;letter-spacing:.16em;color:var(--gold);font-weight:600}
.faqhelp{background:var(--card);border:1px dashed var(--bd);border-radius:12px;padding:16px}
.faqhelp span{color:var(--mut)}
.contact-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
@media(min-width:760px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:22px}
.contact-card h3{margin:0 0 8px;font-size:1.2rem;color:var(--tx)}
.contact-card p{margin:0 0 6px;color:var(--mut)}
.contact-card a{color:var(--ac);font-weight:600}

/* Pie */
.site-footer{max-width:1100px;margin:48px auto 0;padding:34px 20px calc(96px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--bd);color:var(--mut);font-family:var(--sans);font-size:.88rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px}
@media(max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}
.footer-brand .nm{font-family:var(--serif);font-size:1.3rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ac)}
.footer-brand .nm b{color:var(--gold);font-weight:500}
.footer-brand p{margin:10px 0 0;line-height:1.6}
.footer-col h3{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ac);margin:0 0 12px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.footer-col a,.footer-col button{display:inline-flex;align-items:center;min-height:32px;padding:0;border:0;background:none;color:var(--mut);text-decoration:none;font:inherit;cursor:pointer;text-align:left}
.footer-col a:hover,.footer-col button:hover{color:var(--ac);text-decoration:underline;text-underline-offset:3px}
.footer-legal{margin-top:28px;padding-top:18px;border-top:1px solid var(--bd);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.8rem}
#sitefoot{max-width:none;margin:0;padding:0;border:0;text-align:left}
#sitefoot .fl{display:block}

/* Galería y modales: foco y contraste */
#legal .lbox{border-radius:18px 18px 0 0}
.lbox h2,.lbox h3{color:var(--ac)}
.gclose,.gnav,.gzoom button{background:rgba(255,255,255,.16)}

/* Movimiento reducido */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .nav-sheet,.nav-scrim{transition:none}
}
@media(max-width:960px){
  .page-section{padding:40px 16px 8px;scroll-margin-top:86px}
  .heroimg{margin:12px 12px 0;min-height:420px;border-radius:18px}
  .cat-nav{top:74px}
}



/* --- multipage additions --- */
.crumbs{font-size:.85rem;margin:18px 0 6px;color:var(--mut)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 10px;padding:0;margin:0}
.crumbs li{display:inline}
.crumbs li+li::before{content:'\203A';margin-right:10px;color:var(--mut)}
.crumbs a{color:var(--ac);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current='page']{color:var(--mut)}
.legaldoc{max-width:760px;margin:0 auto}
.legaldoc h1{font-family:'Playfair Display',serif;font-size:2rem;margin:6px 0 10px}
.legaldoc h3{font-size:1.02rem;margin:18px 0 6px}
.legaldoc p,.legaldoc li{line-height:1.65}
.legaldoc .upd{color:var(--mut);font-size:.85rem}
/* ============================================================
   FASE 4 · SISTEMA DE DISEÑO Y PULIDO VISUAL
   ============================================================ */
:root{--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--shadow-sm:0 1px 3px rgba(44,44,44,.06);--shadow-md:0 10px 30px rgba(44,44,44,.10);--shadow-lg:0 24px 60px rgba(44,44,44,.18);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--hold:.14s ease;--container:1100px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* Ficha de producto: héroe a dos columnas */
.pdp .card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,420px);gap:8px 36px;align-items:start;padding:28px;border-radius:var(--r-xl);box-shadow:var(--shadow-md)}
.pdp .card>.em{grid-column:1;grid-row:1 / span 12;height:100%!important;min-height:420px;background:var(--bg);border-radius:var(--r-md)}
.pdp .card>.em img{position:absolute;inset:0;margin:auto;height:100%;width:100%;object-fit:contain}
.pdp .card>.em,.pdp .card>.em{overflow:hidden}
.pdp .card>.em .nchip{position:absolute;bottom:12px;left:50%;transform:translateX(-50%)}
.pdp .card>span:nth-child(2){display:block;grid-column:2}
.pdp .card>.tag{padding-top:6px}
.pdp .card>h3{grid-column:2;font-size:clamp(1.55rem,2.6vw,2rem)}
.pdp .card>.stkrow{grid-column:2;margin-top:-4px}
.pdp .card>p{grid-column:2}
.pdp .card>.vline{grid-column:2}
.pdp .card>label{grid-column:2;margin-top:4px}
.pdp .card>.qinfo{grid-column:2}
.pdp .card>.price{grid-column:2;font-size:1.6rem;margin-top:2px}
.pdp .card>.ppu{grid-column:2;margin-top:-6px}
.pdp .card>.qty2{grid-column:2;margin-top:6px}
.pdp .card>.add{grid-column:2}
.pdp .card>div{grid-column:2}
.pdp .card>select{grid-column:2;max-width:100%}
.pdp .card>.stkrow{display:flex;gap:10px}
@media(max-width:860px){.pdp .card{grid-template-columns:1fr;padding:20px}.pdp .card>.em{grid-row:1;min-height:280px!important}.pdp .card>:not(.em){grid-column:1!important}}
.pdp .card .nchip{position:relative}

/* Migas dentro del contenedor */
.crumbs{max-width:var(--container);margin:16px auto 4px;padding:0 20px}
@media(max-width:960px){.crumbs{padding:0 16px}}

/* Botonera: jerarquía consistent */
.btn,.hero-btn{min-height:46px;font-size:.95rem}
.btn.add,.qty2+.add{width:100%;min-height:50px;font-size:1rem}
.card .qrow{display:flex;gap:10px;align-items:stretch}
.card .qrow>.btn{flex:1;min-height:50px}

/* Formularios */
label.f{display:block;margin:14px 0 4px;color:var(--mut);font-size:.82rem;font-weight:500;letter-spacing:.02em}
input,select,textarea{min-height:44px;padding:9px 12px;border-radius:var(--r-sm);transition:border-color var(--hold),box-shadow var(--hold)}
textarea{min-height:0}
input:focus,select:focus,textarea:focus{border-color:var(--ac);box-shadow:0 0 0 3px rgba(74,83,66,.12)}
input.err,select.err,textarea.err{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.10)}
.emsg{color:#b3261e;font-size:.85rem;margin-top:5px;line-height:1.45}
.formerr{color:#b3261e}

/* Panel carrito: pulido */
.overlay{backdrop-filter:blur(2px)}
.panel{box-shadow:-18px 0 50px rgba(44,44,44,.18)}
.panel h2{font-size:1.45rem;margin:0}
#close{min-width:44px;min-height:44px;border-radius:50%;padding:0 0;font-size:1rem}
.emptycart{margin:8vh auto 0;max-width:300px;text-align:center;color:var(--mut);line-height:1.55}
.emptycart .btn{margin-top:14px}
#items .row{display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:60px;border-bottom:1px solid var(--bd);padding:9px 0;transition:opacity .25s ease,transform .25s ease}
#items .row small{color:var(--mut)}
#items .row .qty{display:inline-flex;align-items:center;white-space:nowrap}
#items .row .qty button{width:34px;height:34px;min-height:34px;border-radius:50%;border:1px solid var(--bd);background:var(--card);color:var(--tx);font-weight:600;cursor:pointer;padding:0;display:inline-grid;place-items:center;transition:border-color var(--hold),background var(--hold)}
#items .row .qty button:hover{border-color:var(--ac);background:rgba(74,83,66,.08)}
.item-removing{opacity:0;transform:translateX(-18px)}
.sealcart svg{width:84px;height:auto;display:block}
.sealcart{gap:8px;padding-top:24px}
.panel .sum:first-of-type{margin-top:16px;padding-top:14px;border-top:1px solid var(--bd)}

/* Checkout/checkout: opciones de pago y resumen */
.pm{display:flex;align-items:center;gap:10px;min-height:50px;padding:2px 14px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--card);transition:border-color var(--hold),background var(--hold)}
.pm:has(input:checked),.pm:has(input:checked){border-color:var(--ac);background:rgba(74,83,66,.06)}
.pm input{width:18px;height:18px;accent-color:var(--ac)}
.pm span{font-weight:500}
.cpy{border:1px solid var(--bd);background:var(--card);color:var(--tx);border-radius:999px;min-height:34px;padding:5px 14px;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color var(--hold),background var(--hold)}
.cpy:hover{border-color:var(--ac);background:rgba(74,83,66,.08)}

/* Pago: etiquetas y radio cards */
input[name=pm]{accent-color:var(--ac)}

/* Marcas de confianza */
.seccopy{color:var(--mut)}

/* Aviso de cookie/topbar */
.topbar{display:none}

/* Toast */
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(16px);border:1px solid rgba(255,255,255,.14);background:#2C2C2C;color:#FFFFFF;padding:11px 18px;border-radius:999px;font-size:.88rem;font-weight:500;box-shadow:var(--shadow-lg);transition:opacity .25s ease,transform .25s ease;opacity:0;pointer-events:auto}
#toast.hide{opacity:0;transform:translateX(-50%) translateY(16px)}
#toast:not(.hide){opacity:1;transform:translateX(-50%) translateY(0)}

/* Galería */
.gzoom{position:absolute}.gzoom button{min-width:40px;min-height:40px}

/* ================= FASE 4b · checkout stepper + payment options ================= */
.stepper{display:flex;align-items:center;gap:10px;margin:2px 0 12px}
.step-it{display:inline-flex;align-items:center;gap:8px;position:relative}
.step-it::before{content:attr(data-i);counter-reset:none}
.step-it{counter-increment:none}
.step-num-wrap{display:none}
.stepper{counter-reset:stepn}
.step-it{counter-increment:stepn}
.step-it em{font-style:normal}
.step-it::before{content:counter(stepn);width:26px;height:26px;min-width:26px;border-radius:50%;background:#F3F4F6;color:var(--mut);font-size:.8rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);transition:background var(--hold),color var(--hold)}
.step-it em{font-size:.86rem;font-weight:500;color:var(--mut);font-family:var(--sans)}
.step-it.is-now::before{background:var(--ac);color:#FFFFFF}
.step-it.is-now em{color:var(--tx);font-weight:600}
.step-it.is-done::before{background:var(--bd);color:var(--tx)}
.step-it.is-done em{color:var(--mut)}
.step-sep{flex:1;height:1px;background:var(--bd);min-width:8px}
.pay label{display:flex;align-items:flex-start;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--card);font-size:.92rem;cursor:pointer;transition:border-color var(--hold),background var(--hold);line-height:1.45}
.pay label:hover{border-color:var(--gold)}
.pay label:has(input:checked){border-color:var(--ac);background:rgba(74,83,66,.06);box-shadow:0 0 0 1px var(--ac) inset}
.pay label input{width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--ac)}
.pay{display:grid;gap:8px}
/* Stepper compacto en móvil */
@media(max-width:420px){.stepper .step-it em{display:none}}

/* ===== FASE VISUAL · NAV: carrito icono, cierre y footer ===== */
.nav-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.nav-actions .nav-cart--icon{position:relative;width:44px;height:44px;min-height:44px;padding:0;gap:0;justify-content:center;border-radius:50%;background:var(--gold);color:var(--tx)}
.nav-actions .nav-cart--icon svg{display:block;width:20px;height:20px}
.nav-actions .nav-cart--icon #cnt{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;border:2px solid var(--ac);background:var(--bg);color:var(--ac);font:600 .6875rem/18px var(--sans);display:inline-block;text-align:center}
.nav-actions .nav-cart--icon:focus-visible{outline-color:var(--bg)}
.nav-sheet-close{display:grid;place-items:center;padding:0}
.nav-sheet-close svg{display:block;width:18px;height:18px}
.site-footer{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
.footer-legal{line-height:1.7}

/* ===== FASE VISUAL · HOME 1: ritmo, hero y botones ===== */
.page-section{padding:clamp(56px,8vw,96px) 20px 0}
.page-section+.page-section{padding-top:clamp(56px,8vw,96px)}
.section-head{max-width:62ch;margin-bottom:clamp(24px,3vw,36px)}
.section-head h2{margin-bottom:12px}
.section-head p{font-size:1.02rem}
.heroimg{min-height:clamp(440px,72vh,640px);border-radius:16px}
.heroimg .ov2{padding:clamp(32px,6vw,72px)}
.heroimg h1{color:var(--bg);margin-bottom:20px}
.heroimg .hero-sub{color:var(--bg);opacity:.9;font-size:1.06rem}
.heroimg .hero-sub+.hero-sub{color:var(--bg);opacity:.72}
.btn,.hero-btn{min-height:48px}
.btn{padding:12px 24px}
.hero-btn{min-height:50px;padding:12px 28px;margin-top:28px;color:var(--tx)}
.site-footer{margin-top:clamp(72px,9vw,120px)}

/* ===== FASE VISUAL · HOME 2: tarjetas, radios y listas ===== */
.tile,.dc,.info-card,.contact-card{border-radius:var(--r-md)}
.tile .timg{border-radius:var(--r-sm);height:180px}
.hl{gap:20px;margin-top:0}
.tile{padding:20px 20px 22px;gap:8px}
.tile.in,.tile:hover{box-shadow:var(--shadow-md);border-color:var(--gold)}
.info-grid,.contact-grid,.duo{gap:20px}
.info-card,.contact-card{padding:clamp(22px,3vw,32px)}
.perks{gap:28px 32px;margin-top:8px}
.perk{background:transparent;border:0;border-top:1px solid var(--bd);border-radius:0;padding:20px 0 0}
.dc{padding:clamp(26px,4vw,44px)}
.dc1 p{color:rgba(249,248,246,.82)}
.dc1 .btn{color:var(--tx)}
.faq{gap:0;margin-top:8px;border-top:1px solid var(--bd)}
.faq details{background:transparent;border:0;border-bottom:1px solid var(--bd);border-radius:0}
.faq details[open]{border-color:var(--bd)}
.faq summary{min-height:60px;padding:16px 4px;font-size:1.02rem}
.faq details>p{padding:0 4px 20px;max-width:68ch}

/* ===== FASE VISUAL · TIENDA 1: tarjetas de listado ===== */
.grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:24px;margin-top:0}
.pcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--bd);border-radius:var(--r-md);overflow:hidden;color:var(--tx);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease}
.pcard:hover{border-color:var(--gold);box-shadow:var(--shadow-md)}
.pcard-img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:#FFFFFF;padding:24px;border-bottom:1px solid var(--bd);overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:contain;transition:transform .4s ease}
.pcard:hover .pcard-img img{transform:scale(1.03)}
.pcard-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px;flex:1}
.pcard-name{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.25;margin:0;color:var(--tx)}
.pcard-price{margin-top:auto;padding-top:10px;font-weight:600;font-size:1.05rem;color:var(--tx)}
.pcard-price small{font-weight:400;font-size:.8rem;color:var(--mut)}
.pcard-cta{font-size:.82rem;font-weight:600;color:var(--ac)}
.pcard .stkwhy{display:none}
@media(max-width:599px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pcard-img{padding:14px}
  .pcard-body{padding:12px 14px 16px}
  .pcard-name{font-size:1rem}
  .pcard-cta{display:none}
}
@media(prefers-reduced-motion:reduce){.pcard-img img{transition:none}.pcard:hover .pcard-img img{transform:none}}

/* ===== FASE VISUAL · TIENDA 2: ficha de producto y detalles ===== */
.pdp[data-h1]{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,440px);column-gap:clamp(32px,5vw,64px);row-gap:0;align-items:start}
.pdp[data-h1]>div[id^="pcard_"],.pdp[data-h1] .card{display:contents}
.pdp[data-h1]>*,.pdp[data-h1] .card>*{grid-column:2;margin-top:0;margin-bottom:12px}
.pdp[data-h1] .card>.em{grid-column:1;grid-row:1 / span 20;min-height:min(72vh,580px);margin:0;border:1px solid var(--bd);border-radius:var(--r-md);background:#FFFFFF}
.pdp[data-h1] .card>h3,.pdp[data-h1] .card>.tag,.pdp[data-h1] .card>p:not(.vline),.pdp[data-h1] .card>.allergen{display:none}
.pdp[data-h1] .eyebrow{margin-bottom:8px}
.pdp[data-h1] h1{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:12px}
.pdp-lead{color:var(--mut);line-height:1.65;font-size:1.02rem}
.pdp[data-h1] .card>.price{font-size:1.75rem;margin-top:8px;margin-bottom:2px}
.pdp-ship{margin-top:8px!important;padding-top:16px;border-top:1px solid var(--bd);font-size:.88rem;color:var(--mut);line-height:1.6}
@media(max-width:860px){
  .pdp[data-h1]{grid-template-columns:1fr}
  .pdp[data-h1]>*,.pdp[data-h1] .card>*{grid-column:1}
  .pdp[data-h1] .card>.em{grid-row:1;min-height:340px!important;margin-bottom:20px}
}
.stk{font-weight:600}
.stk.low{background:rgba(200,162,101,.16);color:#7a5a24;border-color:rgba(200,162,101,.5)}
.stk.out{background:rgba(154,79,61,.1);color:#9a4f3d;border-color:rgba(154,79,61,.35)}
.stkwhy{color:#9a4f3d}
.em.ph::after{content:"";width:34px;height:34px;right:12px;bottom:12px;border:1px solid var(--bd);background:rgba(249,248,246,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C2C2C' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4M11 8v6M8 11h6'/%3E%3C/svg%3E") center/16px no-repeat}
.qty2{border-radius:999px}
.qty2 button{width:44px;color:var(--tx)}
.qty2 input{color:var(--tx);font-weight:600}
.card.prod p.vline b,.card.pack p.vline b{color:var(--tx)}
/* ===== FASE VISUAL · CARRITO 1: panel, filas y resumen ===== */
.overlay{background:rgba(30,34,26,.34)}
.panel{padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(28px + env(safe-area-inset-bottom,0px))}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--bd)}
.panel h2{font-size:1.6rem}
#close{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--tx)}
#close svg{width:18px;height:18px}
#items .row{align-items:center;gap:16px;min-height:0;padding:18px 0}
.row-main{display:flex;align-items:center;gap:14px;min-width:0}
.row-img{flex:none;width:64px;height:64px;object-fit:contain;background:#FFFFFF;border:1px solid var(--bd);border-radius:var(--r-sm);padding:4px}
.row-txt{display:flex;flex-direction:column;gap:2px;font-size:.95rem;line-height:1.35;color:var(--tx);min-width:0}
.row-txt small{font-size:.85rem}
.row-ctl{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
#items .row .qty{border:1px solid var(--bd);border-radius:999px;background:var(--card);padding:2px;gap:2px}
#items .row .qty button{border:0;width:36px;height:36px;min-height:36px;background:transparent}
#items .row .qty .q{min-width:22px;text-align:center;font-weight:600;font-size:.92rem}
.row-del{border:0;background:none;padding:2px 0;min-height:24px;font:500 .8rem var(--sans);color:var(--mut);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.row-del:hover{color:var(--tx)}
.cart-summary{margin-top:8px;padding-top:8px}
.panel .sum{margin:0;padding:6px 0;font-size:.95rem;color:var(--tx)}
.panel .sum:first-of-type{margin-top:0;padding-top:6px;border-top:0}
.panel .sum small{color:var(--mut)}
.panel .sum.t{margin:8px 0 18px;padding-top:14px;border-top:1px solid var(--bd);font-size:1.2rem;font-weight:600}
.cart-go{width:100%;min-height:52px;font-size:1rem}
.cart-hint{margin-top:12px;padding:12px 14px;border-radius:var(--r-sm);background:rgba(200,162,101,.12);font-size:.9rem;color:var(--tx)}
.panel .alert{margin-top:12px;padding:12px 14px;border:1px solid rgba(154,79,61,.3);border-radius:var(--r-sm);background:rgba(154,79,61,.08);color:#7d3f31;font-size:.92rem;animation:none}
.panel .alert.ok{background:rgba(74,83,66,.08);color:var(--ac);border-color:rgba(74,83,66,.25)}
.emsg{color:#9a4f3d}
.gift-ask{margin-top:16px;padding:20px;border:1px solid var(--gold);border-radius:var(--r-md);background:var(--card);text-align:center}
.gift-ask-title{margin:0 0 6px;font-family:var(--serif);font-size:1.25rem;color:var(--ac)}
.gift-ask p{margin:0 0 14px;color:var(--mut);font-size:.92rem}
.gift-ask .btn{width:100%}
.gift-ask .btn+.btn{margin-top:8px}
.sealcart .st{font-family:var(--sans)}
#s1:has(.emptycart) .cart-summary{display:none}
/* ===== FASE VISUAL · CARRITO 2: página /carrito/ ===== */
body[data-page="cart"] .overlay{background:var(--bg);backdrop-filter:none;justify-content:center}
body[data-page="cart"] .panel{width:100%;box-shadow:none;background:var(--bg);padding:calc(110px + env(safe-area-inset-top,0px)) 20px 48px}
body[data-page="cart"] .panel>*{max-width:1100px;margin-left:auto;margin-right:auto}
body[data-page="cart"] #s2,body[data-page="cart"] #s3,body[data-page="cart"] #s4{max-width:640px}
body[data-page="cart"] #close{display:none}
body[data-page="cart"] .panel-head{border-bottom:0;padding-bottom:8px}
body[data-page="cart"] .panel h2{font-size:clamp(2rem,4vw,2.8rem)}
@media(min-width:900px){
  body[data-page="cart"] #s1:not(.hide){display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:56px;align-items:start;min-height:0}
  body[data-page="cart"] #s1>*{grid-column:1}
  body[data-page="cart"] #s1>.cart-summary{grid-column:2;grid-row:1 / span 3}
  body[data-page="cart"] .cart-summary{grid-column:2;grid-row:1 / span 3;position:sticky;top:110px;margin-top:0;padding:24px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r-md)}
  body[data-page="cart"] #items{border-top:1px solid var(--bd)}
  body[data-page="cart"] .row-img{width:88px;height:88px}
  body[data-page="cart"] #s1 .sealcart{margin-top:40px;align-items:flex-start;text-align:left}
  body[data-page="cart"] #s1:has(.emptycart){display:block}
}
/* ===== FASE VISUAL · CHECKOUT 1: pasos, campos y pago ===== */
.stepper{gap:0;margin:4px 0 28px}
.step-it{gap:10px}
.step-it::before{width:28px;height:28px;min-width:28px;font-size:.8125rem;background:rgba(74,83,66,.08);color:var(--mut)}
.step-it em{font-size:.875rem}
.step-it.is-now::before{background:var(--ac);color:var(--bg)}
.step-it.is-done::before{background:var(--gold);color:var(--tx)}
.step-it.is-done em{color:var(--tx)}
.step-sep{margin:0 14px}
.ck-title{margin:0 0 6px;font-size:1.15rem;color:var(--tx)}
.ck-title~.ck-title{margin-top:32px}
.ck-note{margin:0 0 4px;font-size:.85rem;line-height:1.5;color:var(--mut)}
.ck-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.ck-full{grid-column:1 / -1}
.ck-f label.f{margin:0 0 6px;font-size:.8125rem;color:var(--tx)}
.panel input:not([type=radio]):not([type=checkbox]),.panel select,.panel textarea{min-height:48px;padding:12px 14px;border-radius:var(--r-md)}
.panel textarea{min-height:88px;resize:vertical}
input[type=radio],input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;flex:none;accent-color:var(--ac)}
input.err,select.err,textarea.err{border-color:#9a4f3d;box-shadow:0 0 0 3px rgba(154,79,61,.12)}
.req{font-weight:400}
.pay{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.pay label{min-height:56px;padding:14px 16px;border-radius:var(--r-md)}
.pay label small{display:block;margin-top:2px;font-size:.8rem;color:var(--mut)}
.ck-radio,.ck-check{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;line-height:1.45;cursor:pointer}
.ck-radio{margin-top:10px}
.ck-check{margin-top:20px}
.ck-radio input,.ck-check input{margin-top:2px}
.panel .box{margin-top:16px;padding:16px;border-radius:var(--r-md);font-size:.92rem;line-height:1.55}
.panel .alert.warn{background:rgba(200,162,101,.14);border-color:rgba(200,162,101,.55);border-left:3px solid var(--gold);color:var(--tx)}
.ck-actions{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.ck-actions .btn{min-height:50px}
.btn.alt.ck-back{border:0;background:none;padding-left:0;padding-right:0;color:var(--mut)}
.btn.alt.ck-back:hover{color:var(--tx);background:none}
.ck-wide{display:flex;width:100%;justify-content:center;align-items:center;text-align:center;margin-top:10px}
.ck-details{margin-top:10px}
.ck-details summary{cursor:pointer;color:var(--mut);font-size:.9rem}
.ck-details textarea{margin-top:8px}
.ck-done{margin-top:16px}
.lk{color:var(--ac);text-underline-offset:3px}
@media(max-width:560px){
  .ck-grid,.pay{grid-template-columns:1fr}
  .ck-actions{flex-direction:column;align-items:stretch}
  .btn.alt.ck-back{align-self:center}
}
/* ===== FASE VISUAL · CHECKOUT 2: página /checkout/ y tarjeta de pasos ===== */
body[data-page="checkout"] .overlay{background:var(--bg);backdrop-filter:none;justify-content:center}
body[data-page="checkout"] .panel{width:100%;box-shadow:none;background:var(--bg);padding:calc(110px + env(safe-area-inset-top,0px)) 20px 48px}
body[data-page="checkout"] .panel>*{max-width:1100px;margin-left:auto;margin-right:auto}
body[data-page="checkout"] #close{display:none}
body[data-page="checkout"] .panel-head{border-bottom:0;padding-bottom:8px}
body[data-page="checkout"] .panel h2{font-size:clamp(2rem,4vw,2.8rem)}
body:is([data-page="cart"],[data-page="checkout"]) :is(#s2,#s3,#s4){max-width:620px;padding:clamp(22px,4vw,32px);background:var(--card);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
body:is([data-page="cart"],[data-page="checkout"]) .panel:has(#s1.hide) .panel-head{max-width:620px}
@media(min-width:900px){
  body[data-page="checkout"] #s1:not(.hide){display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:56px;align-items:start;min-height:0}
  body[data-page="checkout"] #s1>*{grid-column:1}
  body[data-page="checkout"] #s1>.cart-summary{grid-column:2;grid-row:1 / span 3;position:sticky;top:110px;margin-top:0;padding:24px;background:var(--card);border:1px solid var(--bd);border-radius:var(--r-md)}
  body[data-page="checkout"] #s1:has(.emptycart){display:block}
}
/* ===== FASE VISUAL · FOOTER olivo ===== */
#sitefoot.site-footer{max-width:none;margin:clamp(72px,9vw,120px) 12px 12px;padding:clamp(48px,6vw,72px) clamp(20px,5vw,56px) calc(28px + env(safe-area-inset-bottom,0px));border:0;border-radius:var(--r-lg);background:var(--ac);color:rgba(249,248,246,.78);font-size:.9rem}
#sitefoot .footer-grid{max-width:1100px;margin:0 auto;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
#sitefoot .footer-logo{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--bg);text-decoration:none}
#sitefoot .footer-logo .mk{width:34px;height:auto}
#sitefoot .footer-logo .mk use.s{fill:var(--gold)}
#sitefoot .footer-logo .mk use.m{fill:var(--bg)}
#sitefoot .footer-brand .nm{font-family:var(--serif);font-size:1.35rem;letter-spacing:.11em;text-transform:uppercase;line-height:1;color:var(--bg)}
#sitefoot .footer-brand .nm b{font-weight:500;color:var(--gold)}
#sitefoot .footer-brand p{margin:16px 0 0;max-width:36ch;line-height:1.65;color:rgba(249,248,246,.78)}
#sitefoot .footer-social{display:inline-grid;place-items:center;width:44px;height:44px;margin-top:20px;border:1px solid rgba(249,248,246,.24);border-radius:50%;color:var(--bg);transition:border-color .14s ease,background .14s ease}
#sitefoot .footer-social:hover{border-color:var(--gold);background:rgba(249,248,246,.06)}
#sitefoot .footer-social svg{width:20px;height:20px}
#sitefoot .footer-col h3{margin:0 0 14px;font:600 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bg)}
#sitefoot .footer-col ul{gap:2px}
#sitefoot .footer-col a,#sitefoot .footer-col button{min-height:36px;color:rgba(249,248,246,.8)}
#sitefoot .footer-col a:hover,#sitefoot .footer-col button:hover{color:var(--bg)}
#sitefoot .footer-legal{max-width:1100px;margin:48px auto 0;padding-top:24px;border-top:1px solid rgba(249,248,246,.16);font-size:.8rem;line-height:1.8;color:rgba(249,248,246,.75)}
#sitefoot .footer-legal a{color:rgba(249,248,246,.85);text-decoration:none}
#sitefoot .footer-legal a:hover{color:var(--bg);text-decoration:underline;text-underline-offset:3px}
@media(max-width:820px){#sitefoot .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}#sitefoot .footer-brand{grid-column:1 / -1}}
@media(max-width:480px){#sitefoot.site-footer{margin-left:8px;margin-right:8px}#sitefoot .footer-legal{flex-direction:column}}

/* ===== FASE VISUAL · EMPRESAS ===== */
.biz-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(40px,6vw,80px);align-items:start}
.biz-intro{position:sticky;top:110px}
.biz-intro .bizg{grid-template-columns:1fr;gap:0;margin-top:8px;border-top:1px solid var(--bd)}
.biz-intro .bizc{grid-template-columns:42px 1fr;column-gap:16px;padding:20px 0;background:none;border:0;border-bottom:1px solid var(--bd);border-radius:0;font-size:.92rem;color:var(--mut)}
.biz-intro .bizc:hover{border-color:var(--bd)}
.biz-intro .box.note{margin-top:24px}
.biz-form{padding:clamp(24px,4vw,40px);background:var(--card);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
h2.sec.biz-title{margin:0 0 6px;padding:0;border:0;font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:500;color:var(--ac)}
.biz-form .ck-grid{margin-top:20px}
.biz-form label.f{margin:18px 0 6px;font-size:.8125rem;color:var(--tx)}
.biz-form .ck-f label.f,.biz-form #bz_grid label.f,.biz-form #bz_listbox>label.f{margin-top:0}
.biz-form input:not([type=checkbox]),.biz-form select,.biz-form textarea{min-height:48px;padding:12px 14px;border-radius:var(--r-md)}
.biz-form textarea{min-height:88px;resize:vertical}
.biz-form>.bznote{margin-top:16px}
#bz_listbox{margin-top:20px;padding:16px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--bg)}
#bz_list .bzrow{padding:10px 0}
#bz_list .bzrow:last-child{border-bottom:0}
.biz-send{margin-top:16px;min-height:52px}
#bz_out{margin-top:16px;padding:18px;border-radius:var(--r-md)}
input.err,select.err,textarea.err{border-color:#9a4f3d!important;background:rgba(154,79,61,.05)!important}
.emsg{font-weight:500}
@media(max-width:900px){.biz-layout{grid-template-columns:1fr}.biz-intro{position:static}}
@media(max-width:560px){.biz-form{padding:20px 16px}}

/* ===== FASE VISUAL · PRODUCTORES (avisos del formulario) ===== */
.biz-form .alert{margin-top:16px;padding:14px 16px;border:1px solid rgba(154,79,61,.3);border-radius:var(--r-sm);background:rgba(154,79,61,.08);color:#7d3f31;font-size:.92rem;animation:none}
.biz-form .alert.ok{background:rgba(74,83,66,.08);color:var(--ac);border-color:rgba(74,83,66,.25)}
#pr_err{margin-top:12px}
#pr_fb{margin-top:16px;padding:18px;border-radius:var(--r-md)}
.biz-form .ck-grid+label.f{margin-top:18px}
/* ===== FASE VISUAL · NOSOTROS y ENVÍOS ===== */
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(40px,6vw,80px);align-items:start}
.about{max-width:62ch;gap:18px}
.about p{font-size:1.02rem;line-height:1.75}
.about>p:first-child{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.4rem);line-height:1.5;color:var(--tx)}
.about ul{list-style:none;margin:4px 0;padding:0;border-top:1px solid var(--bd)}
.about li{position:relative;margin:0;padding:12px 0 12px 22px;border-bottom:1px solid var(--bd);color:var(--tx)}
.about li::before{content:"";position:absolute;left:2px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--gold)}
.about a{text-decoration:underline;text-decoration-color:rgba(74,83,66,.35);text-underline-offset:3px}
.about a:hover{text-decoration-color:var(--ac)}
.about-fig{position:sticky;top:110px;margin:0}
.about-fig img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg)}
@media(max-width:900px){.about-layout{grid-template-columns:1fr}.about-fig{position:static;order:-1}.about-fig img{aspect-ratio:16/10}}
.ship-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 clamp(28px,4vw,40px);padding:0;list-style:none;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.ship-facts li{display:flex;align-items:center;gap:14px;padding:22px 20px;font-weight:500;color:var(--tx)}
.ship-facts li+li{border-left:1px solid var(--bd)}
.ship-facts svg{flex:none;width:24px;height:24px;color:var(--ac)}
@media(max-width:760px){.ship-facts{grid-template-columns:1fr}.ship-facts li{padding:16px 4px}.ship-facts li+li{border-left:0;border-top:1px solid var(--bd)}}
.info-card h3{font-size:1.3rem;color:var(--ac)}
.ship-table th{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.ship-table td{padding:12px 8px;color:var(--tx)}
.ship-table tr:last-child td{border-bottom:0}
/* ===== FASE VISUAL · HOME HERO a pantalla completa ===== */
:root{--navh:64px}
@media(max-width:960px){:root{--navh:58px}}
#inicio{max-width:none;margin:0;padding:0}
.heroimg{max-width:none;width:100%;margin:calc(-1 * var(--navh)) 0 0;min-height:100vh;min-height:100svh;border-radius:0;align-items:center;justify-content:center;text-align:center}
.heroimg .hbg{background:linear-gradient(180deg,rgba(28,32,24,.5) 0%,rgba(28,32,24,.32) 45%,rgba(28,32,24,.62) 100%),url(img/campo-hero-m.jpg) center/cover no-repeat}
@media(min-width:700px){.heroimg .hbg{background:linear-gradient(180deg,rgba(28,32,24,.5) 0%,rgba(28,32,24,.3) 45%,rgba(28,32,24,.6) 100%),url(img/campo-hero.jpg) center/cover no-repeat}}
.heroimg .ov2{display:flex;flex-direction:column;align-items:center;max-width:860px;margin:0 auto;padding:calc(var(--navh) + 48px) 24px 96px;text-align:center}
.heroimg .hero-eyebrow{margin-bottom:20px}
.heroimg h1{max-width:18ch;margin:0 auto 20px;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.05}
.heroimg .hero-sub{max-width:44ch;margin:0 auto;font-size:clamp(1rem,1.6vw,1.15rem)}
.heroimg .hero-sub+.hero-sub{display:none}
.heroimg .hero-btn{margin-top:36px}
.heroimg::after{content:"";position:absolute;left:50%;bottom:28px;z-index:1;width:28px;height:28px;margin-left:-14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F9F8F6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;opacity:.8;pointer-events:none;animation:heroCue 2.4s ease-in-out infinite}
@keyframes heroCue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){.heroimg::after{animation:none}}
/* ===== FASE VISUAL · ESPACIO bajo las migas de pan ===== */
.crumbs{margin-top:24px}
.crumbs+.page-section{padding-top:clamp(20px,3vw,32px)}
/* ===== FASE VISUAL · CONTACTO ===== */
#contacto .contact-grid{gap:0;margin-top:8px}
#contacto .contact-card:not(.cn-card){padding:24px 0;background:none;border:0;border-bottom:1px solid var(--bd);border-radius:0}
#contacto .contact-card:first-child{border-top:1px solid var(--bd)}
#contacto .contact-card:not(.cn-card) h3{margin-bottom:10px;font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
#contacto .contact-card:not(.cn-card) p{color:var(--tx);line-height:1.6}
#contacto .contact-card:not(.cn-card) .btn{margin-top:8px}
#contacto .cn-card{padding:clamp(24px,4vw,36px);background:var(--card);border:1px solid var(--bd);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .3s ease}
#contacto .cn-card:hover{border-color:rgba(74,83,66,.35)}
#contacto .cn-card h3{margin-bottom:6px;font-size:clamp(1.5rem,2.4vw,1.8rem);color:var(--ac)}
#contacto .cn-card p{color:var(--mut)}
#contacto .cn-card label.f{margin:18px 0 6px;font-size:.8125rem;color:var(--tx)}
#contacto .cn-card input,#contacto .cn-card textarea{min-height:48px;padding:12px 14px;border-radius:var(--r-md)}
#contacto .cn-card textarea{min-height:110px;resize:vertical}
#contacto .cn-card input:hover,#contacto .cn-card textarea:hover{border-color:rgba(74,83,66,.35)}
.cn-send{display:inline-flex;gap:8px;margin-top:20px;min-height:52px}
.cn-send svg{width:18px;height:18px;transition:transform .2s ease}
.cn-send:hover svg{transform:translateX(3px)}
#cn_out{margin-top:16px;padding:18px;border-radius:var(--r-md)}
.cn-social{display:flex;justify-content:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--bd)}
.cn-social a{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid var(--bd);border-radius:50%;color:var(--mut);transition:color .15s ease,border-color .15s ease}
.cn-social a:hover{color:var(--ac);border-color:var(--ac)}
.cn-social svg{width:20px;height:20px}
@media(min-width:900px){
  #contacto .contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,460px);column-gap:clamp(40px,6vw,80px);align-items:start}
  #contacto .contact-card:not(.cn-card){grid-column:1}
  #contacto .cn-card{grid-column:2;grid-row:1 / span 6;position:sticky;top:110px}
}
@media(max-width:899px){
  #contacto .contact-card:first-child{order:1}
  #contacto .cn-card{order:2;margin:16px 0}
  #contacto .contact-card:not(:first-child):not(.cn-card){order:3}
}
@media(prefers-reduced-motion:reduce){.cn-send svg{transition:none}}
/* ===== FASE VISUAL · ESPACIO inicio de subpáginas (refuerzo) ===== */
.crumbs{margin:20px auto 0}
main .page-section:first-of-type{padding-top:clamp(20px,3vw,32px)}
main .page-section:first-of-type .section-head{margin-top:0}
/* ===== FASE VISUAL · HOME debajo del hero ===== */
.hl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.tile{gap:6px;padding:0;overflow:hidden}
.tile .timg{display:flex;align-items:center;justify-content:center;height:auto;aspect-ratio:4/5;margin:0 0 10px;padding:20px;border-radius:0;background:#FFFFFF;border-bottom:1px solid var(--bd)}
.tile .timg img{width:100%;height:100%;object-fit:contain}
.tile>:not(.timg){margin-left:20px;margin-right:20px}
.tile b{margin-top:auto;margin-bottom:20px;padding-top:6px}
.tile.in{box-shadow:none;border-color:var(--bd)}
.tile:hover{box-shadow:var(--shadow-md);border-color:var(--gold)}
.home-origin{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:center}
.home-origin .section-head{margin-bottom:0}
.text-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding-bottom:2px;border-bottom:1px solid var(--gold);font-weight:600;color:var(--ac);text-decoration:none}
.text-link svg{transition:transform .2s ease}
.text-link:hover svg{transform:translateX(3px)}
.home-origin .cgrid{grid-template-columns:1fr 1fr;gap:16px}
.home-origin .cgrid figure{aspect-ratio:3/4;border-radius:var(--r-md)}
.home-origin .cgrid figure:nth-child(2){margin-top:56px}
.cgrid figcaption{padding:32px 16px 14px;font-weight:500;letter-spacing:.02em}
.home-more{margin-top:24px}
@media(max-width:960px){.hl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.home-origin{grid-template-columns:1fr}.home-origin .cgrid figure:nth-child(2){margin-top:0}}
@media(max-width:599px){
  .hl{gap:12px}
  .tile .timg{padding:12px}
  .tile>:not(.timg){margin-left:12px;margin-right:12px}
  .tile h3{font-size:1.05rem}
  .tile p{display:none}
  .tile b{margin-bottom:14px}
}
@media(prefers-reduced-motion:reduce){.text-link svg{transition:none}}
/* ===== FASE VISUAL · HOME origen: fotos alineadas ===== */
.home-origin .cgrid{align-items:start}
.home-origin .cgrid figure,.home-origin .cgrid figure:first-child,.home-origin .cgrid figure:nth-child(2){grid-column:auto;margin-top:0;aspect-ratio:3/4}
/* ===== FASE VISUAL · PREMIUM 1: tonos, tipografía y botones ===== */
:root{--sand:#EFEAE1;--sand-lt:#F4F1EA;--gold-lt:#E0C795}
h1,h2,h3{font-weight:400}
.section-head h2{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.1;letter-spacing:-.02em}
.section-head h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.02em;font-weight:400}
.section-head p{font-size:1.0625rem;line-height:1.7}
.eyebrow{display:flex;align-items:center;gap:12px;width:fit-content;font-size:.7rem;letter-spacing:.22em}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.btn,.hero-btn{font-weight:500;letter-spacing:.02em}
.btn{padding:13px 28px}
.btn.alt{border-color:var(--ac)}
.btn.alt:hover{background:var(--ac);border-color:var(--ac);color:var(--bg)}
.tile,.pcard,.info-card,.contact-card,.dc2{box-shadow:none}
.tile:hover,.pcard:hover{box-shadow:0 18px 40px -24px rgba(44,44,44,.35);border-color:var(--gold)}
.pcard-img,.tile .timg,.pdp[data-h1] .card>.em,.row-img{background:var(--sand-lt)}
.pcard-img img,.tile .timg img,.pdp[data-h1] .card>.em img,.row-img{mix-blend-mode:multiply}
/* ===== FASE VISUAL · PREMIUM 2: bandas a todo el ancho ===== */
.band-sand,.band-olive{margin-top:clamp(56px,8vw,96px);padding-top:clamp(64px,9vw,112px)!important;padding-bottom:clamp(64px,9vw,112px);background:var(--band);box-shadow:0 0 0 100vmax var(--band);clip-path:inset(0 -100vmax)}
.band-sand{--band:var(--sand)}
.band-olive{--band:var(--ac);color:var(--bg)}
.band-sand+.band-olive,.band-olive+.band-sand{margin-top:0}
.band-olive h2,.band-olive h3{color:var(--bg)}
.band-olive .eyebrow{color:var(--gold-lt)}
.band-olive .section-head p{color:rgba(249,248,246,.82)}
.band-olive .perk{color:rgba(249,248,246,.82);border-top-color:rgba(249,248,246,.2)}
.band-olive .perk b{color:var(--bg)}
.band-olive .perk svg{color:var(--gold-lt)}
.band-olive a{color:var(--bg);text-decoration-color:var(--gold-lt)}
.band-sand .faq,.band-sand .faq details{border-color:rgba(44,44,44,.12)}
.band-sand .cgrid figure{background:var(--sand-lt)}

/* ===== FASE VISUAL · UX 1: estados de stock ===== */
.stk.low,.stk.out{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:none;font:500 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.stk.low{color:#7a5a24}
.stk.out{color:var(--mut)}
.stk.low::before,.stk.out::before{content:"";flex:none;width:6px;height:6px;border-radius:50%}
.stk.low::before{background:var(--gold)}
.stk.out::before{background:#9a4f3d}
.stkwhy{font-size:.82rem;color:var(--mut)}
.pcard:has(.stk.out) .pcard-img img{opacity:.5;filter:grayscale(.5)}
.pcard:has(.stk.out) .pcard-price{color:var(--mut)}
.pdp[data-h1] .card:has(.stk.out)>.em img{opacity:.6;filter:grayscale(.4)}

/* ===== FASE VISUAL · UX 2: transiciones ===== */
:root{--ease:cubic-bezier(.22,1,.36,1)}
.btn{transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease)}
.hero-btn{transition:filter .25s var(--ease),transform .2s var(--ease)}
.btn:active,.hero-btn:active{transform:scale(.98)}
.tile,.pcard{transition:border-color .3s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease)}
.tile:hover,.pcard:hover{transform:translateY(-3px)}
.tile .timg img,.pcard-img img{transition:transform .6s var(--ease)}
.tile:hover .timg img{transform:scale(1.04)}
main{animation:pageIn .5s var(--ease)}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
.overlay.on{animation:fadeIn .25s ease}
.overlay.on .panel{animation:panelIn .4s var(--ease)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes panelIn{from{transform:translateX(32px);opacity:.6}to{transform:none;opacity:1}}
body:is([data-page="cart"],[data-page="checkout"]) .overlay.on,body:is([data-page="cart"],[data-page="checkout"]) .overlay.on .panel{animation:none}
.rv-on .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv-on .rv.rv-in{opacity:1;transform:none}
.nav-cart--icon.bump{animation:cartBump .5s var(--ease)}
@keyframes cartBump{0%,100%{transform:scale(1)}40%{transform:scale(1.14)}}
.nav-actions .nav-cart--icon #cnt{transition:transform .3s var(--ease)}
.nav-actions .nav-cart--icon #cnt.is-zero{transform:scale(0)}
@media(prefers-reduced-motion:reduce){
  main,.overlay.on,.overlay.on .panel,.nav-cart--icon.bump{animation:none}
  .tile:hover,.pcard:hover,.tile:hover .timg img{transform:none}
  .rv-on .rv{opacity:1;transform:none;transition:none}
}

/* ===== FASE VISUAL · TRANSICIONES ENTRE PÁGINAS ===== */
@view-transition{navigation:auto}
.site-nav{view-transition-name:site-nav}
::view-transition-old(root){animation:vtOut .22s cubic-bezier(.22,1,.36,1) both}
::view-transition-new(root){animation:vtIn .38s cubic-bezier(.22,1,.36,1) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
main{animation:none}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
}

/* ===== FASE VISUAL · PACKS a doble ancho ===== */
.pcard--wide{grid-column:span 2;flex-direction:row}
.pcard--wide .pcard-img{flex:0 0 50%;aspect-ratio:1/1;border-bottom:0;border-right:1px solid var(--bd)}
.pcard--wide .pcard-body{justify-content:center;gap:8px;padding:clamp(20px,3vw,36px)}
.pcard--wide .pcard-name{font-size:clamp(1.25rem,2vw,1.6rem)}
.pcard--wide .pcard-price{margin-top:12px}
.pcard-desc{margin:4px 0 0;font-size:.92rem;line-height:1.6;color:var(--mut)}
@media(max-width:599px){
  .pcard--wide .pcard-img{flex-basis:44%;padding:12px}
  .pcard--wide .pcard-body{padding:14px}
  .pcard--wide .pcard-name{font-size:1.05rem}
  .pcard-desc{display:none}
}

/* ===== FASE VISUAL · BOTÓN MENÚ: tres barras a X ===== */
.nav-toggle{position:relative}
.nav-toggle span{position:absolute;left:50%;top:50%;width:18px;height:1.5px;margin:-.75px 0 0 -9px;border-radius:2px;background:currentColor;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}
.nav-toggle span:nth-child(1){transform:translateY(-6px)}
.nav-toggle span:nth-child(2){transform:none;opacity:1}
.nav-toggle span:nth-child(3){transform:translateY(6px)}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:scaleX(.2);opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)}
@media(prefers-reduced-motion:reduce){.nav-toggle span{transition:none}}

/* ===== FASE VISUAL · MENÚ MÓVIL: el atributo hidden no debe bloquearlo ===== */
@media(max-width:960px){.nav-sheet[hidden],.nav-scrim[hidden]{display:block}}

/* ===== FASE VISUAL · BARRA DE DESPLAZAMIENTO ===== */
html,*{scrollbar-width:thin;scrollbar-color:rgba(74,83,66,.38) transparent}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(74,83,66,.38) content-box;border:3px solid transparent;border-radius:999px}
::-webkit-scrollbar-thumb:hover{background-color:rgba(74,83,66,.6)}
body:is([data-page="cart"],[data-page="checkout"]){overflow:hidden}
body:has(.overlay.on){overflow:hidden}

/* ===== FASE VISUAL · CONTROLES DE FORMULARIO ===== */
:root{color-scheme:light}
select{appearance:none;-webkit-appearance:none;padding-right:44px;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5342' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;cursor:pointer}
select:hover{border-color:rgba(74,83,66,.35)}
@supports (appearance:base-select){
  select,::picker(select){appearance:base-select}
  select{display:flex;align-items:center;background-image:none;padding-right:14px}
  select::picker-icon{margin-left:auto;color:var(--ac);transition:rotate .25s cubic-bezier(.22,1,.36,1)}
  select:open::picker-icon{rotate:180deg}
  ::picker(select){margin-top:6px;padding:6px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--card);box-shadow:0 18px 40px -18px rgba(44,44,44,.35)}
  select option{padding:10px 12px;border-radius:var(--r-sm);font-size:.95rem;color:var(--tx);cursor:pointer}
  select option:hover,select option:focus-visible{background:var(--sand-lt)}
  select option:checked{background:rgba(74,83,66,.1);color:var(--ac);font-weight:500}
  select option::checkmark{color:var(--ac)}
  select option:disabled{color:var(--mut);opacity:.6}
}
input[type=date]{color:var(--tx);cursor:pointer}
input[type=date]::-webkit-calendar-picker-indicator{width:20px;height:20px;padding:4px;border-radius:6px;cursor:pointer;opacity:1;color:transparent;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5342' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E") center/18px no-repeat}
input[type=date]::-webkit-calendar-picker-indicator:hover{background-color:var(--sand-lt)}
input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:20px;height:20px;min-height:0;margin:0;padding:0;flex:none;border:1px solid #b9b3a6;background:var(--card);cursor:pointer;transition:border-color .2s ease,background-color .2s ease}
input[type=checkbox]{border-radius:6px}
input[type=radio]{border-radius:50%}
input[type=checkbox]::before{content:"";width:12px;height:12px;background:var(--bg);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transition:transform .18s cubic-bezier(.22,1,.36,1)}
input[type=checkbox]:checked{background:var(--ac);border-color:var(--ac)}
input[type=checkbox]:checked::before{transform:scale(1)}
input[type=radio]::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ac);transform:scale(0);transition:transform .18s cubic-bezier(.22,1,.36,1)}
input[type=radio]:checked{border-color:var(--ac)}
input[type=radio]:checked::before{transform:scale(1)}
input[type=checkbox]:hover,input[type=radio]:hover{border-color:var(--ac)}
input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media(prefers-reduced-motion:reduce){input[type=checkbox]::before,input[type=radio]::before,select::picker-icon{transition:none}}

/* ===== FASE VISUAL · CONTRASTE: cantidades del carrito ===== */
#items .row .qty,#items .row .qty .q,#items .row .qty button{color:var(--tx)}

/* ===== FASE VISUAL · PACKS verticales a doble ancho y etiqueta en ficha ===== */
.pcard--wide{flex-direction:column}
.pcard--wide .pcard-img{flex:none;aspect-ratio:16/10;padding:28px;border-right:0;border-bottom:1px solid var(--bd)}
.pcard--wide .pcard-body{justify-content:flex-start;padding:20px 24px 24px}
.pcard--wide .pcard-price{margin-top:auto}
.pcard-desc{display:none}
.pdp[data-h1] .card>.pbadge{position:static;inset:auto;transform:none;grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#7a5a24;font:500 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.pdp[data-h1] .card>.pbadge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}
@media(max-width:860px){.pdp[data-h1] .card>.pbadge{grid-column:1}}
@media(max-width:599px){.pcard--wide .pcard-img{padding:14px}.pcard--wide .pcard-body{padding:14px}}
.grid>[id^="pcard_"]:has(>.pcard--wide){display:grid;grid-template-columns:minmax(0,1fr);gap:0;overflow:visible;grid-column:span 2}
.grid>[id^="pcard_"]>.pcard{width:100%}
@media(max-width:599px){.grid>[id^="pcard_"]:has(>.pcard--wide){grid-template-columns:minmax(0,1fr);gap:0;grid-column:1/-1}}

/* ===== FASE VISUAL · CONTRASTE: dorado para textos ===== */
:root{--gold-tx:#7A5A24}
.eyebrow,.tag,.card .tag,.tile .tag,.pcard .tag,.fgrp,.bznote .tag{color:var(--gold-tx)}
.eyebrow::before{background:var(--gold)}
.band-olive .eyebrow{color:var(--gold-lt)}
.band-olive .eyebrow::before{background:var(--gold-lt)}
.cgrid figcaption{background:linear-gradient(transparent,rgba(28,32,24,.78));text-shadow:0 1px 8px rgba(0,0,0,.35)}
.wa{background:var(--ac);color:var(--bg)}

/* ===== FASE VISUAL · PIE LEGAL a todo el ancho ===== */
#sitefoot .footer-legal{flex-direction:column;align-items:stretch;gap:14px}
#sitefoot .footer-legal .fl{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:0}
#sitefoot .footer-legal .fl a{font-size:.8rem}
@media(max-width:700px){#sitefoot .footer-legal .fl{justify-content:flex-start}}

/* ===== FASE VISUAL · WHATSAPP FLOTANTE ===== */
.wa-float{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#25D366;color:#FFFFFF;box-shadow:0 12px 28px -10px rgba(0,0,0,.4);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}
.wa-float:hover{transform:scale(1.06);box-shadow:0 16px 34px -10px rgba(0,0,0,.45)}
.wa-float:focus-visible{outline:3px solid var(--ac);outline-offset:3px}
body:is([data-page="cart"],[data-page="checkout"]) .wa-float,body:has(.overlay.on) .wa-float{display:none}
body:has(.nav-sheet.open) .wa-float{opacity:0;pointer-events:none}
@media(max-width:600px){.wa-float{width:52px;height:52px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}#sitefoot.site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}

/* ===== FASE VISUAL · EMPRESAS: cantidades fáciles ===== */
.stp{display:inline-flex;align-items:center;flex:none;padding:2px;border:1px solid var(--bd);border-radius:999px;background:var(--card)}
.stp-b{width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--tx);font-size:1.15rem;line-height:1;cursor:pointer;transition:background-color .2s ease}
.stp-b:hover{background:var(--sand-lt)}
.biz-form .stp input,#bz_list .stp input{width:48px!important;min-height:40px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-align:center;font-weight:600;-moz-appearance:textfield}
.stp input::-webkit-outer-spin-button,.stp input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#bz_list .bzrow{gap:16px;margin:0 -10px;padding:12px 10px;border-radius:var(--r-sm);transition:background-color .2s ease}
#bz_list .bzrow.is-on{background:rgba(74,83,66,.07)}
#bz_list .bzrow.is-on>:first-child{color:var(--tx);font-weight:500}
.bz-grp{margin:18px 0 4px;font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
.bz-grp:first-child{margin-top:4px}
#bz_tot{margin-top:14px;padding:14px 16px;border:1px solid var(--bd);border-radius:var(--r-sm);background:var(--card);font-size:.92rem;color:var(--tx)}
#bz_tot:empty{display:none}
@media(max-width:560px){.stp-b{width:36px;height:36px}}

/* ===== FASE VISUAL · CONTRASTE: método de pago y banda olivo ===== */
.pay label,.pay label span,.pay label b{color:var(--tx)!important}
.pay label small{color:var(--mut)!important}
.band-olive{background-color:var(--ac)!important}
.band-olive .perk,.band-olive .perk>*{background:transparent!important}
.band-olive .perk,.band-olive .perk span{color:rgba(249,248,246,.85)!important}
.band-olive .perk b{color:var(--bg)!important}
.band-olive .perk a{color:var(--bg)!important;text-decoration:underline;text-decoration-color:var(--gold-lt);text-underline-offset:3px}

/* ===== FASE VISUAL · PANEL independiente del footer ===== */
.overlay{color:var(--tx);font-size:1rem;line-height:1.55;text-align:left;letter-spacing:normal}
.band-sand .section-head p,.band-sand .faq details>p{color:#5E5A53}
.heroimg .hero-eyebrow{color:var(--gold-lt)}

/* ===== FASE VISUAL · TIENDA con filtros ===== */
.shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(32px,4vw,56px);align-items:start;margin-top:8px}
.shop-filters{position:sticky;top:110px;display:grid;gap:24px}
.sf-title{margin:0;font-family:var(--serif);font-size:1.3rem;color:var(--ac)}
.sf-group{display:grid;gap:2px;margin:0;padding:0;border:0}
.sf-group legend{margin-bottom:8px;padding:0;font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
.sf-opt{display:flex;align-items:center;gap:12px;min-height:40px;font-size:.95rem;color:var(--tx);cursor:pointer}
.sf-n{margin-left:auto;font-size:.8rem;color:var(--mut)}
.sf-reset{justify-self:start;padding:0;border:0;background:none;font:500 .85rem var(--sans);color:var(--ac);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sf-count{margin:0 0 8px;font-size:.85rem;color:var(--mut)}
.shop-results .cat-block{padding:8px 0 40px}
.shop-results .cat-block>.eyebrow{display:none}
.shop-results .cat-block>h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.shop-results .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}
.shop-results [hidden],.shop-filters [hidden]{display:none!important}
@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr;gap:16px}
  .shop-filters{position:sticky;top:calc(var(--navh) + 16px);z-index:5;display:flex;align-items:center;gap:8px;overflow-x:auto;margin:0 -20px;padding:10px 20px;background:var(--bg);scrollbar-width:none}
  .shop-filters::-webkit-scrollbar{display:none}
  .sf-title,.sf-group legend{display:none}
  .sf-group{display:flex;gap:8px}
  .sf-opt{position:relative;flex:none;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--bd);border-radius:999px;background:var(--card);font-size:.88rem;white-space:nowrap}
  .sf-opt input{position:absolute;width:1px;height:1px;opacity:0}
  .sf-opt:has(input:checked){background:var(--ac);border-color:var(--ac);color:var(--bg)}
  .sf-opt:has(input:checked) .sf-n{color:rgba(249,248,246,.75)}
  .sf-opt:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
  .sf-n{margin-left:0}
  .sf-reset{flex:none;align-self:center;white-space:nowrap}
}
@media(max-width:599px){.shop-results .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== FASE VISUAL · PÁGINAS LEGALES con índice ===== */
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.legal-toc{position:sticky;top:110px;max-height:calc(100vh - 140px);overflow:auto;padding-right:8px}
.legal-toc-t{margin:0 0 12px;font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
.legal-toc ol{margin:0;padding:0;list-style:none;border-left:1px solid var(--bd)}
.legal-toc a{display:block;margin-left:-1px;padding:6px 0 6px 16px;border-left:2px solid transparent;font-size:.85rem;line-height:1.4;color:var(--mut);text-decoration:none;transition:color .2s ease,border-color .2s ease}
.legal-toc a:hover{color:var(--ac);border-left-color:var(--gold)}
.legaldoc{max-width:68ch;margin:0}
.legaldoc h1{margin:0 0 8px;font-size:clamp(2.2rem,4vw,3rem);font-weight:400;color:var(--ac)}
.legaldoc .upd{margin:0 0 32px;padding-bottom:20px;border-bottom:1px solid var(--bd)}
.legaldoc h2{margin:40px 0 12px;font-size:1.5rem;font-weight:400}
.legaldoc h3{scroll-margin-top:110px;margin:36px 0 10px;font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--tx)}
.legaldoc p,.legaldoc li{font-size:1rem;line-height:1.75;color:#3d3d3a}
.legaldoc ul{padding-left:20px}
.legaldoc li{margin:6px 0}
.legaldoc a{color:var(--ac);text-underline-offset:3px}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;max-height:none;padding:16px 20px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--card)}}

/* ===== FASE VISUAL · FILTROS sin casillas visibles ===== */
.sf-opt{position:relative;margin:0 -12px;padding:8px 12px;border-radius:var(--r-sm);transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}
.sf-opt input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.sf-opt:hover{background:var(--sand-lt)}
.sf-opt:has(input:checked){background:rgba(74,83,66,.08);color:var(--ac);font-weight:500;box-shadow:inset 2px 0 0 var(--ac)}
.sf-opt:has(input:checked) .sf-n{color:var(--ac)}
.sf-opt:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}
@media(max-width:900px){.sf-opt{margin:0;padding:0 14px;box-shadow:none}.sf-opt:has(input:checked){box-shadow:none}}

/* ===== FASE VISUAL · TIENDA: índice de categorías ===== */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.sf-nav{display:grid;gap:2px}
.sf-legend{margin:0 0 8px;font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
a.sf-opt{text-decoration:none;color:var(--tx)}
.sf-opt.is-active{background:rgba(74,83,66,.08);color:var(--ac);font-weight:500;box-shadow:inset 2px 0 0 var(--ac)}
.sf-opt.is-active .sf-n{color:var(--ac)}
.shop-results .cat-block{scroll-margin-top:110px}
@media(max-width:900px){
  .sf-legend{display:none}
  .sf-nav{display:flex;gap:8px}
  .sf-opt.is-active{background:var(--ac);border-color:var(--ac);color:var(--bg);box-shadow:none}
  .sf-opt.is-active .sf-n{color:rgba(249,248,246,.75)}
  .shop-results .cat-block{scroll-margin-top:150px}
}

/* ===== FASE VISUAL · TIENDA: panel del índice y packs de dos en dos ===== */
@media(min-width:901px){
  .shop-filters{padding:24px;background:var(--sand);border-radius:var(--r-lg)}
  .shop-filters .sf-opt:hover{background:rgba(255,255,255,.6)}
  .shop-filters .sf-opt.is-active,.shop-filters .sf-opt:has(input:checked){background:var(--card);color:var(--ac);box-shadow:inset 2px 0 0 var(--ac)}
}
#g_packs{grid-template-columns:repeat(2,minmax(0,1fr))}
#g_packs .pcard--wide{grid-column:auto}
@media(max-width:599px){#g_packs{grid-template-columns:1fr}}

/* ===== FASE VISUAL · TIENDA móvil: pastillas en UNA sola fila ===== */
@media(max-width:900px){
  .shop-filters{flex-wrap:nowrap;align-items:center;height:auto}
  .shop-filters>*{flex:none;margin:0}
  .shop-filters .sf-nav,.shop-filters .sf-group{display:flex;flex-wrap:nowrap;gap:8px;min-width:0;margin:0;padding:0;border:0}
  .shop-filters .sf-opt{flex:none;margin:0}
  .shop-filters .sf-title,.shop-filters .sf-legend,.shop-filters legend{display:none}
}
/* ===== FASE VISUAL · ENVÍOS más visual ===== */
#envios .sh-block{margin-top:clamp(48px,6vw,72px)}
.sh-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:20px}
.sh-head h3{margin:0;font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--ac)}
.sh-head p{margin:0;font-size:.92rem;color:var(--mut)}
.sh-tiers{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border:1px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}
.sh-tiers li{position:relative;display:flex;flex-direction:column;gap:6px;padding:32px 24px 28px}
.sh-tiers li+li{border-left:1px solid var(--bd)}
.sh-tiers li::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--bd)}
.sh-tiers li:nth-child(2)::before{background:var(--gold)}
.sh-tiers li.is-top{background:var(--ac);color:var(--bg)}
.sh-tiers li.is-top::before{background:var(--gold-lt)}
.sh-k{font:600 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
.sh-tiers li.is-top .sh-k{color:var(--gold-lt)}
.sh-v{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.4rem);line-height:1.1;color:var(--tx)}
.sh-tiers li.is-top .sh-v{color:var(--bg)}
.sh-d{font-size:.88rem;color:var(--mut)}
.sh-tiers li.is-top .sh-d{color:rgba(249,248,246,.82)}
.sh-icons,.sh-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none}
.sh-steps{grid-template-columns:repeat(3,1fr);counter-reset:sh}
.sh-icons li,.sh-steps li{position:relative;display:flex;flex-direction:column;gap:6px;padding:24px;border:1px solid var(--bd);border-radius:var(--r-md);background:var(--card)}
.sh-icons svg,.sh-steps svg{width:28px;height:28px;margin-bottom:8px;color:var(--ac)}
.sh-icons b,.sh-steps b{font-weight:600;color:var(--tx)}
.sh-icons span,.sh-steps span{font-size:.88rem;line-height:1.5;color:var(--mut)}
.sh-steps li::after{counter-increment:sh;content:"0" counter(sh);position:absolute;top:20px;right:22px;font-family:var(--serif);font-size:1.4rem;color:var(--gold)}
.sh-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--bd)}
.sh-note{display:flex;gap:14px;align-items:flex-start}
.sh-note svg{flex:none;width:22px;height:22px;margin-top:2px;color:var(--gold-tx)}
.sh-note p{margin:0;font-size:.92rem;line-height:1.6;color:var(--mut)}
.sh-note b{color:var(--tx)}
.sh-note a{color:var(--ac);font-weight:500;text-underline-offset:3px}
@media(max-width:900px){.sh-icons{grid-template-columns:repeat(2,1fr)}.sh-steps,.sh-notes{grid-template-columns:1fr}}
@media(max-width:600px){.sh-tiers{grid-template-columns:1fr}.sh-tiers li+li{border-left:0;border-top:1px solid var(--bd)}}
/* ===== FASE VISUAL · BARRA DE AVISOS ===== */
.ann{position:relative;z-index:41;padding-top:env(safe-area-inset-top,0px);background:var(--ac);color:rgba(249,248,246,.88);text-align:center;view-transition-name:ann}
.ann-track{position:relative;max-width:1100px;height:36px;margin:0 auto;overflow:hidden}
.ann-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;font:500 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:inherit;text-decoration:none;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1),color .2s ease}
.ann-msg::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--gold-lt)}
.ann-msg.is-on{opacity:1;transform:none;pointer-events:auto}
.ann-msg:hover{color:var(--bg)}
.ann-msg:focus-visible{outline:2px solid var(--gold-lt);outline-offset:-4px}
body:is([data-page="cart"],[data-page="checkout"]) .ann{display:none}
@media(max-width:960px){.nav-sheet{top:calc(84px + var(--ann-off,0px))}}
@media(max-width:600px){.ann-msg{font-size:.66rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.ann-msg{transition:none}}
/* ===== FASE VISUAL · BARRA DE AVISOS: arena, y transparente sobre la foto en la home ===== */
.ann{background:var(--sand);color:var(--ac);border-bottom:1px solid rgba(74,83,66,.08)}
.ann-msg::before{background:var(--gold)}
.ann-msg:hover{color:var(--tx)}
.ann-msg:focus-visible{outline-color:var(--ac)}
body:has(.heroimg) .ann{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:1px solid rgba(249,248,246,.16);color:rgba(249,248,246,.92);text-shadow:0 1px 6px rgba(0,0,0,.3)}
body:has(.heroimg) .ann-msg::before{background:var(--gold-lt)}
body:has(.heroimg) .ann-msg:hover{color:#FFFFFF}
body:has(.heroimg) .ann-msg:focus-visible{outline-color:var(--gold-lt)}
body:has(.heroimg) .site-nav{margin-top:calc(36px + env(safe-area-inset-top,0px))}
body:has(.heroimg) .heroimg{margin-top:calc(-1 * (var(--navh) + 36px + env(safe-area-inset-top,0px)))}
body:has(.heroimg) .heroimg .ov2{padding-top:calc(var(--navh) + 84px)}
/* ===== FASE VISUAL · BARRA DE AVISOS: respiro entre barra y cápsula ===== */
.ann{border-bottom:0;box-shadow:inset 0 -1px 0 rgba(74,83,66,.08)}
body:has(.heroimg) .ann{border-bottom:0;box-shadow:inset 0 -1px 0 rgba(249,248,246,.16)}
.ann~.site-nav{margin-top:10px}
body:has(.heroimg) .site-nav{margin-top:calc(46px + env(safe-area-inset-top,0px))}
body:has(.heroimg) .heroimg{margin-top:calc(-1 * (var(--navh) + 46px + env(safe-area-inset-top,0px)))}
body:has(.heroimg) .heroimg .ov2{padding-top:calc(var(--navh) + 94px)}
/* ===== FASE VISUAL · STOCK: aviso de variedades parciales ===== */
.stk.part{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:none;font:500 .7rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-tx)}
.stk.part::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gold)}

/* ===== FASE VISUAL · DETALLES: pasos del pago sin números duplicados ===== */
.step-it{font-size:0}
.step-it em{font-size:.875rem}
.step-it::before{font-size:.8125rem}
.step-it.is-done::before{content:"";background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C2C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/14px no-repeat}
@media(max-width:420px){.step-it em{display:none}}

/* ===== FASE VISUAL · HERO con marco fino, sombra del botón y stock sobre la foto ===== */
.heroimg .ov2{width:min(760px,calc(100% - 32px));max-width:none;margin:calc(var(--navh) + 70px) auto 80px;padding:clamp(32px,5vw,56px) clamp(20px,5vw,56px);border:1px solid rgba(249,248,246,.55);border-radius:2px;background:transparent}
body:has(.heroimg) .heroimg .ov2{padding-top:clamp(32px,5vw,56px);margin-top:calc(var(--navh) + 110px)}
.heroimg .ov2 .hero-btn,.heroimg .hero-btn,.hero-btn{text-shadow:none!important;box-shadow:0 14px 30px -12px rgba(0,0,0,.55)}
.heroimg .ov2 .hero-btn:hover,.hero-btn:hover{box-shadow:0 18px 38px -12px rgba(0,0,0,.65)}
.heroimg .ov2 .hero-btn *{text-shadow:none!important}
@media(max-width:600px){.heroimg .ov2{margin:calc(var(--navh) + 56px) auto 72px}body:has(.heroimg) .heroimg .ov2{margin-top:calc(var(--navh) + 92px)}}
.pcard{position:relative}
.pcard .stkrow{position:absolute;top:14px;right:14px;z-index:2;margin:0}
.pcard .stk.out,.pcard .stk.low,.pcard .stk.part{padding:7px 12px;border-radius:999px;background:rgba(249,248,246,.94);box-shadow:0 4px 14px -6px rgba(0,0,0,.25);backdrop-filter:blur(4px)}
.pcard .stk.out{color:var(--tx)}
@media(max-width:599px){.pcard .stkrow{top:8px;right:8px}.pcard .stk.out,.pcard .stk.low,.pcard .stk.part{padding:5px 9px;font-size:.6rem;letter-spacing:.1em}}

/* ===== FASE VISUAL · HERO: todo cabe en la primera pantalla ===== */
.heroimg{box-sizing:border-box;min-height:100vh;min-height:100svh;padding:calc(var(--navh) + 40px) 16px 76px;align-items:center;justify-content:center}
body:has(.heroimg) .heroimg{padding-top:calc(var(--navh) + 70px + env(safe-area-inset-top,0px))}
.heroimg .ov2,body:has(.heroimg) .heroimg .ov2{width:min(820px,100%);margin:0 auto;padding:clamp(22px,4.5vh,48px) clamp(20px,4vw,56px)}
.heroimg .hero-eyebrow{margin-bottom:clamp(10px,2.2vh,20px)}
.heroimg h1{font-size:clamp(2rem,min(5.2vw,7.2vh),4.4rem);line-height:1.05;margin-bottom:clamp(10px,2.2vh,20px)}
.heroimg .hero-sub{font-size:clamp(.95rem,min(1.4vw,2.1vh),1.12rem);line-height:1.55}
.heroimg .hero-btn{margin-top:clamp(16px,3.6vh,36px)}
.heroimg::after{bottom:clamp(16px,3.5vh,28px)}

/* ===== FASE VISUAL · HERO: el marco pasa por detrás de las ramas ===== */
.heroimg .ov2{position:relative;z-index:auto;border-color:transparent}
.heroimg .ov2::before{content:"";position:absolute;inset:0;z-index:1;border:1px solid rgba(249,248,246,.55);border-radius:2px;pointer-events:none}
.heroimg .ov2>*{position:relative;z-index:3}
.heroimg::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(28,32,24,.5) 0%,rgba(28,32,24,.32) 45%,rgba(28,32,24,.62) 100%),url(img/campo-hero-m.jpg) center/cover no-repeat;-webkit-mask:url(img/campo-hero-ramas.png) center/cover no-repeat;mask:url(img/campo-hero-ramas.png) center/cover no-repeat}
@media(min-width:700px){.heroimg::before{background:linear-gradient(180deg,rgba(28,32,24,.5) 0%,rgba(28,32,24,.3) 45%,rgba(28,32,24,.6) 100%),url(img/campo-hero.jpg) center/cover no-repeat}}

/* ===== FASE VISUAL · HERO móvil: encuadre hacia el olivo izquierdo ===== */
@media(max-width:699px){
  .heroimg .hbg,.heroimg::before{background-position:22% center}
  .heroimg::before{-webkit-mask-position:22% center;mask-position:22% center}
}

/* ===== FASE VISUAL · HERO: marco más estrecho y línea más visible ===== */
.heroimg .ov2,body:has(.heroimg) .heroimg .ov2{width:min(600px,calc(100% - 32px))}
.heroimg .ov2::before{border-width:2px;border-color:rgba(249,248,246,.72)}

/* ===== FASE VISUAL · HERO: ajuste en ordenador, acercamiento lento y barra sin solapes ===== */
@media(min-width:1200px){
  .heroimg .ov2,body:has(.heroimg) .heroimg .ov2{width:min(max(600px,calc(32vw + 80px)),calc(100% - 32px))}
}
.heroimg .hbg,.heroimg::before{transform-origin:50% 40%;animation:heroZoom 9s cubic-bezier(.22,1,.36,1) both}
@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.ann-msg{transition:opacity .35s ease,transform .35s ease,color .2s ease}
.ann-msg.is-on{transition:opacity .5s ease .35s,transform .5s cubic-bezier(.22,1,.36,1) .35s,color .2s ease}
@media(prefers-reduced-motion:reduce){.heroimg .hbg,.heroimg::before{animation:none}.ann-msg,.ann-msg.is-on{transition:none}}
/* ===== FASE VISUAL · DETALLES: WhatsApp visible, tarjetas de confianza y botón de contacto ===== */
.wa-float{width:60px;height:60px;right:max(28px,env(safe-area-inset-right,0px));bottom:calc(28px + env(safe-area-inset-bottom,0px));gap:10px;color:#FFFFFF!important}
.wa-float svg,.wa-float svg path{fill:#FFFFFF!important;color:#FFFFFF!important}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;animation:waPulse 2.2s ease-out 2s 3}
@keyframes waPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}100%{box-shadow:0 0 0 18px rgba(37,211,102,0)}}
@media(min-width:1024px){
  .wa-float{width:auto;padding:0 22px 0 18px;border-radius:999px;display:inline-flex;align-items:center}
  .wa-float::after{content:"Escríbenos";font:600 .92rem var(--sans);letter-spacing:.01em;color:#FFFFFF}
}
@media(max-width:600px){.wa-float{width:56px;height:56px;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.wa-float::before{animation:none}}
.band-olive .perks .perk{padding:22px 22px 24px;border:1px solid rgba(249,248,246,.24)!important;border-radius:var(--r-md);background:rgba(249,248,246,.04)!important}
#contacto .contact-card p:has(>.btn){margin-top:18px}
#contacto .contact-card .btn{display:inline-flex}
/* ===== FASE VISUAL · WhatsApp: sin subrayado ===== */
.wa-float,.wa-float:hover,.wa-float::after{text-decoration:none!important}
/* ===== FASE VISUAL · EMPRESAS: lista de productos con foto ===== */
#bz_list .bzrow{align-items:center}
.bz-item{display:flex;flex:1;align-items:center;gap:14px;min-width:0}
.bz-thumb{display:grid;place-items:center;flex:none;width:56px;height:56px;overflow:hidden;border:1px solid var(--bd);border-radius:var(--r-sm);background:var(--sand-lt)}
.bz-thumb img{width:100%;height:100%;padding:4px;object-fit:contain;mix-blend-mode:multiply}
.bz-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.bz-txt b{font-weight:500;font-size:.95rem;line-height:1.3;color:var(--tx)}
.bz-txt small{font-size:.82rem;color:var(--mut)}
.bz-price{font-weight:600;color:var(--tx)}
#bz_list .bzrow.is-on .bz-thumb{border-color:var(--ac)}
@media(max-width:420px){.bz-thumb{width:44px;height:44px}.bz-item{gap:10px}}