:root{--ink:#1d2b2a;--bg:#f3f5f2;--card:#fff;--gold:#d99a00;--ember:#b3321e;--line:#d9dfd9}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,sans-serif}
h1,h2,.logo{font-family:"Bricolage Grotesque",Georgia,serif;letter-spacing:-.01em}
main{max-width:960px;margin:0 auto;padding:1.5rem 5vw 3rem}footer{text-align:center;padding:1.5rem;color:#6b7a78;font-size:.9rem}
.btn{background:var(--gold);color:#201600;border:0;border-radius:6px;padding:.55rem 1rem;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;display:inline-block}
.btn:hover{background:#eba900}.link{background:none;border:0;color:var(--ember);cursor:pointer;font:inherit;text-decoration:underline}
:focus-visible{outline:3px solid var(--ember);outline-offset:2px}
.hero{padding:2rem 0 1rem}.hero h1{font-size:clamp(2rem,6vw,3.4rem);line-height:1.05;max-width:16em;margin:0 0 1.2rem}
.search{display:flex;gap:.5rem;max-width:480px}.search input{flex:1}
input,select,textarea{font:inherit;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;background:#fff;width:100%}
.search input,.row input{width:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;color:inherit;text-decoration:none;display:block}
a.card:hover{border-color:var(--gold)}.card span{color:#6b7a78;display:block}.offer{border-left:5px solid var(--ember)}.offer strong,.off{color:var(--ember)}em{color:var(--ember);font-style:normal;font-weight:600}
.shophead h1{margin-bottom:.2rem}.meta{color:#6b7a78}
.list{background:var(--card);border:1px solid var(--line);border-radius:10px}.row{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.row:last-child{border:0}
.row form{display:flex;gap:.4rem}.row input[type=number]{width:4rem}.total{font-size:1.3rem;font-weight:700}
.form{display:grid;gap:.8rem;max-width:460px;margin-top:1rem}.form label{display:grid;gap:.25rem;font-weight:500}.choice{display:flex;gap:1rem;flex-wrap:wrap}.choice label{display:flex;gap:.4rem;align-items:center}.choice input{width:auto}
.flash{background:#e4f1e2;border:1px solid #9cc79a;padding:.6rem 1rem;border-radius:6px}.err{color:var(--ember);font-weight:600}
.order{margin-bottom:.8rem}.order ul{margin:.3rem 0;padding-left:1.2rem}.st{font-size:.85rem;padding:.1rem .6rem;border-radius:99px;background:#eee;margin-left:.4rem}
.st.listo,.st.entregado{background:#d9efd6}.st.cancelado{background:#f5d6d0}.st.preparando{background:#fbe9b8}
.prod{display:grid;grid-template-columns:2fr 2fr 1fr 1.2fr auto auto auto;gap:.5rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem;margin-bottom:.6rem}
.prod.new{grid-template-columns:2fr 2fr 1fr 1.2fr auto;border-left:5px solid var(--gold)}.prod label{display:flex;gap:.3rem;align-items:center}.prod label input{width:auto}
.inline select{width:auto}@media(max-width:760px){.prod,.prod.new{grid-template-columns:1fr 1fr}}

.prod.pack{grid-template-columns:2fr 1fr auto auto auto;border-left:5px solid var(--ember)}.full{grid-column:1/-1;color:#55625f}
.packnew{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--ember);border-radius:10px;padding:1rem;margin-bottom:.8rem;display:grid;gap:.5rem}
.packnew h3{margin:0}.hint{margin:0;color:#55625f}.packrow{display:grid;grid-template-columns:auto 1.4fr minmax(10rem,.9fr) 1.2fr auto;gap:.6rem;align-items:center}
.pick{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.3rem 0;border-bottom:1px dashed var(--line)}.pick input{width:5rem}
.save{color:#2f7a35;font-weight:600}.pad{padding:1rem}.offers{border-left:5px solid var(--ember)}.card small{display:block;color:#55625f}
@media(max-width:760px){.prod.pack{grid-template-columns:1fr 1fr}}

.top{position:sticky;top:0;z-index:20;background:rgba(29,43,42,.95);backdrop-filter:blur(10px);border-bottom:3px solid var(--gold)}
.bar{max-width:960px;margin:0 auto;padding:.7rem 5vw;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.logo{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;line-height:1.15}
.logo svg{width:40px;height:40px;flex:none}
.logo strong{display:block;font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.3rem;color:var(--gold)}
.logo small{display:block;color:#aebdbb;font-size:.78rem}
nav{display:flex;align-items:center;gap:.25rem}
nav a{color:#e8efed;text-decoration:none;padding:.45rem .85rem;border-radius:99px;font-weight:500;display:inline-flex;align-items:center;gap:.4rem;transition:background .15s}
nav a:hover{background:rgba(255,255,255,.1)}nav a.on{background:rgba(217,154,0,.2);color:var(--gold)}
nav a.btn{background:var(--gold);color:#201600;border-radius:99px;margin-left:.3rem;font-weight:600}nav a.btn:hover{background:#eba900}
.badge{background:var(--ember);color:#fff;font-size:.72rem;min-width:1.3rem;height:1.3rem;border-radius:99px;display:inline-grid;place-items:center;padding:0 .35rem}
.chip{width:34px;height:34px;border-radius:50%;background:var(--gold);color:#201600;display:grid;place-items:center;font-weight:700;margin-left:.4rem}
@media(max-width:640px){.logo small{display:none}.bar{padding:.6rem 4vw}nav a{padding:.4rem .6rem;font-size:.95rem}.chip{display:none}}
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:1.2rem 0 .6rem}
.tab{padding:.4rem .9rem;border-radius:99px;border:1px solid var(--line);background:#fff;color:var(--ink);text-decoration:none;font-weight:500}
.tab small{color:#6b7a78;margin-left:.2rem}.tab:hover{border-color:var(--gold)}.tab.on{background:var(--ink);color:#fff;border-color:var(--ink)}.tab.on small{color:var(--gold)}
.cathead{padding:.6rem 1rem;background:#eef1ed;font-family:"Bricolage Grotesque",Georgia,serif;font-weight:700;border-bottom:1px solid var(--line)}
.catname{display:flex;align-items:center;gap:.5rem;margin:1.4rem 0 .5rem;padding-bottom:.3rem;border-bottom:2px solid var(--gold);font-family:"Bricolage Grotesque",Georgia,serif;font-size:1.15rem}.catname small{background:var(--ink);color:#fff;border-radius:99px;padding:0 .55rem;font:600 .8rem system-ui}
[hidden]{display:none!important}
.flash.warn{background:#fbe9b8;border-color:#e0b84a}.btn[disabled]{opacity:.45;cursor:not-allowed}
.pickcols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;align-items:start}
.pickcol{background:#f6f8f5;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem}
.pickcol h4{margin:0 0 .4rem;padding-bottom:.3rem;border-bottom:2px solid var(--gold);font-family:"Bricolage Grotesque",Georgia,serif}
.pick small{display:block;color:#6b7a78}.pickcol .pick input{width:4.2rem}
.sum{background:#fff6dc;border:1px solid #e0b84a;border-radius:8px;padding:.6rem 1rem;margin:0;font-size:1.05rem}
.packrow .sum{display:flex;flex-direction:column;justify-content:center;line-height:1.25;padding:.35rem .8rem}.sum small{font-size:.8rem;color:#6b5a1e}@media(max-width:640px){.packrow{grid-template-columns:1fr 1fr}.packrow>:first-child,.packrow .btn{grid-column:1/-1}}
.nextname{margin:0}
.calwrap{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:1.5rem;align-items:start}
.calnav{display:flex;align-items:center;justify-content:space-between;margin:.5rem 0}.calnav a{padding:.2rem .8rem;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:1.3rem}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal .h{text-align:center;color:#6b7a78;font-size:.85rem}
.day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.day small{font-size:.7rem;color:#fff;background:var(--ember);border-radius:99px;padding:0 .4rem;margin-top:2px;line-height:1.35}
a.day:hover{border-color:var(--gold)}.day.past{opacity:.35}.day.today{outline:2px solid var(--gold)}.day.sel{background:var(--ink);color:#fff;border-color:var(--ink)}.day.empty{background:none;border:0}
.slotrow{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;margin-bottom:.4rem}
.slotform{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:10px;padding:1rem;margin-top:.8rem;align-items:end}.slotform label{display:grid;gap:.2rem;font-weight:500}
@media(max-width:760px){.calwrap{grid-template-columns:1fr}}
#toasts{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:50;max-width:320px}.toast{background:var(--ink);color:#fff;border-left:5px solid var(--gold);border-radius:8px;padding:.7rem 1rem;box-shadow:0 6px 20px rgba(0,0,0,.25);cursor:pointer}.toast a{color:var(--gold)}.bell{position:fixed;left:1rem;bottom:1rem;z-index:50;box-shadow:0 4px 14px rgba(0,0,0,.25)}
@keyframes blink{0%,100%{background:var(--ink);border-left-color:var(--gold)}50%{background:var(--ember);border-left-color:#fff}}
@keyframes blinkb{50%{background:var(--gold);color:#201600;transform:scale(1.3)}}
.toast{animation:blink 1s ease-in-out infinite}.badge.blink{animation:blinkb 1s ease-in-out infinite}
@keyframes blinkc{50%{background:var(--gold);color:#201600}}
@media(prefers-reduced-motion:reduce){.badge.blink{animation-name:blinkc}}
.prodlist{margin:.2rem 0 0;padding-left:1.1rem;color:#55625f;font-size:.9rem}.prodlist small{color:#6b7a78}.pickcol .hint{margin:.5rem 0 0;font-size:.85rem}
.row .menuform{display:grid;gap:.4rem;min-width:220px}.menuform label{display:grid;gap:.15rem;font-size:.85rem;font-weight:600}.row .menuform select{width:100%}.menubuy{display:flex;gap:.4rem}.menubuy input{width:4rem}
.tabs.sub{margin-top:.2rem}.tab small.hot{background:var(--ember);color:#fff;border-radius:99px;padding:0 .5rem;font-weight:700}
.daynav{display:flex;align-items:center;gap:.6rem;margin:.6rem 0;flex-wrap:wrap}.daynav>a:not(.tab){padding:.2rem .8rem;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:1.3rem}.flash.warn a{color:var(--ember);font-weight:600}
.incrow{display:grid;grid-template-columns:auto 1fr 5.5rem;gap:.5rem;align-items:center;padding:.35rem 0;border-bottom:1px dashed var(--line)}.incrow input[type=checkbox]{width:auto}.incrow small{display:block;color:#6b7a78}.incrow input:not([type=checkbox]){width:100%}
.sup{font-weight:600;color:var(--ember)}.sup.ok{color:#2f7a35}
.pct{display:grid;gap:.15rem;font-size:.8rem;font-weight:600}.pct input{width:100%}.pricebox{display:grid;gap:.15rem}.pricebox small{font-size:.8rem;color:#6b5a1e}
@media(max-width:640px){.pricebox{grid-column:1/-1}}
.prod.newprod{grid-template-columns:1fr 1fr;gap:.8rem;max-width:620px;padding:1rem;border-left:5px solid var(--gold)}.prod.newprod label{display:grid;gap:.2rem;font-weight:500}.prod.newprod label input,.prod.newprod label select{width:100%}.prod.newprod .btn{grid-column:1/-1;justify-self:start}@media(max-width:640px){.prod.newprod{grid-template-columns:1fr}}
.pricebox{position:relative}.pricebox input{padding-right:1.9rem}.pricebox .eur{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:#55625f;pointer-events:none}
.pctbox{display:flex;align-items:center;gap:.3rem;border:1px solid var(--line);border-radius:6px;background:#fff;padding:0 .7rem;white-space:nowrap}.pctbox input{border:0;background:transparent;width:2.2rem;min-width:0;padding:.5rem 0;text-align:right}.pctbox input:focus-visible{outline:none}.pctbox:focus-within{outline:3px solid var(--ember);outline-offset:2px}.pctbox span{color:#55625f}

/* ===== Portada: escaparate de pollería ===== */
:root{--display:"Alfa Slab One","Rockwell","Roboto Slab",Georgia,serif}
body{font-family:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif}
h1,h2,.logo strong{font-family:var(--display);font-weight:400;letter-spacing:0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.home{--tile:#EEF4F3;--grout:#D3E0DE;--bottle:#0E3B3A;--sign:#FFC21A;--brasa:#C4301D;background:#F7FAF9}
.home main{max-width:none;padding:0}.home .bar{max-width:1080px}.home .flash{margin:1rem 5vw}
.h-wrap{max-width:1080px;margin:0 auto;padding:0 5vw}
.h-hero{background-color:var(--tile);background-image:linear-gradient(var(--grout) 2px,transparent 2px),linear-gradient(90deg,var(--grout) 2px,transparent 2px);background-size:64px 64px;padding:clamp(1.5rem,4vw,3.2rem) 0 clamp(1.8rem,4vw,3.4rem);border-bottom:6px solid var(--bottle)}
.h-herogrid{display:grid;grid-template-columns:1.05fr 1fr;gap:2rem;align-items:center}
.h-copy h1{font-size:clamp(2.1rem,5.2vw,3.5rem);line-height:1.08;color:var(--bottle);margin:0 0 1rem;max-width:13em}
.h-lead{font-size:1.2rem;max-width:30em;margin:0 0 1.5rem;color:#244a48}
.h-search{display:flex;gap:.5rem;background:#fff;border:3px solid var(--bottle);border-radius:10px;padding:.35rem;max-width:520px;box-shadow:5px 5px 0 var(--bottle)}
.h-search input{flex:1;min-width:0;border:0;background:transparent;font-size:1.05rem;padding:.7rem .8rem}
.h-search input:focus-visible{outline:none}.h-search:focus-within{outline:3px solid var(--brasa);outline-offset:3px}
.h-search .btn{background:var(--sign);color:var(--bottle);font-size:1.05rem;padding:.7rem 1.4rem;border-radius:7px}
.h-cities{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;margin:1.3rem 0 0}.h-cities span{color:#35605e}
.h-cities a{color:var(--bottle);font-weight:600;text-decoration:underline;text-decoration-color:var(--sign);text-decoration-thickness:3px;text-underline-offset:3px}
.h-window svg{display:block;width:100%;height:auto;max-width:520px;margin-left:auto}
.h-turn{transform-box:fill-box;transform-origin:center;animation:hturn 3.4s ease-in-out infinite}
.h-fire rect{animation:hfire 1.3s ease-in-out infinite alternate}
@keyframes hturn{0%,100%{transform:translateY(0) scaleX(1);opacity:.55}50%{transform:translateY(28px) scaleX(.7);opacity:.18}}
@keyframes hfire{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.h-turn,.h-fire rect{animation:none}}
.h-steps{background:var(--bottle);color:#fff}
.h-steps ol{list-style:none;margin:0;padding:1.4rem 5vw;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;counter-reset:s}
.h-steps li{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:center;counter-increment:s}
.h-steps li::before{content:counter(s);grid-row:span 2;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--sign);color:var(--bottle);display:grid;place-items:center;font-family:var(--display);font-size:1.3rem}
.h-steps b{font-weight:700}.h-steps span{color:#bcd3d1;font-size:.95rem}
.h-board{background:var(--sign);color:var(--bottle);padding:2.2rem 0 2.4rem}
.h-board h2,.h-shops h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin:0 0 1.2rem;color:var(--bottle)}
.h-menu{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 2.5rem}
.h-menu a{display:grid;grid-template-columns:auto 1fr auto;column-gap:.6rem;align-items:baseline;padding:.8rem 0;color:inherit;text-decoration:none;border-bottom:2px solid rgba(14,59,58,.2)}
.h-mn b{font-family:var(--display);font-weight:400;font-size:1.15rem;margin-right:.6rem}.h-menu a:hover .h-mn b{text-decoration:underline}
.h-dots{border-bottom:3px dotted rgba(14,59,58,.55);transform:translateY(-.3em)}
.h-pr{font-family:var(--display);font-size:1.5rem}
.h-menu small{grid-column:1/-1;margin-top:.15rem;font-size:.92rem;color:#164a48}
.h-shops{padding:2.4rem 0 3rem}.h-back{margin:-.6rem 0 1.2rem}
.h-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.3rem}
.h-shop{position:relative;overflow:hidden;display:grid;gap:.2rem;background:#fff;border:2px solid var(--bottle);border-radius:4px;padding:1.7rem 1rem 1rem;color:var(--bottle);text-decoration:none}
.h-awn{position:absolute;left:0;right:0;top:0;height:12px;background:repeating-linear-gradient(90deg,var(--brasa) 0 16px,#fff 16px 32px);border-bottom:2px solid var(--bottle)}
.h-shop b{font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.15}
.h-shop span,.h-shop small{color:#3f6360}.h-shop small{font-size:.93rem}
.h-shop:hover{box-shadow:4px 4px 0 var(--bottle)}
.h-tag{font-style:normal;font-weight:700;background:var(--sign);color:var(--bottle);border-radius:99px;padding:.05rem .6rem;margin-left:.5rem;white-space:nowrap}
.h-empty{max-width:34em}
.h-sell{background-color:var(--tile);background-image:linear-gradient(var(--grout) 2px,transparent 2px),linear-gradient(90deg,var(--grout) 2px,transparent 2px);background-size:64px 64px;border-top:6px solid var(--bottle)}
.h-sell .h-wrap{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:2.2rem;padding-bottom:2.2rem}
.h-sell h2{margin:0 0 .4rem;font-size:1.6rem;color:var(--bottle)}.h-sell p{margin:0;max-width:34em;color:#244a48}
.h-sell .btn{background:var(--bottle);color:#fff;font-size:1.05rem;padding:.8rem 1.4rem}
@media(max-width:820px){.h-herogrid{grid-template-columns:1fr}.h-window svg{margin:0 auto;max-width:420px}.h-steps ol{grid-template-columns:1fr}.h-menu{grid-template-columns:1fr}}

/* ajustes tras revisar capturas */
.top{background:rgba(14,59,58,.97);border-bottom-color:#FFC21A}
.logo strong{color:#FFC21A;white-space:nowrap}nav a.btn{background:#FFC21A;color:#0E3B3A;white-space:nowrap}nav a.btn:hover{background:#ffd24d}nav a.on{color:#FFC21A;background:rgba(255,194,26,.16)}
.h-herogrid{grid-template-columns:1.1fr 1fr}
.h-copy h1{font-size:clamp(1.9rem,4.4vw,3rem);max-width:15em}
.h-window svg{max-width:560px}
.h-steps ol{padding-left:0;padding-right:0}
.h-mn b{display:block;margin:0 0 .1rem}.h-mn{font-size:.95rem}
.h-save{font-weight:700;color:var(--bottle)}
@media(max-width:480px){.logo svg{width:34px;height:34px}.logo strong{font-size:1.05rem}.bar{gap:.5rem}nav{gap:0}nav a{padding:.4rem .55rem;font-size:.92rem}nav a.btn{margin-left:.2rem}}
@media(max-width:820px){.h-herogrid{grid-template-columns:1fr}.h-window svg{max-width:420px;margin:0 auto}}

/* Foto opcional de portada: se activa sola si existe img/portada.jpg */
.h-hero.h-photo{background-image:linear-gradient(90deg,rgba(9,38,36,.93) 0,rgba(9,38,36,.86) 36%,rgba(9,38,36,.5) 52%,rgba(9,38,36,0) 74%),var(--foto);background-size:cover;background-position:center right;padding-top:clamp(2.5rem,6vw,5rem);padding-bottom:clamp(2.5rem,6vw,5rem)}
.h-photo .h-window{display:none}.h-photo .h-herogrid{grid-template-columns:minmax(0,640px)}
.h-photo .h-copy h1{color:#fff}.h-photo .h-lead{color:#dcebe9}
.h-photo .h-cities span{color:#b9d3d0}.h-photo .h-cities a{color:#fff}
@media(max-width:820px){.h-hero.h-photo{background-image:linear-gradient(180deg,rgba(14,59,58,.88),rgba(14,59,58,.7)),var(--foto)}}
.h-photo .h-copy h1{max-width:11.5em;text-shadow:0 2px 16px rgba(0,0,0,.45)}.h-photo .h-lead{max-width:24em;text-shadow:0 1px 10px rgba(0,0,0,.5)}.h-photo .h-search{max-width:480px}
@media(max-width:820px){.h-hero.h-photo{background-image:linear-gradient(180deg,rgba(9,38,36,.9),rgba(9,38,36,.78)),var(--foto);background-position:70% center}.h-photo .h-copy h1{max-width:none}}
