:root{--ink:#0c0a08;--ink-2:#14110e;--ink-3:#1d1813;--cream:#efe6d4;--cream-dim:#cbbfa8;--gold:#c4a35a;--gold-2:#e4c87a;--red:#6e1c1c;--muted:#9a8b73;--line:rgba(196,163,90,.2);--line-strong:rgba(196,163,90,.48);--shadow:0 24px 80px rgba(0,0,0,.45);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--cream);font-family:"Figtree",system-ui,sans-serif;font-size:16px;line-height:1.55;overflow-x:hidden}body.locked{overflow:hidden}button,input,select,textarea{font:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:72px;padding:0 clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:rgba(12,10,8,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:"Cinzel",serif;font-size:14px;letter-spacing:.16em}.brand img{width:48px;height:48px;object-fit:contain}.brand small{display:block;color:var(--gold);font-size:9px;letter-spacing:.35em}.desktop-nav{display:flex;gap:28px}.desktop-nav a{color:var(--cream-dim);font-size:13px;text-decoration:none;letter-spacing:.1em;text-transform:uppercase;transition:.2s}.desktop-nav a:hover{color:var(--gold-2)}.cart-trigger{border:1px solid var(--line-strong);background:var(--gold);color:var(--ink);height:42px;border-radius:999px;padding:0 8px 0 15px;display:flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}.cart-trigger b{display:grid;place-items:center;min-width:27px;height:27px;padding:0 5px;border-radius:50%;background:var(--ink);color:var(--cream);font-size:12px}.cart-icon{font-size:22px;transform:rotate(180deg)}
.hero{position:relative;min-height:100svh;overflow:hidden}.hero-track{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;display:flex;align-items:flex-end;opacity:0;visibility:hidden;transform:scale(1.025);transition:opacity .65s ease,transform 1.1s ease,visibility .65s}.hero-slide.active{opacity:1;visibility:visible;transform:scale(1)}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover}.hero-shade{background:linear-gradient(90deg,rgba(12,10,8,.96) 0%,rgba(12,10,8,.74) 50%,rgba(12,10,8,.18) 100%),linear-gradient(0deg,var(--ink),transparent 45%)}.hero-content{position:relative;z-index:2;width:min(1180px,100%);margin:auto;padding:150px clamp(20px,6vw,84px) 112px}.eyebrow{margin:0 0 12px;color:var(--gold);font-family:"Cinzel",serif;font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.hero h1,.section h2,.drawer-head h2,.checkout-step h2,.contact-card h2{font-family:"Cinzel",serif;line-height:1.08;letter-spacing:.01em}.hero h1{max-width:900px;margin:0;font-size:clamp(48px,8vw,102px);font-weight:600;text-transform:uppercase;text-shadow:0 10px 38px rgba(0,0,0,.4)}.hero h1 em{color:var(--gold-2);font-style:normal}.hero-copy{max-width:610px;margin:26px 0 0;color:var(--cream-dim);font-size:clamp(17px,2vw,21px)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-controls{position:absolute;z-index:5;right:clamp(20px,6vw,84px);bottom:58px;display:flex;align-items:center;gap:10px}.hero-controls>button,.carousel-tools button{width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%;background:rgba(12,10,8,.65);color:var(--cream);font-size:25px;cursor:pointer;backdrop-filter:blur(8px)}.hero-controls>button:hover,.carousel-tools button:hover{border-color:var(--gold);color:var(--gold)}.hero-dots{display:flex;gap:7px}.hero-dots button{width:28px;height:5px;border:0;border-radius:99px;background:rgba(239,230,212,.3);cursor:pointer;transition:width .25s,background .25s}.hero-dots button.active{width:48px;background:var(--gold)}.hero-progress{position:absolute;z-index:5;inset:auto 0 0;height:3px;background:rgba(255,255,255,.08)}.hero-progress span{display:block;height:100%;width:0;background:var(--gold);transform-origin:left}.hero-progress span.running{animation:heroTimer 5.8s linear forwards}.hero-service{position:absolute;z-index:5;left:clamp(20px,6vw,84px);bottom:55px;margin:0}.button{min-height:50px;padding:0 24px;border-radius:10px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .18s,background .18s,border-color .18s,color .18s}.button:hover{transform:translateY(-2px)}.button:focus-visible,.icon-button:focus-visible,.cart-trigger:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}.button-primary{background:var(--gold);color:var(--ink)}.button-primary:hover{background:var(--gold-2)}.button-primary:disabled{opacity:.42;cursor:not-allowed;transform:none}.button-secondary{background:rgba(12,10,8,.45);border-color:var(--line-strong);color:var(--cream)}.button-secondary:hover{border-color:var(--gold);color:var(--gold-2)}.full{width:100%}.service-strip{display:flex;gap:22px;color:var(--cream-dim);font-size:13px}.service-strip span{display:flex;align-items:center;gap:8px}.service-strip span:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}@keyframes heroTimer{from{width:0}to{width:100%}}
.value-band{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink-2);transform:translateY(-22px);position:relative;z-index:3}.value-band article{display:flex;gap:18px;padding:30px;border-right:1px solid var(--line)}.value-band article:last-child{border:0}.value-band article>span{color:var(--gold);font-family:"Cinzel",serif}.value-band h2{margin:0 0 5px;font-family:"Cinzel",serif;font-size:18px}.value-band p{margin:0;color:var(--cream-dim);font-size:14px}.section{max-width:1180px;margin:auto;padding:100px 22px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-heading h2{font-size:clamp(36px,5.2vw,64px);margin:0;font-weight:600}.section-heading>p{max-width:430px;color:var(--cream-dim);margin:0 0 8px}.section-heading.compact{margin-bottom:35px}.carousel-tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;color:var(--muted);font-size:13px}.carousel-tools>div{display:flex;gap:8px}.flavor-carousel{overflow:hidden;margin-inline:calc((100vw - min(1180px,100vw))/2 * -1)}.flavor-grid{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:none}.flavor-grid::-webkit-scrollbar{display:none}.flavor-card{flex:0 0 calc((100% - 48px)/4);min-width:255px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--ink-2);scroll-snap-align:start;transition:transform .25s,border-color .25s}.flavor-card:hover{transform:translateY(-5px);border-color:var(--line-strong)}.flavor-card img{width:100%;aspect-ratio:3/2;display:block;object-fit:cover}.flavor-card-body{padding:18px}.flavor-card-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.flavor-card h3{font-family:"Cinzel",serif;font-size:17px;margin:0}.price{color:var(--gold-2);font-weight:700;white-space:nowrap}.flavor-card p{min-height:44px;margin:10px 0 14px;color:var(--cream-dim);font-size:14px}.mini-add{width:100%;height:40px;border:1px solid var(--line-strong);border-radius:8px;background:transparent;color:var(--cream);font-weight:700;cursor:pointer}.mini-add:hover{background:var(--gold);color:var(--ink)}
.builder-section{max-width:none;padding-left:max(22px,calc((100vw - 1136px)/2));padding-right:max(22px,calc((100vw - 1136px)/2));background:var(--ink-2);border-block:1px solid var(--line)}.builder-intro{max-width:720px}.builder-intro h2{font-size:clamp(40px,6vw,72px);margin:0}.builder-intro>p:not(.eyebrow){color:var(--cream-dim);max-width:610px}.progress-copy{display:flex;justify-content:space-between;gap:16px;margin-top:26px}.progress-copy span{color:var(--muted);font-size:14px}.progress-track{height:4px;margin-top:10px;border-radius:999px;background:var(--ink-3);overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--gold);transition:width .3s}.builder-workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:36px;margin-top:42px}.pizza-box{padding:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:2px solid rgba(196,163,90,.3);border-radius:20px;background:linear-gradient(145deg,#32281d,#17120d);box-shadow:inset 0 0 0 8px rgba(255,255,255,.025),var(--shadow)}.box-slot{position:relative;aspect-ratio:.82;border:1px dashed rgba(239,230,212,.2);border-radius:11px;overflow:hidden;background:rgba(12,10,8,.42);color:var(--cream-dim);cursor:pointer}.box-slot.selected{border:2px solid var(--gold)}.box-slot img{width:100%;height:100%;object-fit:cover}.box-slot .slot-empty{position:absolute;inset:0;display:grid;place-items:center;font-family:"Cinzel",serif;font-size:21px}.box-slot .slot-label{position:absolute;inset:auto 6px 6px;z-index:2;padding:4px 6px;border-radius:5px;background:rgba(12,10,8,.83);font-size:10px;line-height:1.2}.box-slot.filled:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.flavor-picker{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--ink)}.picker-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.picker-head h3{font-family:"Cinzel",serif;margin:0}.picker-head button{border:0;background:none;color:var(--gold);cursor:pointer}.picker-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;max-height:395px;padding-right:4px;margin-bottom:20px;overflow:auto}.picker-option{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--line);border-radius:9px;background:var(--ink-2);color:var(--cream);text-align:left;cursor:pointer}.picker-option:hover{border-color:var(--gold)}.picker-option img{width:42px;height:42px;border-radius:7px;object-fit:cover}.picker-option span{font-size:13px;font-weight:600}
.process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.process-list li{padding:30px 24px;border-right:1px solid var(--line)}.process-list li:last-child{border:0}.process-list li>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-family:"Cinzel",serif}.process-list h3{margin:20px 0 8px;font-family:"Cinzel",serif;font-size:17px}.process-list p{margin:0;color:var(--cream-dim);font-size:14px}.verification-note{max-width:800px;margin:30px 0 0;color:var(--cream-dim)}.verification-note strong{color:var(--gold-2)}.contact-card{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--ink-2)}.contact-card>img{width:100%;height:100%;min-height:410px;object-fit:cover}.contact-card>div{padding:clamp(30px,5vw,60px);display:flex;flex-direction:column;justify-content:center}.contact-card h2{font-size:clamp(30px,4vw,48px);margin:0 0 20px}.contact-card p:not(.eyebrow){color:var(--cream-dim)}.contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.contact-links a{padding:10px 15px;border:1px solid var(--line-strong);border-radius:999px;color:var(--cream);text-decoration:none;font-weight:600}.contact-links a:hover{border-color:var(--gold);color:var(--gold)}footer{display:flex;align-items:center;justify-content:center;gap:22px;padding:35px 22px;border-top:1px solid var(--line);background:var(--ink-2);color:var(--muted);font-size:13px}footer img{width:50px;height:50px;object-fit:contain}
.drawer-backdrop{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.68);backdrop-filter:blur(3px)}.cart-drawer{position:fixed;z-index:70;inset:0 0 0 auto;width:min(460px,100%);display:flex;flex-direction:column;background:var(--ink-2);border-left:1px solid var(--line);box-shadow:var(--shadow);transform:translateX(102%);transition:transform .28s}.cart-drawer.open{transform:none}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:28px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:32px;margin:0}.icon-button,.dialog-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);font-size:28px;cursor:pointer}.cart-items{flex:1;padding:18px 24px;overflow:auto}.empty-cart{height:100%;min-height:250px;display:grid;place-items:center;text-align:center;color:var(--cream-dim)}.cart-item{padding:16px 0;border-bottom:1px solid var(--line)}.cart-item-top{display:flex;justify-content:space-between;gap:16px}.cart-item h3{margin:0;font-size:16px}.cart-item p{margin:5px 0 0;color:var(--cream-dim);font-size:13px}.cart-item-controls{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.quantity{display:flex;align-items:center;gap:12px}.quantity button,.remove-item{border:1px solid var(--line);background:transparent;color:var(--cream);cursor:pointer}.quantity button{width:30px;height:30px;border-radius:50%}.remove-item{border:0;color:var(--muted)}.cart-footer{padding:22px 24px 28px;border-top:1px solid var(--line)}.subtotal-row{display:flex;justify-content:space-between;margin-bottom:16px;font-size:18px}.subtotal-row strong{color:var(--gold-2)}
.checkout-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:0;border:1px solid var(--line-strong);border-radius:20px;background:var(--ink-2);color:var(--cream);box-shadow:var(--shadow)}.checkout-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(6px)}.dialog-shell{position:relative;padding:clamp(24px,5vw,46px);overflow:auto;max-height:calc(100svh - 24px)}.dialog-close{position:absolute;right:18px;top:18px}.checkout-step{display:none}.checkout-step.active{display:block}.checkout-step h2{max-width:520px;margin:0 50px 26px 0;font-size:clamp(30px,5vw,48px)}form{display:grid;gap:17px}label,fieldset{display:grid;gap:7px;color:var(--cream-dim);font-size:14px}label span{color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--ink);color:var(--cream);padding:13px 14px}textarea{resize:vertical}fieldset{padding:0;border:0;margin:0}legend{margin-bottom:8px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{position:relative}.choice input{position:absolute;opacity:0}.choice span{padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--ink);display:flex;flex-direction:column;color:var(--cream);cursor:pointer}.choice small{color:var(--muted)}.choice input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.delivery-fields{display:grid;gap:15px}.field-warning,.payment-warning{padding:12px 14px;border-left:3px solid var(--gold);background:rgba(196,163,90,.08);color:var(--cream-dim);font-size:13px}.review-card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--ink)}.review-section{padding:13px 0;border-bottom:1px solid var(--line)}.review-section:last-child{border:0}.review-section>span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.review-section strong{display:block;margin-top:4px}.review-list{margin:8px 0 0;padding-left:18px;color:var(--cream-dim);font-size:14px}.review-total{display:flex;justify-content:space-between;color:var(--gold-2);font-size:21px}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.dialog-actions .button{flex:1}.transfer-lead{color:var(--cream-dim)}.transfer-lead strong{color:var(--gold-2);font-size:22px}.bank-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.bank-card>div{display:grid;grid-template-columns:135px 1fr auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--ink)}.bank-card>div:last-child{border:0}.bank-card span{color:var(--muted);font-size:13px}.bank-card strong{font-size:14px;overflow-wrap:anywhere}.bank-card button{border:0;background:none;color:var(--gold);cursor:pointer}.countdown-step{text-align:center}.countdown-ring{width:128px;height:128px;margin:4px auto 28px;border:2px solid var(--gold);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 45px rgba(196,163,90,.15)}.countdown-ring strong{font-family:"Cinzel",serif;font-size:48px;line-height:1}.countdown-ring span{color:var(--muted);font-size:12px}.countdown-step h2{margin-right:0}.countdown-step>p:not(.eyebrow){color:var(--cream-dim);max-width:500px;margin:0 auto 24px}.text-button{margin:16px auto;border:0;background:none;color:var(--gold);cursor:pointer}.countdown-step small{display:block;color:var(--muted)}.toast{position:fixed;z-index:2147483647;inset:max(18px,env(safe-area-inset-top)) auto auto 50%;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:12px 18px;border:1px solid rgba(228,200,122,.65);border-radius:12px;display:flex;align-items:center;gap:10px;background:rgba(20,17,14,.98);color:var(--cream);font-weight:700;line-height:1.35;box-shadow:0 18px 55px rgba(0,0,0,.55),0 0 0 1px rgba(196,163,90,.08);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-16px) scale(.98);transition:opacity .22s ease,transform .22s ease,visibility .22s}.toast:before{content:"✓";display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:14px;font-weight:900}.toast[data-tone="error"]{border-color:rgba(190,80,80,.72)}.toast[data-tone="error"]:before{content:"!";background:#a93e3e;color:#fff}.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0) scale(1)}
@media(max-width:900px){.desktop-nav{display:none}.value-band{grid-template-columns:1fr;margin-inline:18px}.value-band article{border-right:0;border-bottom:1px solid var(--line)}.flavor-card{flex-basis:calc((100% - 16px)/2)}.builder-workspace{grid-template-columns:1fr}.process-list{grid-template-columns:repeat(2,1fr)}.process-list li:nth-child(2){border-right:0}.process-list li:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-card{grid-template-columns:1fr}.contact-card>img{min-height:320px;max-height:420px}.section-heading{align-items:flex-start;flex-direction:column}.hero-service{bottom:24px}.hero-controls{bottom:22px}.hero-content{padding-bottom:128px}}
@media(max-width:600px){.site-header{height:64px;padding:0 14px}.brand img{width:42px;height:42px}.brand span{display:none}.cart-trigger{height:40px}.cart-trigger>span:not(.cart-icon){display:none}.hero{min-height:92svh}.hero-content{padding:110px 20px 145px}.hero-shade{background:linear-gradient(0deg,var(--ink) 0%,rgba(12,10,8,.68) 62%,rgba(12,10,8,.22) 100%)}.hero h1{font-size:clamp(39px,13.5vw,62px)}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.hero-service{left:20px;bottom:68px;flex-direction:column;gap:5px}.hero-controls{left:18px;right:auto;bottom:18px}.hero-controls>button{display:none}.hero-dots button{height:6px}.value-band{transform:none;margin-top:18px}.section{padding:72px 16px}.carousel-tools>span{display:none}.flavor-carousel{overflow:visible}.flavor-card{flex:0 0 84%;min-width:0;display:block}.flavor-card img{height:auto;aspect-ratio:3/2}.flavor-card-body{padding:15px}.flavor-card p{min-height:44px}.builder-section{padding-inline:16px}.builder-workspace{gap:20px}.pizza-box{padding:12px;gap:6px;border-radius:14px}.box-slot{border-radius:8px}.box-slot .slot-label{font-size:8px}.flavor-picker{padding:16px}.picker-grid{grid-template-columns:1fr 1fr;max-height:330px}.picker-option{padding:6px}.picker-option img{width:36px;height:36px}.process-list{grid-template-columns:1fr}.process-list li{border-right:0;border-bottom:1px solid var(--line)!important}.process-list li:last-child{border-bottom:0!important}.contact-card>img{min-height:250px}.contact-card>div{padding:28px 22px}footer{flex-direction:column;gap:4px;text-align:center}.checkout-dialog{width:100%;max-height:100svh;border-radius:18px 18px 0 0;margin:auto 0 0}.dialog-shell{max-height:100svh;padding:26px 18px}.choice-row{grid-template-columns:1fr}.bank-card>div{grid-template-columns:1fr auto;gap:2px 10px}.bank-card span{grid-column:1/-1}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{width:100%}}

/* Compact checkout card reference: 21st.dev/@ruixen.ui/components/checkout-form */
.delivery-fields[hidden],.delivery-route[hidden]{display:none!important}
.delivery-fields{gap:12px;min-width:0}
.delivery-feedback{display:grid;gap:5px}
.delivery-status{margin:0;font-size:12px;line-height:1.5;color:var(--muted)}
.delivery-status[data-state="loading"]{color:var(--gold-2)}
.delivery-status[data-state="ready"]{color:#cfc5a8}
.delivery-status[data-state="error"]{color:#edb79d}
.delivery-route{overflow:hidden;min-width:0;border:1px solid var(--line-strong);border-radius:13px;background:linear-gradient(140deg,#211d15,var(--ink));box-shadow:inset 0 1px rgba(228,200,122,.05)}
.delivery-mini-map{width:100%;height:210px;background:#171511;position:relative;isolation:isolate}
.delivery-route-details{padding:14px 16px}
.delivery-endpoints{display:grid;gap:9px}
.delivery-endpoints p{display:flex;align-items:flex-start;gap:9px;margin:0;color:var(--cream-dim);font-size:12px;line-height:1.45}
.delivery-endpoints p span{overflow-wrap:anywhere;min-width:0}
.delivery-point{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border-radius:50%;font-size:10px;color:var(--ink)}
.delivery-point-a{background:var(--gold)}
.delivery-point-b{background:var(--cream)}
.delivery-route-price{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:12px;margin-top:13px}
.delivery-route-price span{display:grid;gap:2px;color:var(--muted);font-size:11px}
.delivery-route-price span:last-child{text-align:right}
.delivery-route-price strong{color:var(--cream);font-size:15px;font-weight:600}
.delivery-route-price span:last-child strong{color:var(--gold-2);font-size:20px}
.delivery-map-pin{position:absolute;transform:translate(-50%,-50%);display:grid;place-items:center;width:26px;height:26px;border:2px solid #16130e;border-radius:50%;box-shadow:0 2px 7px #0009;color:#16130e;font:700 12px/1 Arial,sans-serif;pointer-events:none}
.delivery-map-pin-a{background:#d4b76c}.delivery-map-pin-b{background:#f2eddd}
.delivery-route-traveler{background:none;border:0;pointer-events:none}
.delivery-route-traveler span{display:block;width:16px;height:16px;border:3px solid #211a0f;border-radius:50%;background:#f4dfa0;box-shadow:0 0 0 2px rgba(228,200,122,.65),0 0 14px 4px rgba(228,200,122,.4);pointer-events:none}
.choice input:focus-visible+span{outline:2px solid var(--gold-2);outline-offset:3px}
.delivery-fields input[aria-invalid="true"]{border-color:#b77b62}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.checkout-dialog .choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-dialog .choice span{padding:12px}.choice small{font-size:11px}.delivery-mini-map{height:190px}.delivery-route-details{padding:12px}}
.review-section small{display:block;margin-top:4px;overflow-wrap:anywhere;color:var(--cream-dim)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Armador: lista completa sin scroll interno y animación de selección */
.picker-grid{max-height:none;padding-right:0;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.picker-option{min-width:0}.picker-option img{flex:0 0 42px}.picker-option span{min-width:0;line-height:1.25}.box-slot.awaiting-arrival img,.box-slot.awaiting-arrival .slot-label,.box-slot.awaiting-arrival:after{opacity:0}.box-slot.slot-arrived{animation:slotArrival .7s cubic-bezier(.2,.72,.18,1)}.flavor-flyer{position:fixed;z-index:110;pointer-events:none;object-fit:cover;border:1px solid rgba(223,191,111,.7);box-shadow:0 18px 50px rgba(0,0,0,.48);will-change:left,top,width,height,opacity,transform}@keyframes slotArrival{0%{box-shadow:0 0 0 0 rgba(196,163,90,.55);transform:scale(.965)}55%{box-shadow:0 0 0 8px rgba(196,163,90,.08);transform:scale(1.018)}100%{box-shadow:0 0 0 0 rgba(196,163,90,0);transform:scale(1)}}
@media(max-width:600px){.picker-grid{max-height:none;overflow:visible}.picker-option img{flex-basis:36px}}@media(prefers-reduced-motion:reduce){.flavor-flyer{display:none}.box-slot.slot-arrived{animation:none}}

/* Checkout: un único desplazamiento funcional, sin barras visibles ni scroll de fondo */
html.locked,body.locked{overflow:hidden;overscroll-behavior:none}
.checkout-dialog{overflow:hidden}
.dialog-shell{
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.dialog-shell::-webkit-scrollbar{display:none;width:0;height:0}

/* 21st.dev-inspired scroll progress + editorial product mosaic */
html,body{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none;width:0;height:0}
.page-progress{position:fixed;z-index:2147483000;inset:0 0 auto;height:3px;pointer-events:none;background:rgba(196,163,90,.08)}
.page-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));box-shadow:0 0 16px rgba(228,200,122,.42);transform:scaleX(0);transform-origin:left center;will-change:transform}
.menu-section{max-width:1320px;padding-top:118px;padding-bottom:120px}
.menu-editorial-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:end;gap:clamp(32px,8vw,120px);margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--line)}
.menu-editorial-head h2{margin:0;font-family:"Cinzel",serif;font-size:clamp(42px,6.6vw,82px);font-weight:600;line-height:1.02}
.menu-editorial-copy{display:grid;gap:22px;padding-bottom:6px}
.menu-editorial-copy p{margin:0;color:var(--cream-dim);font-size:17px}
.menu-editorial-copy span{display:inline-flex;width:max-content;padding:8px 12px;border:1px solid var(--line-strong);border-radius:999px;color:var(--gold-2);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.flavor-editorial-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:16px;padding:0;overflow:visible;scroll-snap-type:none}
.flavor-editorial-grid .flavor-card{position:relative;isolation:isolate;min-width:0;min-height:390px;border:1px solid var(--line);border-radius:18px;background:var(--ink-2);overflow:hidden;scroll-snap-align:none;box-shadow:0 20px 60px rgba(0,0,0,.2);transform-origin:center;transition:border-color .35s ease,box-shadow .35s ease}
.flavor-editorial-grid .flavor-card:hover,.flavor-editorial-grid .flavor-card:focus-within{transform:none;border-color:rgba(228,200,122,.72);box-shadow:0 30px 80px rgba(0,0,0,.38),0 0 0 1px rgba(196,163,90,.12)}
.flavor-card-feature{grid-column:span 7;min-height:570px!important}
.flavor-card-portrait{grid-column:span 5;min-height:570px!important}
.flavor-card-standard{grid-column:span 4}
.flavor-card-wide{grid-column:span 8}
.flavor-media,.flavor-shade{position:absolute;inset:0}
.flavor-media img{width:100%;height:100%;display:block;object-fit:cover;transition:filter .35s ease}
.flavor-shade{background:linear-gradient(180deg,rgba(8,6,5,.08) 20%,rgba(8,6,5,.34) 48%,rgba(8,6,5,.98) 100%),linear-gradient(90deg,rgba(8,6,5,.18),transparent 55%)}
.flavor-card:hover .flavor-media img,.flavor-card:focus-within .flavor-media img{transform:none;filter:saturate(1.05) contrast(1.02)}
.flavor-number{position:absolute;z-index:2;top:18px;left:20px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(239,230,212,.38);border-radius:50%;background:rgba(12,10,8,.48);color:var(--cream);font-family:"Cinzel",serif;font-size:12px;backdrop-filter:blur(10px)}
.flavor-editorial-grid .flavor-card-body{position:absolute;z-index:2;inset:auto 0 0;padding:clamp(22px,3vw,34px)}
.flavor-editorial-grid .flavor-card-head{align-items:end;border-bottom:1px solid rgba(239,230,212,.18);padding-bottom:14px}
.flavor-editorial-grid .flavor-card h3{font-size:clamp(21px,2.15vw,32px);line-height:1.05;text-shadow:0 3px 18px rgba(0,0,0,.6)}
.flavor-editorial-grid .price{font-size:17px}
.flavor-editorial-grid .flavor-card p{min-height:0;max-width:560px;margin:14px 0 20px;color:var(--cream-dim);font-size:15px}
.flavor-editorial-grid .mini-add{width:auto;min-width:190px;height:46px;padding:0 6px 0 17px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border-color:rgba(228,200,122,.52);border-radius:999px;background:rgba(12,10,8,.66);color:var(--cream);backdrop-filter:blur(10px);transition:background .25s,color .25s,transform .25s,border-color .25s}
.flavor-editorial-grid .mini-add b{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:21px;font-weight:500;transition:transform .25s,background .25s}
.flavor-editorial-grid .mini-add:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:translateY(-2px)}
.flavor-editorial-grid .mini-add:hover b{background:var(--ink);color:var(--cream);transform:rotate(90deg)}
@media(max-width:900px){.menu-editorial-head{grid-template-columns:1fr;gap:20px}.flavor-card-feature,.flavor-card-portrait,.flavor-card-standard,.flavor-card-wide{grid-column:span 6;min-height:440px!important}}
@media(max-width:600px){.menu-section{padding-inline:16px;padding-top:82px;padding-bottom:84px}.menu-editorial-head{margin-bottom:24px;padding-bottom:24px}.menu-editorial-head h2{font-size:clamp(39px,12vw,56px)}.menu-editorial-copy p{font-size:16px}.flavor-editorial-grid{grid-template-columns:1fr;gap:12px}.flavor-card-feature,.flavor-card-portrait,.flavor-card-standard,.flavor-card-wide{grid-column:1;min-height:410px!important}.flavor-editorial-grid .flavor-card:nth-child(3n){min-height:340px!important}.flavor-editorial-grid .flavor-card-body{padding:22px}.flavor-editorial-grid .flavor-card h3{font-size:24px}.flavor-editorial-grid .mini-add{width:100%}}
@media(prefers-reduced-motion:reduce){.page-progress span{transition:none}.flavor-media img,.flavor-editorial-grid .mini-add,.flavor-editorial-grid .mini-add b{transition:none}}

/* Recorrido estable: el scroll nunca altera posición, escala ni geometría de las tarjetas. */
html,body,.flavor-grid,.flavor-editorial-grid{scroll-snap-type:none!important}
.flavor-editorial-grid{overflow:visible!important;overscroll-behavior:auto}
.flavor-editorial-grid .flavor-card{
  transform:none!important;
  scroll-snap-align:none!important;
  scroll-margin:0!important;
  will-change:auto;
}
.flavor-editorial-grid .flavor-media img{transform:none!important;will-change:auto}

/* Catálogo completo: carruseles y tarjetas inspirados en patrones de 21st.dev */
.catalog-nav{position:relative;z-index:2;margin:0 0 64px;padding:10px;display:flex;gap:8px;overflow-x:auto;border:1px solid var(--line);border-radius:999px;background:rgba(12,10,8,.88);backdrop-filter:blur(18px);scrollbar-width:none}
.catalog-nav::-webkit-scrollbar,.catalog-track::-webkit-scrollbar{display:none}
.catalog-nav a{flex:1;min-width:max-content;padding:10px 18px;border-radius:999px;color:var(--cream-dim);text-align:center;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .22s,color .22s}
.catalog-nav a:hover,.catalog-nav a:focus-visible{background:var(--gold);color:var(--ink);outline:none}
.catalog-category{padding:0 0 112px;scroll-margin-top:150px}
.catalog-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}
.catalog-heading h2{margin:0;font-family:"Cinzel",serif;font-size:clamp(34px,5vw,58px);font-weight:600;line-height:1.05}
.catalog-heading p:not(.eyebrow){max-width:580px;margin:12px 0 0;color:var(--cream-dim)}
.catalog-controls{display:flex;gap:9px}
.catalog-controls button{width:48px;height:48px;border:1px solid var(--line-strong);border-radius:50%;background:var(--ink-2);color:var(--cream);font-size:27px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.catalog-controls button:hover{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.catalog-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;touch-action:pan-x pan-y;padding:4px 1px 22px}
.featured-category{padding:clamp(30px,5vw,58px);margin:0 0 112px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(circle at 82% 8%,rgba(196,163,90,.16),transparent 34%),linear-gradient(145deg,#18130e,#0d0b09);box-shadow:var(--shadow)}
.featured-card{position:relative;flex:0 0 clamp(310px,48vw,560px);min-height:430px;overflow:hidden;border:1px solid var(--line);border-radius:20px;scroll-snap-align:start;background:var(--ink-2)}
.featured-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,5,.05) 20%,rgba(8,6,5,.93) 88%)}
.featured-card-copy{position:absolute;z-index:2;inset:auto 0 0;padding:28px}
.featured-card-copy h3{max-width:420px;margin:14px 0 18px;font-family:"Cinzel",serif;font-size:clamp(25px,3vw,38px);line-height:1.08}
.featured-card-copy>div{display:flex;align-items:center;justify-content:space-between;gap:18px}
.featured-card-copy>div>strong{color:var(--gold-2);font-size:20px}
.featured-rank,.catalog-badge,.flavor-popular{display:inline-flex;width:max-content;padding:7px 11px;border:1px solid rgba(228,200,122,.5);border-radius:999px;background:rgba(12,10,8,.68);color:var(--gold-2);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.flavor-popular{position:absolute;z-index:2;top:18px;right:20px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.combos-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.catalog-card{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);min-height:360px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--ink-2);box-shadow:0 18px 55px rgba(0,0,0,.22);transition:border-color .3s,box-shadow .3s}
.catalog-card:hover,.catalog-card:focus-within{border-color:rgba(228,200,122,.65);box-shadow:0 26px 70px rgba(0,0,0,.32),0 0 0 1px rgba(196,163,90,.08)}
.catalog-card-media{position:relative;min-height:300px;overflow:hidden}
.catalog-card-media img{width:100%;height:100%;display:block;object-fit:cover;transition:filter .3s}
.catalog-card:hover .catalog-card-media img{filter:saturate(1.06) contrast(1.02)}
.catalog-card-shade{position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(20,17,14,.32))}
.catalog-card-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}
.catalog-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.catalog-card-meta>strong{color:var(--gold-2);font-size:17px}
.catalog-card-copy h3{margin:18px 0 10px;font-family:"Cinzel",serif;font-size:clamp(23px,2.5vw,34px);line-height:1.08}
.catalog-card-copy p{margin:0 0 24px;color:var(--cream-dim)}
.combos-grid .catalog-card{grid-template-columns:1fr;min-height:560px}
.combos-grid .catalog-card-media{min-height:260px}
.combos-grid .catalog-card-copy{justify-content:flex-start}
.catalog-add{width:max-content;min-height:45px;margin-top:auto;padding:0 6px 0 17px;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(228,200,122,.52);border-radius:999px;background:rgba(12,10,8,.68);color:var(--cream);font-weight:700;cursor:pointer;backdrop-filter:blur(10px);transition:background .2s,color .2s,border-color .2s}
.catalog-add b{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:20px;line-height:1;transition:transform .25s,background .2s,color .2s}
.catalog-add:hover,.catalog-add.is-added{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.catalog-add:hover b{transform:rotate(90deg);background:var(--ink);color:var(--cream)}
.catalog-add.is-added b{background:var(--ink);color:var(--cream)}
.catalog-add-compact{min-width:145px;margin:0}
.drinks-category{position:relative;padding-bottom:34px}
.drinks-heading{margin-bottom:32px}
.drinks-format-note{display:flex;align-items:center;gap:12px;color:var(--gold)!important;font-size:12px!important;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.drinks-format-note span{width:34px;height:1px;background:var(--line-strong)}
.drinks-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);background:rgba(12,10,8,.34)}
.drink-menu-card{--spot-x:50%;--spot-y:35%;position:relative;min-width:0;min-height:430px;padding:18px;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(155deg,rgba(28,23,18,.86),rgba(12,10,8,.95));transition:background .3s ease}
.drink-card-spotlight{position:absolute;z-index:0;inset:0;opacity:0;background:radial-gradient(310px circle at var(--spot-x) var(--spot-y),rgba(228,200,122,.17),transparent 48%);transition:opacity .3s ease;pointer-events:none}
.drink-menu-card:hover .drink-card-spotlight,.drink-menu-card:focus-within .drink-card-spotlight{opacity:1}
.drink-menu-visual{position:relative;z-index:1;height:225px;display:grid;place-items:center}
.drink-menu-visual::after{content:"";position:absolute;z-index:-1;left:50%;bottom:14px;width:62%;height:25%;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(20px);transform:translateX(-50%);transition:width .3s ease,opacity .3s ease}
.drink-menu-visual img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(0,0,0,.4));transform:translateY(3px) scale(.94);transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s ease}
.drink-menu-card:hover .drink-menu-visual img,.drink-menu-card:focus-within .drink-menu-visual img{transform:translateY(-7px) scale(1);filter:drop-shadow(0 24px 20px rgba(0,0,0,.5))}
.drink-menu-card[data-product-card="kem-125"] .drink-menu-visual img{transform:translateY(-4px) scale(.86)}
.drink-menu-card[data-product-card="kem-125"]:hover .drink-menu-visual img,.drink-menu-card[data-product-card="kem-125"]:focus-within .drink-menu-visual img{transform:translateY(-9px) scale(.9)}
.drink-menu-card:hover .drink-menu-visual::after,.drink-menu-card:focus-within .drink-menu-visual::after{width:50%;opacity:.7}
.drink-format,.drink-note{position:absolute;z-index:2;top:0;padding:6px 8px;border:1px solid rgba(228,200,122,.28);border-radius:999px;background:rgba(12,10,8,.74);color:var(--gold-2);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(8px)}
.drink-format{left:0}.drink-note{right:0;color:var(--cream)}
.drink-menu-copy{position:relative;z-index:1;flex:1;padding:14px 2px 2px;display:flex;flex-direction:column}
.drink-menu-copy h3{margin:0;font-family:"Cinzel",serif;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.08;text-wrap:balance}
.drink-menu-copy>p{min-height:44px;margin:9px 0 18px;color:var(--cream-dim);font-size:14px;line-height:1.5}
.drink-menu-action{margin-top:auto;padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line)}
.drink-menu-action>strong{color:var(--gold-2);font-size:18px}
.drink-menu-action .catalog-add{position:relative;overflow:visible;min-width:116px;min-height:41px;padding-left:14px;gap:10px;font-size:13px}
.drink-menu-action .catalog-add b{width:29px;height:29px}
.drink-menu-action .catalog-add.is-added::after{content:"";position:absolute;inset:-7px;border:1px solid rgba(228,200,122,.72);border-radius:999px;animation:drinkAdded .55s ease-out both;pointer-events:none}
@keyframes drinkAdded{from{opacity:1;transform:scale(.86)}to{opacity:0;transform:scale(1.18)}}
.cart-flyer{position:fixed;z-index:2147483200;pointer-events:none;object-fit:cover;border:1px solid rgba(228,200,122,.72);border-radius:14px;box-shadow:0 20px 55px rgba(0,0,0,.52);will-change:left,top,width,height,opacity,transform}
.cart-trigger.is-bumped{animation:cartBump .4s cubic-bezier(.2,.8,.2,1)}
@keyframes cartBump{0%,100%{box-shadow:none}45%{box-shadow:0 0 0 10px rgba(196,163,90,.16),0 0 28px rgba(228,200,122,.34)}}
.builder-section.builder-highlight{animation:builderGlow 1.2s ease}
@keyframes builderGlow{50%{box-shadow:inset 0 0 0 2px rgba(228,200,122,.55),inset 0 0 100px rgba(196,163,90,.08)}}
.combo-dialog{width:min(1050px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:24px;background:var(--ink-2);color:var(--cream);box-shadow:var(--shadow)}
.combo-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(7px)}
.combo-shell{position:relative;max-height:calc(100svh - 24px);display:grid;grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);overflow-y:auto;scrollbar-width:none}
.combo-shell::-webkit-scrollbar{display:none}
.combo-hero{position:relative;height:calc(100svh - 24px);min-height:640px;background:var(--ink)}
.combo-hero img{width:100%;height:100%;object-fit:cover}
.combo-content{padding:clamp(32px,5vw,62px)}
.combo-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.combo-title-row h2{margin:0;font-family:"Cinzel",serif;font-size:clamp(30px,4vw,48px);line-height:1.08}
.combo-title-row strong{color:var(--gold-2);font-size:20px;white-space:nowrap}
.combo-content>p:not(.eyebrow){color:var(--cream-dim)}
.combo-menu-note{padding:12px 14px;border-left:3px solid var(--gold);background:rgba(196,163,90,.08);font-size:13px}
.combo-block{margin:30px 0;padding-top:25px;border-top:1px solid var(--line)}
.combo-block-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.combo-block-head h3{margin:0;font-family:"Cinzel",serif;font-size:20px}
.combo-block-head span{color:var(--gold-2);font-size:13px;font-weight:700}
.combo-selection{min-height:43px;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.combo-selection>span{color:var(--muted);font-size:13px}
.combo-selection button{padding:7px 9px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(196,163,90,.08);color:var(--cream);cursor:pointer}
.combo-selection button span{margin-left:7px;color:var(--gold)}
.combo-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.combo-option{min-width:0;padding:8px;display:grid;grid-template-columns:44px 1fr 25px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:11px;background:var(--ink);color:var(--cream);text-align:left;cursor:pointer}
.combo-option:hover:not(:disabled),.combo-option.selected{border-color:var(--gold)}
.combo-option:disabled{opacity:.52;cursor:not-allowed}
.combo-option img{width:44px;height:44px;border-radius:8px;object-fit:cover}
.combo-option span{min-width:0;font-size:13px;font-weight:700}
.combo-option b,.combo-option i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:12px;font-style:normal}
.combo-drinks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.combo-drink{position:relative}
.combo-drink input{position:absolute;opacity:0;pointer-events:none}
.combo-drink span{min-height:48px;padding:10px 13px;display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--cream);cursor:pointer}
.combo-drink.selected span,.combo-drink input:focus-visible+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}

@media(max-width:1000px){.combos-grid{grid-template-columns:1fr}.combos-grid .catalog-card{grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);min-height:370px}.combos-grid .catalog-card-media{min-height:320px}.catalog-card{grid-template-columns:1fr;min-height:auto}.catalog-card-media{min-height:310px}.combo-shell{grid-template-columns:1fr}.combo-hero{position:relative;height:300px;min-height:0}}
@media(max-width:1100px){.drinks-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drink-menu-card{min-height:400px}.drink-menu-visual{height:220px}}
@media(max-width:700px){.catalog-nav{margin-bottom:48px;border-radius:16px}.catalog-category{padding-bottom:78px;scroll-margin-top:125px}.catalog-heading{align-items:flex-start}.catalog-controls{flex:0 0 auto}.catalog-controls button{width:42px;height:42px}.featured-category{margin-inline:-4px;margin-bottom:82px;padding:25px 16px;border-radius:20px}.featured-card{flex-basis:86vw;min-height:430px}.featured-card-copy{padding:22px}.featured-card-copy>div{align-items:flex-end}.catalog-grid{grid-template-columns:1fr}.combos-grid .catalog-card{grid-template-columns:1fr}.catalog-card-media,.combos-grid .catalog-card-media{min-height:280px}.catalog-card-copy{padding:25px}.combo-content{padding:30px 18px}.combo-title-row{display:grid}.combo-options,.combo-drinks{grid-template-columns:1fr}.combo-dialog{width:100%;max-height:100svh;margin:auto 0 0;border-radius:20px 20px 0 0}.combo-shell{max-height:100svh}.combo-hero{height:220px}.catalog-add-compact{min-width:132px}}
@media(max-width:560px){.drinks-heading{display:block}.drinks-format-note{margin-top:18px}.drinks-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drink-menu-card{min-height:335px;padding:11px}.drink-menu-visual{height:160px}.drink-menu-card[data-product-card="kem-125"] .drink-menu-visual img{transform:translateY(-3px) scale(.82)}.drink-menu-card[data-product-card="kem-125"]:hover .drink-menu-visual img,.drink-menu-card[data-product-card="kem-125"]:focus-within .drink-menu-visual img{transform:translateY(-6px) scale(.86)}.drink-format,.drink-note{padding:5px 6px;font-size:8px;letter-spacing:.03em}.drink-menu-copy{padding-top:10px}.drink-menu-copy h3{font-size:17px}.drink-menu-copy>p{min-height:38px;margin:7px 0 12px;font-size:12px;line-height:1.42}.drink-menu-action{padding-top:11px;display:grid;gap:9px}.drink-menu-action>strong{font-size:16px}.drink-menu-action .catalog-add{width:100%;min-width:0;min-height:39px}.drink-menu-action .catalog-add b{width:27px;height:27px}}
@media(prefers-reduced-motion:reduce){.cart-flyer{display:none}.cart-trigger.is-bumped,.builder-section.builder-highlight,.drink-menu-card,.drink-menu-action .catalog-add.is-added::after{animation:none!important}.drink-menu-visual img{transition:none}.catalog-track{scroll-behavior:auto}}

/* Entrada de marca + hero editorial, inspirados en patrones de hero animado de 21st.dev */
.brand-intro{display:none}
.has-js .brand-intro{position:fixed;z-index:2147483500;inset:0;display:grid;place-items:center;overflow:hidden;background:#090705;opacity:0;pointer-events:none;transition:opacity .4s ease,background .72s ease}
.brand-intro::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 50%,rgba(196,163,90,.16),transparent 28%),repeating-radial-gradient(circle at 50% 50%,transparent 0 68px,rgba(196,163,90,.06) 69px 70px);transform:scale(.86);opacity:0;transition:opacity .85s ease,transform 1.2s cubic-bezier(.2,.75,.2,1)}
.brand-intro.is-visible{opacity:1}
.brand-intro.is-visible::before{opacity:1;transform:scale(1)}
.brand-intro-aura{position:absolute;width:min(56vw,520px);aspect-ratio:1;border:1px solid rgba(228,200,122,.22);border-radius:50%;box-shadow:0 0 100px rgba(196,163,90,.1),inset 0 0 90px rgba(196,163,90,.04);opacity:0;transform:scale(.74);transition:opacity .85s ease .1s,transform 1.15s cubic-bezier(.2,.8,.2,1)}
.brand-intro.is-visible .brand-intro-aura{opacity:1;transform:scale(1)}
.brand-intro-logo{position:relative;z-index:2;width:clamp(132px,17vw,210px);height:auto;filter:drop-shadow(0 26px 42px rgba(0,0,0,.58));opacity:0;transform:translateY(12px) scale(.78);transition:opacity .55s ease .08s,transform 1s cubic-bezier(.16,1,.3,1)}
.brand-intro.is-visible .brand-intro-logo{opacity:1;transform:translateY(0) scale(1)}
.brand-intro-wordmark{position:absolute;z-index:2;top:calc(50% + clamp(92px,12vw,138px));margin:0;color:var(--cream);font-family:"Cinzel",serif;font-size:clamp(12px,1.3vw,17px);letter-spacing:.32em;text-indent:.32em;opacity:0;transform:translateY(8px);transition:opacity .55s ease .38s,transform .55s ease .38s}
.brand-intro-wordmark span{color:var(--gold)}
.brand-intro.is-visible .brand-intro-wordmark{opacity:.92;transform:none}
.brand-intro.is-folding{background:rgba(9,7,5,0)}
.brand-intro.is-folding::before,.brand-intro.is-folding .brand-intro-aura,.brand-intro.is-folding .brand-intro-wordmark{opacity:0;transition-duration:.35s}
.site-header,.brand-logo,.desktop-nav,.cart-trigger,.brand>span{transition:background .5s ease,border-color .5s ease,backdrop-filter .5s ease,opacity .42s ease,transform .55s cubic-bezier(.16,1,.3,1)}
body.intro-active .site-header{background:transparent;border-color:transparent;backdrop-filter:blur(0)}
body.intro-active .brand-logo{opacity:0}
body.intro-active .desktop-nav,body.intro-active .cart-trigger,body.intro-active .brand>span{opacity:0;transform:translateY(-9px)}

.editorial-hero{position:relative;isolation:isolate;min-height:100svh;padding:clamp(116px,13vh,154px) clamp(20px,5vw,74px) 58px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 79% 31%,rgba(196,163,90,.13),transparent 25%),linear-gradient(135deg,#0b0907 0%,#12100d 55%,#090705 100%);overflow:hidden}
.editorial-hero::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(rgba(196,163,90,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(196,163,90,.04) 1px,transparent 1px);background-size:84px 84px;mask-image:linear-gradient(90deg,black,transparent 88%)}
.editorial-hero::after{content:"GODFATHER";position:absolute;z-index:-1;left:-.04em;bottom:-.14em;color:transparent;font-family:"Cinzel",serif;font-size:clamp(94px,18vw,286px);font-weight:700;line-height:1;-webkit-text-stroke:1px rgba(196,163,90,.065);letter-spacing:-.045em;white-space:nowrap;pointer-events:none}
.editorial-hero-glow{position:absolute;z-index:-1;right:-8%;top:10%;width:min(58vw,820px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(128,76,24,.18),rgba(12,10,8,0) 66%);filter:blur(20px);pointer-events:none}
.editorial-hero-grid{width:min(1320px,100%);margin:auto;display:grid;grid-template-columns:minmax(390px,.8fr) minmax(520px,1.2fr);align-items:center;gap:clamp(52px,7vw,112px)}
.editorial-hero-copy{position:relative;z-index:4;max-width:610px}
.hero-kicker{margin:0 0 26px;display:flex;align-items:center;gap:12px;color:var(--gold-2);font-family:"Cinzel",serif;font-size:12px;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.hero-kicker span{width:44px;height:1px;background:var(--gold)}
.editorial-hero h1{margin:0;max-width:650px;font-family:"Cinzel",serif;font-size:clamp(50px,6.25vw,92px);font-weight:600;line-height:.98;letter-spacing:-.035em;text-transform:none;text-shadow:0 18px 60px rgba(0,0,0,.32);text-wrap:balance}
.editorial-hero h1 em{display:inline-block;margin-top:.12em;color:var(--gold-2);font-size:.74em;font-style:normal;line-height:1.04;letter-spacing:-.02em}
.editorial-hero .hero-copy{max-width:570px;margin:29px 0 0;color:var(--cream-dim);font-size:clamp(17px,1.3vw,20px);line-height:1.65}
.editorial-hero .hero-actions{margin-top:31px}
.editorial-hero .button{min-height:52px;border-radius:999px}
.hero-facts{list-style:none;margin:40px 0 0;padding:25px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;border-top:1px solid var(--line)}
.hero-facts li{display:grid;gap:2px}
.hero-facts strong{color:var(--cream);font-family:"Cinzel",serif;font-size:clamp(21px,2vw,30px);font-weight:600}
.hero-facts span{color:var(--muted);font-size:12px;line-height:1.35}
.editorial-hero-visual{position:relative;min-height:clamp(520px,66vh,720px)}
.hero-primary-frame,.hero-detail-frame{margin:0;overflow:hidden;background:var(--ink-2);box-shadow:0 30px 100px rgba(0,0,0,.48)}
.hero-primary-frame{position:absolute;inset:0 0 9% 14%;border:1px solid rgba(228,200,122,.32);border-radius:2px 88px 2px 2px}
.hero-primary-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,5,.02) 40%,rgba(8,6,5,.72) 100%),linear-gradient(90deg,rgba(8,6,5,.42),transparent 38%);pointer-events:none}
.hero-primary-frame img,.hero-detail-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform 1.15s cubic-bezier(.16,1,.3,1),filter .6s ease}
.hero-primary-frame img{object-position:56% center}
.hero-primary-frame:hover img{transform:scale(1.035);filter:saturate(1.04) contrast(1.025)}
.hero-primary-frame figcaption{position:absolute;z-index:2;right:24px;bottom:20px;display:flex;align-items:center;gap:12px;color:var(--cream-dim);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero-primary-frame figcaption span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(228,200,122,.48);border-radius:50%;color:var(--gold-2);font-family:"Cinzel",serif}
.hero-detail-frame{position:absolute;z-index:3;left:0;bottom:0;width:45%;height:34%;border:8px solid var(--ink);outline:1px solid var(--line-strong);transform:rotate(-1.8deg)}
.hero-detail-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,6,5,.76),transparent 55%);pointer-events:none}
.hero-detail-frame img{object-position:center}
.hero-detail-frame:hover img{transform:scale(1.05)}
.hero-detail-frame figcaption{position:absolute;z-index:2;left:16px;right:16px;bottom:13px;color:var(--cream);font-family:"Cinzel",serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.hero-eight{position:absolute;z-index:4;left:4%;top:3%;width:118px;height:118px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(228,200,122,.58);border-radius:50%;background:rgba(12,10,8,.84);box-shadow:0 16px 42px rgba(0,0,0,.42);backdrop-filter:blur(12px);text-align:center}
.hero-eight strong{color:var(--gold-2);font-family:"Cinzel",serif;font-size:38px;line-height:.85}
.hero-eight span{margin-top:8px;color:var(--cream-dim);font-size:9px;font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.hero-bottomline{width:min(1320px,100%);margin:26px auto 0;padding-top:21px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line)}
.hero-scroll-cue{display:flex;align-items:center;gap:13px;color:var(--cream-dim);font-size:12px;font-weight:700;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}
.hero-scroll-cue>span{position:relative;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:50%}
.hero-scroll-cue>span::before,.hero-scroll-cue>span::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:1px;background:var(--gold);transform-origin:right}
.hero-scroll-cue>span::before{transform:translate(-7px,2px) rotate(45deg)}
.hero-scroll-cue>span::after{transform:translate(-1px,2px) rotate(-45deg)}
.hero-scroll-cue:hover{color:var(--gold-2)}
body.intro-active .editorial-hero-copy>*{opacity:0;transform:translateY(24px)}
body.intro-active .hero-primary-frame{opacity:0;transform:translateX(34px) scale(.975)}
body.intro-active .hero-detail-frame{opacity:0;transform:translate(-24px,18px) rotate(-1.8deg)}
body.intro-active .hero-eight{opacity:0;transform:scale(.72)}
body.intro-active .hero-bottomline{opacity:0;transform:translateY(12px)}
.editorial-hero-copy>*,.hero-primary-frame,.hero-detail-frame,.hero-eight,.hero-bottomline{transition:opacity .72s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.editorial-hero-copy>*:nth-child(2){transition-delay:.08s}.editorial-hero-copy>*:nth-child(3){transition-delay:.15s}.editorial-hero-copy>*:nth-child(4){transition-delay:.22s}.editorial-hero-copy>*:nth-child(5){transition-delay:.29s}
.hero-primary-frame{transition-delay:.08s}.hero-detail-frame{transition-delay:.2s}.hero-eight{transition-delay:.32s}.hero-bottomline{transition-delay:.34s}

/* Scroll Reveal de 21st.dev adaptado sin alterar el flujo ni la geometría */
.reveal-ready .scroll-reveal{--reveal-delay:0ms;opacity:0;transition:opacity .68s ease var(--reveal-delay),transform .82s cubic-bezier(.16,1,.3,1) var(--reveal-delay),clip-path .82s cubic-bezier(.16,1,.3,1) var(--reveal-delay),filter .68s ease var(--reveal-delay)}
.reveal-ready .scroll-reveal.reveal-rise{transform:translate3d(0,30px,0)}
.reveal-ready .scroll-reveal.reveal-left{transform:translate3d(-28px,0,0)}
.reveal-ready .scroll-reveal.reveal-right{transform:translate3d(28px,0,0)}
.reveal-ready .scroll-reveal.reveal-soft{transform:scale(.985);filter:blur(3px)}
.reveal-ready .scroll-reveal.reveal-card{clip-path:inset(9% 0 0 0 round 18px);filter:saturate(.82) brightness(.86)}
.reveal-ready .scroll-reveal.is-visible{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 0);filter:none}
.scroll-reveal:focus-within{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}

@media(max-width:1050px){
  .editorial-hero{padding-top:118px}
  .editorial-hero-grid{grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr);gap:44px}
  .editorial-hero-visual{min-height:560px}
  .hero-primary-frame{inset:0 0 8% 9%}
  .hero-detail-frame{width:48%;height:31%}
  .hero-eight{left:0}
}
@media(max-width:820px){
  .editorial-hero{min-height:auto;padding:112px 22px 40px;justify-content:flex-start}
  .editorial-hero-grid{grid-template-columns:1fr;gap:48px}
  .editorial-hero-copy{max-width:690px}
  .editorial-hero h1{font-size:clamp(52px,10.5vw,82px)}
  .editorial-hero-visual{min-height:590px;width:min(680px,100%);margin-inline:auto}
  .hero-primary-frame{inset:0 0 9% 10%}
  .hero-bottomline{margin-top:36px}
}
@media(max-width:600px){
  .brand-intro-wordmark{top:calc(50% + 94px);font-size:11px;letter-spacing:.22em;text-indent:.22em}
  .brand-intro-aura{width:84vw}
  .editorial-hero{padding:96px 16px 30px}
  .editorial-hero::before{background-size:54px 54px}
  .editorial-hero::after{bottom:.02em;font-size:27vw}
  .hero-kicker{margin-bottom:20px;font-size:10px;letter-spacing:.14em}
  .hero-kicker span{width:28px}
  .editorial-hero h1{font-size:clamp(43px,13.3vw,62px);line-height:1.01;letter-spacing:-.04em}
  .editorial-hero h1 em{font-size:.72em}
  .editorial-hero .hero-copy{margin-top:21px;font-size:16px;line-height:1.58}
  .editorial-hero .hero-actions{margin-top:24px;display:grid;grid-template-columns:1fr}
  .editorial-hero .hero-actions .button{width:100%}
  .hero-facts{margin-top:28px;padding-top:19px;gap:9px}
  .hero-facts strong{font-size:19px}
  .hero-facts span{font-size:10px}
  .editorial-hero-visual{min-height:440px}
  .hero-primary-frame{inset:0 0 8% 6%;border-radius:2px 52px 2px 2px}
  .hero-primary-frame img{object-position:61% center}
  .hero-primary-frame figcaption{right:13px;bottom:12px;font-size:9px}
  .hero-primary-frame figcaption span{width:29px;height:29px}
  .hero-detail-frame{left:0;width:47%;height:31%;border-width:5px}
  .hero-detail-frame figcaption{left:9px;right:9px;bottom:8px;font-size:8px}
  .hero-eight{left:-2px;top:-18px;width:92px;height:92px;padding:12px}
  .hero-eight strong{font-size:29px}.hero-eight span{font-size:7px;margin-top:6px}
  .hero-bottomline{margin-top:29px;align-items:flex-end}
  .hero-bottomline .service-strip{display:grid;gap:4px;font-size:11px}
  .hero-scroll-cue{font-size:0;gap:0}
  .reveal-ready .scroll-reveal.reveal-left,.reveal-ready .scroll-reveal.reveal-right{transform:translate3d(0,24px,0)}
}
@media(prefers-reduced-motion:reduce){
  .brand-intro{display:none!important}
  body.intro-active .site-header,body.intro-active .brand-logo,body.intro-active .desktop-nav,body.intro-active .cart-trigger,body.intro-active .brand>span,body.intro-active .editorial-hero-copy>*,body.intro-active .hero-primary-frame,body.intro-active .hero-detail-frame,body.intro-active .hero-eight,body.intro-active .hero-bottomline{opacity:1!important;transform:none!important}
  .reveal-ready .scroll-reveal{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
}

/* Armador físico · selector horizontal inspirado en Spotlight Card + Carousel de 21st.dev */
.builder-section{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(76px,9vw,126px);padding-bottom:clamp(82px,10vw,142px);background:
  radial-gradient(circle at 12% 30%,rgba(196,163,90,.09),transparent 30%),
  radial-gradient(circle at 87% 72%,rgba(116,67,22,.1),transparent 29%),
  linear-gradient(145deg,#0c0a08 0%,#15110d 52%,#0b0907 100%)}
.builder-section::before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(224,193,113,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(224,193,113,.026) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(180deg,transparent,black 18%,black 82%,transparent)}
.builder-intro{position:relative;z-index:2;max-width:760px}
.builder-intro h2{font-size:clamp(45px,6.5vw,82px);line-height:.96;letter-spacing:-.04em}
.builder-intro>p:not(.eyebrow){max-width:660px;font-size:clamp(16px,1.4vw,19px);line-height:1.7}
.progress-copy{align-items:flex-end;margin-top:30px}
.progress-copy strong{color:var(--gold-2);font-family:"Cinzel",serif;font-size:clamp(18px,2vw,25px);font-weight:600}
.progress-track{height:3px;background:rgba(255,255,255,.07)}
.progress-track span{background:linear-gradient(90deg,#9a6b23,var(--gold-2));box-shadow:0 0 20px rgba(228,200,122,.45);transition:width .55s cubic-bezier(.16,1,.3,1)}
.builder-workspace{position:relative;z-index:2;grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);align-items:start;gap:clamp(26px,4vw,58px);margin-top:50px}

.real-box-stage{position:relative;min-width:0;padding:clamp(18px,2.4vw,32px);overflow:hidden;border:1px solid rgba(228,200,122,.2);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012) 42%,rgba(0,0,0,.18));box-shadow:0 38px 110px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.045)}
.real-box-stage::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(120deg,rgba(228,200,122,.045),transparent 38%),radial-gradient(circle at 55% 54%,rgba(228,200,122,.08),transparent 48%);pointer-events:none}
.box-stage-ambient{position:absolute;z-index:0;left:19%;right:10%;bottom:14%;height:17%;border-radius:50%;background:rgba(0,0,0,.72);filter:blur(28px);transform:rotate(-7deg);opacity:.78;pointer-events:none}
.box-scene{position:relative;z-index:1;width:min(100%,760px);aspect-ratio:1142/1146;margin-inline:auto;perspective:1100px;transform-style:preserve-3d}
.box-state-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 28px 30px rgba(0,0,0,.38));pointer-events:none;user-select:none}
.box-open-image{z-index:1;opacity:1;transform:translateZ(0) scale(1);transition:opacity .66s ease,transform .95s cubic-bezier(.2,.74,.18,1),filter .7s ease}
.box-closed-image{z-index:7;opacity:0;transform:translate3d(0,-8%,45px) rotateX(-24deg) scale(1.045);transform-origin:50% 74%;filter:drop-shadow(0 30px 36px rgba(0,0,0,.45));transition:opacity .72s ease,transform 1.05s cubic-bezier(.16,1,.3,1),filter .7s ease}

/* Shared 4×2 plane: zero layout gaps; cover trims only the outer alpha/crust
   margins of the 470×740 cutouts without stretching the food. Flight and
   resting slices use the same image/mask fit and contact-volume layers. */
.box-cuts-grid{--box-plane:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);position:absolute;z-index:3;left:5.9%;top:22.3%;width:88.2%;height:72.4%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:0;transform:var(--box-plane);transform-origin:0 0;transition:opacity .55s ease;clip-path:inset(0)}
.box-cut-slot{position:relative;min-width:0;min-height:0;padding:0;overflow:visible;border:0;border-radius:0;background:transparent;color:var(--cream);font:inherit;isolation:isolate;transform:translateZ(0);appearance:none}
.box-cut-slot.empty{opacity:0;pointer-events:none}
.box-cut-slot.filled{cursor:pointer;transition:transform .32s cubic-bezier(.16,1,.3,1),filter .32s ease}
.box-cut-slot.filled:hover,.box-cut-slot.filled:focus-visible,.box-cut-slot.filled.is-remove-ready{z-index:5;outline:none;filter:saturate(1.06) brightness(1.03)}
.box-cut-photo{position:absolute;inset:0;display:block;background:transparent;pointer-events:none;clip-path:inset(0)}
/* The visible crust is INSIDE the slot: top height + extrusion + contact
   shadow never exceeds its allocated depth. Keep the shared camera unchanged. */
.cut-volume{--cut-thickness:clamp(5px,1.05vw,13px);position:relative;display:block;width:100%;height:calc(100% - var(--cut-thickness) - 2px);isolation:isolate;filter:drop-shadow(0 1px 1px rgba(55,27,8,.3))}
.cut-crust-layer{position:absolute;inset:0;display:block;pointer-events:none;-webkit-mask-image:var(--cut-mask);mask-image:var(--cut-mask);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:#d5a466;background-image:radial-gradient(ellipse at 17% 88%,rgba(98,53,18,.34) 0 9%,transparent 23%),radial-gradient(ellipse at 63% 94%,rgba(255,235,184,.7) 0 12%,transparent 28%),radial-gradient(ellipse at 87% 82%,rgba(141,77,25,.28) 0 7%,transparent 21%),linear-gradient(180deg,#ab7138 0%,#e5b97e 65%,#f3d4a0 91%,#cb985d 98%,#8e592d 100%);background-size:37px 19px,53px 23px,71px 29px,100% 100%}
.crust-base{z-index:0;transform:translateY(var(--cut-thickness));filter:brightness(.94)}
.crust-middle{z-index:1;transform:translateY(calc(var(--cut-thickness) * .67));filter:brightness(1.05)}
.crust-upper{z-index:2;transform:translateY(calc(var(--cut-thickness) * .32));filter:brightness(.92)}
.cut-volume>img{position:relative;z-index:3;width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.02) drop-shadow(0 2px 1px rgba(50,20,3,.35))}
.box-cut-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(1.04) contrast(1.02) drop-shadow(0 2px 1px rgba(50,20,3,.35));transition:opacity .25s ease,filter .3s ease}
.box-cut-slot.filled:hover .box-cut-photo img,.box-cut-slot.filled:focus-visible .box-cut-photo img,.box-cut-slot.filled.is-remove-ready .box-cut-photo img{filter:saturate(1.08) contrast(1.03) drop-shadow(0 2px 1px rgba(42,16,2,.4))}
.box-cut-action{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:7px;background:linear-gradient(180deg,rgba(12,9,6,.14),rgba(12,9,6,.88));opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1);text-align:center;pointer-events:none}
.box-cut-action small{max-width:100%;overflow:hidden;color:rgba(255,255,255,.8);font-size:clamp(7px,.68vw,10px);line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.box-cut-action strong{color:var(--gold-2);font-size:clamp(7px,.72vw,10px);line-height:1.2;text-transform:uppercase;letter-spacing:.045em}
.box-cut-action i{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:2px;border:1px solid currentColor;border-radius:50%;font-style:normal}
.box-cut-slot.filled:hover .box-cut-action,.box-cut-slot.filled:focus-visible .box-cut-action,.box-cut-slot.filled.is-remove-ready .box-cut-action{opacity:1;transform:none}
.box-cut-slot.awaiting-arrival .box-cut-photo,.box-cut-slot.awaiting-arrival .box-cut-action{opacity:0}
.box-cut-slot.slot-arrived{animation:physicalCutArrival .72s cubic-bezier(.16,1,.3,1)}
@keyframes physicalCutArrival{0%{filter:brightness(1.06)}100%{filter:none}}

.box-complete-state{position:absolute;z-index:8;left:50%;top:53%;width:min(235px,38%);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:18px;border:1px solid rgba(228,200,122,.52);border-radius:50%;background:radial-gradient(circle,rgba(21,16,11,.95),rgba(9,7,5,.91));box-shadow:0 24px 65px rgba(0,0,0,.5),0 0 0 9px rgba(196,163,90,.055);opacity:0;transform:translate(-50%,-48%) scale(.72);transition:opacity .45s ease,transform .72s cubic-bezier(.16,1,.3,1);text-align:center;pointer-events:none}
.box-complete-state img{width:clamp(42px,7vw,70px);height:auto;margin-bottom:9px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35))}
.box-complete-state strong{color:var(--gold-2);font-family:"Cinzel",serif;font-size:clamp(11px,1.3vw,16px);line-height:1.12}
.box-complete-state span{max-width:150px;margin-top:6px;color:var(--cream-dim);font-size:clamp(8px,.75vw,10px);line-height:1.35}
.real-box-stage.is-complete .box-complete-state{opacity:1;transform:translate(-50%,-50%) scale(1)}
.real-box-stage.is-closing .box-complete-state{opacity:0;transform:translate(-50%,-55%) scale(.84)}
.real-box-stage.is-closing .box-cuts-grid{opacity:0;transform:var(--box-plane)}
.real-box-stage.is-closing .box-open-image{opacity:.12;transform:scale(.985);filter:drop-shadow(0 18px 22px rgba(0,0,0,.28))}
.real-box-stage.is-closing .box-closed-image{opacity:1;transform:translate3d(0,0,50px) rotateX(0) scale(1)}
.real-box-stage.is-closed .box-open-image{opacity:0}
.real-box-stage.is-dispatched .box-scene{opacity:0;transform:translateY(-12px) scale(.9);transition:opacity .42s ease,transform .65s cubic-bezier(.4,0,.2,1)}
.box-stage-footer{position:relative;z-index:10;min-height:48px;margin-top:-4px;padding:13px 15px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(228,200,122,.13);border-radius:14px;background:rgba(10,8,6,.66);backdrop-filter:blur(12px)}
.box-stage-footer p{margin:0;color:var(--cream-dim);font-size:12px;line-height:1.35}
.box-stage-footer strong{color:var(--gold-2);font-family:"Cinzel",serif;font-size:14px;white-space:nowrap}
.box-live-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px rgba(196,163,90,.1),0 0 15px rgba(228,200,122,.48)}

.flavor-picker.flavor-studio{position:relative;min-width:0;padding:clamp(20px,2.3vw,28px);overflow:hidden;border:1px solid rgba(228,200,122,.2);border-radius:24px;background:linear-gradient(160deg,rgba(29,24,19,.94),rgba(10,8,6,.97));box-shadow:0 28px 72px rgba(0,0,0,.35)}
.flavor-studio::before{content:"";position:absolute;inset:0;background:radial-gradient(430px circle at 78% 4%,rgba(228,200,122,.12),transparent 54%);pointer-events:none}
.flavor-studio .picker-head{position:relative;z-index:4;align-items:flex-start;gap:16px;margin-bottom:13px}
.flavor-studio .picker-head h3{margin:3px 0 0;color:var(--cream);font-size:clamp(25px,2.5vw,36px);font-weight:500;line-height:1}
.picker-actions{display:flex;align-items:center;gap:7px}
.flavor-studio .picker-reset{display:grid;place-items:center;width:auto;height:37px;padding-inline:14px;border:1px solid rgba(228,200,122,.26);border-radius:999px;background:rgba(255,255,255,.025);color:var(--gold-2);font:inherit;font-size:11px;font-weight:700;line-height:1;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .25s ease}
.flavor-studio .picker-reset:hover,.flavor-studio .picker-reset:focus-visible{outline:none;border-color:rgba(228,200,122,.65);background:rgba(228,200,122,.1);color:#f3d98f;transform:translateY(-1px)}
.flavor-studio button:disabled{opacity:.42;cursor:not-allowed}
.picker-status{position:relative;z-index:4;min-height:38px;margin:0 0 8px;padding:10px 12px;border-left:2px solid var(--gold);background:linear-gradient(90deg,rgba(196,163,90,.075),rgba(196,163,90,.015));color:var(--cream-dim);font-size:12px;line-height:1.45}

/* Responsive card gallery, adapted from 21st.dev's grid and interactive gallery patterns. */
.flavor-gallery-shell{position:relative;z-index:3}
.flavor-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:stretch}
.flavor-choice{position:relative;min-width:0;min-height:94px;padding:0;border:0;border-radius:15px;background:none;color:var(--cream);font:inherit;text-align:left;cursor:pointer;transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s ease}
.flavor-choice-surface{position:relative;display:grid;grid-template-columns:clamp(44px,28%,60px) minmax(0,1fr);align-items:stretch;gap:8px;width:100%;height:100%;padding:7px;overflow:hidden;border:1px solid rgba(228,200,122,.24);border-radius:15px;background:linear-gradient(145deg,rgba(48,37,24,.72),rgba(17,14,11,.94));box-shadow:inset 0 1px rgba(255,255,255,.055),0 8px 18px rgba(0,0,0,.17);transition:border-color .3s ease,box-shadow .3s ease,background .3s ease}
.flavor-choice-surface::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 13% 30%,rgba(241,211,132,.14),transparent 66%);opacity:0;pointer-events:none;transition:opacity .32s ease}
.flavor-choice:hover,.flavor-choice:focus-visible{z-index:2;transform:translateY(-2px)}
.flavor-choice:hover .flavor-choice-surface,.flavor-choice:focus-visible .flavor-choice-surface{border-color:rgba(241,211,132,.77);box-shadow:inset 0 1px rgba(255,255,255,.09),0 12px 25px rgba(0,0,0,.3),0 0 18px rgba(188,134,48,.12)}
.flavor-choice:hover .flavor-choice-surface::after,.flavor-choice:focus-visible .flavor-choice-surface::after{opacity:1}
.flavor-choice:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.flavor-choice-media{position:relative;display:block;align-self:center;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#261a12}
.flavor-choice-media img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s cubic-bezier(.16,1,.3,1),filter .35s ease}
.flavor-choice:hover .flavor-choice-media img,.flavor-choice:focus-visible .flavor-choice-media img{transform:scale(1.075);filter:saturate(1.08)}
.flavor-choice-count{position:absolute;right:3px;top:3px;min-width:22px;height:22px;padding:0 4px;display:grid;place-items:center;border:1px solid rgba(255,225,157,.75);border-radius:999px;background:rgba(12,9,6,.88);color:var(--gold-2);font-size:10px;font-weight:800}
.flavor-choice-count[hidden]{display:none}
.flavor-choice-copy{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;justify-content:space-between;gap:6px;padding:5px 0 2px}
.flavor-choice-copy strong{color:#fff5df;font-family:"Cinzel",serif;font-size:clamp(10px,1.05vw,12px);font-weight:600;line-height:1.2;overflow-wrap:anywhere}
.flavor-choice-add{display:flex;align-items:center;justify-content:space-between;gap:2px;color:#e6cf94;font-size:10px;font-weight:700;line-height:1.1;transition:color .28s ease}
.flavor-choice-add i{flex:none;display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(228,200,122,.5);border-radius:50%;background:rgba(228,200,122,.11);color:#ffe0a0;font-style:normal;font-size:16px;font-weight:400;line-height:1;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease}
.flavor-choice:hover .flavor-choice-add,.flavor-choice:focus-visible .flavor-choice-add{color:#fff3cf}
.flavor-choice:hover .flavor-choice-add i,.flavor-choice:focus-visible .flavor-choice-add i{transform:rotate(90deg);background:var(--gold-2);color:#21190d}
.flavor-choice.is-chosen .flavor-choice-surface{animation:galleryChoiceConfirmed .72s cubic-bezier(.16,1,.3,1)}
@keyframes galleryChoiceConfirmed{0%,100%{border-color:rgba(228,200,122,.24)}25%{border-color:#efd38b;box-shadow:0 0 0 3px rgba(228,200,122,.14),0 12px 28px rgba(0,0,0,.32)}65%{border-color:rgba(239,211,139,.6)}}
.picker-legend{position:relative;z-index:4;margin-top:15px;padding-top:15px;display:flex;flex-wrap:wrap;gap:9px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;line-height:1.4}
.picker-legend span{display:flex;align-items:center;gap:6px}
.picker-legend i{display:grid;place-items:center;width:18px;height:18px;border:1px solid rgba(228,200,122,.25);border-radius:50%;color:var(--gold-2);font-style:normal;font-size:12px}
.flavor-flyer{position:fixed;z-index:9998;display:block;pointer-events:none;border:0;background:transparent;box-shadow:none;filter:drop-shadow(0 9px 11px rgba(0,0,0,.25));will-change:left,top,width,height,opacity,transform}
.builder-box-flyer{position:fixed;z-index:9999;display:block;pointer-events:none;object-fit:contain;filter:drop-shadow(0 24px 30px rgba(0,0,0,.5));will-change:left,top,width,height,opacity,transform}
.cart-trigger.is-bumped{animation:cartBoxArrival .5s cubic-bezier(.16,1,.3,1)}
@keyframes cartBoxArrival{0%,100%{transform:none}45%{transform:scale(1.13);box-shadow:0 0 0 8px rgba(196,163,90,.08)}}

@media(hover:hover) and (pointer:fine){
  .flavor-gallery:has(.flavor-choice:hover) .flavor-choice:not(:hover){opacity:.84}
}

@media(max-width:1060px){
  .builder-workspace{grid-template-columns:minmax(0,1.12fr) minmax(292px,.88fr);gap:25px}
  .picker-actions{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:900px){
  .builder-workspace{grid-template-columns:1fr;gap:24px}
  .real-box-stage{max-width:760px;margin-inline:auto}
  .flavor-picker.flavor-studio{max-width:760px;width:100%;margin-inline:auto}
  .flavor-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
  .builder-section{padding-inline:14px;padding-top:72px}
  .builder-intro>p:not(.eyebrow){font-size:15px}
  .progress-copy{margin-top:23px}
  .real-box-stage{padding:9px 7px 10px;border-radius:19px}
  .box-scene{width:100%;margin-inline:auto;aspect-ratio:1142/1146}
  .box-cut-action{padding:3px}
  .box-cut-action small{display:none}
  .box-cut-action strong{font-size:7px;letter-spacing:0}
  .box-cut-action i{width:13px;height:13px}
  .box-complete-state{width:39%;padding:10px}
  .box-complete-state img{width:42px;margin-bottom:5px}
  .box-complete-state strong{font-size:10px}
  .box-complete-state span{display:none}
  .box-stage-footer{margin:0 3px;padding:11px 12px;grid-template-columns:auto minmax(0,1fr) auto}
  .box-stage-footer p{font-size:10px}
  .box-stage-footer strong{font-size:12px}
  .flavor-picker.flavor-studio{padding:17px 14px;border-radius:19px}
  .flavor-studio .picker-head{display:grid;grid-template-columns:1fr auto}
  .flavor-studio .picker-head h3{font-size:25px}
  .picker-actions{gap:5px}
  .flavor-studio .picker-reset{height:32px;padding-inline:10px}
  .picker-status{min-height:36px;font-size:11px}
  .flavor-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .flavor-choice{min-height:88px}
  .flavor-choice-surface{grid-template-columns:clamp(40px,29%,54px) minmax(0,1fr);gap:6px;padding:6px}
  .flavor-choice-copy strong{font-size:clamp(10px,2.9vw,12px)}
  .flavor-choice-add{font-size:9px}
  .picker-legend{display:grid;gap:8px}
}
@media(prefers-reduced-motion:reduce){
  .box-open-image,.box-closed-image,.box-cuts-grid,.box-complete-state,.real-box-stage.is-dispatched .box-scene,.flavor-choice,.flavor-choice-surface,.flavor-choice-media img,.flavor-choice-add,.flavor-choice-add i{transition:none!important;animation:none!important}
  .flavor-flyer,.builder-box-flyer{display:none!important}
  .flavor-choice{filter:none!important;transform:none!important}
}

/* Leaflet stays inside the checkout card; gestures keep scrolling the form. */
.delivery-mini-map.leaflet-container{font-family:inherit;z-index:0;background:#24221d}
.delivery-mini-map .leaflet-tile-pane{filter:brightness(.55) saturate(.55)}
.delivery-mini-map .leaflet-control-zoom a{background:#211d15;color:#e7d295;border-color:#4d4128;width:28px;height:28px;line-height:28px;font-size:18px}
.delivery-mini-map .leaflet-control-attribution{background:rgba(18,16,12,.94);color:#e9dfca;font-size:10px;line-height:1.4;padding:2px 5px}
.delivery-mini-map .leaflet-control-attribution a{color:#ecd18c}
.delivery-leaflet-marker .delivery-map-pin{position:relative;transform:none}
.delivery-map-credit{margin:0 0 10px;font-size:10px;line-height:1.5;color:#bfb49a}
.delivery-map-credit a{color:#d4b76c;text-decoration:underline;text-underline-offset:2px}

#paidButton{position:relative;overflow:hidden;isolation:isolate;min-height:56px}
#paidButton .paid-label{transition:filter .35s ease,opacity .35s ease}
#paidButton .paid-lock{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:7px;background:rgba(24,20,13,.82);color:var(--gold-2);font-size:12px;font-variant-numeric:tabular-nums;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;pointer-events:none}
#paidButton.is-waiting{opacity:1;border-color:rgba(196,163,90,.38);background:#342c1c;cursor:not-allowed;transform:none}
#paidButton.is-waiting .paid-label{filter:blur(3px);opacity:.24}
#paidButton.is-waiting .paid-lock{opacity:1;visibility:visible}
.transfer-wait-notice{font-size:12px;line-height:1.6;color:var(--cream-dim);margin:16px 0 0}
.transfer-copy-all{display:flex;width:100%;margin-top:12px}
@media(prefers-reduced-motion:reduce){#paidButton .paid-label,#paidButton .paid-lock{transition:none}}

/* A shared photographic plane keeps every menu slice at a comparable scale.
   The blurred fill comes from that same photograph; the foreground is never
   stretched, generated, or cropped through the pizza. */
.flavor-card[data-product-card="napolitana"]{--menu-photo:url("assets/napolitana-menu-oficial.png")}
.flavor-card[data-product-card="salame"]{--menu-photo:url("assets/salame-menu-oficial.png")}
.flavor-card[data-product-card="chilena"]{--menu-photo:url("assets/chilena-menu-oficial.png")}
.flavor-card[data-product-card="fugazza"]{--menu-photo:url("assets/fugazza-real-20261008.png")}
.flavor-card[data-product-card="pollo-morron"]{--menu-photo:url("assets/pollo-morron-menu-oficial.png")}
.flavor-card[data-product-card="chacarera"]{--menu-photo:url("assets/chacarera-menu-oficial.png");--menu-clarity:brightness(1.08) contrast(1.055) saturate(1.03) sepia(.035)}
.flavor-card[data-product-card="pollo-bbq"]{--menu-photo:url("assets/pollo-bbq-menu-oficial.png")}
.flavor-card[data-product-card="maiz"]{--menu-photo:url("assets/maiz-cremoso-menu-oficial.png");--menu-clarity:brightness(1.09) contrast(1.055) saturate(1.035) sepia(.035)}
.flavor-card[data-product-card="carne-agridulce"]{--menu-photo:url("assets/carne-agridulce-menu-oficial.jpg");--menu-clarity:brightness(1.1) contrast(1.045) saturate(1.025)}
.flavor-card[data-product-card="mix-verduras"]{--menu-photo:url("assets/mix-verduras-menu-real-20261014.png");--menu-clarity:none}
.flavor-card[data-product-card="pepperoni"]{--menu-photo:url("assets/pepperoni-real-menu.svg");--menu-clarity:none}
.flavor-card:is([data-product-card="napolitana"],[data-product-card="salame"],[data-product-card="chilena"],[data-product-card="pollo-morron"],[data-product-card="pollo-bbq"]){--menu-clarity:brightness(1.08) contrast(1.05) saturate(1.03) sepia(.035)}
.flavor-card[data-product-card="napolitana"]{--menu-clarity:brightness(1.12) contrast(1.075) saturate(1.035) sepia(.025)}
.flavor-card[data-product-card="salame"]{--menu-clarity:brightness(1.11) contrast(1.07) saturate(1.04) sepia(.025)}
.flavor-card[data-product-card="chilena"]{--menu-clarity:brightness(1.1) contrast(1.075) saturate(1.04) sepia(.025)}
.flavor-card[data-product-card="pollo-bbq"]{--menu-clarity:brightness(1.11) contrast(1.075) saturate(1.035) sepia(.025)}
.flavor-card[data-product-card="pollo-morron"]{--menu-clarity:brightness(1.1) contrast(1.075) saturate(1.035) sepia(.025)}
.flavor-card[data-product-card="fugazza"]{--menu-clarity:brightness(1.14) contrast(1.04) saturate(1.04)}
.flavor-editorial-grid .flavor-card .flavor-media{overflow:hidden;background:#211811}
.flavor-editorial-grid .flavor-card .flavor-media::before{content:"";position:absolute;inset:-22px;background-image:var(--menu-photo);background-position:center;background-size:cover;filter:blur(20px) brightness(.4) saturate(.85);pointer-events:none}
.flavor-editorial-grid .flavor-card .flavor-media img{position:absolute;top:0;left:0;z-index:1;width:100%;height:56%;object-fit:cover;object-position:center 52%;filter:var(--menu-clarity,saturate(1.03) contrast(1.02))}
.flavor-editorial-grid .flavor-card-feature .flavor-media img,.flavor-editorial-grid .flavor-card-portrait .flavor-media img{height:62%}
.flavor-editorial-grid .flavor-card-wide .flavor-media img{height:100%;object-position:center 54%}
.flavor-editorial-grid .flavor-card[data-product-card="carne-agridulce"] .flavor-media img{height:62%;object-fit:contain;object-position:center top}
.flavor-editorial-grid .flavor-card[data-product-card="mix-verduras"] .flavor-media img{height:48%;object-fit:cover;object-position:center 60%}
.flavor-editorial-grid .flavor-card[data-product-card="mix-verduras"] .flavor-media::before{filter:blur(25px) brightness(.22) saturate(.6)}
.flavor-editorial-grid .flavor-card .flavor-shade{z-index:2}
.flavor-editorial-grid .flavor-card:is(:hover,:focus-within) .flavor-media img{filter:var(--menu-clarity,saturate(1.03) contrast(1.02))}
@media(max-width:900px){.flavor-editorial-grid .flavor-card-wide .flavor-media img{height:56%;object-position:center 52%}}
@media(max-width:600px){
  .flavor-editorial-grid .flavor-card .flavor-media img,.flavor-editorial-grid .flavor-card-feature .flavor-media img,.flavor-editorial-grid .flavor-card-portrait .flavor-media img,.flavor-editorial-grid .flavor-card-wide .flavor-media img{height:48%;object-fit:cover;object-position:center 52%}
  .flavor-editorial-grid .flavor-card[data-product-card="carne-agridulce"] .flavor-media img{height:48%;object-fit:cover;object-position:center 75%}
  .flavor-editorial-grid .flavor-card[data-product-card="mix-verduras"] .flavor-media img{height:44%;object-fit:cover;object-position:center 60%}
}
.flavor-editorial-grid .flavor-card[data-product-card="chacarera"] .flavor-media img{object-position:center 88%}
@media(max-width:900px){.flavor-editorial-grid .flavor-card[data-product-card="chacarera"] .flavor-media img{object-position:center 70%}}
@media(max-width:600px){.flavor-editorial-grid .flavor-card[data-product-card="chacarera"] .flavor-media img{object-position:center 60%}}
.flavor-editorial-grid .flavor-card[data-product-card="maiz"] .flavor-media img{object-position:center 80%}
@media(max-width:600px){.flavor-editorial-grid .flavor-card[data-product-card="maiz"] .flavor-media img{object-position:center 70%}}
.flavor-editorial-grid .flavor-card:is([data-product-card="napolitana"],[data-product-card="salame"],[data-product-card="chilena"],[data-product-card="fugazza"],[data-product-card="pollo-morron"],[data-product-card="pollo-bbq"]) .flavor-media img{object-position:center 70%}
.flavor-editorial-grid .flavor-card[data-product-card="napolitana"] .flavor-media img{left:-6%;width:112%;object-position:center 64%}
.flavor-editorial-grid .flavor-card[data-product-card="salame"] .flavor-media img{left:-8%;width:112%;object-position:center 70%}
.flavor-editorial-grid .flavor-card[data-product-card="chilena"] .flavor-media img{left:-3%;width:112%;object-position:center 80%}
.flavor-editorial-grid .flavor-card[data-product-card="pollo-bbq"] .flavor-media img{left:-1%;width:118%;object-position:center 76%}
.flavor-editorial-grid .flavor-card[data-product-card="pollo-morron"] .flavor-media img{left:-6%;width:120%;object-position:center 80%}
@media(min-width:901px){
  .flavor-editorial-grid .flavor-card-wide .flavor-media img{left:43%;width:57%;height:100%;object-fit:cover;object-position:center}
  .flavor-editorial-grid .flavor-card-wide .flavor-shade{background:linear-gradient(90deg,rgba(8,6,5,.97) 0%,rgba(8,6,5,.95) 40%,rgba(8,6,5,.4) 59%,transparent 85%)}
  .flavor-editorial-grid .flavor-card-wide .flavor-card-body{left:0;right:auto;width:45%}
  .flavor-editorial-grid .flavor-card[data-product-card="chacarera"] .flavor-media img{object-position:center 75%}
  .flavor-editorial-grid .flavor-card[data-product-card="pepperoni"] .flavor-media img{object-fit:contain}
}
@media(max-width:900px){.flavor-editorial-grid .flavor-card[data-product-card="pepperoni"] .flavor-media img{object-fit:contain}}

/* Fugazza: frame the original photograph around the complete product. */
.flavor-editorial-grid .flavor-card[data-product-card="fugazza"] .flavor-media img{object-fit:contain;object-position:center;filter:brightness(1.04);transform:translateY(-10%) scale(1.42);transform-origin:center}
.featured-card[data-product-card="fugazza"]>img{object-fit:contain;object-position:center;background:#211811;transform:translateY(-10%) scale(1.42);transform-origin:center}
.flavor-choice[data-pick-flavor="fugazza"] .flavor-choice-media img{object-fit:contain;transform:translateY(-10%) scale(1.42);transform-origin:center}
.combo-option[data-combo-flavor="fugazza"] img{object-fit:contain;transform:translateY(-10%) scale(1.42);transform-origin:center;clip-path:inset(15% 15% 0)}



/* Selector shares each card photograph without cropping the product. */
#pickerGrid .flavor-choice-media img{object-fit:contain;object-position:center;transform:none}
#pickerGrid .flavor-choice[data-pick-flavor="fugazza"] .flavor-choice-media img{transform:translateY(-10%) scale(1.42)}

/* Sprite shares the standard drink image layout at every breakpoint. */

/* Real overhead cutouts: rigid orientation in the asset; no fabricated crust. */
.cut-volume-real{height:100%;filter:none}
.cut-volume-real>img,.box-cut-photo .cut-volume-real>img{width:100%;height:100%;object-fit:contain;object-position:center;filter:none;transform:none}
.box-cut-slot.filled:is(:hover,:focus-visible,.is-remove-ready) .cut-volume-real>img{filter:none}

/* Original black artwork follows the contained closed-box image plane. */
.box-lid-print-plane{position:absolute;z-index:7;left:0;top:50%;width:100%;aspect-ratio:1221/1005;transform:translate3d(0,-50%,51px);pointer-events:none;mix-blend-mode:multiply}
.box-lid-print{position:absolute;left:11%;top:31%;width:78%;height:auto;display:block;opacity:0;transform:perspective(1200px) rotateX(5deg);transition:opacity .65s ease;mix-blend-mode:multiply}
.real-box-stage.is-closed .box-lid-print,.builder-box-flyer .box-lid-print{opacity:.94}
.builder-box-flyer>img{width:100%;height:100%;object-fit:contain;display:block}
@media(prefers-reduced-motion:reduce){.box-lid-print{transition:none}}

/* Compact 4×2 packing: fit the illustrated carton around the real photos.
   The food retains its own aspect ratio and the shared perspective plane. */
.box-scene{width:min(var(--packed-scene-width,100%),var(--packed-scene-max,760px));aspect-ratio:var(--packed-scene-ratio,1142/1146)}
.box-open-image{object-fit:fill}
.box-cuts-grid{left:5.65%;top:22%;width:88.7%;height:73%;display:flex;flex-direction:column;gap:.2%}
.box-cut-row{display:flex;align-items:center;justify-content:center;gap:0;min-height:0;padding:0;flex:none}
.box-cut-row .box-cut-slot{height:100%;flex:none}

/* Original food pixels behind per-flavor vector contours, including flight. */
.cut-volume-real>.cut-photo-original{display:block;width:100%;height:100%;overflow:hidden;filter:none;transform:none}

/* One clipped card surface: real photograph, transparent fade, solid ink.
   The photo has no independent frame, blurred duplicate or letterbox fill. */
.flavor-editorial-grid .unified-card{background:#080605}
.unified-card .unified-photo{position:absolute;inset:0 0 auto;height:72%;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.96) 64%,rgba(0,0,0,.76) 74%,rgba(0,0,0,.35) 86%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 56%,rgba(0,0,0,.96) 64%,rgba(0,0,0,.76) 74%,rgba(0,0,0,.35) 86%,transparent 100%)}
.unified-card .unified-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-focus,50% 58%);filter:var(--menu-clarity,none);transform:none}
.unified-card .unified-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,transparent 29%,rgba(8,6,5,.06) 40%,rgba(8,6,5,.45) 54%,rgba(8,6,5,.9) 68%,#080605 80%)}
.unified-card[data-product-card="napolitana"]{--photo-focus:50% 59%}
.unified-card[data-product-card="salame"]{--photo-focus:50% 60%}
.unified-card[data-product-card="chilena"]{--photo-focus:50% 68%}
.unified-card[data-product-card="fugazza"]{--photo-focus:50% 62%}
.unified-card[data-product-card="pollo-morron"]{--photo-focus:50% 65%}
.unified-card[data-product-card="chacarera"]{--photo-focus:50% 65%}
.unified-card[data-product-card="pollo-bbq"]{--photo-focus:50% 64%}
.unified-card[data-product-card="maiz"]{--photo-focus:50% 65%}
.unified-card[data-product-card="carne-agridulce"]{--photo-focus:50% 58%}
.unified-card[data-product-card="mix-verduras"]{--photo-focus:50% 60%}
.unified-card[data-product-card="pepperoni"]{--photo-focus:50% 60%}
@media(min-width:901px){
 .unified-card.flavor-card-wide .unified-photo{inset:0 0 0 auto;width:64%;height:100%;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.5) 18%,rgba(0,0,0,.88) 29%,#000 39%,#000 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.12) 8%,rgba(0,0,0,.5) 18%,rgba(0,0,0,.88) 29%,#000 39%,#000 100%)}
 .unified-card.flavor-card-wide .unified-shade{background:linear-gradient(to right,#080605 0%,rgba(8,6,5,.96) 32%,rgba(8,6,5,.58) 45%,transparent 63%)}
}
@media(max-width:900px){
 .unified-card .unified-photo{height:72%}
}
@media(max-width:900px){
}

.delivery-coverage{margin:12px 0 18px;padding:25px;border:1px solid rgba(196,163,90,.55);border-radius:15px;background:radial-gradient(circle at 50% 0,rgba(196,163,90,.1),transparent 65%),#100d09;text-align:center;animation:coverage-nudge .38s ease-out}
.delivery-coverage[hidden]{display:none}
.delivery-coverage h3{color:var(--cream);font-size:20px;margin:10px 0}
.delivery-coverage p{color:var(--cream-dim);font-size:14px;line-height:1.65;margin:0 auto 20px;max-width:510px}
.coverage-pin{width:58px;height:58px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;animation:coverage-arrive .4s .12s both}
.coverage-limit{stroke:#e0ba70;stroke-width:4;stroke-dasharray:64;animation:coverage-limit .4s .25s both}
.coverage-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.coverage-actions .button{font-size:13px;padding:12px 16px}
.delivery-status[data-state="outside"]{color:var(--gold)}
@keyframes coverage-nudge{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@keyframes coverage-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes coverage-limit{from{stroke-dashoffset:64}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.delivery-coverage,.coverage-pin,.coverage-limit{animation:none}}

.delivery-address-help{margin:0;color:var(--cream-dim);font-size:13px;line-height:1.55}

/* Navegación compacta en la misma franja que logo y carrito. */
@media(max-width:900px){
  .site-header{height:76px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;padding:0 16px}
  .site-header .brand{min-width:0;justify-self:start}
  .site-header .brand>span{display:none}
  .site-header .desktop-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 6px;width:100%;min-width:0;max-width:400px;justify-self:center}
  .site-header .desktop-nav a{display:flex;align-items:center;justify-content:center;min-width:0;min-height:32px;padding:3px 2px;text-align:center;font-size:12px;line-height:1.15;letter-spacing:.03em;border-radius:5px}
  .site-header .desktop-nav a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px;background:rgba(198,161,77,.12);color:var(--gold-2)}
  .site-header .cart-trigger{justify-self:end}
  #menu,#armador,#como-funciona,#contacto{scroll-margin-top:88px}
}
@media(max-width:600px){
  .site-header{grid-template-columns:42px minmax(0,1fr) auto;gap:6px;padding:0 10px}
  .site-header .desktop-nav a{font-size:11px;letter-spacing:0}
  .site-header .cart-trigger{gap:4px;padding:0 6px 0 8px}
  .editorial-hero{padding-top:108px}
}
@media(max-width:350px){
  .site-header{padding-inline:8px;gap:4px}
  .site-header .desktop-nav{column-gap:2px}
  .site-header .desktop-nav a{font-size:10px}
}

/* Only the opening-hours dot changes color; pickup keeps its gold dot. */
.service-strip #businessHours::before{background:#ef4444}
.service-strip #businessHours[data-open="true"]::before{background:#22c55e}

/* Closed hours: non-blocking page status and an inline checkout response. */
body{--business-banner-height:0px;--business-header-height:72px}
body.business-closed{--business-banner-height:42px}
body>main{padding-top:var(--business-banner-height);transition:padding-top .35s ease}
body.business-closed main section[id]{scroll-margin-top:calc(var(--business-header-height) + var(--business-banner-height) + 16px)}
.closed-edge-glow{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:0;box-shadow:inset 20px 0 38px -30px rgba(204,62,53,.55),inset -20px 0 38px -30px rgba(204,62,53,.55),inset 0 18px 36px -28px rgba(204,62,53,.35),inset 0 -20px 38px -28px rgba(204,62,53,.38);transition:opacity .8s ease}
body.business-closed .closed-edge-glow{opacity:1}
.closed-banner{position:fixed;z-index:49;inset:var(--business-header-height) 0 auto;min-height:42px;padding:9px 18px;display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(100deg,#1c100e,#211613 50%,#1c100e);border-bottom:1px solid rgba(204,105,83,.25);color:var(--cream-dim);font-size:12px;line-height:1.5;animation:closedReveal .4s ease both}
.closed-banner strong{display:flex;align-items:center;gap:8px;color:#f4c6b9;font-weight:700;white-space:nowrap}
.closed-banner>span{padding-left:16px;border-left:1px solid rgba(196,163,90,.25)}
.closed-status-dot{width:6px;height:6px;flex:none;border-radius:50%;background:#e77663;box-shadow:0 0 0 4px rgba(231,118,99,.09);animation:closedPulse 4s ease-in-out infinite}
.closed-order-notice{position:relative;overflow:hidden;margin:0 0 16px;padding:18px;border:1px solid rgba(210,128,91,.3);border-radius:14px;background:radial-gradient(ellipse at 0 0,rgba(141,53,37,.14),transparent 75%),#181310;animation:closedReveal .38s cubic-bezier(.2,.8,.2,1) both}
.closed-order-notice:before{content:"";position:absolute;inset:0 20% auto;height:1px;background:linear-gradient(90deg,transparent,rgba(221,167,110,.6),transparent);pointer-events:none}
.closed-order-notice:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
.closed-order-heading{display:flex;gap:12px;align-items:center}
.closed-order-heading>div{min-width:0}
.closed-order-clock{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:50%;border:1px solid rgba(222,133,100,.22);background:rgba(173,73,47,.08);color:#e0a38e}
.closed-order-clock svg{width:23px;height:23px}
.closed-order-heading h3{margin:0 0 4px;font-family:"Cinzel",serif;font-size:17px;font-weight:600;color:var(--cream)}
.closed-order-heading p{margin:0;font-size:12px;line-height:1.45;color:var(--cream-dim)}
.closed-order-schedule{margin:14px 0 12px;color:var(--gold-2);font-size:12px;letter-spacing:.03em}
.closed-order-countdown{padding-top:12px;border-top:1px solid var(--line);font-size:12px;color:var(--cream-dim)}
.closed-order-countdown>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:5px}
.closed-order-countdown time{font-variant-numeric:tabular-nums;font-size:23px;font-weight:600;letter-spacing:.045em;color:var(--cream);line-height:1.4}
.closed-order-countdown>div>span{font-size:11px;color:var(--muted)}
.closed-order-explore{margin:10px 0 0;font-size:11px;color:var(--muted);line-height:1.4}
.closed-banner[hidden],.closed-order-notice[hidden]{display:none}
.business-status-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.cart-drawer .cart-items{min-height:0}
.cart-drawer .cart-footer:has(.closed-order-notice:not([hidden])){max-height:72svh;overflow-y:auto;flex-shrink:0}
@keyframes closedReveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@keyframes closedPulse{0%,100%{box-shadow:0 0 0 4px rgba(231,118,99,.09)}50%{box-shadow:0 0 0 6px rgba(231,118,99,.03)}}
@media(max-width:900px){body{--business-header-height:76px}}
@media(max-width:480px){body.business-closed{--business-banner-height:54px}.closed-banner{min-height:54px;padding:7px 12px;gap:1px;flex-direction:column;font-size:11px}.closed-banner>span{padding-left:0;border:0}.closed-order-notice{padding:14px}.closed-order-heading{gap:9px}.closed-order-heading h3{font-size:16px}}
@media(prefers-reduced-motion:reduce){.closed-banner,.closed-order-notice,.closed-status-dot{animation:none}.closed-edge-glow,body>main{transition:none}}

/* A short, optional branded game while orders are closed. */
.waiting-game-dialog{width:min(520px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;overflow:auto;overscroll-behavior:contain;border:1px solid rgba(196,163,90,.46);border-radius:22px;background:#15110d;color:var(--cream);box-shadow:0 32px 110px rgba(0,0,0,.65)}
.waiting-game-dialog::backdrop{background:rgba(8,6,4,.78);backdrop-filter:blur(8px)}
.waiting-game-dialog[open]{animation:waitingGameEnter .38s cubic-bezier(.18,.8,.2,1) both}
.waiting-game-shell{position:relative;padding:26px;background:radial-gradient(ellipse at 0 0,rgba(196,163,90,.09),transparent 60%)}
.waiting-game-close{position:absolute;top:12px;right:12px;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(12,10,8,.5);color:var(--cream);font-size:26px;cursor:pointer}
.waiting-game-close:hover{border-color:var(--gold);color:var(--gold-2)}
.waiting-game-close:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.waiting-game-shell>.eyebrow{margin:0 48px 9px 0;font-size:9px;letter-spacing:.2em}
.waiting-game-shell h2{margin:0 22px 10px 0;font-family:"Cinzel",serif;font-size:clamp(21px,5vw,28px);font-weight:500;line-height:1.25;color:var(--cream)}
.waiting-game-description{margin:0 0 16px;max-width:360px;color:var(--cream-dim);font-size:13px;line-height:1.5}
.waiting-game-hours{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding:10px 0;border-block:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--cream-dim)}
.waiting-game-hours time{margin-left:4px;color:var(--gold-2);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.flight-scoreboard{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 0 9px}
.flight-scoreboard>span{font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--gold)}
.flight-scoreboard>div{display:flex;gap:16px;font-size:11px;color:var(--muted)}
.flight-scoreboard b{margin-left:5px;font-variant-numeric:tabular-nums;font-size:16px;color:var(--cream);font-weight:600}
.flight-stage{position:relative;overflow:hidden;border:1px solid var(--line-strong);border-radius:13px;background:#0c0b09;isolation:isolate}
.flight-stage canvas{display:block;width:100%;height:auto;aspect-ratio:440/320;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.flight-stage canvas:focus-visible{outline:2px solid var(--gold);outline-offset:-3px;border-radius:12px}
.flight-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 24px;text-align:center;background:radial-gradient(ellipse at 50% 50%,rgba(10,8,6,.88) 0%,rgba(10,8,6,.7) 32%,rgba(10,8,6,.14) 75%);pointer-events:none}
.flight-overlay strong{max-width:260px;font-family:"Cinzel",serif;font-size:clamp(17px,4.5vw,23px);font-weight:500;line-height:1.3;color:var(--cream);text-shadow:0 2px 15px #000}
.flight-overlay span{max-width:240px;color:var(--cream-dim);font-size:12px;line-height:1.5}
.flight-motivation{display:block;max-width:255px;margin-top:8px;padding-top:10px;border-top:1px solid rgba(196,163,90,.3);color:#e0c58e;font-size:12px;font-weight:400;line-height:1.6;text-wrap:pretty;text-shadow:0 1px 6px #080605}
.flight-motivation[hidden]{display:none}
.flight-overlay[hidden]{display:none}
.flight-instructions{margin:9px 0 15px;color:var(--muted);font-size:10px;line-height:1.5;text-align:center}
.flight-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.flight-actions .button{min-width:0;min-height:44px;padding:8px;font-size:12px}
.flight-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
@keyframes waitingGameEnter{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:480px){.waiting-game-dialog{border-radius:18px;max-height:calc(100dvh - 16px);width:calc(100% - 16px)}.waiting-game-shell{padding:19px 16px}.waiting-game-shell h2{font-size:22px}.waiting-game-hours{font-size:10px}.flight-scoreboard>div{gap:10px}.flight-overlay{padding:15px}}
@media(prefers-reduced-motion:reduce){.waiting-game-dialog[open]{animation:none}}

/* Shared podium: names are rendered as text, never HTML. */
.public-flight-ranking {max-width:720px;margin:48px auto;padding:28px 24px;border:1px solid #c4a35a38;border-radius:20px;background:linear-gradient(135deg,#211b11,#0d0d0b 65%);text-align:center}
.public-flight-ranking h2 {font-family:Georgia,serif;color:#e5c887;font-size:clamp(24px,4vw,34px);margin:8px 0 12px}
.public-flight-ranking>p:not(.eyebrow),.public-flight-ranking>small {color:#b9b3a8;font-size:13px;line-height:1.6}
.flight-ranking {margin:16px 0;padding:16px;border:1px solid #c4a35a38;border-radius:14px;background:#12110e}
.flight-ranking h3 {display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:14px;color:#e5c887}
.flight-ranking h3 span {font-size:10px;letter-spacing:.15em;color:#a89368}
.flight-podium {padding:0;margin:12px 0;list-style:none;text-align:left}
.flight-podium li {display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:38px;border-bottom:1px solid #ffffff0c;color:#ddd6c9;font-size:13px}
.flight-podium li span {overflow-wrap:anywhere;min-width:0}
.flight-podium li b {font-size:11px;color:#9d8a63;font-variant-numeric:tabular-nums}
.flight-podium li strong {color:#c4a35a;font-size:12px;white-space:nowrap}
.flight-podium li:first-child b,.flight-podium li:first-child strong {color:#f4d690}
#flightRankingMessage {font-size:12px;line-height:1.5;color:#d5bd8b;margin:10px 0}
#flightNameForm label {display:block;font-size:12px;margin:12px 0 8px;color:#eee1c6}
.flight-name-row {display:flex;gap:8px}
.flight-name-row input {min-width:0;flex:1;background:#080908;border:1px solid #8b764e;border-radius:8px;padding:10px;color:#fff;font:inherit;font-size:16px}
.flight-name-row input:focus {outline:2px solid #d5b768;outline-offset:2px}
.flight-name-row .button {padding:10px 14px;min-width:0}
#flightNameForm small {display:block;margin-top:8px;color:#aaa295;font-size:11px;line-height:1.5}
.flight-text-button {background:none;border:0;color:#c5b899;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;padding:10px 6px;cursor:pointer}
.flight-ranking [hidden] {display:none!important}
.podium-celebrate {animation:podium-arrival 1.4s ease-out}
@keyframes podium-arrival {0%{box-shadow:0 0 0 0 #e9bf6e00;transform:scale(.98)}35%{box-shadow:0 0 32px 4px #d4aa5840;transform:scale(1.015);border-color:#e9c87c}100%{box-shadow:0 0 0 0 #e9bf6e00;transform:scale(1)}}
@media(max-width:560px){.public-flight-ranking{margin:30px 18px;padding:22px 16px}.flight-ranking{padding:12px}.flight-scoreboard>span{font-size:9px}.flight-scoreboard>div{gap:10px}}
@media(prefers-reduced-motion:reduce){.podium-celebrate{animation:none;border-color:#e9c87c}}

/* Format check and a distinct, contained celebration for first place. */
.flight-ranking {position:relative;isolation:isolate}
.name-verifying #flightRankingMessage::before {content:"";display:inline-block;width:11px;height:11px;margin-right:8px;vertical-align:-1px;border:1.5px solid #c4a35a40;border-top-color:#e6c577;border-radius:50%;animation:name-check-turn 1s linear infinite}
.name-verifying #flightNameForm {opacity:.8}
.podium-champion {animation:podium-champion-arrival 2.4s ease-out;border-color:#e6c577;background:radial-gradient(ellipse at 50% 0,#70552345,transparent 75%),#12110e}
.podium-champion .flight-podium li:first-child {background:linear-gradient(90deg,transparent,#d4af572b,transparent);border-radius:6px;color:#fff1cb}
.podium-champion::before,.podium-champion::after {content:"✦";position:absolute;top:12px;color:#e8c66e;font-size:24px;pointer-events:none;animation:podium-star 2.4s ease-out both}
.podium-champion::before {left:18%;--star-x:-12px}
.podium-champion::after {right:18%;--star-x:12px;animation-delay:.15s}
@keyframes name-check-turn {to{transform:rotate(360deg)}}
@keyframes podium-champion-arrival {0%{transform:scale(.97);box-shadow:0 0 0 #dfb85800}30%{transform:scale(1.02);box-shadow:0 0 36px #dfb85860,inset 0 0 22px #dfb85816}60%{transform:scale(1);box-shadow:0 0 18px #dfb85825}100%{transform:scale(1);box-shadow:0 0 0 #dfb85800}}
@keyframes podium-star {0%{opacity:0;transform:translate(0,18px) scale(.4)}25%{opacity:1}100%{opacity:0;transform:translate(var(--star-x),-16px) scale(1.1)}}
@media(prefers-reduced-motion:reduce){.name-verifying #flightRankingMessage::before,.podium-champion,.podium-champion::before,.podium-champion::after{animation:none}.podium-champion::before,.podium-champion::after{display:none}}

/* Results are a compact summary, not a full game scene stacked above the form. */
.waiting-game-dialog[data-phase="over"] {width:min(540px,calc(100% - 24px));scrollbar-width:none}
.waiting-game-dialog[data-phase="over"]::-webkit-scrollbar {display:none}
.waiting-game-dialog[data-phase="over"] .waiting-game-shell {padding:18px}
.waiting-game-dialog[data-phase="over"] .waiting-game-shell>.eyebrow {margin-bottom:14px;min-height:24px;display:flex;align-items:center}
.waiting-game-dialog[data-phase="over"] #waitingGameTitle,
.waiting-game-dialog[data-phase="over"] .waiting-game-description,
.waiting-game-dialog[data-phase="over"] .flight-instructions {position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}
.waiting-game-dialog[data-phase="over"] .waiting-game-hours {padding:6px 0;gap:2px 10px}
.waiting-game-dialog[data-phase="over"] .flight-scoreboard {padding:8px 0}
.waiting-game-dialog[data-phase="over"] .flight-stage canvas {position:absolute;inset:0;height:100%;width:100%;object-fit:cover;opacity:.3;pointer-events:none;visibility:hidden}
.waiting-game-dialog[data-phase="over"] .flight-stage {background:radial-gradient(ellipse at top,#57401e50,transparent 80%),#100e0b}
.waiting-game-dialog[data-phase="over"] .flight-overlay {position:relative;padding:12px;gap:5px;background:none}
.waiting-game-dialog[data-phase="over"] .flight-overlay strong {max-width:none;font-size:18px}
.waiting-game-dialog[data-phase="over"] .flight-overlay span {max-width:none;font-size:12px}
.waiting-game-dialog[data-phase="over"] .flight-motivation {max-width:none;margin-top:3px;padding-top:6px;line-height:1.4}
.waiting-game-dialog[data-phase="over"] .flight-ranking {margin:10px 0;padding:12px}
.waiting-game-dialog[data-phase="over"] .flight-ranking h3 {margin-bottom:6px}
.waiting-game-dialog[data-phase="over"] .flight-podium {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0}
.waiting-game-dialog[data-phase="over"] .flight-podium li {display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:64px;border-bottom:0;border-left:1px solid #c4a35a30;padding-left:8px;font-size:12px;line-height:1.3}
.waiting-game-dialog[data-phase="over"] .flight-podium li strong {margin-top:auto}
.waiting-game-dialog[data-phase="over"] #flightRankingMessage {margin:7px 0;line-height:1.35}
.waiting-game-dialog[data-phase="over"] #flightNameForm label {margin:7px 0 6px}
.waiting-game-dialog[data-phase="over"] #flightNameForm small {line-height:1.3;margin-top:6px}
.waiting-game-dialog[data-phase="over"] .flight-name-row input,
.waiting-game-dialog[data-phase="over"] .flight-name-row .button {min-height:44px;padding:8px 10px}
.waiting-game-dialog[data-phase="over"] .flight-text-button {min-height:44px;padding:8px 4px}
@media (max-width:380px) {
  .waiting-game-dialog[data-phase="over"] {width:calc(100% - 12px)}
  .waiting-game-dialog[data-phase="over"] .waiting-game-shell {padding:12px}
  .waiting-game-dialog[data-phase="over"] .flight-ranking {padding:10px}
  .waiting-game-dialog[data-phase="over"] .flight-scoreboard>div {gap:7px}
}
/* Short, wide screens use two columns instead of shrinking the controls. */
@media (min-width:600px) and (max-height:650px) {
  .waiting-game-dialog[data-phase="over"] {width:min(900px,calc(100% - 24px))}
  .waiting-game-dialog[data-phase="over"] .waiting-game-shell {display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,1fr);gap:8px 18px}
  .waiting-game-dialog[data-phase="over"] .waiting-game-shell>.eyebrow {grid-column:1/-1;margin:0 48px 0 0}
  .waiting-game-dialog[data-phase="over"] .waiting-game-hours {grid-column:1;grid-row:2}
  .waiting-game-dialog[data-phase="over"] .flight-scoreboard {grid-column:1;grid-row:3;flex-wrap:wrap}
  .waiting-game-dialog[data-phase="over"] .flight-stage {grid-column:1;grid-row:4;align-self:start}
  .waiting-game-dialog[data-phase="over"] .flight-ranking {grid-column:2;grid-row:2/5;margin:0}
  .waiting-game-dialog[data-phase="over"] .flight-actions {grid-column:1/-1}
}

/* Open, photo-led flavor gallery: every flavor remains in the normal page flow. */
.builder-section{overflow:clip}
.builder-workspace{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:24px}
.builder-workspace>.real-box-stage{position:sticky;top:130px}
.flavor-picker.flavor-studio{padding:20px;max-width:none;width:100%;overflow:visible}
#pickerGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-height:none;overflow:visible}
#pickerGrid .flavor-choice{min-height:0}
#pickerGrid .flavor-choice-surface{display:flex;flex-direction:column;gap:0;padding:0;height:100%;border-radius:14px}
#pickerGrid .flavor-choice-media{width:100%;aspect-ratio:4/3;align-self:stretch;border-radius:13px 13px 0 0;background:#100d0a}
#pickerGrid .flavor-choice-copy{padding:10px 11px;gap:9px;flex:1}
#pickerGrid .flavor-choice-copy strong{font-size:13px;line-height:1.25;overflow-wrap:normal;min-height:2.5em}
#pickerGrid .flavor-choice-add{font-size:11px;gap:8px}
#pickerGrid .flavor-choice-add i{width:27px;height:27px}
#pickerGrid .flavor-choice-count{top:8px;right:8px}
.box-cut-slot.slot-arrived .box-cut-photo{animation:cutLanded .3s ease-out}
@keyframes cutLanded{from{opacity:.6;filter:brightness(1.2)}to{opacity:1;filter:none}}
@media(max-width:1100px){.builder-workspace{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:18px}.flavor-picker.flavor-studio{padding:14px}#pickerGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}#pickerGrid .flavor-choice-copy{padding:8px}#pickerGrid .flavor-choice-copy strong{font-size:12px}}
@media(max-width:760px){.builder-workspace{grid-template-columns:1fr}.builder-workspace>.real-box-stage{position:relative;top:auto;width:100%;max-width:430px}.flavor-picker.flavor-studio{max-width:none}#pickerGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){#pickerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#pickerGrid .flavor-choice-copy strong{font-size:13px}#pickerGrid .flavor-choice-media{aspect-ratio:4/3}#pickerGrid .flavor-choice-add{font-size:11px}}
@media(prefers-reduced-motion:reduce){.box-cut-slot.slot-arrived .box-cut-photo{animation:none}}

/* Editable completion notice sits on the open lid, leaving the cuts unobstructed. */
.box-complete-state{top:18%;width:82%;max-width:320px;aspect-ratio:auto;display:grid;grid-template-columns:30px minmax(0,1fr);gap:3px 9px;padding:10px 12px;border-radius:10px;background:rgba(18,14,9,.9);box-shadow:0 5px 18px rgba(0,0,0,.22);text-align:left;backdrop-filter:blur(4px);transform:translate(-50%,-45%) scale(.97)}
.box-complete-state img{grid-row:1/3;width:30px;margin:0;align-self:center;filter:none}
.box-complete-state strong{font-size:clamp(10px,1.05vw,13px);line-height:1.3}
.box-complete-state span{display:block;max-width:none;margin:0;font-size:clamp(9px,.8vw,11px);line-height:1.35}
@media(max-width:540px){.box-complete-state{padding:8px 10px;gap:3px 7px;grid-template-columns:25px minmax(0,1fr)}.box-complete-state img{width:25px}}

.box-complete-state .box-review-countdown{grid-column:2;color:var(--gold-2);font-size:clamp(11px,1vw,13px);font-weight:700;font-variant-numeric:tabular-nums;margin-top:3px}
.box-complete-state .box-review-countdown[hidden]{display:none}
.box-complete-state img{grid-row:1/4}
.flavor-flyer .cut-volume{height:100%}

/* A quiet final invitation, with native keyboard-accessible controls. */
.feedback-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,100px);align-items:center;border-top:1px solid var(--line);scroll-margin-top:90px}
.feedback-intro h2{font-size:clamp(34px,4vw,58px);margin:0 0 24px}.feedback-intro h2 em{color:var(--gold-2);font-weight:400}.feedback-intro>p:not(.eyebrow){color:var(--cream-dim);max-width:440px}.feedback-seal{display:flex;gap:18px;align-items:center;color:var(--gold);font-size:48px;margin-top:40px}.feedback-seal span{font-size:10px;letter-spacing:.22em;line-height:1.9}
.feedback-card{padding:clamp(22px,3vw,42px);background:radial-gradient(ellipse at top right,rgba(196,163,90,.1),transparent 65%),var(--ink-2);border:1px solid var(--line-strong);border-radius:24px;box-shadow:0 20px 60px #0003}.feedback-card fieldset{border:0;margin:0 0 24px;padding:0;min-width:0}.feedback-card legend,.feedback-label{font-size:14px;font-weight:600;color:var(--cream);margin-bottom:10px}.feedback-card small{font-weight:400;color:var(--muted);font-size:11px;margin-left:5px}.feedback-stars{display:flex;gap:10px;margin-top:8px}.feedback-stars label{position:relative;cursor:pointer}.feedback-stars input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.feedback-stars span{display:block;font-size:42px;color:#756647;transition:color .2s,transform .2s;line-height:1.2}.feedback-stars span.selected,.feedback-stars label:hover span{color:var(--gold-2);transform:translateY(-3px)}.feedback-stars input:focus-visible+span{outline:2px solid var(--gold-2);outline-offset:5px;border-radius:4px}#ratingHint{font-size:12px;color:var(--gold);min-height:20px;margin:10px 0 0}.feedback-topics>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.feedback-topics label{position:relative;cursor:pointer}.feedback-topics input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.feedback-topics span{display:block;padding:8px 13px;border:1px solid var(--line);border-radius:30px;font-size:12px;color:var(--cream-dim);transition:.2s}.feedback-topics input:checked+span{background:var(--gold);border-color:var(--gold);color:var(--ink)}.feedback-topics input:focus-visible+span{outline:2px solid var(--cream);outline-offset:3px}.feedback-label{display:block}.feedback-card textarea,.feedback-card>input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--ink);color:var(--cream);padding:13px;resize:vertical}.feedback-card textarea:focus,.feedback-card>input:focus{outline:1px solid var(--gold)}.feedback-counter{display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:10px;margin:6px 0 22px}.feedback-counter span:last-child{white-space:nowrap}.feedback-card>button{margin-top:24px;gap:12px}.feedback-privacy{color:var(--cream-dim);font-size:11px;line-height:1.7;margin:16px 0 0}#feedbackStatus{font-size:12px;color:var(--gold-2);margin:8px 0 0}#feedbackStatus:empty{display:none}@media(max-width:760px){.feedback-section{grid-template-columns:1fr}.feedback-seal{display:none}.feedback-intro>p:not(.eyebrow){max-width:none}.feedback-stars span{font-size:38px}.feedback-counter{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.feedback-stars span,.feedback-topics span{transition:none;transform:none!important}}

/* Opinion atelier: a quiet, tactile gold finish. */
.feedback-section{position:relative;isolation:isolate;align-items:start}
.feedback-intro{padding-top:28px}.feedback-card{position:relative;min-width:0;overflow:hidden;background:radial-gradient(ellipse at 100% 0, #c4a35a18,transparent 60%),linear-gradient(145deg,#201c16,#100f0d);box-shadow:0 28px 80px #0005,inset 0 1px #fff1;transition:border-color .35s,box-shadow .35s}
.feedback-card:focus-within{border-color:#c4a35a88;box-shadow:0 28px 80px #0006,0 0 36px #c4a35a0c,inset 0 1px #fff1}
.feedback-journey{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;letter-spacing:.04em}.feedback-journey span{display:flex;align-items:center;gap:7px;transition:color .3s}.feedback-journey b{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-size:9px;font-weight:400;transition:background .3s,box-shadow .3s,border-color .3s}.feedback-journey .complete{color:var(--gold-2)}.feedback-journey .complete b{background:#c4a35a21;border-color:var(--gold);box-shadow:0 0 15px #c4a35a22}
.feedback-progress{height:2px;background:#c4a35a18;margin:18px 0 30px;overflow:hidden}.feedback-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#806129,#efdb9a);box-shadow:0 0 10px #c4a35a;transition:width .6s cubic-bezier(.2,.7,.2,1)}
.feedback-stars{gap:8px}.feedback-stars label{min-width:44px;min-height:52px;display:grid;place-items:center}.feedback-stars input,.feedback-topics input{z-index:2;cursor:pointer}.feedback-stars span{font-size:44px;transition:color .25s,transform .3s cubic-bezier(.2,.8,.2,1),filter .3s;text-shadow:0 3px 10px #0005}.feedback-stars span.selected{color:var(--gold-2);transform:translateY(-4px) scale(1.07);filter:drop-shadow(0 0 9px #d7b66c55)}.feedback-stars label:active span{transform:scale(.9)}
.feedback-topics>div{gap:9px}.feedback-topics span{min-height:44px;display:flex;align-items:center;gap:7px;padding:10px 14px;box-shadow:inset 0 1px #ffffff05;transition:background .3s,color .3s,border-color .3s,box-shadow .3s,transform .3s}.feedback-topics span:before{content:'+';font-size:14px;opacity:.6;transition:transform .3s}.feedback-topics input:checked+span:before{content:'✓';opacity:1}.feedback-topics input:checked+span{background:linear-gradient(135deg,#dec27c,#b08a40);box-shadow:0 5px 20px #c4a35a22,inset 0 1px #fff5;transform:translateY(-2px);border-color:#e5ca85}.feedback-topics label:active span{transform:scale(.96)}
.feedback-card textarea,.feedback-card>input{font-size:16px;transition:border-color .3s,background .3s,box-shadow .3s;line-height:1.6}.feedback-card textarea{min-height:135px}.feedback-card textarea:focus,.feedback-card>input:focus{outline:none;border-color:var(--gold);background:#19160f;box-shadow:0 0 0 3px #c4a35a12,0 8px 24px #0002}.feedback-counter{line-height:1.6}.feedback-send{position:relative;overflow:hidden;min-height:54px;transition:transform .3s,box-shadow .3s,filter .3s}.feedback-send:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff3 50%,transparent 75%);transform:translateX(-110%);transition:transform .7s}.feedback-send:focus-visible:before{transform:translateX(110%)}.feedback-arrow{transition:transform .3s}.is-ready .feedback-send{box-shadow:0 6px 28px #c4a35a33}.feedback-send:active{transform:scale(.98)}.is-prepared .feedback-send{box-shadow:0 0 0 2px #e5ca8533}.is-prepared #feedbackStatus{animation:feedback-reveal .4s ease both;padding:14px;border:1px solid #c4a35a33;border-radius:10px;background:#c4a35a0b;line-height:1.7}
@keyframes feedback-reveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.feedback-topics label:hover span{border-color:var(--gold);box-shadow:0 4px 18px #c4a35a18;transform:translateY(-2px)}.feedback-send:hover{transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 9px 30px #c4a35a30}.feedback-send:hover:before{transform:translateX(110%)}.feedback-send:hover .feedback-arrow{transform:translate(3px,-3px)}}
@media(max-width:760px){.feedback-intro{padding-top:0}.feedback-card{padding:24px 20px;border-radius:20px}.feedback-journey{font-size:10px;letter-spacing:0}.feedback-journey span{gap:5px}.feedback-topics>div{gap:7px}.feedback-topics span{font-size:12px;padding:10px 11px}.feedback-stars{justify-content:space-between;max-width:300px}.feedback-privacy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.feedback-card,.feedback-card *,.feedback-card *:before{animation:none!important;transition:none!important;transform:none!important}}

/* Editorial distinction, exclusive to Carne Agridulce in Cortes Sicilianos. */
.flavor-distinction{position:absolute;z-index:3;top:18px;right:20px;display:inline-flex;align-items:center;gap:7px;max-width:calc(100% - 98px);padding:8px 11px;border:1px solid rgba(218,187,111,.65);border-radius:6px;background:linear-gradient(135deg,rgba(26,23,17,.96),rgba(10,9,7,.91));color:#e4c87a;font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.16em;box-shadow:0 4px 16px #0004,inset 0 1px rgba(245,222,165,.12);pointer-events:none;transition:border-color .3s,box-shadow .3s,transform .3s}
.flavor-distinction>span{font-size:12px;color:#c4a35a;transition:color .3s}
@media(hover:hover){.flavor-card:hover .flavor-distinction{transform:translateY(-2px);border-color:#e4c87a;box-shadow:0 5px 20px #0005,0 0 15px #c4a35a20}.flavor-card:hover .flavor-distinction>span{color:#f2d995}}
.flavor-card:focus-within .flavor-distinction{border-color:#e4c87a;box-shadow:0 0 15px #c4a35a20}
@media(max-width:600px){.flavor-distinction{top:18px;right:16px;padding:7px 9px;font-size:9px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.flavor-distinction,.flavor-distinction>span{transition:none;transform:none!important}}

/* Compact visual order cards. Totals and checkout remain anchored. */
.cart-drawer{width:min(480px,100vw)}
.cart-items{padding:16px 20px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#75613c transparent}
.cart-items .cart-item{padding:14px;margin:0 0 12px;border:1px solid rgba(196,163,90,.2);border-radius:16px;background:linear-gradient(135deg,#211d16,#141310);box-shadow:0 6px 20px #0002;transition:border-color .25s,box-shadow .25s}
.cart-item-main{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:start}.cart-item-visual{width:84px;height:84px;border-radius:11px;overflow:hidden;background:#0d0c0a;border:1px solid #c4a35a25;display:grid;place-items:center}.cart-product-photo{width:100%;height:100%;object-fit:cover;display:block}.cart-product-photo.is-drink{object-fit:contain;padding:5px;background:radial-gradient(ellipse,#393023,#15130f)}.cart-box-preview{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:2px;padding:5px;width:100%;height:100%;background:#6e5030}.cart-box-preview img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;border-radius:2px}.cart-photo-fallback{color:var(--gold);font-size:28px}
.cart-item-copy{min-width:0}.cart-item .cart-item-copy h3{font-size:15px;line-height:1.35;margin:0 0 5px;overflow-wrap:anywhere}.cart-unit-price{display:block;font-size:11px;color:var(--muted)}.cart-item .cart-product-detail{font-size:12px;line-height:1.5;margin:6px 0 0}.cart-flavors{margin-top:8px;font-size:11px;color:var(--cream-dim)}.cart-flavors summary{cursor:pointer;color:var(--gold-2);padding:5px 0;min-height:30px;line-height:1.5}.cart-flavors ul{list-style:none;padding:7px 0 0;margin:0;display:grid;gap:4px}.cart-flavors li{line-height:1.5}.cart-flavors li b{font-weight:500;color:var(--gold);margin-right:3px}
.cart-item .cart-item-controls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:13px;padding-top:10px;border-top:1px solid #c4a35a14}.cart-item .quantity{gap:7px}.cart-item .quantity button{width:38px;height:38px;font-size:18px;background:#ffffff04;transition:background .2s,border-color .2s,transform .2s}.cart-item .quantity span{min-width:18px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.cart-line-price{justify-self:end;font-size:16px;white-space:nowrap;color:var(--gold-2);font-variant-numeric:tabular-nums}.cart-item .remove-item{min-height:38px;padding:6px 2px 6px 6px;font-size:11px;color:var(--cream-dim);text-decoration:underline;text-decoration-color:#c4a35a40;text-underline-offset:3px;transition:color .2s}.cart-item button:focus-visible,.cart-flavors summary:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}.cart-item .quantity button:active{transform:scale(.93);background:#c4a35a20}
@media(hover:hover){.cart-items .cart-item:hover{border-color:#c4a35a55;box-shadow:0 8px 22px #0003}.cart-item .quantity button:hover{border-color:var(--gold);background:#c4a35a15}.cart-item .remove-item:hover{color:var(--gold-2)}}
@media(max-width:380px){.cart-items{padding:12px}.cart-items .cart-item{padding:11px}.cart-item-main{grid-template-columns:68px minmax(0,1fr);gap:11px}.cart-item-visual{width:68px;height:76px}.cart-item .cart-item-controls{gap:6px}.cart-item .quantity{gap:4px}.cart-item .quantity button{width:36px;height:38px}.cart-line-price{font-size:14px}.cart-item .cart-item-copy h3{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cart-items .cart-item,.cart-item button{transition:none!important;transform:none!important}}

/* The mixed box uses the same closed lid and printed artwork as the builder. */
.cart-closed-box{display:grid;place-items:center;width:100%;height:100%;padding:4px;background:radial-gradient(ellipse,#332a1b,#14120e)}
.cart-closed-box-art{position:relative;width:100%;aspect-ratio:1221/1005}
.cart-closed-box-base{display:block;width:100%;height:100%;object-fit:contain}
.cart-closed-box-print{position:absolute;left:11%;top:31%;width:78%;height:auto;object-fit:contain;mix-blend-mode:multiply;opacity:.94}
/* Stationary inspection light: only internal imagery moves. */
.cart-items .cart-item{position:relative;isolation:isolate;--inspect-x:50%;--inspect-y:40%;--photo-x:0px;--photo-y:0px;transition:border-color .45s,box-shadow .45s}
.cart-item::before,.cart-item::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s;z-index:-1}
.cart-item::before{background:radial-gradient(ellipse 220px 170px at var(--inspect-x) var(--inspect-y),#e4bc6620,transparent 75%)}
.cart-item::after{inset:-1px;padding:1px;background:radial-gradient(ellipse 180px 130px at var(--inspect-x) var(--inspect-y),#ffe4a5,#bc934b66 50%,transparent 85%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.cart-items .cart-item.is-inspecting,.cart-items .cart-item:focus-within{border-color:#c4a35a70;box-shadow:inset 0 1px 0 #ffe5aa12,inset 0 -12px 25px #0002,0 8px 24px #0004}
.cart-item.is-inspecting::before,.cart-item.is-inspecting::after,.cart-item:focus-within::before,.cart-item:focus-within::after{opacity:1}
.cart-item-visual .cart-product-photo,.cart-closed-box-art{transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .45s;transform-origin:center}
.cart-item.is-inspecting .cart-product-photo,.cart-item:focus-within .cart-product-photo{transform:translate(var(--photo-x),var(--photo-y)) scale(1.035);filter:brightness(1.07)}
.cart-item.is-inspecting .cart-closed-box-art,.cart-item:focus-within .cart-closed-box-art{transform:scale(1.025);filter:brightness(1.06)}
.cart-item .cart-line-price{transition:color .35s,text-shadow .35s}.cart-item.is-inspecting .cart-line-price,.cart-item:focus-within .cart-line-price{color:#f1d89b;text-shadow:0 0 15px #dab46b35}
.cart-item.is-inspecting .quantity button,.cart-item:focus-within .quantity button{border-color:#c4a35a65;background:#c4a35a0c}.cart-item.is-inspecting .remove-item,.cart-item:focus-within .remove-item{color:#decca5;text-decoration-color:#c4a35a88}
@media(prefers-reduced-motion:reduce){.cart-item::before,.cart-item::after,.cart-item-visual .cart-product-photo,.cart-closed-box-art,.cart-item .cart-line-price{transition:none!important;transform:none!important}.cart-item::before,.cart-item::after{display:none}}
/* Optional reassurance, subordinate to the live countdown. */
.box-complete-state .box-review-help{color:#e0d2b4;font-weight:500;text-wrap:pretty}

/* Scoped native-touch suppression; preserve scrolling, zoom and keyboard focus. */
#pickerGrid [data-pick-flavor],#pickerGrid [data-pick-flavor] *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
#pickerGrid [data-pick-flavor]{touch-action:manipulation}
#pickerGrid [data-pick-flavor] img{-webkit-user-drag:none;pointer-events:none}
#pickerGrid [data-pick-flavor]:focus:not(:focus-visible){outline:none}
#pickerGrid [data-pick-flavor]:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}

/* Static content behaves as app UI; editing and keyboard focus remain native. */
:where(body, body *){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
:where(body img, body a){-webkit-user-drag:none}
body :is(input,textarea,select,[contenteditable]:not([contenteditable="false"])),
body [contenteditable]:not([contenteditable="false"]) *{
  -webkit-touch-callout:default;-webkit-user-select:text;user-select:text;
}

/* Original supplied photograph, scoped to the featured product only. */
#featuredTrack .featured-card[data-product-card="carne-agridulce"]>img{object-fit:cover;object-position:50% 60%;transform:none}

/* Crop the supplied card capture to its photo, without modifying its pixels. */
#featuredTrack .featured-card[data-product-card="salame"]>img{height:190%;width:100%;object-fit:cover;object-position:center top;top:-13%;transform:none}

#featuredTrack .featured-card[data-product-card="napolitana"]>img{object-fit:cover;object-position:50% 52%;transform:none}

/* Carne Agridulce: editorial recommendation, never a sales ranking. */
#flavorGrid [data-product-card="carne-agridulce"] {
  border-color:#bc9850;
  background:#0c0906;
  box-shadow:0 18px 45px #0006,0 0 26px #c4a35a17,inset 0 0 0 1px #e5c88320;
  transition:border-color .35s ease,box-shadow .4s ease;
}
#flavorGrid [data-product-card="carne-agridulce"]::after {
  content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;
  pointer-events:none;opacity:.45;
  background:radial-gradient(ellipse at 100% 0,rgba(232,187,92,.13),transparent 45%);
  box-shadow:inset 0 1px #f8dda54d,inset 0 -1px #c49b5330;
  transition:opacity .4s ease;
}
#flavorGrid [data-product-card="carne-agridulce"] .flavor-distinction {
  top:18px;right:18px;gap:7px;padding:10px 13px;max-width:calc(100% - 90px);
  border:1px solid #f2d58c;border-radius:5px;
  background:linear-gradient(120deg,#e4ca85,#bd9446);
  color:#241b0d;font-size:11px;font-weight:800;letter-spacing:.12em;
  box-shadow:0 4px 16px #0006,inset 0 1px #fff5;transform:none;
  transition:box-shadow .3s ease,filter .3s ease;
}
#flavorGrid [data-product-card="carne-agridulce"] .flavor-distinction>span {color:inherit;font-size:13px}
#flavorGrid [data-product-card="carne-agridulce"] .flavor-card-head {border-color:#c4a35a55}
#flavorGrid [data-product-card="carne-agridulce"] .mini-add {border-color:#c4a35ab3}
#flavorGrid [data-product-card="carne-agridulce"]:is(:focus-within,:active) {
  border-color:#f0d28b;box-shadow:0 20px 50px #0007,0 0 28px #d4ae5530,inset 0 0 0 1px #e5c88340;
}
#flavorGrid [data-product-card="carne-agridulce"]:is(:focus-within,:active)::after {opacity:1}
@media(hover:hover) and (pointer:fine) {
  #flavorGrid [data-product-card="carne-agridulce"]:hover {border-color:#f0d28b;box-shadow:0 24px 55px #0008,0 0 32px #d4ae5533,inset 0 0 0 1px #e5c88340}
  #flavorGrid [data-product-card="carne-agridulce"]:hover::after {opacity:1}
  #flavorGrid [data-product-card="carne-agridulce"]:hover .flavor-distinction {filter:brightness(1.07);box-shadow:0 5px 18px #0006,0 0 18px #e6be5633}
}
@media(max-width:760px) {
  #flavorGrid [data-product-card="carne-agridulce"] {box-shadow:0 8px 20px #0005,0 0 15px #c4a35a15}
  /* A compact seal below the photo leaves the food and number unobstructed. */
  #flavorGrid [data-product-card="carne-agridulce"] .flavor-distinction {
    position:relative;top:auto;right:auto;left:auto;align-self:flex-start;
    margin:8px 10px 0;padding:5px 7px;max-width:calc(100% - 20px);
    font-size:9px;letter-spacing:.06em;gap:5px;line-height:1.4;
  }
  #flavorGrid [data-product-card="carne-agridulce"] .flavor-distinction>span {font-size:10px}
  #flavorGrid [data-product-card="carne-agridulce"]::after {background:none}
}
@media(prefers-reduced-motion:reduce) {
  #flavorGrid [data-product-card="carne-agridulce"],
  #flavorGrid [data-product-card="carne-agridulce"]::after,
  #flavorGrid [data-product-card="carne-agridulce"] .flavor-distinction {transition:none}
}

/* Shared original menu photos: no legacy zoom or screenshot crop. */
#pickerGrid .flavor-choice .flavor-choice-media img{object-fit:contain;object-position:center;transform:none;width:100%;height:100%;filter:none}
#featuredTrack .featured-card[data-product-card="salame"]>img{height:100%;top:0;object-fit:cover;object-position:center;transform:none}
#featuredTrack .featured-card[data-product-card="fugazza"]>img{transform:none;object-fit:cover}
#pickerGrid .flavor-choice[data-pick-flavor] .flavor-choice-media img{object-fit:contain;object-position:center;transform:none}
