@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--bg:#090909;--paper:#111;--text:#f5f3ed;--muted:#a8a8a8;--fire:#ff7a00;--cheddar:#ffc400;--line:rgba(255,255,255,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}body.locked{overflow:hidden}button,a{font:inherit}.ambient{position:fixed;inset:0;z-index:-2;background:linear-gradient(rgba(5,5,5,.83),rgba(5,5,5,.94)),url('../images/brand/background.webp') center/680px repeat}.ambient:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 12%,rgba(255,122,0,.16),transparent 30%),radial-gradient(circle at 15% 55%,rgba(255,196,0,.07),transparent 27%);animation:breathe 8s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.55;transform:scale(1.04)}}
.loader{position:fixed;inset:0;z-index:100;background:#050505;display:grid;place-content:center;text-align:center;transition:opacity .65s,visibility .65s}.loader.hide{opacity:0;visibility:hidden}.loader img{width:112px;margin:auto;filter:drop-shadow(0 0 20px rgba(255,255,255,.2));animation:pulse 1.5s ease-in-out infinite}.loader span{font:700 14px 'Barlow Condensed';letter-spacing:.16em;margin-top:20px;color:#aaa;text-transform:uppercase}@keyframes pulse{50%{transform:scale(1.07);opacity:.75}}
.topbar{position:sticky;top:0;z-index:20;height:88px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(18px,4vw,64px);background:linear-gradient(#070707 55%,transparent);backdrop-filter:blur(8px)}.brand img{width:min(470px,52vw);max-height:64px;object-fit:contain}.cart-button{border:1px solid var(--line);background:rgba(20,20,20,.8);color:white;border-radius:999px;padding:10px 12px 10px 18px;display:flex;gap:12px;align-items:center;cursor:pointer}.cart-button b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--fire);color:#111}
.hero{min-height:calc(100vh - 88px);display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:30px;padding:40px clamp(22px,7vw,110px) 80px}.eyebrow{font:800 13px 'Barlow Condensed';letter-spacing:.2em;color:var(--fire);margin:0 0 10px;text-transform:uppercase}.hero h1,.section-heading h2,.sheet-content h2,.cart-panel h2{font-family:'Barlow Condensed',Arial,sans-serif;text-transform:uppercase;line-height:.9;margin:0}.hero h1{font-size:clamp(58px,8vw,126px);max-width:760px}.hero h1 em{font-style:normal;color:var(--cheddar)}.hero-copy>p:not(.eyebrow){color:#c6c6c6;max-width:530px;font-size:clamp(16px,1.6vw,21px);line-height:1.6}.cta,.add-button,.cart-panel footer button{display:inline-flex;border:0;background:linear-gradient(135deg,var(--cheddar),var(--fire));color:#090909;text-decoration:none;font:800 16px 'Barlow Condensed';letter-spacing:.08em;padding:16px 24px;border-radius:5px;cursor:pointer}.hero-stage{position:relative;height:min(70vh,680px);display:grid;place-items:center}.hero-stage img{width:min(740px,55vw);max-height:520px;object-fit:contain;z-index:2;filter:drop-shadow(0 35px 24px rgba(0,0,0,.65));transition:opacity .3s,transform .3s}.hero-stage img.changing{opacity:0;transform:translateY(18px) scale(.96)}.halo{position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,145,0,.28),rgba(255,112,0,.05) 44%,transparent 70%);filter:blur(15px)}.hero-stage>.hero-watermark{position:absolute;bottom:5%;font:800 clamp(50px,7vw,120px) 'Barlow Condensed';color:rgba(255,255,255,.045);letter-spacing:.02em;white-space:nowrap;transition:opacity .28s,transform .28s}
.menu{padding:60px clamp(18px,6vw,90px) 120px;min-height:100vh}.section-heading{max-width:800px;margin-bottom:28px}.section-heading h2{font-size:clamp(44px,6vw,88px)}.categories{position:sticky;top:85px;z-index:15;display:flex;gap:8px;overflow:auto;padding:12px 0 18px;background:linear-gradient(#0b0b0b 70%,transparent);scrollbar-width:none}.category{white-space:nowrap;border:1px solid var(--line);background:#151515;color:#aaa;padding:12px 17px;border-radius:999px;cursor:pointer}.category.active{background:var(--text);color:#090909;border-color:var(--text);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:18px}.product{position:relative;min-height:440px;padding:12px 16px 22px;border-bottom:1px solid var(--line);cursor:pointer;animation:rise .45s both;animation-delay:var(--delay)}@keyframes rise{from{opacity:0;transform:translateY(18px)}}.product:before{content:"";position:absolute;inset:20% 8% 14%;background:radial-gradient(circle,rgba(255,122,0,.16),transparent 62%);opacity:0;transition:.35s}.product:hover:before{opacity:1}.product-image{height:275px;display:grid;place-items:center;position:relative}.product-image img{max-width:110%;max-height:270px;object-fit:contain;filter:drop-shadow(0 28px 18px rgba(0,0,0,.58));transition:transform .35s}.product:hover img{transform:translateY(-8px) scale(1.045)}.product-copy{position:relative}.product-copy p{font:700 12px 'Barlow Condensed';letter-spacing:.12em;color:var(--fire);text-transform:uppercase;margin:0 0 6px}.product h3{font:800 34px 'Barlow Condensed';line-height:.95;margin:0 0 8px}.product-copy span{display:block;color:#aaa;font-size:13px;line-height:1.45;min-height:38px}.product-copy strong{display:block;color:var(--cheddar);margin-top:13px;font-size:14px}.product>button{position:absolute;right:10px;bottom:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#161616;color:white;font-size:24px;cursor:pointer}.food-placeholder{width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#292929,#0e0e0e 70%);border:1px dashed #555;color:#777;font:800 28px 'Barlow Condensed'}
.product-sheet,.cart{position:fixed;inset:0;z-index:60;visibility:hidden}.product-sheet.open,.cart.open{visibility:visible}.sheet-backdrop,.cart-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.76);backdrop-filter:blur(9px);opacity:0;transition:.35s}.open .sheet-backdrop,.open .cart-backdrop{opacity:1}.sheet-card{position:absolute;inset:auto 0 0;max-height:94vh;overflow:auto;background:#101010;border-top:1px solid #444;border-radius:28px 28px 0 0;display:grid;grid-template-columns:minmax(340px,1fr) minmax(360px,1fr);transform:translateY(105%);transition:transform .5s cubic-bezier(.22,.85,.28,1)}.open .sheet-card{transform:none}.close{border:1px solid var(--line);background:#181818;color:white;width:42px;height:42px;border-radius:50%;font-size:26px;cursor:pointer}.sheet-card>.close{position:absolute;right:18px;top:18px;z-index:3}.sheet-visual{min-height:540px;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,126,0,.2),transparent 58%),url('../images/brand/background.webp') center/600px}.sheet-visual img{width:90%;max-height:520px;object-fit:contain;filter:drop-shadow(0 40px 28px #000)}.sheet-visual img.is-placeholder{width:120px}.sheet-content{padding:70px clamp(28px,5vw,70px) 40px}.sheet-content h2{font-size:clamp(58px,7vw,100px)}.sheet-content>p:not(.eyebrow){color:#bbb;line-height:1.6}.option-block{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.option-block[hidden]{display:none}.option-block h3{font:700 20px 'Barlow Condensed';text-transform:uppercase}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#181818;color:#bbb;padding:10px 16px;border-radius:999px;cursor:pointer}.chip.selected{background:var(--cheddar);color:#111;border-color:var(--cheddar);font-weight:700}.extras-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.extras-list label input{display:none}.extras-list span{display:block;padding:12px;border:1px solid var(--line);border-radius:6px;color:#bbb;cursor:pointer}.extras-list input:checked+span{border-color:var(--fire);color:white;background:rgba(255,122,0,.1)}.sheet-footer{display:flex;align-items:center;gap:14px;margin-top:28px}.quantity{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px}.quantity button{width:42px;height:50px;background:transparent;border:0;color:white;font-size:24px;cursor:pointer}.quantity span{min-width:34px;text-align:center}.add-button{flex:1;justify-content:center}
.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(490px,100%);background:#101010;border-left:1px solid #333;padding:24px;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .45s cubic-bezier(.22,.85,.28,1)}.open .cart-panel{transform:none}.cart-panel header{display:flex;justify-content:space-between;align-items:start}.cart-panel h2{font-size:46px}.cart-items{margin-top:26px;overflow:auto;display:grid;gap:10px}.cart-item{display:grid;grid-template-columns:70px 1fr 34px;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:10px 0}.cart-item>div{height:60px;display:grid;place-items:center}.cart-item img{max-width:76px;max-height:60px}.cart-item h3{font:700 20px 'Barlow Condensed';margin:0}.cart-item p{font-size:12px;color:#999}.cart-item button{border:0;background:none;color:#888;font-size:24px}.cart-empty{margin:auto;color:#777;text-align:center}.cart-panel footer{margin-top:auto;border-top:1px solid var(--line);padding-top:16px}.cart-panel footer p{color:#888;font-size:12px}.cart-panel footer button{width:100%;justify-content:center}.cart-panel footer button:disabled{filter:grayscale(1);opacity:.4}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,30px);opacity:0;background:white;color:#111;padding:12px 18px;border-radius:999px;font-weight:700;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.hero-copy{z-index:3}.hero-stage{height:420px;margin-top:-40px}.hero-stage img{width:min(760px,92vw)}.sheet-card{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.topbar{height:78px;padding:8px 14px}.brand img{width:150px;max-height:62px}.cart-button span{display:none}.cart-button{padding:7px}.hero{padding:28px 18px 70px;min-height:auto;gap:0}.hero h1{font-size:64px}.hero-stage{height:330px;margin:0}.hero-stage img{width:110vw;max-height:300px}.hero-stage>.hero-watermark{font-size:54px;bottom:2%}.menu{padding:45px 12px 90px}.section-heading{padding:0 7px}.section-heading h2{font-size:49px}.categories{top:76px;padding-left:5px}.product-grid{grid-template-columns:1fr 1fr;gap:6px}.product{min-height:325px;padding:6px 8px 16px}.product-image{height:185px}.product-image img{max-height:182px;max-width:118%}.product h3{font-size:27px}.product-copy span{font-size:11px;min-height:48px}.product>button{width:36px;height:36px;font-size:20px;right:5px}.food-placeholder{width:130px;height:130px;font-size:20px}.sheet-card{display:block}.sheet-visual{min-height:310px;height:38vh}.sheet-visual img{max-height:290px}.sheet-content{padding:25px 18px 30px}.sheet-content h2{font-size:58px}.extras-list{grid-template-columns:1fr}.sheet-footer{position:sticky;bottom:-30px;background:linear-gradient(transparent,#101010 15%);padding:24px 0 8px}.add-button{font-size:13px}.cart-panel{padding:18px}}

.top-actions{display:flex;align-items:center;gap:10px}.bridge-status{font:700 11px 'Barlow Condensed';letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(12,12,12,.75);color:#aaa}.bridge-status[data-kind="online"]{color:#8ee69c;border-color:rgba(142,230,156,.3)}.bridge-status[data-kind="warning"]{color:#ffc400}.bridge-status[data-kind="cache"]{color:#c9c9c9}
.hero-product-info{position:absolute;z-index:4;right:1%;bottom:6%;width:min(390px,48%);padding:8px 4px 8px 30px;text-align:left;isolation:isolate}.hero-product-info:before{content:"";position:absolute;z-index:-1;inset:-55px -70px -50px -80px;background:radial-gradient(ellipse at 55% 55%,rgba(0,0,0,.66) 0,rgba(0,0,0,.42) 34%,rgba(0,0,0,.12) 62%,transparent 76%);filter:blur(14px);pointer-events:none}.hero-product-info h2{margin:0 0 8px;font:800 clamp(40px,4.8vw,76px)/.86 'Barlow Condensed';letter-spacing:.01em;text-transform:uppercase;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.9)}.hero-product-info p{margin:0 0 10px;color:#d0d0d0;font-size:clamp(12px,1.1vw,15px);line-height:1.5;text-shadow:0 2px 12px #000}.hero-product-info strong{display:block;color:var(--cheddar);margin-bottom:15px;font-size:clamp(14px,1.35vw,18px);text-shadow:0 2px 14px #000}.hero-product-info button{border:1px solid rgba(255,255,255,.58);background:transparent;color:#fff;padding:10px 14px;font:800 12px 'Barlow Condensed';letter-spacing:.1em;cursor:pointer;transition:background .22s,color .22s,border-color .22s,transform .22s}.hero-product-info button:hover,.hero-product-info button:focus-visible{background:var(--cheddar);border-color:var(--cheddar);color:#090909;transform:translateX(3px)}.hero-product-info>*{opacity:1;transform:translateY(0)}.hero-product-info.changing>*{opacity:0;transform:translateY(10px)}.hero-product-info.reveal h2{animation:heroTextIn .42s .02s both}.hero-product-info.reveal p{animation:heroTextIn .42s .13s both}.hero-product-info.reveal strong{animation:heroTextIn .42s .23s both}.hero-product-info.reveal button{animation:heroTextIn .42s .33s both}@keyframes heroTextIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.product-label{position:absolute;z-index:3;top:12px;left:10px;background:var(--fire);color:#111;font:800 11px 'Barlow Condensed';letter-spacing:.08em;padding:6px 9px;border-radius:3px}.product.sold-out{opacity:.48}.product.sold-out img{filter:grayscale(1) drop-shadow(0 28px 18px rgba(0,0,0,.58))}.product>button:disabled{cursor:not-allowed}.sheet-price{display:block;color:var(--cheddar);font-size:18px;margin:14px 0}.extras-list label span{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.extras-list label span b{font-size:13px}.extras-list label span small{color:var(--cheddar);white-space:nowrap}.empty-category{grid-column:1/-1;color:#888;padding:50px 0}.image-error:after{content:'Imagen no disponible';color:#777;font:700 12px 'Barlow Condensed';letter-spacing:.1em;text-transform:uppercase}
@media(max-width:700px){.bridge-status{display:none}.top-actions{gap:6px}.hero-product-info{right:12px;bottom:1%;width:66%;padding:6px 0 6px 12px}.hero-product-info:before{inset:-35px -25px -30px -45px}.hero-product-info h2{font-size:38px;margin-bottom:5px}.hero-product-info p{display:block;font-size:10px;line-height:1.35;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hero-product-info strong{font-size:12px;margin-bottom:8px}.hero-product-info button{padding:8px 10px;font-size:10px}.topbar{height:76px}.categories{top:74px}}


.product-sheet{background:#090909;overflow:hidden}
.product-sheet .sheet-backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(18px) saturate(.72)}
.product-sheet.open .sheet-backdrop{opacity:1}
.sheet-card{inset:0;max-height:none;overflow:auto;border:0;border-radius:0;background:
  radial-gradient(circle at 27% 42%,rgba(255,129,0,.18),transparent 28%),
  linear-gradient(115deg,rgba(10,10,10,.98),rgba(15,15,15,.98));
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);transform:none;opacity:0;transition:opacity .36s ease}
.product-sheet.open .sheet-card{opacity:1}
.product-sheet.entering .sheet-card,.product-sheet.leaving .sheet-card{opacity:0}
.sheet-card:before{content:"";position:fixed;inset:0;background:linear-gradient(rgba(6,6,6,.84),rgba(6,6,6,.94)),url('../images/brand/background.webp') center/720px repeat;opacity:.18;pointer-events:none}
.sheet-card>.close{position:fixed;right:clamp(16px,2.5vw,38px);top:clamp(16px,2.5vw,32px);z-index:8;border-color:rgba(255,255,255,.2);background:rgba(12,12,12,.45);backdrop-filter:blur(8px)}
.sheet-visual{position:sticky;top:0;height:100vh;min-height:620px;background:none;overflow:hidden;isolation:isolate}
.sheet-visual:before{content:"";position:absolute;width:min(62vw,780px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,163,0,.32),rgba(255,105,0,.08) 43%,transparent 68%);filter:blur(18px);animation:signatureHalo 5s ease-in-out infinite alternate}
.sheet-visual:after{content:"GANGSTA PARADDISE";position:absolute;bottom:8%;left:50%;translate:-50% 0;white-space:nowrap;font:800 clamp(52px,8vw,140px)/.8 'Barlow Condensed';letter-spacing:.02em;color:rgba(255,255,255,.035);z-index:-1}
@keyframes signatureHalo{to{transform:scale(1.08);opacity:.68}}
.sheet-visual img{position:relative;width:min(88%,820px);max-height:75vh;object-fit:contain;filter:drop-shadow(0 55px 34px rgba(0,0,0,.78));transform:translateY(42px) scale(.88);opacity:0;transition:transform .75s cubic-bezier(.2,.9,.2,1),opacity .42s ease}
.product-sheet.open:not(.entering) .sheet-visual img{transform:translateY(0) scale(1);opacity:1}
.product-sheet.leaving .sheet-visual img{transform:translateY(50px) scale(.9);opacity:0}
.sheet-content{position:relative;z-index:2;align-self:center;padding:clamp(80px,10vh,130px) clamp(28px,6vw,96px) 70px clamp(24px,4vw,64px);opacity:0;transform:translateX(30px);transition:opacity .55s .14s ease,transform .65s .12s cubic-bezier(.22,.85,.28,1)}
.product-sheet.open:not(.entering) .sheet-content{opacity:1;transform:none}
.product-sheet.leaving .sheet-content{opacity:0;transform:translateX(25px);transition-delay:0s}
.product-heading{max-width:630px}
.sheet-content h2{font-size:clamp(70px,8vw,132px);letter-spacing:-.025em;text-wrap:balance}
.sheet-description{max-width:560px;margin:18px 0 0!important;font-size:clamp(15px,1.25vw,19px);color:#bdbdbd!important}
.ingredients-block,.option-block{margin-top:34px;padding:0;border:0}
.ingredients-block h3,.option-block h3{margin:0 0 14px;font:800 14px 'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:#f0ede5}
.ingredients-block ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;color:#b9b9b9}
.ingredients-block li{padding:9px 12px;border-left:2px solid var(--fire);background:rgba(255,255,255,.035)}
.chips,.extras-list{display:flex;flex-wrap:wrap;gap:10px}
.chip,.extra-chip{appearance:none;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.035);color:#bbb;padding:12px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:10px;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.chip small,.extra-chip small{color:var(--cheddar);font-size:11px}
.chip:hover,.extra-chip:hover{border-color:rgba(255,196,0,.48);color:white;transform:translateY(-2px)}
.chip.selected,.extra-chip.selected{background:var(--cheddar);border-color:var(--cheddar);color:#080808;font-weight:800;transform:scale(1.035)}
.chip.selected small,.extra-chip.selected small{color:#151515}
.purchase-row{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-top:42px;max-width:620px}
.price-stack span{display:block;margin-bottom:4px;font:700 12px 'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:#888}
.sheet-price{font:800 clamp(34px,4vw,58px)/1 'Barlow Condensed';color:var(--cheddar);margin:0}
.quantity{border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.035);overflow:hidden}
.quantity button{width:46px;height:48px}
.quantity span{min-width:38px;font-weight:800}
.sheet-footer{display:block;margin-top:22px;max-width:620px}
.add-button{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;border-radius:0;padding:16px 20px;overflow:hidden;position:relative;transition:transform .2s ease,filter .2s ease}
.add-button:hover{filter:brightness(1.08);transform:translateY(-2px)}
.add-button.adding{animation:addDrop .46s cubic-bezier(.22,.85,.28,1)}
@keyframes addDrop{45%{transform:translateY(7px) scale(.985)}100%{transform:none}}
.add-button span:last-child{font-size:24px}

@media(max-width:900px){
  .sheet-card{display:block}
  .sheet-visual{position:relative;height:50vh;min-height:360px}
  .sheet-visual img{max-height:44vh;width:96%}
  .sheet-visual:after{bottom:2%;font-size:64px}
  .sheet-content{padding:8px 20px 105px}
  .sheet-content h2{font-size:clamp(58px,15vw,92px)}
  .product-heading{margin-top:-18px}
  .purchase-row{margin-top:34px}
  .sheet-footer{position:sticky;bottom:0;z-index:4;padding:18px 0 max(10px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#101010 24%)}
}
@media(max-width:560px){
  .sheet-visual{height:43vh;min-height:320px}
  .sheet-visual img{max-height:38vh}
  .sheet-content{padding-inline:16px}
  .sheet-description{font-size:14px}
  .ingredients-block,.option-block{margin-top:26px}
  .chip,.extra-chip{padding:10px 12px;font-size:13px}
  .purchase-row{align-items:center}
  .sheet-price{font-size:38px}
  .quantity button{width:40px;height:44px}
}


.smart-cart-dock{position:fixed;z-index:35;right:clamp(16px,3vw,38px);bottom:max(18px,env(safe-area-inset-bottom));min-width:250px;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;background:rgba(15,15,15,.94);color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(18px);cursor:pointer;transform:translateY(130%);opacity:0;transition:transform .34s cubic-bezier(.2,.8,.2,1),opacity .28s}.smart-cart-dock.visible{transform:none;opacity:1}.smart-cart-dock[hidden]{display:none}.dock-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cheddar),var(--fire));font-size:19px}.dock-copy{text-align:left;line-height:1.05}.dock-copy small{display:block;color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.13em;margin-bottom:4px}.dock-copy strong{font:700 17px 'Barlow Condensed';text-transform:uppercase}.dock-copy b{color:var(--cheddar)}.dock-total{font:800 19px 'Barlow Condensed';color:var(--cheddar);white-space:nowrap}.smart-cart-dock.bump{animation:cartBump .42s ease}@keyframes cartBump{45%{transform:translateY(-5px) scale(1.035)}}
.cart-panel{display:flex!important;flex-direction:column}.cart-items{flex:1;overflow:auto;padding-bottom:12px}.cart-empty{margin:auto;text-align:center;max-width:300px;padding:40px 20px;color:#999}.cart-empty span{display:block;font-size:48px;filter:grayscale(1);opacity:.45;margin-bottom:14px}.cart-empty strong{display:block;color:#fff;font:800 27px 'Barlow Condensed';text-transform:uppercase}.cart-empty p{line-height:1.5}.cart-empty button{border:1px solid var(--line);background:transparent;color:#fff;border-radius:999px;padding:11px 17px;cursor:pointer}.cart-item{grid-template-columns:76px 1fr auto!important;align-items:center}.cart-item>div:first-child{width:76px!important;height:70px!important}.cart-item section h3{margin-bottom:5px}.cart-item section p{line-height:1.45}.cart-item-price{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.cart-item-price strong{color:var(--cheddar);font:800 18px 'Barlow Condensed'}.cart-qty{display:inline-grid;grid-template-columns:30px 34px 30px;align-items:center;border:1px solid var(--line);border-radius:999px;overflow:hidden}.cart-qty button{border:0!important;background:transparent!important;color:#fff!important;width:30px!important;height:30px!important;font-size:18px!important;cursor:pointer}.cart-qty span{text-align:center;font-weight:700}.cart-remove{align-self:start}.cart-summary{display:flex;justify-content:space-between;align-items:end;padding:4px 0 10px}.cart-summary span{color:#aaa}.cart-summary strong{font:800 30px 'Barlow Condensed';color:var(--cheddar)}.cart-footer-actions{display:grid;grid-template-columns:auto 1fr;gap:8px}.cart-footer-actions button{width:100%}.clear-cart{border:1px solid var(--line)!important;background:transparent!important;color:#aaa!important;padding-inline:16px!important}.clear-cart:disabled{opacity:.3}.cart-button.pulse b{animation:badgePulse .45s ease}@keyframes badgePulse{50%{transform:scale(1.28)}}
@media(max-width:640px){.smart-cart-dock{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));min-width:0}.dock-total{font-size:18px}.cart-footer-actions{grid-template-columns:92px 1fr}}


.checkout,.order-success{position:fixed;inset:0;z-index:80;visibility:hidden}.checkout.open,.order-success.open{visibility:visible}.checkout-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.82);backdrop-filter:blur(16px);opacity:0;transition:.3s}.checkout.open .checkout-backdrop{opacity:1}.checkout-panel{position:absolute;inset:0 0 0 auto;width:min(680px,100%);height:100%;overflow:auto;background:linear-gradient(145deg,#111,#090909 72%);border-left:1px solid rgba(255,255,255,.13);padding:clamp(22px,4vw,48px);transform:translateX(105%);transition:transform .48s cubic-bezier(.2,.85,.2,1)}.checkout.open .checkout-panel{transform:none}.checkout-header{display:flex;justify-content:space-between;gap:20px;align-items:start}.checkout-header h2,.order-success h2{margin:0;font:800 clamp(48px,7vw,82px)/.9 'Barlow Condensed';text-transform:uppercase}.checkout-progress{display:flex;gap:7px;margin:26px 0 32px}.checkout-progress span{height:3px;flex:1;background:rgba(255,255,255,.1)}.checkout-progress .active{background:linear-gradient(90deg,var(--cheddar),var(--fire))}.checkout-block{margin:0 0 28px}.checkout-block h3{margin:0 0 12px;font:800 15px 'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase}.delivery-options,.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delivery-options input,.payment-options input{position:absolute;opacity:0}.delivery-options label span,.payment-options label span{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);cursor:pointer;transition:.2s}.delivery-options small{color:#888}.delivery-options input:checked+span,.payment-options input:checked+span{border-color:var(--cheddar);background:rgba(255,196,0,.09);color:#fff;box-shadow:inset 0 0 0 1px var(--cheddar)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid .full,.checkout-block .full{grid-column:1/-1}.checkout label>span:not(.delivery-options span):not(.payment-options span){display:block;margin:0 0 7px;color:#aaa;font-size:12px}.checkout input,.checkout textarea{width:100%;border:1px solid var(--line);background:#151515;color:#fff;border-radius:10px;padding:14px 15px;outline:none}.checkout input:focus,.checkout textarea:focus{border-color:var(--cheddar);box-shadow:0 0 0 3px rgba(255,196,0,.08)}.checkout input.invalid{border-color:#ff5a5a}.change-field{display:block;margin-top:12px}.checkout-order-summary{margin-top:34px;padding:18px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025)}.checkout-order-summary>div{display:flex;justify-content:space-between;padding:6px 0}.checkout-order-summary strong{color:var(--cheddar)}.checkout-order-summary p{color:#888;font-size:12px;line-height:1.5;margin:10px 0 0}.confirm-order{width:100%;min-height:62px;border:0;border-radius:7px;background:linear-gradient(135deg,var(--cheddar),var(--fire));color:#090909;font:800 18px 'Barlow Condensed';letter-spacing:.08em;display:flex;justify-content:space-between;align-items:center;padding:0 20px;cursor:pointer}.order-success{display:grid;place-items:center;background:rgba(5,5,5,.94);backdrop-filter:blur(18px);opacity:0;transition:.32s}.order-success.open{opacity:1}.order-success article{text-align:center;width:min(520px,90vw);padding:42px;background:radial-gradient(circle at 50% 0,rgba(255,151,0,.16),transparent 42%),#101010;border:1px solid var(--line);border-radius:26px}.success-mark{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:linear-gradient(135deg,var(--cheddar),var(--fire));color:#111;font-size:36px;font-weight:900}.order-success p:not(.eyebrow){color:#aaa;line-height:1.6}.order-code{display:inline-flex;flex-direction:column;margin:22px 0;padding:14px 28px;border:1px dashed rgba(255,196,0,.45);border-radius:12px}.order-code small{color:#888;letter-spacing:.18em}.order-code strong{font:800 34px 'Barlow Condensed';color:var(--cheddar)}.order-success button{display:block;width:100%;border:0;background:#fff;color:#111;padding:15px;border-radius:7px;font:800 16px 'Barlow Condensed';cursor:pointer}
@media(max-width:640px){.checkout-panel{padding:20px 16px 100px}.checkout-header h2{font-size:52px}.form-grid{grid-template-columns:1fr}.delivery-options,.payment-options{grid-template-columns:1fr 1fr}.order-success article{padding:34px 22px}}


body.checkout-active > .topbar,
body.checkout-active > main,
body.checkout-active > #productSheet,
body.checkout-active > #cart,
body.checkout-active > #smartCartDock,
body.checkout-active > #toast {
  visibility: hidden !important;
  pointer-events: none !important;
}
body.checkout-active > #checkout {
  visibility: visible !important;
  z-index: 2147483000 !important;
  isolation: isolate;
}
body.checkout-active > #checkout .checkout-backdrop,
body.checkout-active > #checkout .checkout-panel {
  pointer-events: auto;
}
body.checkout-active > #checkout .checkout-backdrop {
  background: rgba(0,0,0,.94);
  backdrop-filter: none;
}
body.checkout-active > #orderSuccess.open {
  visibility: visible !important;
  z-index: 2147483640 !important;
}


.product-sheet,
.cart,
.checkout,
.order-success{width:100%;max-width:100vw;overflow:hidden}
.sheet-card{left:0;width:100%;max-width:100vw}
.checkout-panel{width:100%;max-width:680px}

@media (max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.locked{position:fixed;inset:0;width:100%;overflow:hidden}

  .topbar{padding-inline:10px}
  .brand img{width:118px;max-height:54px}
  .cart-button{min-width:42px;justify-content:center}

  .hero{display:block;padding:20px 8px 52px;overflow:hidden}
  .hero-copy{padding:0 0 8px}
  .hero-copy h1{font-size:clamp(45px,15vw,64px);max-width:100%}
  .hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.45;margin:9px 0 14px}
  .cta{padding:12px 17px;font-size:13px}
  .hero-stage{height:330px;margin:0 -8px;overflow:hidden}
  .hero-stage img{width:105%;max-width:none;max-height:270px}
  .hero-product-info{right:10px;bottom:10px;width:62%;max-width:215px}
  .hero-product-info h2{font-size:34px}

  .menu{padding:38px 8px 90px}
  .section-heading h2{font-size:44px}
  .categories{margin-inline:-8px;padding-inline:8px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .product{min-width:0;min-height:306px;overflow:hidden}
  .product-image{height:170px}
  .product-image img{max-width:122%;max-height:166px}
  .product h3{font-size:25px;overflow-wrap:anywhere}
  .product-copy span{min-height:42px}

  .product-sheet.open{display:block}
  .sheet-card{inset:0;width:100vw;height:100dvh;max-height:none;border-radius:0;overflow-y:auto;overflow-x:hidden;display:block}
  .sheet-card>.close{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;z-index:8}
  .sheet-visual{height:42dvh;min-height:260px;width:100%;overflow:hidden;background-size:520px}
  .sheet-visual img{width:112%;max-width:none;max-height:38dvh;object-fit:contain}
  .sheet-content{width:100%;padding:8px 14px calc(104px + env(safe-area-inset-bottom))}
  .sheet-content h2{font-size:clamp(48px,16vw,68px);overflow-wrap:anywhere}
  .product-heading{margin-top:-8px}
  .sheet-description{font-size:13px;line-height:1.45}
  .ingredients-block ul{display:grid;grid-template-columns:1fr}
  .chips,.extras-list{display:flex;flex-wrap:wrap;gap:8px}
  .chip,.extra-chip{font-size:12px;padding:9px 11px;max-width:100%}
  .purchase-row{margin-top:28px;gap:12px;align-items:center}
  .sheet-price{font-size:34px}
  .sheet-footer{position:fixed;left:0;right:0;bottom:0;margin:0;padding:12px 14px max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,#101010 20%);z-index:7}
  .add-button{min-height:54px}

  .cart-panel{inset:auto 0 0;width:100%;height:min(86dvh,760px);border-left:0;border-top:1px solid #333;border-radius:22px 22px 0 0;padding:16px 14px calc(14px + env(safe-area-inset-bottom));transform:translateY(105%)}
  .cart.open .cart-panel{transform:none}
  .cart-items{min-height:0}
  .cart-item{grid-template-columns:58px minmax(0,1fr) 28px!important;gap:8px}
  .cart-item>div:first-child{width:58px!important;height:54px!important}
  .cart-item img{max-width:58px;max-height:52px}
  .cart-item h3{font-size:18px}
  .cart-item p{font-size:10px;margin:4px 0}
  .cart-item-price{gap:6px}
  .cart-qty{grid-template-columns:27px 28px 27px}
  .cart-summary strong{font-size:26px}
  .cart-footer-actions{grid-template-columns:78px 1fr}
  .cart-panel footer button{padding:13px 8px;font-size:13px}

  body.checkout-active{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden}
  body.checkout-active > #checkout{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden}
  .checkout-backdrop{display:none}
  .checkout-panel{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;min-height:0;padding:16px 14px calc(28px + env(safe-area-inset-bottom));border:0;overflow-y:auto;overflow-x:hidden;transform:translateX(100%);overscroll-behavior:contain}
  .checkout.open .checkout-panel{transform:translateX(0)}
  .checkout-header{position:relative;padding-right:46px}
  .checkout-header .close{position:fixed;right:12px;top:max(12px,env(safe-area-inset-top));z-index:5}
  .checkout-header h2{font-size:clamp(42px,14vw,58px);max-width:100%;overflow-wrap:anywhere}
  .checkout-progress{margin:18px 0 24px}
  .checkout-block{margin-bottom:22px}
  .delivery-options,.payment-options{grid-template-columns:1fr 1fr;gap:8px}
  .delivery-options label span,.payment-options label span{padding:12px 10px;min-height:64px}
  .form-grid{grid-template-columns:1fr;gap:11px}
  .checkout input,.checkout textarea{font-size:16px;padding:13px 12px}
  .checkout-order-summary{margin-top:24px;padding:14px}
  .confirm-order{min-height:56px;font-size:16px;position:sticky;bottom:0;z-index:3}

  .order-success{width:100vw;height:100dvh;padding:14px}
  .order-success article{width:100%;max-width:420px;padding:30px 18px;border-radius:20px}
  .order-success h2{font-size:45px}

  .smart-cart-dock{z-index:40}
}

@media (max-width:380px){
  .product-grid{grid-template-columns:1fr}
  .product{min-height:360px}
  .product-image{height:220px}
  .product-image img{max-height:215px}
  .delivery-options,.payment-options{grid-template-columns:1fr}
  .checkout-header h2{font-size:42px}
}


.cart{pointer-events:none}
.cart.open{pointer-events:auto}
.cart-backdrop{z-index:1}
.cart-panel{z-index:2;pointer-events:auto}
.cart-panel footer{position:relative;z-index:6;background:#101010}
#finishButton{position:relative;z-index:8;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#finishButton:not(:disabled){cursor:pointer}
.checkout{pointer-events:none}
.checkout.open{pointer-events:auto}
.checkout-backdrop{z-index:1}
.checkout-panel{z-index:2;pointer-events:auto}

@media (max-width:700px){
  .cart-panel footer{flex:0 0 auto;padding-bottom:max(0px,env(safe-area-inset-bottom))}
  .cart-footer-actions{position:relative;z-index:9}
  #finishButton{min-height:48px}
}


.track-order-button{display:block;width:100%;margin:0 0 9px;border:0;background:linear-gradient(135deg,var(--cheddar),var(--fire));color:#111;padding:15px;border-radius:7px;font:800 16px 'Barlow Condensed';text-align:center;text-decoration:none;letter-spacing:.06em}.confirm-order.sending{opacity:.72;cursor:wait}.confirm-order:disabled{pointer-events:none}.order-success.open{z-index:500}.order-success article{position:relative;z-index:2}


@media (max-width:700px){
  .hero-stage{
    height:292px;
    margin:0;
    overflow:hidden;
    align-items:start;
    padding-top:4px;
  }
  .hero-stage img{
    width:min(88vw,330px);
    max-width:88vw;
    max-height:226px;
    object-fit:contain;
    transform:translateY(-4px);
  }
  .hero-stage img.changing{
    transform:translateY(10px) scale(.96);
  }
  .hero-stage>.hero-watermark{
    bottom:8%;
    font-size:46px;
  }
  .hero-product-info{
    right:12px;
    bottom:18px;
    width:58%;
    max-width:205px;
  }
  .hero-product-info h2{font-size:31px}
  .hero-product-info p{-webkit-line-clamp:1}

  .product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .product{
    min-width:0;
    min-height:276px;
    padding:5px 6px 14px;
    overflow:visible;
  }
  .product-image{height:148px}
  .product-image img{
    max-width:108%;
    max-height:145px;
  }
  .product h3{font-size:23px}
  .product-copy p{font-size:10px}
  .product-copy span{
    font-size:10px;
    line-height:1.35;
    min-height:40px;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .product-copy strong{font-size:12px;margin-top:9px}
}

@media (max-width:380px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .product{min-height:258px;padding-inline:4px}
  .product-image{height:132px}
  .product-image img{max-width:106%;max-height:130px}
  .product h3{font-size:21px}
  .product-copy span{font-size:9.5px;min-height:38px}
  .delivery-options,.payment-options{grid-template-columns:1fr}
  .checkout-header h2{font-size:42px}
}

@media (max-width:340px){
  .hero-stage img{width:84vw;max-width:84vw;max-height:214px}
  .product-image{height:122px}
  .product-image img{max-height:120px}
  .product h3{font-size:19px}
}


@media (max-width:700px){
  .product-sheet .sheet-visual{
    height:292px;
    min-height:292px;
    padding-top:4px;
    display:grid;
    place-items:start center;
  }
  .product-sheet .sheet-visual img{
    width:min(88vw,330px);
    max-width:88vw;
    max-height:226px;
    object-fit:contain;
    transform:translateY(-4px) scale(1);
  }
  .product-sheet.open:not(.entering) .sheet-visual img{
    transform:translateY(-4px) scale(1);
  }
  .product-sheet.leaving .sheet-visual img{
    transform:translateY(10px) scale(.96);
  }
  .product-sheet .sheet-visual:after{
    bottom:8%;
    font-size:46px;
  }
  .product-sheet .product-heading{
    margin-top:0;
  }
}

@media (max-width:340px){
  .product-sheet .sheet-visual img{
    width:84vw;
    max-width:84vw;
    max-height:214px;
  }
}


.sheet-gallery{position:absolute;z-index:6;left:50%;bottom:clamp(18px,4vh,42px);transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(8,8,8,.5);backdrop-filter:blur(10px)}
.sheet-gallery[hidden]{display:none}.sheet-gallery>button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:28px;line-height:1;cursor:pointer}.sheet-dots{display:flex;gap:7px}.sheet-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer;transition:.2s}.sheet-dots button.active{background:var(--cheddar);transform:scale(1.35)}
.sheet-visual img.switching{opacity:.08!important;transform:translateY(4px) scale(.985)!important;transition:opacity .18s ease,transform .18s ease!important}
@media(max-width:680px){.sheet-gallery{bottom:10px}.sheet-gallery>button{width:30px;height:30px;font-size:24px}}


#heroProduct[role="button"]{cursor:pointer}
#heroProduct[role="button"]:focus-visible{outline:2px solid #ffb000;outline-offset:6px;border-radius:18px}


html{scrollbar-gutter:stable}
#inicio{scroll-margin-top:88px}
.sheet-content{transform:translateY(12px)}
.product-sheet.open:not(.entering) .sheet-content{transform:translateY(0)}
.product-sheet.leaving .sheet-content{transform:translateY(12px)}
.sheet-empty-image{position:relative;z-index:3;display:grid;place-items:center;width:min(72%,520px);aspect-ratio:4/3;border:1px dashed rgba(255,255,255,.16);border-radius:22px;background:rgba(255,255,255,.025);color:#777;text-transform:uppercase;letter-spacing:.13em;font:800 14px 'Barlow Condensed';text-align:center}
.sheet-empty-image[hidden]{display:none}
.sheet-visual.no-product-image:before{opacity:.42}
.site-footer{min-height:54px;display:flex;align-items:center;justify-content:center;padding:15px 18px calc(15px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.08);background:#080808;color:#898989;text-align:center;font-size:12px;line-height:1.35}
.site-footer a{color:#d7d7d7;font-weight:700;text-decoration:none}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--cheddar);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){#inicio{scroll-margin-top:78px}.site-footer{min-height:48px;padding:13px 12px calc(13px + env(safe-area-inset-bottom));font-size:11px}.sheet-empty-image{width:min(76vw,290px);max-height:210px}}


/* Hero atmosphere: CSS-only, no extra network assets. */
.hero-stage{isolation:isolate;overflow:visible}
.hero-stage::before,.hero-stage::after{content:"";position:absolute;pointer-events:none;z-index:0}
.hero-stage::before{inset:2% -10% -2%;background:
  radial-gradient(ellipse at 18% 72%,rgba(255,255,255,.14),transparent 34%),
  radial-gradient(ellipse at 70% 42%,rgba(255,255,255,.105),transparent 31%),
  radial-gradient(ellipse at 46% 78%,rgba(255,164,82,.10),transparent 38%),
  radial-gradient(ellipse at 82% 70%,rgba(255,255,255,.075),transparent 28%);
  filter:blur(24px);opacity:.94;mix-blend-mode:screen;transform:translate3d(-2%,1%,0) scale(1.04);animation:gpSmokeDrift 15s ease-in-out infinite alternate}
.hero-stage::after{width:82%;height:76%;left:9%;top:13%;border-radius:50%;background:radial-gradient(circle at 50% 62%,rgba(255,126,0,.34),rgba(255,82,0,.13) 38%,rgba(255,58,0,.045) 56%,transparent 73%);filter:blur(24px);opacity:.92;animation:gpGrillGlow 7.2s ease-in-out infinite}
.halo{z-index:1}
.hero-stage img,.hero-stage>.hero-watermark,.hero-product-info{position:relative}
.hero-stage>.hero-watermark,.hero-product-info{position:absolute}
@keyframes gpSmokeDrift{0%{transform:translate3d(-6%,4%,0) scale(1.02);opacity:.68}50%{transform:translate3d(2%,-4%,0) scale(1.10);opacity:1}100%{transform:translate3d(7%,2%,0) scale(1.05);opacity:.76}}
@keyframes gpGrillGlow{0%,100%{transform:scale(.95);opacity:.66}42%{transform:scale(1.08);opacity:1}68%{transform:scale(1.01);opacity:.76}}

/* Subtle cue: next product name is presented before the image reveal. */
#heroName.hero-name-cue{animation:gpHeroNameCue .34s cubic-bezier(.2,.75,.25,1) both}
@keyframes gpHeroNameCue{0%{opacity:.18;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}

/* Instagram experience */
.instagram-experience{position:relative;isolation:isolate;padding:4px clamp(18px,6vw,90px) 28px;display:flex;justify-content:center;overflow:hidden}
.ig-wall-glow{position:absolute;width:min(760px,88vw);height:150px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(255,122,0,.095),transparent 68%);filter:blur(18px);pointer-events:none}
.ig-sticker{position:relative;z-index:1;width:min(900px,100%);height:136px;min-height:136px;max-height:136px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;color:#111;text-decoration:none;background:#f2efe6;box-shadow:0 19px 50px rgba(0,0,0,.48),0 2px 0 rgba(255,255,255,.7) inset;transform:rotate(-1.15deg);transform-origin:center;animation:gpStickerBreathe 7.5s ease-in-out infinite;border-radius:3px;overflow:visible}
.ig-sticker::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 46%,rgba(255,255,255,.3) 51%,transparent 58%),repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 1px,transparent 1px 4px);mix-blend-mode:multiply;pointer-events:none}
.ig-sticker::after{content:"";position:absolute;width:108px;height:34px;top:-22px;left:50%;transform:translateX(-50%) rotate(1deg);background:linear-gradient(90deg,rgba(205,175,118,.63),rgba(237,215,165,.72) 46%,rgba(208,177,119,.62));border:1px solid rgba(126,98,57,.16);box-shadow:0 2px 6px rgba(0,0,0,.22);opacity:.9;pointer-events:none}
.ig-sticker:hover,.ig-sticker:focus-visible{animation-play-state:paused;transform:rotate(-.45deg) translateY(-3px);box-shadow:0 24px 62px rgba(0,0,0,.58),0 2px 0 rgba(255,255,255,.75) inset;outline:none}
.ig-sticker-mark{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#101010;color:#f4f0e5;transform:rotate(3deg)}
.ig-sticker-mark svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.8}.ig-sticker-mark .ig-dot{fill:currentColor;stroke:none}
.ig-sticker-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;height:100%;overflow:hidden}.ig-sticker-copy small{font:800 12px 'Barlow Condensed';letter-spacing:.18em;color:#6e5b3b}.ig-sticker-copy strong{font:800 clamp(24px,3vw,38px)/.95 'Barlow Condensed';text-transform:uppercase;margin-top:5px;transition:opacity .2s,transform .2s}.ig-sticker-copy em{font-style:normal;font-weight:700;font-size:13px;color:#655f56;margin-top:7px}.ig-sticker-copy strong.swap{opacity:0;transform:translateY(5px)}
.ig-sticker-cta{white-space:nowrap;align-self:center;border:2px solid #111;padding:11px 13px;font:800 12px 'Barlow Condensed';letter-spacing:.09em;transition:background .2s,color .2s,opacity .2s,transform .2s}.ig-sticker-cta.swap{opacity:0;transform:translateY(4px)}.ig-sticker:hover .ig-sticker-cta,.ig-sticker:focus-visible .ig-sticker-cta{background:#111;color:#fff}
@keyframes gpStickerBreathe{0%,100%{transform:rotate(-1.15deg) scale(1)}50%{transform:rotate(-.9deg) scale(1.008)}}

/* Category navigation: floating pills, stable dimensions in all states. */
.categories{background:transparent!important;padding-top:13px;padding-bottom:20px}
.category{flex:0 0 auto;font-weight:700!important;box-sizing:border-box;transition:background .2s,color .2s,border-color .2s,transform .2s;transform:translateZ(0)}
.category.active{font-weight:700!important}
.category:hover{transform:translateY(-1px)}

/* Product price as a strong secondary focal point. */
.product-copy strong{font-size:28px;line-height:1;margin-top:14px;letter-spacing:-.02em}

/* Definitive compact footer. */
.site-footer{min-height:44px;padding:11px 18px calc(11px + env(safe-area-inset-bottom));font-size:11px;letter-spacing:.01em}
.site-footer span{display:block}.site-footer b{font-weight:400;color:#555;margin:0 4px}

@media(max-width:680px){
  .hero-stage::before{inset:1% -5% 2%;filter:blur(18px);opacity:.96}
  .hero-stage::after{width:94%;left:3%;height:80%;top:10%;filter:blur(20px);opacity:.96}
  .instagram-experience{padding:0 12px 24px}
  .ig-sticker{grid-template-columns:48px minmax(0,1fr);gap:12px;height:172px;min-height:172px;max-height:172px;padding:16px 14px;transform:rotate(-.8deg)}
  .ig-sticker-mark{width:46px;height:46px;border-radius:14px}.ig-sticker-mark svg{width:28px;height:28px}
  .ig-sticker-copy small{font-size:10px}.ig-sticker-copy strong{font-size:24px}.ig-sticker-copy em{font-size:11px}
  .ig-sticker-cta{grid-column:2;justify-self:start;padding:8px 10px;font-size:10px;margin-top:-2px}
  .product-copy strong{font-size:24px}
  .categories{padding-top:10px;padding-bottom:16px}
  .site-footer{min-height:42px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));font-size:10px}
}
@media(prefers-reduced-motion:reduce){.hero-stage::before,.hero-stage::after,.ig-sticker{animation:none!important}}


/* Hero: more visible atmosphere, still GPU-friendly (transform + opacity only). */
.hero-stage{isolation:isolate}
.hero-atmosphere{position:absolute;inset:-4% -9%;pointer-events:none;overflow:hidden}
.hero-atmosphere-back{z-index:1}
.hero-atmosphere-front{z-index:3}
.hero-stage::before{inset:-4% -14% -6%;background:
  radial-gradient(ellipse at 13% 78%,rgba(235,235,235,.23),transparent 31%),
  radial-gradient(ellipse at 30% 48%,rgba(255,255,255,.15),transparent 28%),
  radial-gradient(ellipse at 63% 26%,rgba(225,225,225,.14),transparent 30%),
  radial-gradient(ellipse at 82% 70%,rgba(255,205,150,.13),transparent 30%),
  radial-gradient(ellipse at 48% 86%,rgba(255,121,25,.12),transparent 39%);
  filter:blur(20px);opacity:1;mix-blend-mode:screen;animation:gpSmokeDriftStrong 12s ease-in-out infinite alternate}
.hero-stage::after{width:94%;height:86%;left:3%;top:8%;background:radial-gradient(ellipse at 50% 66%,rgba(255,137,16,.43),rgba(255,77,0,.17) 38%,rgba(255,55,0,.06) 57%,transparent 74%);filter:blur(20px);opacity:.98;animation:gpGrillGlowStrong 6.4s ease-in-out infinite}
@keyframes gpSmokeDriftStrong{0%{transform:translate3d(-7%,5%,0) scale(1.02);opacity:.72}50%{transform:translate3d(1%,-5%,0) scale(1.12);opacity:1}100%{transform:translate3d(8%,1%,0) scale(1.06);opacity:.82}}
@keyframes gpGrillGlowStrong{0%,100%{transform:scale(.94);opacity:.68}45%{transform:scale(1.09);opacity:1}72%{transform:scale(1.01);opacity:.8}}

/* Embers are one lightweight element with box-shadows: no JS, no DOM swarm. */
.embers{position:absolute;left:8%;bottom:-18px;width:4px;height:4px;border-radius:50%;background:#ff9b22;opacity:.8;filter:drop-shadow(0 0 5px rgba(255,111,0,.8));will-change:transform,opacity}
.embers-back{box-shadow:
  48px -42px 0 0 rgba(255,147,35,.75), 112px -8px 0 1px rgba(255,91,0,.62), 176px -86px 0 0 rgba(255,181,62,.62),
  246px -28px 0 0 rgba(255,102,0,.82), 328px -112px 0 1px rgba(255,158,49,.62), 412px -53px 0 0 rgba(255,89,0,.7),
  506px -136px 0 0 rgba(255,178,70,.66), 588px -74px 0 1px rgba(255,100,0,.7), 674px -22px 0 0 rgba(255,195,88,.58),
  742px -118px 0 0 rgba(255,117,0,.7), 806px -48px 0 1px rgba(255,165,54,.65);
  animation:gpEmberRiseBack 7.8s linear infinite}
.embers-front{left:18%;bottom:-10px;width:5px;height:5px;background:#ffb13b;box-shadow:
  76px -8px 0 0 rgba(255,162,45,.92), 191px -55px 0 1px rgba(255,94,0,.82), 314px -18px 0 0 rgba(255,192,72,.84),
  447px -76px 0 0 rgba(255,111,0,.86), 566px -31px 0 1px rgba(255,170,47,.82), 689px -66px 0 0 rgba(255,101,0,.78);
  animation:gpEmberRiseFront 5.9s linear infinite}
@keyframes gpEmberRiseBack{0%{transform:translate3d(0,36px,0) scale(.8);opacity:0}12%{opacity:.72}78%{opacity:.5}100%{transform:translate3d(18px,-280px,0) scale(.35);opacity:0}}
@keyframes gpEmberRiseFront{0%{transform:translate3d(0,28px,0) scale(1);opacity:0}14%{opacity:.92}74%{opacity:.62}100%{transform:translate3d(-20px,-235px,0) scale(.42);opacity:0}}

/* Instagram sticker: taller, narrower tape and icon anchored to the top of the copy. */
.instagram-experience{overflow:visible;padding-top:30px}
.ig-sticker{align-items:start}
.ig-sticker::after{width:82px;height:54px;top:-37px;clip-path:polygon(4% 5%,96% 0,100% 91%,3% 100%);background:linear-gradient(90deg,rgba(196,161,102,.72),rgba(239,216,163,.84) 48%,rgba(194,157,96,.72));box-shadow:0 3px 8px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.25);opacity:.98}
.ig-sticker-mark{align-self:start;margin-top:17px}
.ig-sticker-copy{justify-content:center}
.ig-sticker-cta{align-self:center}

@media(max-width:680px){
  .hero-atmosphere{inset:-2% -6%}
  .hero-stage::before{inset:-2% -8% 0;filter:blur(16px);opacity:1}
  .hero-stage::after{width:100%;left:0;height:88%;top:7%;filter:blur(17px);opacity:1}
  .embers-back{transform-origin:left bottom;box-shadow:
    36px -28px 0 0 rgba(255,147,35,.78), 82px -2px 0 1px rgba(255,91,0,.7), 128px -66px 0 0 rgba(255,181,62,.68),
    174px -18px 0 0 rgba(255,102,0,.88), 225px -86px 0 1px rgba(255,158,49,.68), 276px -38px 0 0 rgba(255,89,0,.76),
    322px -104px 0 0 rgba(255,178,70,.7)}
  .embers-front{left:9%;box-shadow:
    54px -4px 0 0 rgba(255,162,45,.95), 118px -45px 0 1px rgba(255,94,0,.86), 194px -13px 0 0 rgba(255,192,72,.9),
    262px -58px 0 0 rgba(255,111,0,.9), 318px -24px 0 1px rgba(255,170,47,.86)}
  .instagram-experience{padding-top:34px}
  .ig-sticker{align-items:start}
  .ig-sticker::after{width:64px;height:48px;top:-33px}
  .ig-sticker-mark{align-self:start;margin-top:7px}
  .ig-sticker-copy{justify-content:flex-start;padding-top:3px}
  .ig-sticker-cta{align-self:start}
}
@media(prefers-reduced-motion:reduce){.embers{animation:none!important;opacity:.35}}


/* --- Instagram sticker / desktop copy stability --- */
@media(min-width:681px){
  .instagram-experience{padding-top:44px}
  .ig-sticker{
    height:146px;
    min-height:146px;
    max-height:146px;
    padding:14px 22px;
    align-items:start;
  }
  .ig-sticker-mark{
    align-self:start;
    margin-top:18px;
  }
  .ig-sticker-copy{
    height:118px;
    min-height:118px;
    overflow:visible;
    justify-content:flex-start;
    padding-top:3px;
    box-sizing:border-box;
  }
  .ig-sticker-copy small{
    flex:0 0 auto;
    line-height:1.05;
    margin:0;
  }
  .ig-sticker-copy strong{
    flex:0 0 auto;
    font-size:clamp(25px,2.45vw,34px);
    line-height:.90;
    margin-top:5px;
    max-width:100%;
  }
  .ig-sticker-copy em{
    flex:0 0 auto;
    line-height:1.05;
    margin-top:7px;
  }
  .ig-sticker-cta{
    align-self:center;
  }
}

/* Taller and narrower tape: looks casually stuck over the paper. */
.ig-sticker::after{
  width:66px;
  height:74px;
  top:-53px;
  clip-path:polygon(8% 2%,93% 0,100% 95%,4% 100%);
  background:
    linear-gradient(90deg,rgba(182,145,86,.73),rgba(242,218,163,.88) 46%,rgba(185,146,85,.75)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.09) 0 2px,rgba(0,0,0,.025) 2px 4px);
  border:1px solid rgba(108,79,39,.20);
  box-shadow:0 4px 10px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.28);
  opacity:.98;
}

/* --- Hero product price: clearly visible as a second focal point --- */
#heroPrice{
  font-size:clamp(34px,3.15vw,50px);
  line-height:.92;
  letter-spacing:-.025em;
  margin:5px 0 18px;
  color:var(--cheddar);
  text-shadow:0 3px 18px rgba(0,0,0,.95),0 0 18px rgba(255,155,0,.12);
}

/* --- Foreground embers: denser, vertical rise with visible serpentine drift --- */
.embers-front{
  opacity:.98;
  filter:drop-shadow(0 0 7px rgba(255,103,0,.95));
  box-shadow:
    34px -5px 0 0 rgba(255,189,74,.98),
    82px -42px 0 1px rgba(255,91,0,.94),
    129px -12px 0 0 rgba(255,224,118,.95),
    176px -73px 0 1px rgba(255,117,0,.93),
    224px -24px 0 0 rgba(255,177,55,.96),
    271px -96px 0 0 rgba(255,83,0,.91),
    316px -48px 0 1px rgba(255,205,86,.93),
    365px -14px 0 0 rgba(255,111,0,.94),
    414px -88px 0 1px rgba(255,156,35,.92),
    463px -34px 0 0 rgba(255,220,105,.92),
    510px -116px 0 0 rgba(255,92,0,.88),
    556px -57px 0 1px rgba(255,174,48,.92),
    604px -20px 0 0 rgba(255,120,0,.93),
    650px -101px 0 1px rgba(255,201,79,.88);
  animation:gpEmberSerpentineFront 5.6s linear infinite;
}

.embers-front::before,
.embers-front::after{
  content:"";
  position:absolute;
  width:4px;
  height:4px;
  left:0;
  bottom:0;
  border-radius:50%;
  background:#ffad2e;
  pointer-events:none;
  will-change:transform,opacity;
}
.embers-front::before{
  box-shadow:
    58px -18px 0 0 rgba(255,221,111,.91),
    148px -61px 0 1px rgba(255,98,0,.88),
    238px -11px 0 0 rgba(255,183,59,.94),
    334px -82px 0 0 rgba(255,128,8,.91),
    426px -31px 0 1px rgba(255,213,96,.90),
    519px -105px 0 0 rgba(255,88,0,.84),
    615px -46px 0 0 rgba(255,164,41,.90);
  filter:drop-shadow(0 0 6px rgba(255,92,0,.9));
  animation:gpEmberSerpentineFrontB 7.1s linear infinite -2.2s;
}
.embers-front::after{
  width:3px;height:3px;
  box-shadow:
    95px -4px 0 0 rgba(255,199,78,.95),
    196px -39px 0 0 rgba(255,103,0,.89),
    299px -16px 0 1px rgba(255,231,132,.90),
    397px -68px 0 0 rgba(255,121,0,.91),
    501px -25px 0 0 rgba(255,190,66,.90),
    596px -91px 0 0 rgba(255,84,0,.82);
  filter:drop-shadow(0 0 5px rgba(255,105,0,.85));
  animation:gpEmberSerpentineFrontC 6.3s linear infinite -4s;
}

@keyframes gpEmberSerpentineFront{
  0%{transform:translate3d(0,30px,0) scale(.95);opacity:0}
  10%{opacity:.98}
  25%{transform:translate3d(15px,-55px,0) scale(.86);opacity:.95}
  48%{transform:translate3d(-11px,-132px,0) scale(.72);opacity:.88}
  70%{transform:translate3d(18px,-210px,0) scale(.58);opacity:.72}
  88%{transform:translate3d(-7px,-276px,0) scale(.46);opacity:.45}
  100%{transform:translate3d(8px,-330px,0) scale(.34);opacity:0}
}
@keyframes gpEmberSerpentineFrontB{
  0%{transform:translate3d(0,20px,0) scale(.9);opacity:0}
  12%{opacity:.82}
  32%{transform:translate3d(-13px,-78px,0) scale(.78);opacity:.9}
  55%{transform:translate3d(16px,-166px,0) scale(.66);opacity:.74}
  78%{transform:translate3d(-10px,-248px,0) scale(.5);opacity:.45}
  100%{transform:translate3d(12px,-318px,0) scale(.32);opacity:0}
}
@keyframes gpEmberSerpentineFrontC{
  0%{transform:translate3d(0,26px,0) scale(.92);opacity:0}
  15%{opacity:.78}
  36%{transform:translate3d(12px,-91px,0) scale(.8);opacity:.82}
  61%{transform:translate3d(-14px,-188px,0) scale(.61);opacity:.63}
  82%{transform:translate3d(9px,-261px,0) scale(.46);opacity:.38}
  100%{transform:translate3d(-5px,-322px,0) scale(.3);opacity:0}
}

@media(max-width:680px){
  .ig-sticker::after{width:56px;height:62px;top:-44px}
  #heroPrice{font-size:clamp(28px,9vw,38px);margin:4px 0 14px}
  .embers-front{left:5%;box-shadow:
    24px -3px 0 0 rgba(255,189,74,.96),
    61px -35px 0 1px rgba(255,91,0,.92),
    103px -10px 0 0 rgba(255,224,118,.94),
    145px -58px 0 1px rgba(255,117,0,.92),
    188px -20px 0 0 rgba(255,177,55,.94),
    230px -78px 0 0 rgba(255,83,0,.89),
    272px -39px 0 1px rgba(255,205,86,.91),
    315px -12px 0 0 rgba(255,111,0,.92)}
}

@media(prefers-reduced-motion:reduce){
  .embers-front,.embers-front::before,.embers-front::after{animation:none!important;opacity:.42}
}


.launch-notice{position:relative;z-index:19;margin:-6px 0 0;background:linear-gradient(90deg,#ffbf00,#ff7900);color:#090909;box-shadow:0 10px 30px rgba(0,0,0,.26)}
.launch-notice[hidden]{display:none!important}
.launch-notice__inner{min-height:48px;display:flex;align-items:center;justify-content:center;gap:16px;padding:9px clamp(18px,5vw,72px)}
.launch-notice__copy{display:flex;align-items:baseline;justify-content:center;gap:10px;min-width:0;text-align:center}
.launch-notice__copy strong{font:900 16px 'Barlow Condensed';letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.launch-notice__copy span{font-size:13px;font-weight:700;line-height:1.3}
.launch-notice__action{flex:0 0 auto;border:1px solid rgba(9,9,9,.55);border-radius:4px;padding:7px 11px;color:#090909;text-decoration:none;font:900 12px 'Barlow Condensed';letter-spacing:.08em;text-transform:uppercase}
.launch-notice__action:hover,.launch-notice__action:focus-visible{background:#090909;color:#fff}
.launch-notice__close{flex:0 0 auto;width:30px;height:30px;border:1px solid rgba(9,9,9,.35);border-radius:50%;background:transparent;color:#090909;font-size:20px;line-height:1;cursor:pointer}
.launch-notice[data-type="urgente"],.launch-notice[data-type="promo"]{background:linear-gradient(90deg,#ffc400,#ff6a00)}
@media(max-width:700px){.launch-notice{margin-top:-2px}.launch-notice__inner{align-items:flex-start;gap:8px;padding:9px 10px}.launch-notice__copy{flex:1;display:block;text-align:left}.launch-notice__copy strong{display:block;font-size:14px;margin-bottom:2px;white-space:normal}.launch-notice__copy span{display:block;font-size:11px;line-height:1.32}.launch-notice__action{align-self:center;padding:6px 8px;font-size:10px}.launch-notice__close{width:27px;height:27px;font-size:18px}}


/* Desktop conserva exactamente el tratamiento vigente de categorías. */
.category-thumb{display:none}
.category-label{display:inline}

@media(max-width:680px){
  /* Nuevo logo exclusivo para móvil: proporción más vertical sin alterar desktop. */
  .brand img{
    width:118px;
    max-width:118px;
    max-height:62px;
    object-fit:contain;
    object-position:left center;
  }

  /* Categorías estilo Historias Destacadas: cinco accesos dentro del ancho útil. */
  .categories{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    align-items:start;
    gap:2px;
    width:100%;
    max-width:none;
    margin:0;
    padding:9px 0 15px;
    overflow:visible;
    background:transparent!important;
    scrollbar-width:none;
  }
  .category{
    width:100%;
    min-width:0;
    max-width:none;
    margin:0;
    padding:0 1px;
    border:0!important;
    border-radius:0;
    background:transparent!important;
    color:#a9a9a9;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:5px;
    white-space:normal;
    transform:none!important;
    box-shadow:none!important;
  }
  .category:hover,
  .category:focus-visible,
  .category.active{
    background:transparent!important;
    color:#fff;
    border:0!important;
    transform:none!important;
  }
  .category:focus-visible{outline:none}

  .category-thumb{
    display:grid;
    place-items:center;
    width:clamp(44px,13vw,52px);
    height:clamp(44px,13vw,52px);
    padding:2px;
    border-radius:50%;
    overflow:hidden;
    box-sizing:border-box;
    border:2px solid rgba(255,255,255,.24);
    background:#111;
    box-shadow:0 5px 15px rgba(0,0,0,.34);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
  }
  .category-thumb img{
    display:block;
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    object-position:center;
    filter:saturate(1.04) contrast(1.03);
  }
  .category-thumb--empty{
    background:radial-gradient(circle at 42% 35%,#2c2c2c,#0d0d0d 72%);
    color:var(--cheddar);
    font:800 17px/1 'Barlow Condensed';
  }
  .category.active .category-thumb{
    border-color:var(--cheddar);
    box-shadow:0 0 0 2px rgba(255,176,0,.16),0 6px 17px rgba(0,0,0,.4);
    transform:translateY(-1px);
  }
  .category:focus-visible .category-thumb{
    border-color:#fff;
    box-shadow:0 0 0 2px rgba(255,255,255,.14),0 6px 17px rgba(0,0,0,.4);
  }
  .category-label{
    display:-webkit-box;
    width:100%;
    max-width:64px;
    min-height:20px;
    margin:0 auto;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    text-align:center;
    text-transform:none;
    font:700 9px/1.05 'Barlow Condensed';
    letter-spacing:0;
    color:currentColor;
    text-wrap:balance;
  }
}

@media(max-width:360px){
  .brand img{width:110px;max-width:110px}
  .categories{gap:1px}
  .category-thumb{width:43px;height:43px}
  .category-label{max-width:58px;font-size:8.4px;line-height:1.02}
}

@media(max-width:330px){
  .brand img{width:104px;max-width:104px}
  .category-thumb{width:39px;height:39px;padding:1px}
  .category-label{max-width:53px;font-size:7.8px}
}


/* 1) Zonas táctiles: toda la superficie visual pertenece al botón.
   Los hijos decorativos no capturan eventos por separado. */
#addButton,
#smartCartDock,
#finishButton,
#confirmOrderButton{
  position:relative;
  z-index:10;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
  -webkit-user-select:none;
  cursor:pointer;
}

#addButton > *,
#smartCartDock > *,
#finishButton > *,
#confirmOrderButton > *{
  pointer-events:none !important;
}

/* Refuerzo de superficie táctil sin alterar la apariencia. */
#addButton,
#finishButton,
#confirmOrderButton{
  min-height:52px;
}

#smartCartDock{
  min-height:54px;
}

/* Evita que capas decorativas vecinas intercepten el toque. */
.sheet-footer,
.cart-footer-actions,
.checkout-panel form{
  position:relative;
}

.sheet-footer{z-index:12}
.cart-footer-actions{z-index:12}
.checkout-panel form{z-index:3}

/* 2) Brasas tipo carbón incandescente.
   Se conservan los dos elementos existentes y se suman pseudo-capas:
   6 animaciones CSS en total, sin JS ni nodos extra en el DOM. */
.embers{
  background:#ff7a16;
  box-shadow:
    44px -18px 0 1px rgba(255,112,20,.96),
    118px -52px 0 0 rgba(255,194,75,.82),
    205px -12px 0 2px rgba(229,55,6,.88),
    286px -76px 0 0 rgba(255,138,20,.92),
    382px -30px 0 1px rgba(255,205,96,.78),
    474px -95px 0 0 rgba(222,47,3,.84),
    566px -44px 0 2px rgba(255,120,13,.9),
    658px -112px 0 0 rgba(255,184,48,.78),
    746px -28px 0 1px rgba(226,59,5,.88);
  filter:
    drop-shadow(0 0 3px rgba(255,192,75,.9))
    drop-shadow(0 0 8px rgba(255,74,0,.46));
}

.embers::before,
.embers::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:5px;
  height:7px;
  border-radius:48% 52% 60% 40%;
  background:#ffb13b;
  filter:
    drop-shadow(0 0 3px rgba(255,211,115,.95))
    drop-shadow(0 0 7px rgba(255,76,0,.55));
  transform-origin:50% 100%;
  will-change:transform,opacity;
}

.embers::before{
  box-shadow:
    63px -8px 0 -1px rgba(255,218,120,.98),
    142px -36px 0 0 rgba(255,84,7,.94),
    234px -2px 0 1px rgba(255,145,26,.92),
    318px -58px 0 -1px rgba(255,223,134,.88),
    421px -18px 0 0 rgba(216,44,2,.92),
    512px -71px 0 1px rgba(255,126,16,.92),
    603px -24px 0 -1px rgba(255,210,91,.9),
    707px -63px 0 0 rgba(236,60,3,.9);
  animation:gpCoalFloatA 4.9s cubic-bezier(.36,.08,.55,.98) infinite;
}

.embers::after{
  width:3px;
  height:5px;
  background:#ffd078;
  box-shadow:
    26px -28px 0 0 rgba(255,198,76,.92),
    96px -4px 0 1px rgba(238,62,3,.94),
    177px -47px 0 0 rgba(255,158,34,.9),
    268px -16px 0 -1px rgba(255,225,143,.96),
    351px -83px 0 1px rgba(225,49,2,.88),
    458px -36px 0 0 rgba(255,129,16,.94),
    548px -7px 0 1px rgba(255,211,98,.92),
    632px -91px 0 -1px rgba(231,55,2,.9),
    724px -51px 0 0 rgba(255,171,42,.88);
  animation:gpCoalFloatB 6.35s cubic-bezier(.28,.12,.57,.96) -2.1s infinite;
}

/* Fondo: más lento y pequeño. */
.embers-back{
  opacity:.72;
  animation:gpCoalBack 8.6s linear infinite;
}

/* Frente: partículas más luminosas y con mayor recorrido. */
.embers-front{
  opacity:.96;
  animation:gpCoalFront 5.45s cubic-bezier(.3,.04,.58,.98) infinite;
}

@keyframes gpCoalBack{
  0%{
    transform:translate3d(-6px,44px,0) rotate(-4deg) scale(.78);
    opacity:0;
  }
  12%{opacity:.64}
  30%{transform:translate3d(8px,-42px,0) rotate(5deg) scale(.7)}
  53%{transform:translate3d(-10px,-118px,0) rotate(-7deg) scale(.58)}
  75%{transform:translate3d(13px,-196px,0) rotate(6deg) scale(.46);opacity:.48}
  100%{
    transform:translate3d(-5px,-305px,0) rotate(-3deg) scale(.26);
    opacity:0;
  }
}

@keyframes gpCoalFront{
  0%{
    transform:translate3d(0,38px,0) rotate(0deg) scale(1.08);
    opacity:0;
  }
  10%{opacity:1}
  27%{transform:translate3d(-13px,-32px,0) rotate(-10deg) scale(.96)}
  45%{transform:translate3d(14px,-91px,0) rotate(9deg) scale(.82)}
  63%{transform:translate3d(-17px,-148px,0) rotate(-11deg) scale(.68)}
  80%{transform:translate3d(12px,-205px,0) rotate(8deg) scale(.5);opacity:.75}
  100%{
    transform:translate3d(-8px,-286px,0) rotate(-5deg) scale(.28);
    opacity:0;
  }
}

@keyframes gpCoalFloatA{
  0%{
    transform:translate3d(0,30px,0) rotate(-5deg) scale(.96);
    opacity:0;
  }
  9%{opacity:.95}
  24%{transform:translate3d(9px,-29px,0) rotate(8deg) scale(.9)}
  43%{transform:translate3d(-12px,-83px,0) rotate(-9deg) scale(.76)}
  61%{transform:translate3d(15px,-142px,0) rotate(11deg) scale(.62)}
  79%{transform:translate3d(-10px,-205px,0) rotate(-8deg) scale(.46);opacity:.72}
  100%{
    transform:translate3d(8px,-278px,0) rotate(5deg) scale(.24);
    opacity:0;
  }
}

@keyframes gpCoalFloatB{
  0%{
    transform:translate3d(5px,25px,0) rotate(7deg) scale(.88);
    opacity:0;
  }
  13%{opacity:.92}
  31%{transform:translate3d(-8px,-46px,0) rotate(-8deg) scale(.78)}
  50%{transform:translate3d(12px,-107px,0) rotate(9deg) scale(.64)}
  69%{transform:translate3d(-14px,-169px,0) rotate(-10deg) scale(.5)}
  86%{transform:translate3d(9px,-226px,0) rotate(7deg) scale(.38);opacity:.58}
  100%{
    transform:translate3d(-5px,-294px,0) rotate(-4deg) scale(.2);
    opacity:0;
  }
}

/* Móvil: concentración de brasas dentro del ancho real del Hero. */
@media(max-width:680px){
  #addButton,
  #finishButton,
  #confirmOrderButton{
    min-height:54px;
  }

  #smartCartDock{
    min-height:58px;
  }

  .embers{
    left:2%;
    box-shadow:
      24px -12px 0 1px rgba(255,112,20,.96),
      68px -44px 0 0 rgba(255,194,75,.84),
      112px -6px 0 2px rgba(229,55,6,.9),
      157px -64px 0 0 rgba(255,138,20,.94),
      201px -22px 0 1px rgba(255,205,96,.8),
      246px -82px 0 0 rgba(222,47,3,.88),
      291px -33px 0 2px rgba(255,120,13,.92),
      333px -101px 0 0 rgba(255,184,48,.82);
  }

  .embers::before{
    box-shadow:
      36px -5px 0 -1px rgba(255,218,120,.98),
      79px -31px 0 0 rgba(255,84,7,.94),
      124px -1px 0 1px rgba(255,145,26,.92),
      171px -51px 0 -1px rgba(255,223,134,.9),
      218px -13px 0 0 rgba(216,44,2,.92),
      266px -61px 0 1px rgba(255,126,16,.94),
      312px -19px 0 -1px rgba(255,210,91,.92);
  }

  .embers::after{
    box-shadow:
      16px -23px 0 0 rgba(255,198,76,.94),
      53px -3px 0 1px rgba(238,62,3,.94),
      94px -39px 0 0 rgba(255,158,34,.92),
      137px -12px 0 -1px rgba(255,225,143,.96),
      181px -69px 0 1px rgba(225,49,2,.9),
      229px -29px 0 0 rgba(255,129,16,.94),
      276px -5px 0 1px rgba(255,211,98,.94),
      322px -76px 0 -1px rgba(231,55,2,.92);
  }
}

@media(prefers-reduced-motion:reduce){
  .embers,
  .embers::before,
  .embers::after{
    animation:none !important;
  }
}


/* Las capas atmosféricas dejan de ocupar todo el Hero:
   JS las posiciona exactamente encima del <img> activo. */
.hero-stage .hero-atmosphere{
  inset:auto;
  overflow:hidden;
  pointer-events:none;
  contain:layout paint;
}

/* El <i> existente pasa a ser un contenedor liviano de partículas. */
.hero-stage .embers{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:none!important;
  box-shadow:none!important;
  filter:none!important;
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  overflow:hidden;
}

/* Desactiva las pseudo-partículas de la versión anterior. */
.hero-stage .embers::before,
.hero-stage .embers::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}

/* Partículas individuales: fragmentos incandescentes, no "chispas" lineales. */
.coal-particle{
  position:absolute;
  left:var(--x);
  bottom:-2px;
  width:var(--size);
  height:calc(var(--size) * var(--shape));
  border-radius:48% 52% 45% 55%;
  opacity:0;
  background:
    radial-gradient(circle at 42% 35%,
      rgba(255,240,173,.98) 0 12%,
      rgba(255,177,50,.98) 24%,
      rgba(255,79,5,.96) 57%,
      rgba(117,22,0,.82) 78%,
      rgba(27,7,2,.28) 100%);
  box-shadow:
    0 0 calc(var(--size) * .7) rgba(255,188,59,.95),
    0 0 calc(var(--size) * 1.7) rgba(255,73,0,.48);
  will-change:transform,opacity;
  transform-origin:50% 50%;
  animation:gpAnchoredCoalRise var(--duration) linear var(--delay) infinite;
}

/* Fondo: menos brillante y apenas menor. */
.hero-atmosphere-back .coal-particle{
  filter:saturate(.9) brightness(.82);
  opacity:.72;
}

/* Frente: algunas brasas se perciben más cercanas. */
.hero-atmosphere-front .coal-particle{
  filter:saturate(1.08) brightness(1.08);
}

/* Ascenso continuo, prácticamente vertical.
   El desplazamiento lateral máximo lo define JS en apenas ±3 px.
   El desvanecimiento comienza cerca de la parte alta de la comida. */
@keyframes gpAnchoredCoalRise{
  0%{
    transform:translate3d(0,3px,0) rotate(var(--rot-start)) scale(.82);
    opacity:0;
  }
  7%{
    opacity:var(--opacity);
  }
  68%{
    opacity:calc(var(--opacity) * .9);
  }
  84%{
    opacity:calc(var(--opacity) * .5);
  }
  100%{
    transform:translate3d(var(--drift),calc(-1 * var(--travel)),0) rotate(var(--rot-end)) scale(.32);
    opacity:0;
  }
}

@media(max-width:680px){
  .coal-particle{
    box-shadow:
      0 0 calc(var(--size) * .55) rgba(255,188,59,.92),
      0 0 calc(var(--size) * 1.35) rgba(255,73,0,.43);
  }
}

/* Accesibilidad y ahorro energético cuando el usuario pide menos movimiento. */
@media(prefers-reduced-motion:reduce){
  .coal-particle{animation:none!important;display:none!important}
}


/* Nuevo logo vertical también en PC / Tablet.
   Móvil conserva exactamente las reglas ya validadas. */
@media(min-width:681px){
  .brand img{
    width:108px;
    max-width:108px;
    max-height:72px;
    object-fit:contain;
    object-position:left center;
  }
}

/* Footer refinado, compacto y con CTA de autor claramente accesible. */
.site-footer{
  position:relative;
  z-index:18;
  min-height:58px;
  padding:12px 18px calc(12px + env(safe-area-inset-bottom));
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),transparent 38%),
    #080808;
  border-top:1px solid rgba(255,255,255,.09);
}
.site-footer__inner{
  width:min(1100px,100%);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px 10px;
  text-align:center;
  color:#8e8e8e;
  font-size:11px;
  line-height:1.45;
}
.site-footer__product strong{
  color:#c7c7c7;
  font-weight:800;
  letter-spacing:.025em;
}
.site-footer__product b{
  color:#555;
  font-weight:400;
  margin:0 3px;
}
.site-footer__credit a{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin-left:3px;
  padding:4px 9px;
  border:1px solid rgba(255,176,0,.34);
  border-radius:999px;
  color:var(--cheddar);
  font-weight:900;
  text-decoration:none;
  letter-spacing:.02em;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.site-footer__credit a:hover,
.site-footer__credit a:focus-visible{
  background:var(--cheddar);
  color:#080808;
  border-color:var(--cheddar);
  outline:none;
}

/* En móvil, el footer gana espacio inferior sólo cuando existe el dock
   del pedido. La zona extra queda detrás del dock; el link permanece arriba
   y totalmente utilizable. */
@media(max-width:680px){
  .site-footer{
    min-height:70px;
    padding:13px 12px calc(13px + env(safe-area-inset-bottom));
  }
  .site-footer__inner{
    max-width:330px;
    flex-direction:column;
    gap:2px;
    font-size:10px;
  }
  .site-footer__credit a{
    min-height:34px;
    padding:4px 10px;
  }
  body.cart-dock-visible .site-footer{
    padding-bottom:calc(86px + env(safe-area-inset-bottom));
  }
}


/* Build 0.9.0.2 — Full Touch Cart Controls
   Refuerzo quirúrgico: toda el área visual de cada control pertenece al botón real. */
#addButton,
#smartCartDock,
#finishButton,
#confirmOrderButton{
  position:relative;
  isolation:isolate;
  pointer-events:auto !important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
}

/* Ningún texto/icono interno puede quedarse con el tap/click. */
#addButton *,
#smartCartDock *,
#finishButton *,
#confirmOrderButton *{
  pointer-events:none !important;
}

/* La superficie interactiva coincide con el rectángulo completo visible. */
#addButton,
#finishButton,
#confirmOrderButton{
  width:100%;
  min-height:54px;
}

/* Capas contenedoras por encima de decoraciones/backdrops vecinos. */
.sheet-footer{
  position:relative;
  z-index:40;
}
.cart-panel footer,
.cart-footer-actions{
  position:relative;
  z-index:40;
}
.checkout-panel form,
.confirm-order{
  position:relative;
  z-index:40;
}

/* TU PEDIDO: flotante real, anclado al viewport durante toda la navegación
   mientras el carrito contenga productos. */
#smartCartDock{
  position:fixed !important;
  z-index:70 !important;
  right:clamp(16px,3vw,38px);
  left:auto;
  bottom:max(18px,calc(env(safe-area-inset-bottom) + 10px));
  min-height:58px;
  pointer-events:auto !important;
  transform:translate3d(0,130%,0);
  will-change:transform,opacity;
}
#smartCartDock.visible{
  transform:translate3d(0,0,0);
  opacity:1;
}
#smartCartDock[hidden]{
  display:none !important;
}

/* Evita que footer, overlays decorativos o contenido scrolleable ocupen la zona táctil. */
body:not(.checkout-active) #smartCartDock.visible{
  visibility:visible !important;
  pointer-events:auto !important;
}

@media(max-width:680px){
  #addButton,
  #finishButton,
  #confirmOrderButton{
    min-height:58px;
  }

  #smartCartDock{
    left:12px;
    right:12px;
    bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px));
    width:auto;
    min-width:0;
    min-height:62px;
  }

  /* Reserva real de contenido para que el dock flotante no tape el final del sitio. */
  body.cart-dock-visible .site-footer{
    padding-bottom:calc(96px + env(safe-area-inset-bottom));
  }
}


/* Build 0.9.0.3 — Cart Modal Scroll Fix
   El dock flotante sirve para ABRIR el pedido. Una vez abierto, se retira
   para no competir con las acciones propias del modal. */
body:has(#cart.open) #smartCartDock{
  visibility:hidden !important;
  pointer-events:none !important;
  opacity:0 !important;
}

/* El modal ocupa el viewport, pero no se desplaza como una pieza única:
   encabezado y acciones quedan fijos; sólo la lista de productos scrollea. */
.cart-panel{
  overflow:hidden;
}
.cart-panel > header{
  flex:0 0 auto;
}
.cart-panel > .cart-items{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.cart-panel > footer{
  flex:0 0 auto;
  margin-top:0;
  position:relative;
  z-index:50;
  background:#101010;
}

/* Si el carrito está vacío, conserva el centrado original sin afectar el footer. */
.cart-panel > .cart-empty:not([hidden]){
  flex:1 1 auto;
  display:grid;
  place-content:center;
  margin:0;
}

@media(max-width:700px){
  .cart-panel{
    height:100dvh;
    max-height:100dvh;
    padding:
      max(14px,env(safe-area-inset-top))
      14px
      max(10px,env(safe-area-inset-bottom));
  }

  .cart-panel > header{
    padding-bottom:8px;
  }

  .cart-panel > .cart-items{
    margin-top:8px;
    padding-right:3px;
  }

  .cart-panel > footer{
    padding-top:10px;
    padding-bottom:0;
  }

  /* El dock ya no necesita reservar espacio mientras el modal está abierto. */
  body:has(#cart.open) .site-footer{
    padding-bottom:initial;
  }
}


/* Build 0.9.0.4 — Icon Microinteractions
   Gráficos vectoriales/CSS sin imágenes externas ni requests adicionales. */

/* ==========================================================
   1. "+" de producto: geométrico, centrado y escalable
   ========================================================== */
.product>button{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
  overflow:visible;
}
.product-plus-icon{
  position:relative;
  display:block;
  width:16px;
  height:16px;
  transform:scale(1);
  transform-origin:50% 50%;
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.product-plus-icon::before,
.product-plus-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:16px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
}
.product-plus-icon::after{
  transform:translate(-50%,-50%) rotate(90deg);
}

/* Toda la tarjeta sigue siendo la zona de interacción:
   sólo se expande el gráfico "+", no el círculo. */
.product:not(.sold-out):is(:hover,:focus-within) .product-plus-icon{
  transform:scale(1.42);
}
.product-unavailable-icon{
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  line-height:1;
}

/* ==========================================================
   2. "x" de cierre: gráfico centrado + giro de media vuelta
   ========================================================== */
.close,
.launch-notice__close{
  display:grid;
  place-items:center;
  padding:0;
  line-height:1;
}
.close-icon{
  position:relative;
  display:block;
  width:16px;
  height:16px;
  transform:rotate(0deg);
  transform-origin:50% 50%;
  transition:transform .38s cubic-bezier(.22,.72,.24,1);
  pointer-events:none;
}
.close-icon::before,
.close-icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  border-radius:999px;
  background:currentColor;
}
.close-icon::before{transform:translate(-50%,-50%) rotate(45deg)}
.close-icon::after{transform:translate(-50%,-50%) rotate(-45deg)}

.close:is(:hover,:focus-visible) .close-icon,
.launch-notice__close:is(:hover,:focus-visible) .close-icon{
  transform:rotate(180deg);
}

/* ==========================================================
   3. Hamburguesa humeante: vector inline, cero recursos externos
   ========================================================== */
.cart-cooking-icon{
  display:none;
  width:25px;
  height:25px;
  flex:0 0 25px;
  margin-right:-5px;
}
.cart-button.has-items .cart-cooking-icon{
  display:block;
}
.cooking-burger-svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
}
.cooking-burger-svg path{
  vector-effect:non-scaling-stroke;
}
.cooking-burger-svg .steam,
.cooking-burger-svg .burger-line{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cooking-burger-svg .burger-bun,
.cooking-burger-svg .burger-bottom{
  fill:currentColor;
}
.cooking-burger-svg .burger-fill{
  fill:var(--fire);
}
.cart-cooking-icon,
.dock-icon.cooking{
  color:var(--cheddar);
}
.dock-icon.cooking{
  background:rgba(255,157,24,.08);
  border:1px solid rgba(255,176,0,.2);
}
.dock-icon.cooking .cooking-burger-svg{
  width:28px;
  height:28px;
}

/* Humo delicado, continuo y desfasado para que no parezca mecánico. */
.cooking-burger-svg .steam{
  transform-box:fill-box;
  transform-origin:center bottom;
  animation:gpSteamRise 2.35s ease-in-out infinite;
}
.cooking-burger-svg .steam-b{animation-delay:-.75s}
.cooking-burger-svg .steam-c{animation-delay:-1.5s}

@keyframes gpSteamRise{
  0%,100%{opacity:.18;transform:translateY(1px) scaleY(.82)}
  38%{opacity:.95;transform:translateY(-1px) scaleY(1.08)}
  72%{opacity:.38;transform:translateY(-2.5px) scaleY(.92)}
}

/* Pulso casi imperceptible del ícono cuando hay contenido. */
.smart-cart-dock.visible .dock-icon.cooking{
  animation:gpCookingGlow 3.2s ease-in-out infinite;
}
@keyframes gpCookingGlow{
  0%,100%{box-shadow:0 0 0 rgba(255,176,0,0)}
  50%{box-shadow:0 0 16px rgba(255,126,0,.16)}
}

@media(max-width:680px){
  .product-plus-icon{width:14px;height:14px}
  .product-plus-icon::before,.product-plus-icon::after{width:14px}
  .close-icon{width:15px;height:15px}
  .close-icon::before,.close-icon::after{width:17px}
  .cart-cooking-icon{width:23px;height:23px;flex-basis:23px}
}

@media(prefers-reduced-motion:reduce){
  .product-plus-icon,
  .close-icon,
  .cooking-burger-svg .steam,
  .smart-cart-dock.visible .dock-icon.cooking{
    transition:none!important;
    animation:none!important;
  }
}


/* Build 0.9.1.0 — Delivery & Cash Rules */
.delivery-zone-block{margin-top:14px;padding:14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.018)}
.delivery-zone-block[hidden]{display:none}
.delivery-zone-block h4{margin:0 0 10px;color:#aaa;font:800 12px 'Barlow Condensed';letter-spacing:.13em;text-transform:uppercase}
.delivery-zone-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.delivery-zone-options input{position:absolute;opacity:0}
.delivery-zone-options label span{min-height:74px;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer;transition:.2s}
.delivery-zone-options label b{font-size:13px}
.delivery-zone-options label small,.payment-options label small{color:#8e8e8e;font-size:11px}
.delivery-zone-options input:checked+span{border-color:var(--cheddar);background:rgba(255,196,0,.09);box-shadow:inset 0 0 0 1px var(--cheddar)}
.delivery-zone-options input:checked+span small,.payment-options input:checked+span small{color:var(--cheddar)}
.delivery-zone-help{margin:9px 2px 0!important;color:#777!important;font-size:10.5px!important}
.payment-options label span{min-height:68px;justify-content:center}
.checkout-order-summary small{color:#777;font-size:10px;font-weight:600}
.checkout-order-summary .summary-adjustment strong{font-size:13px}
.checkout-order-summary .summary-adjustment.discount strong{color:#8ee69c}
.checkout-grand-total{margin-top:7px;padding-top:12px!important;border-top:1px solid rgba(255,255,255,.12)}
.checkout-grand-total span{font:800 16px 'Barlow Condensed';letter-spacing:.09em}
.checkout-grand-total strong{font-size:24px!important}
@media(max-width:700px){.delivery-zone-options{grid-template-columns:1fr}.delivery-zone-options label span{min-height:62px}}


/* Build 0.9.1.0.1 — Delivery Label Layout Fix */
.delivery-zone-options label span{
  align-items:flex-start;
}
.delivery-zone-title{
  display:block;
  width:100%;
  line-height:1.22;
}
.delivery-zone-surcharge{
  display:block;
  width:100%;
  margin-top:2px;
  line-height:1.25;
}


/* Build 0.9.1.0.1.1 — Close Button Circle Fix
   Corrección quirúrgica: el botón de cierre conserva proporción 1:1. */
.close,
.checkout-header .close,
.sheet-card>.close{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  flex:0 0 42px !important;
  aspect-ratio:1 / 1;
  border-radius:50% !important;
  padding:0 !important;
  line-height:1 !important;
  box-sizing:border-box;
}

@media(max-width:700px){
  .close,
  .checkout-header .close,
  .sheet-card>.close{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
    flex-basis:42px !important;
  }
}

/* PPCV: selector de medallones, sin modificar componentes existentes */
.medallion-control{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:12px}.medallion-control>div:first-child{display:flex;flex-direction:column;gap:4px}.medallion-control small{font-size:12px;opacity:.8}.medallion-control .quantity{flex-shrink:0}

/* Contacto y redes — franja previa al footer */
.gp-contact-strip[hidden]{display:none!important}.gp-contact-strip{position:relative;isolation:isolate;background:#15120f;color:#eee;padding:38px 0 30px;border-top:1px solid #413226;overflow:hidden}
.gp-contact-strip:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:linear-gradient(135deg,#090909 25%,transparent 25%) 0 0/21px 10px repeat-x;opacity:.9}
.gp-contact-strip-inner{max-width:1440px;margin:auto;padding:0 clamp(18px,4vw,65px);display:grid;grid-template-columns:minmax(150px,240px) minmax(260px,1fr) auto;align-items:center;gap:clamp(18px,3vw,48px)}
.gp-contact-strip-brand img{display:block;width:100%;max-width:210px;max-height:105px;object-fit:contain}
.gp-contact-strip-location{border-left:1px solid #594d3d;padding-left:22px;display:flex;align-items:start;gap:13px}.gp-contact-strip-location p{margin:0 0 9px;font-size:clamp(14px,1.5vw,18px);font-weight:700}.gp-contact-strip-location a{color:#ffb900;text-underline-offset:4px;font-size:13px}.gp-contact-strip-pin{color:#ffb900;font-size:20px}
.gp-contact-strip-social{display:flex;flex-wrap:wrap;gap:12px;border-left:1px solid #594d3d;padding-left:24px}.gp-contact-strip-social a{display:inline-flex;align-items:center;gap:8px;color:#eee;text-decoration:none;border:1px solid #58483a;border-radius:8px;padding:10px 13px;font-size:13px}.gp-contact-strip-social a:hover{border-color:#ffb900;color:#ffb900}
@media(max-width:760px){.gp-contact-strip-inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}.gp-contact-strip-brand img{max-width:155px}.gp-contact-strip-location,.gp-contact-strip-social{border-left:0;padding-left:0;justify-content:center}.gp-contact-strip-location{align-items:center}.gp-contact-strip-social a{font-size:12px}}

/* PPCV 0.9.3.0 — Franja de contacto compacta y papel rasgado visible */
.gp-contact-strip{background:#15120f;border:0;padding:24px 0 22px;overflow:visible;margin-top:14px;margin-bottom:0;filter:drop-shadow(0 -3px 3px rgba(0,0,0,.6));clip-path:polygon(0 9px,1% 5px,2% 10px,3% 3px,4% 8px,5% 4px,6% 10px,7% 5px,8% 8px,9% 2px,10% 9px,11% 5px,12% 10px,13% 3px,14% 8px,15% 4px,16% 9px,17% 3px,18% 10px,19% 5px,20% 8px,21% 3px,22% 10px,23% 4px,24% 8px,25% 3px,26% 9px,27% 5px,28% 10px,29% 3px,30% 8px,31% 4px,32% 10px,33% 5px,34% 9px,35% 3px,36% 8px,37% 4px,38% 10px,39% 5px,40% 8px,41% 3px,42% 10px,43% 5px,44% 9px,45% 3px,46% 8px,47% 4px,48% 10px,49% 5px,50% 9px,51% 3px,52% 8px,53% 4px,54% 10px,55% 5px,56% 9px,57% 3px,58% 8px,59% 4px,60% 10px,61% 5px,62% 9px,63% 3px,64% 8px,65% 4px,66% 10px,67% 5px,68% 9px,69% 3px,70% 8px,71% 4px,72% 10px,73% 5px,74% 9px,75% 3px,76% 8px,77% 4px,78% 10px,79% 5px,80% 9px,81% 3px,82% 8px,83% 4px,84% 10px,85% 5px,86% 9px,87% 3px,88% 8px,89% 4px,90% 10px,91% 5px,92% 9px,93% 3px,94% 8px,95% 4px,96% 10px,97% 5px,98% 9px,99% 3px,100% 8px,100% 100%,0 100%)}
.gp-contact-strip:before{display:none}
.gp-contact-strip-inner{max-width:1030px;margin:0 auto;padding:0 20px;grid-template-columns:125px minmax(240px,1fr) auto;justify-content:center;gap:clamp(18px,3vw,36px)}
.gp-contact-strip-brand img{max-width:120px;max-height:72px}
.gp-contact-strip-location{gap:0;padding-left:18px;align-items:center}
.gp-contact-strip-location p{font-size:13px;line-height:1.45;margin:0 0 5px}
.gp-contact-strip-location a{font-size:11px}
.gp-contact-strip-social{padding-left:18px;gap:8px}
.gp-contact-strip-social a{padding:7px 10px;font-size:12px;gap:7px}
.gp-contact-strip-social svg{width:18px;height:18px;flex:none}
@media(max-width:760px){.gp-contact-strip{padding:24px 0 20px}.gp-contact-strip-inner{grid-template-columns:1fr;gap:10px;padding:0 16px}.gp-contact-strip-brand img{max-width:105px;max-height:65px}.gp-contact-strip-location,.gp-contact-strip-social{padding:0;border:0}.gp-contact-strip-location p{font-size:12px}.gp-contact-strip-social a{font-size:11px}}

/* PPCV 0.9.3.1 — bordes reales y bloque centrado */
.gp-contact-strip{clip-path:none!important;filter:none!important;margin-top:0!important;overflow:visible!important;border:0!important;background:#15120f!important;padding:18px 0!important;position:relative!important}
.gp-contact-strip::before,.gp-contact-strip::after{content:""!important;display:block!important;position:absolute!important;left:0!important;right:0!important;width:100%!important;height:17px!important;background-size:100% 100%!important;background-repeat:no-repeat!important;pointer-events:none!important;opacity:1!important;z-index:2!important}
.gp-contact-strip::before{top:-8px!important;background-image:url('../images/brand/contacto-borde-superior.webp')!important}
.gp-contact-strip::after{bottom:-8px!important;background-image:url('../images/brand/contacto-borde-inferior.webp')!important}
.gp-contact-strip-inner{display:flex!important;width:max-content!important;max-width:100%!important;margin:0 auto!important;padding:0 18px!important;justify-content:center!important;align-items:center!important;gap:18px!important;box-sizing:border-box!important}
.gp-contact-strip-brand{flex:0 0 auto!important}.gp-contact-strip-brand img{width:76px!important;max-width:76px!important;max-height:59px!important}
.gp-contact-strip-location{flex:0 1 auto!important;min-width:0!important;padding-left:16px!important;border-left:1px solid #594d3d!important}
.gp-contact-strip-location p{font-size:12px!important}.gp-contact-strip-location a{font-size:11px!important}
.gp-contact-strip-social{flex:0 0 auto!important;padding-left:16px!important;border-left:1px solid #594d3d!important;justify-content:flex-start!important}
@media(max-width:650px){.gp-contact-strip{padding:20px 0!important}.gp-contact-strip-inner{width:100%!important;flex-wrap:wrap!important;gap:10px 14px!important;padding:0 12px!important}.gp-contact-strip-brand img{width:58px!important;max-width:58px!important}.gp-contact-strip-location{padding-left:12px!important}.gp-contact-strip-social{padding-left:0!important;border:0!important}.gp-contact-strip::before,.gp-contact-strip::after{height:13px!important}.gp-contact-strip::before{top:-6px!important}.gp-contact-strip::after{bottom:-6px!important}}

/* Build 0.9.3.2 — PPCV: enlaces y textura sin compresión móvil */
.gp-contact-strip-brand a{display:inline-block;line-height:0;text-decoration:none}
.gp-contact-strip-brand a:focus-visible{outline:2px solid #ffb900;outline-offset:4px;border-radius:3px}
.gp-contact-strip-social a,.gp-contact-strip-social a:hover{border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
.gp-contact-strip-social a{padding:4px 2px!important}
.gp-contact-strip-social a:hover{color:#ffb900!important}
@media(max-width:650px){
 .gp-contact-strip::before,.gp-contact-strip::after{background-size:auto 35px!important;background-position:center center!important;height:35px!important}
 .gp-contact-strip::before{top:-17px!important}
 .gp-contact-strip::after{bottom:-17px!important}
}


/* PPCV 0.9.3.3 — líneas rasgadas vectoriales CSS; sin imágenes comprimidas */
.gp-contact-strip{
 background:rgba(21,18,15,.62)!important;
 backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;
 border:0!important;
 padding:18px 0!important;
 isolation:isolate;
}
.gp-contact-strip::before,.gp-contact-strip::after{
 content:""!important;
 position:absolute!important;
 display:block!important;
 left:0!important;
 right:0!important;
 width:100%!important;
 height:8px!important;
 background:#e5e2de!important;
 background-image:none!important;
 background-size:auto!important;
 opacity:.78!important;
 pointer-events:none!important;
 z-index:2!important;
 transform:none!important;
}
.gp-contact-strip::before{top:-4px!important;clip-path:polygon(0% 3px,2% 2px,4% 4px,6% 2px,8% 3px,10% 1px,12% 2px,14% 4px,16% 2px,18% 3px,20% 1px,22% 3px,24% 2px,26% 4px,28% 2px,30% 3px,32% 1px,34% 2px,36% 4px,38% 3px,40% 1px,42% 2px,44% 3px,46% 2px,48% 4px,50% 2px,52% 1px,54% 3px,56% 2px,58% 4px,60% 2px,62% 3px,64% 1px,66% 2px,68% 4px,70% 2px,72% 3px,74% 1px,76% 3px,78% 2px,80% 4px,82% 2px,84% 1px,86% 3px,88% 2px,90% 4px,92% 2px,94% 3px,96% 1px,98% 2px,100% 3px,100% 5px,98% 4px,96% 3px,94% 5px,92% 4px,90% 6px,88% 4px,86% 5px,84% 3px,82% 4px,80% 6px,78% 4px,76% 5px,74% 3px,72% 5px,70% 4px,68% 6px,66% 4px,64% 3px,62% 5px,60% 4px,58% 6px,56% 4px,54% 5px,52% 3px,50% 4px,48% 6px,46% 4px,44% 5px,42% 4px,40% 3px,38% 5px,36% 6px,34% 4px,32% 3px,30% 5px,28% 4px,26% 6px,24% 4px,22% 5px,20% 3px,18% 5px,16% 4px,14% 6px,12% 4px,10% 3px,8% 5px,6% 4px,4% 6px,2% 4px,0% 5px)!important}
.gp-contact-strip::after{bottom:-4px!important;clip-path:polygon(0% 1px,2% 2px,4% 2px,6% 2px,8% 1px,10% 3px,12% 2px,14% 2px,16% 2px,18% 1px,20% 3px,22% 1px,24% 2px,26% 2px,28% 2px,30% 1px,32% 3px,34% 2px,36% 2px,38% 1px,40% 3px,42% 2px,44% 1px,46% 2px,48% 2px,50% 2px,52% 3px,54% 1px,56% 2px,58% 2px,60% 2px,62% 1px,64% 3px,66% 2px,68% 2px,70% 2px,72% 1px,74% 3px,76% 1px,78% 2px,80% 2px,82% 2px,84% 3px,86% 1px,88% 2px,90% 2px,92% 2px,94% 1px,96% 3px,98% 2px,100% 1px,100% 3px,98% 4px,96% 5px,94% 3px,92% 4px,90% 4px,88% 4px,86% 3px,84% 5px,82% 4px,80% 4px,78% 4px,76% 3px,74% 5px,72% 3px,70% 4px,68% 4px,66% 4px,64% 5px,62% 3px,60% 4px,58% 4px,56% 4px,54% 3px,52% 5px,50% 4px,48% 4px,46% 4px,44% 3px,42% 4px,40% 5px,38% 3px,36% 4px,34% 4px,32% 5px,30% 3px,28% 4px,26% 4px,24% 4px,22% 3px,20% 5px,18% 3px,16% 4px,14% 4px,12% 4px,10% 5px,8% 3px,6% 4px,4% 4px,2% 4px,0% 3px)!important}
@media(max-width:650px){
 .gp-contact-strip{padding:18px 0!important}
 .gp-contact-strip::before,.gp-contact-strip::after{height:8px!important;background:#e5e2de!important;background-image:none!important;background-size:auto!important}
 .gp-contact-strip::before{top:-4px!important}
 .gp-contact-strip::after{bottom:-4px!important}
}

/* PPCV 0.9.3.4: Horarios desde Studio, modal público accesible. */
.gp-hours-trigger{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;background:none;border:0;color:#eee;font:inherit;font-size:12px;cursor:pointer;padding:5px 3px;white-space:nowrap}
.gp-hours-trigger:hover,.gp-hours-trigger:focus-visible{color:#ffb900}
.gp-hours-trigger svg{width:17px;height:17px}
.gp-hours-modal[hidden]{display:none!important}
.gp-hours-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}
.gp-hours-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(5px)}
.gp-hours-panel{position:relative;z-index:1;width:min(460px,100%);max-height:min(85dvh,740px);overflow:auto;background:linear-gradient(145deg,#211a15,#0d0c0c 65%);border:1px solid #6c4a27;border-radius:18px;box-shadow:0 20px 70px #000b;color:#f6f0e9;outline:none}
.gp-hours-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:22px 24px 18px;border-bottom:1px solid #3b3028}
.gp-hours-kicker{font-size:10px;letter-spacing:.17em;color:#ffb900;font-weight:800}
.gp-hours-head h2{font-size:24px;line-height:1.2;margin:5px 0 0}
.gp-hours-close{border:1px solid #55483c;border-radius:50%;width:34px;height:34px;flex:0 0 34px;background:#1b1715;color:white;font-size:24px;cursor:pointer;line-height:1}
.gp-hours-close:hover{border-color:#ffb900}
.gp-hours-body{padding:14px 24px 24px}
.gp-hours-row{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #342b26;align-items:start}
.gp-hours-row:last-child{border-bottom:0}
.gp-hours-day{font-size:13px;font-weight:800;text-transform:capitalize}
.gp-hours-times{display:grid;gap:4px;color:#e2d8cf;font-size:13px}
.gp-hours-times small{color:#d6aa72;font-size:12px}
.gp-hours-closed{color:#ef8989;font-weight:700}
.gp-hours-empty{color:#d9c8b8;font-size:13px;line-height:1.5}
@media(max-width:650px){.gp-contact-strip-inner{gap:9px 13px!important}.gp-hours-trigger{font-size:11px}.gp-hours-head{padding:18px}.gp-hours-body{padding:12px 18px 20px}.gp-hours-row{grid-template-columns:90px 1fr}}

/* Fecha de la semana actual junto al día */
.gp-hours-date{display:inline-block;margin-left:.45em;font-size:.88em;font-weight:500;color:#aaa;white-space:nowrap}

/* PPCV 0.9.3.8: divisor antes de Horarios y destacado del día vigente */
.gp-hours-trigger{border-left:1px solid #594d3d!important;padding-left:16px!important;margin-left:0!important;border-radius:0!important}
.gp-hours-row.gp-hours-today{background:rgba(255,185,0,.095);border-radius:8px;padding-left:8px;padding-right:8px;box-shadow:inset 3px 0 0 #ffb900}
.gp-hours-today .gp-hours-day{color:#ffdf7a}
.gp-hours-today-badge{display:inline-block;vertical-align:middle;margin-left:5px;padding:2px 4px;border-radius:3px;background:#ffb900;color:#1b1204;font-size:9px;font-weight:900;letter-spacing:.04em}
@media(max-width:650px){.gp-hours-trigger{padding-left:12px!important}}

/* PPCV 0.9.3.9: día y fecha en una sola línea; indicador HOY exterior. */
.gp-hours-day{white-space:nowrap;min-width:0}
.gp-hours-date{white-space:nowrap;margin-left:.35em}
.gp-hours-row.gp-hours-today{
  position:relative;
  padding-left:0;
  padding-right:0;
  border-radius:7px 0 0 7px;
  border-top:1px solid #342b26;
  border-bottom:1px solid #342b26;
  box-shadow:none;
}
.gp-hours-row.gp-hours-today::before{
  content:"";position:absolute;left:-6px;top:0;bottom:0;width:3px;
  background:#ffb900;border-radius:8px 0 0 8px;pointer-events:none;
}
@media(max-width:650px){
  .gp-hours-row{grid-template-columns:minmax(0, 54%) minmax(0, 46%);gap:0}
  .gp-hours-day{font-size:clamp(10px,2.7vw,13px);letter-spacing:-.025em}
  .gp-hours-date{font-size:.86em;margin-left:.28em}
  .gp-hours-times{font-size:clamp(10px,2.7vw,13px)}
  .gp-hours-body{padding-left:18px;padding-right:18px}
}

/* PPCV 0.9.4.1: curva visible del indicador HOY, sin modificar las líneas horizontales. */
.gp-hours-row.gp-hours-today::before{
  left:-7px;top:-1px;bottom:-1px;width:9px;
  background:transparent;
  border-left:4px solid #ffb900;
  border-top:0;border-right:0;border-bottom:0;
  border-radius:12px 0 0 12px;
  box-sizing:border-box;
}
/* Mayor aire entre las columnas únicamente en escritorio. */
@media(min-width:651px){
  .gp-hours-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:20px}
}
