/* Caverna del Mietitore — warm, accessible shopping surfaces */
.cart-shortcut{position:relative;border:1px solid var(--border);color:var(--gold-bright);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:transparent;font-size:18px}
.cart-count{position:absolute;top:-7px;right:-5px;background:var(--gold-bright);color:#1a100a;font:700 10px var(--sans);min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center}.cart-count[hidden]{display:none}
.menu-card-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.menu-card-actions .menu-price{margin-top:7px}.menu-add-to-cart{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border:1px solid var(--gold);border-radius:100px;background:rgba(213,163,91,.10);color:var(--gold-bright);padding:11px 16px;font-size:12px;font-weight:700;transition:transform .2s,background .2s}.menu-add-to-cart:hover{background:var(--gold);color:#23190e;transform:translateY(-2px)}.cart-addon-note{font:italic 12px var(--serif);color:var(--muted)}
.ordering-section .ordering-card button.underlined-link{background:none;border:none;color:var(--gold-bright);border-bottom:1px solid var(--gold);padding:0 0 5px;text-align:left;cursor:pointer;font-size:12px}
.shop-floating{position:fixed;bottom:23px;right:26px;z-index:125}.shop-floating button{background:var(--gold-bright);color:#201610;border:none;border-radius:100px;padding:15px 20px;font-weight:700;box-shadow:0 10px 36px #0008;display:flex;gap:11px;align-items:center}.shop-floating button:hover{transform:translateY(-3px)}.shop-toast{position:fixed;bottom:91px;right:22px;z-index:410;border:1px solid var(--gold);color:#fff0d8;background:#302016;padding:14px 22px;font-size:13px;box-shadow:var(--shadow)}.shop-toast[hidden]{display:none}
.shop-overlay{position:fixed;inset:0;z-index:390;display:flex;justify-content:flex-end}.shop-overlay[hidden]{display:none}.shop-backdrop{position:absolute;inset:0;background:#080503d9;backdrop-filter:blur(8px)}.shop-panel{width:min(540px,100vw);height:100%;overflow:auto;position:relative;padding:72px clamp(22px,4vw,38px) 40px;background:linear-gradient(130deg,#31241b,#1d1612);border-left:1px solid var(--border);box-shadow:-28px 0 90px #0008}.shop-panel h2{font:400 42px/1.12 var(--serif);margin:18px 0;color:#fbebd3}.shop-panel h2 em{color:var(--gold-bright)}.shop-muted{color:#c9b5a0;font:13px/1.8 var(--sans);margin:0 0 26px}.shop-close{position:absolute;right:23px;top:22px;border:1px solid var(--border);background:transparent;color:#f9e9d0;border-radius:50%;width:43px;height:43px;font-size:25px}.shop-close:hover{background:#a47d4a}.shop-field{display:flex;flex-direction:column;gap:9px;font-size:12px;color:#f9e8d0;font-weight:600;margin:18px 0}.shop-field select,.shop-field input,.shop-field textarea{background:#201710;border:1px solid #bca07955;padding:14px 13px;color:#fff1da;font:14px var(--sans);width:100%;border-radius:7px;min-height:44px}.shop-field select option{color:#fff1da;background:#201710}.shop-field textarea{resize:vertical;min-height:76px;line-height:1.5}.shop-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px}.shop-row label{color:#fff1da;font-size:13px}.quantity-control{display:flex;align-items:center;border:1px solid var(--border);border-radius:40px;min-height:42px}.quantity-control button{color:var(--gold-bright);background:none;border:none;width:36px;height:36px;font-size:20px}.quantity-control input{font:600 14px var(--sans);width:40px;background:transparent;color:#fff;border:0;text-align:center;appearance:textfield;outline:0}.quantity-control input::-webkit-outer-spin-button,.quantity-control input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.shop-submit{width:100%;margin-top:22px;display:flex!important;justify-content:space-between;border-radius:60px;padding:16px 21px;white-space:normal;text-align:left}.shop-submit:disabled{background:#73685d;border-color:#73685d;color:#eaded2;cursor:not-allowed;transform:none;box-shadow:none}.shop-submit strong{white-space:nowrap}.cart-lines{display:grid;gap:12px;margin:24px 0;max-height:36vh;overflow:auto}.cart-line{border:1px solid var(--border);background:rgba(255,255,255,.03);padding:17px}.cart-line-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.cart-line-head strong{font:500 17px var(--serif);color:#fff0d6}.cart-line-head>strong{white-space:nowrap}.cart-line-head small{font:11px/1.6 var(--sans);color:#c9b8a6;display:block;margin-top:6px}.cart-line-actions{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.quantity-control.mini{min-height:33px}.quantity-control.mini button{width:32px;height:32px}.quantity-control.mini span{font-size:12px;padding:0 6px}.cart-remove{border:0;background:none;color:var(--gold-bright);font-size:12px}.cart-totals{border-block:1px solid var(--border);padding:17px 0}.cart-totals>div{display:flex;justify-content:space-between}.cart-totals strong{font:24px var(--serif);color:#f7e3c4}.cart-totals small{display:block;font:11px/1.6 var(--sans);color:#c4ad95;margin-top:8px}.shop-delivery h3{font:23px var(--serif);color:#fbeacf;margin:25px 0 13px}.fulfillment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fulfillment-options label{position:relative;cursor:pointer}.fulfillment-options input{position:absolute;opacity:0}.fulfillment-options label>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font:700 12px var(--sans);border:1px solid var(--border);padding:15px 5px;border-radius:9px;min-height:85px;color:#d1bda3}.fulfillment-options label small{font:10px var(--sans);color:#b8a48c}.fulfillment-options input:checked+span{border-color:var(--gold-bright);background:#9273463b;color:#fff3e0}.fulfillment-options input:focus-visible+span{outline:2px solid white;outline-offset:2px}.fulfillment-details{color:#cab69f;font:12px/1.65 var(--sans);padding:9px 0 0}.fulfillment-details p{margin:7px 0 13px}.shop-agree{display:flex;align-items:flex-start;gap:12px;color:#d9c4a9;font:12px/1.6 var(--sans);margin-top:18px}.shop-agree input{margin-top:4px;accent-color:#d8af6e}.shop-agree a{text-decoration:underline;color:#fff1cf}.checkout-message{font:12px/1.6 var(--sans);color:#f8d1a6}.shop-inquiry{border:0;background:none;color:var(--gold-bright);padding:16px 4px;width:100%;text-decoration:underline;text-underline-offset:5px;font-size:12px}.cart-empty{text-align:center;border:1px dashed var(--border);padding:25px 15px}.cart-empty>span{font-size:30px;color:var(--gold-bright)}.cart-empty h3{font:23px var(--serif);margin:5px 0}.cart-empty p{color:#cdb9a3;font-size:12px}.cart-empty button{margin:12px auto 0}.shop-open{overflow:hidden}
[data-theme=day] .shop-panel{background:linear-gradient(140deg,#faedd9,#ecdbc4);border-color:#a6855d}[data-theme=day] .shop-panel h2,[data-theme=day] .cart-line-head strong,[data-theme=day] .cart-totals strong,[data-theme=day] .shop-row label,[data-theme=day] .shop-delivery h3{color:#25180e}[data-theme=day] .shop-field,[data-theme=day] .shop-muted,[data-theme=day] .fulfillment-details,[data-theme=day] .cart-totals small,[data-theme=day] .cart-line-head small,[data-theme=day] .shop-agree,[data-theme=day] .checkout-message{color:#62482e}[data-theme=day] .shop-close{color:#312012}[data-theme=day] .shop-field select,[data-theme=day] .shop-field input,[data-theme=day] .shop-field textarea{background:#fff8ee;color:#24170e}[data-theme=day] .quantity-control input{color:#24170e}[data-theme=day] .menu-add-to-cart{color:#664012}[data-theme=day] .fulfillment-options label>span{color:#5d4028}[data-theme=day] .fulfillment-options label small{color:#765c40}[data-theme=day] .fulfillment-options input:checked+span{color:#362312}[data-theme=day] .shop-agree a{color:#624016}
@media(max-width:690px){.shop-floating{right:12px;bottom:12px}.shop-floating button{padding:12px 15px}.shop-panel{padding:72px 20px 30px}.shop-panel h2{font-size:36px}.cart-lines{max-height:29vh}.fulfillment-options label>span{font-size:11px;padding:12px 3px}.cart-shortcut{width:35px;height:35px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.menu-add-to-cart:hover,.shop-floating button:hover{transform:none}}

/* Gelato and non-shippable product checkout state. */
.fulfillment-options input:disabled+span{opacity:.42;cursor:not-allowed;filter:grayscale(.6)}
.fulfillment-options label:has(input:disabled){cursor:not-allowed}
.gelato-shipping-note{padding:12px 14px;margin:12px 0!important;border:1px solid #d2a4618c;background:#9c6c2e1c;color:#ffe3aa!important;border-radius:8px}
.gelato-shipping-note strong{color:#ffdda0}
