:root{--cream:#fffaf0;--paper:#fffdf7;--ink:#183126;--green:#173d2b;--gold:#b88722;--orange:#d97706;--muted:#6c6a61;--red:#9b2c2c;--line:#e4d7bc;--shadow:0 8px 24px rgba(55,41,17,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#1d261f;font-family:Georgia,"Times New Roman",serif;-webkit-tap-highlight-color:rgba(197,139,20,.2)}a{color:inherit}
body.is-kiosk .site-header,body.is-kiosk .beta-strip,body.is-kiosk #shop-status,body.is-kiosk .footer{display:none!important}
.site-header{position:sticky;top:0;z-index:1000;background:#fffaf0;border-bottom:1px solid #d9b767;box-shadow:0 2px 10px rgba(48,36,15,.05)}.header-inner{max-width:1380px;margin:auto;min-height:66px;display:flex;align-items:center;gap:20px;padding:4px 18px}.brand{display:block;flex:0 0 auto;text-decoration:none;line-height:0;background:transparent}.brand-logo{display:block;width:220px;height:auto;max-height:54px;object-fit:contain;background:transparent}.nav{display:flex;gap:20px;margin-left:auto;align-items:center}.nav a{text-decoration:none;font-size:16px;font-weight:600;padding:9px 0;position:relative;white-space:nowrap}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:2px;background:var(--gold);transition:right .18s ease}.nav a:hover:after,.nav a.active:after{right:0}.nav a.active{color:#6f4b12}.basket-link{position:relative;display:flex;align-items:center;gap:7px;text-decoration:none;margin-left:4px;padding:4px 10px 4px 7px;border:1px solid #dcc58f;border-radius:999px;background:#fffaf0;box-shadow:0 3px 10px rgba(78,55,19,.08);min-height:54px;flex:0 0 auto}.basket-picture{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:44px}.basket-icon{display:block;width:52px;height:42px;object-fit:contain}.basket-count{position:absolute;top:-2px;right:-3px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;border:2px solid #fffaf0;font:700 12px/1 Arial}.basket-label{display:flex;flex-direction:column;line-height:1.05;padding-right:2px}.basket-label strong{font-size:16px;color:var(--green)}.basket-label small{font-size:11px;color:#8b6a2e;margin-top:5px;letter-spacing:.03em}
.shop-banner{width:100%;border-bottom:2px solid #c58b14;background:#1a1005;line-height:0;overflow:hidden}.shop-banner img{display:block;width:100%;height:auto;object-fit:cover;object-position:center;vertical-align:top}
.beta-strip{display:flex;justify-content:center;gap:10px;align-items:center;flex-wrap:wrap;padding:9px 16px;background:#f4e8c8;border-bottom:1px solid #dbc48b;color:#4d3d1e;font:14px/1.35 Arial,sans-serif;text-align:center}.beta-strip strong{color:var(--green);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.beta-strip.compact{padding:7px 12px}
.shop-shell{max-width:1280px;margin:0 auto;padding:22px 24px 235px}
.kiosk-shelf-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid #d6be87;flex-wrap:wrap}
.kiosk-shelf-header h1{margin:0;font-size:32px;color:var(--green);letter-spacing:.01em}
.kiosk-shelf-subtitle{font-size:17px;color:#6b4e1b;font-style:italic;margin-top:2px}
.kiosk-steps-pill{display:inline-flex;align-items:center;gap:10px;background:#fdf6e4;border:1.5px solid #d4b263;border-radius:999px;padding:8px 18px;font:700 14px/1.2 Arial,sans-serif;color:#35250d}
.kiosk-steps-pill span{color:#9a6b0d}
.notice{max-width:980px;margin:0 auto 20px;padding:12px 16px;border:1px solid #d6c49c;background:#fff7dc;border-radius:12px;text-align:center}
.status-message{padding:12px 16px;margin:0 0 20px;border-radius:10px;background:#f3ecdd;color:#665c48}
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.product-card{background:var(--paper);border:2px solid #e2d1ae;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);display:grid;grid-template-columns:210px 1fr;position:relative;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.product-card.in-cart{border-color:#c58b14;background:linear-gradient(180deg,#fffef9,#fdf3d7);box-shadow:0 12px 28px rgba(197,139,20,.20)}
.product-media{background:#f2ead8;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;min-height:210px}
.product-media img{width:100%;height:100%;object-fit:cover;display:block}
.product-media img.dipper-image{object-fit:contain;padding:16px}
.bundle-media{display:grid;grid-template-columns:repeat(2,1fr);width:100%;height:100%;gap:2px;background:#d7c9aa}
.bundle-media img{width:100%;height:100%;object-fit:cover}
.tasting-pill{position:absolute;bottom:10px;left:10px;background:rgba(255,250,240,.95);color:#35250d;border:1.5px solid #c58b14;border-radius:999px;padding:6px 12px;font:700 12px/1 Georgia,serif;box-shadow:0 3px 10px rgba(0,0,0,.18);cursor:pointer;touch-action:manipulation}
.stock-badge{position:absolute;top:12px;right:12px;background:var(--red);color:white;padding:7px 12px;border-radius:999px;font:700 12px/1 Arial;letter-spacing:.04em}
.product-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;justify-content:space-between}
.product-meta-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.size-pill{display:inline-block;background:#f3e7c9;color:#5a3e10;padding:4px 10px;border-radius:999px;font:700 12px/1 Arial,sans-serif;letter-spacing:.02em}
.stock-line{font:700 12px/1.2 Arial,sans-serif;color:#1f6b37;background:#e6f6ec;padding:4px 10px;border-radius:999px}
.stock-line.out{color:var(--red);background:#fde8e8}
.product-body h2{font-size:22px;line-height:1.15;margin:2px 0 0;color:#241909}
.product-desc{margin:0;font-size:14.5px;line-height:1.38;color:#5c4728}
.product-bottom-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid #eee1c5}
.price{font-size:28px;color:#4a2508;font-weight:700;line-height:1}
.btn-add-shelf{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;padding:12px 22px;border-radius:999px;border:2px solid #9a6c11;background:linear-gradient(180deg,#eab646,#c58b14);color:#2b1b06;font:700 17px/1 Georgia,serif;cursor:pointer;touch-action:manipulation;box-shadow:0 4px 12px rgba(197,139,20,.28);user-select:none;-webkit-user-select:none}
.btn-add-shelf:active{transform:scale(.97)}
.btn-add-shelf:disabled{background:#c5c2b8;border-color:#a5a298;color:#666;box-shadow:none;cursor:not-allowed}
.shelf-stepper{display:inline-flex;align-items:center;gap:8px;background:#fffdf7;border:2px solid #c58b14;border-radius:999px;padding:4px 6px;box-shadow:0 4px 12px rgba(197,139,20,.2)}
.shelf-step-btn{width:44px;height:44px;border-radius:50%;border:0;background:#35250d;color:#fffdf7;font:700 24px/1 Arial,sans-serif;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.shelf-step-btn.plus{background:linear-gradient(180deg,#e5b03f,#c58b14);color:#2b1b06}
.shelf-step-btn:active{transform:scale(.93)}
.shelf-step-btn:disabled{opacity:.35;cursor:not-allowed}
.shelf-step-qty{min-width:30px;text-align:center;font:700 21px/1 Georgia,serif;color:#241909}

/* Floating Express Checkout Dock */
.bl-express-dock{position:fixed;left:50%;bottom:118px;transform:translateX(-50%);width:min(95vw,1160px);z-index:1900;background:linear-gradient(180deg,#233829,#15251a);color:#fffaf0;border:3px solid #d49a23;border-radius:22px;padding:14px 20px;box-shadow:0 16px 40px rgba(0,0,0,.38);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.bl-express-dock.is-empty{background:linear-gradient(180deg,#2e3b32,#1f2b23);border-color:#8c7647;padding:12px 20px}
.bl-dock-summary{display:flex;align-items:center;gap:14px;flex:1;min-width:240px}
.bl-dock-badge{width:50px;height:50px;border-radius:50%;background:linear-gradient(180deg,#f5c963,#c58b14);color:#241807;display:flex;align-items:center;justify-content:center;font:700 22px/1 Georgia,serif;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.bl-express-dock.is-empty .bl-dock-badge{background:rgba(255,255,255,.12);color:#d7ccb4}
.bl-dock-text{display:flex;flex-direction:column;gap:4px}
.bl-dock-headline{font:700 21px/1.15 Georgia,serif;color:#fffdf7}
.bl-dock-headline strong{color:#ffd670;font-size:25px;margin-left:6px}
.bl-dock-items{display:flex;flex-wrap:wrap;gap:6px;font:600 13px/1.2 Arial,sans-serif;color:#dfead8}
.bl-dock-pill{background:rgba(255,255,255,.13);border:1px solid rgba(243,208,120,.38);border-radius:999px;padding:4px 10px}
.bl-dock-actions{display:flex;align-items:center;gap:12px}
.bl-dock-clear{min-height:54px;padding:0 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);color:#f3ead8;font:700 15px/1 Georgia,serif;cursor:pointer;touch-action:manipulation}
.bl-dock-pay{min-height:60px;padding:0 30px;border-radius:999px;border:2px solid #ffe49c;background:linear-gradient(180deg,#ffd875,#d49217);color:#231705;font:700 22px/1 Georgia,serif;box-shadow:0 8px 22px rgba(212,146,23,.45);cursor:pointer;touch-action:manipulation;display:inline-flex;align-items:center;gap:10px}
.bl-dock-pay:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.bl-dock-status{width:100%;text-align:center;font:700 16px/1.3 Georgia,serif;color:#ffe08a;padding-top:6px;border-top:1px solid rgba(255,255,255,.15)}

/* Tasting Notes Modal */
.bl-tasting-backdrop{position:fixed;inset:0;z-index:2500;background:rgba(18,12,4,.68);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}
.bl-tasting-backdrop[hidden]{display:none!important}
.bl-tasting-card{width:min(92vw,760px);background:linear-gradient(180deg,#fffdf8,#f9efda);border:3px solid #c58b14;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.45);overflow:hidden;color:#241909}
.bl-tasting-top{display:grid;grid-template-columns:250px 1fr;gap:22px;padding:24px;align-items:center}
.bl-tasting-img{width:100%;aspect-ratio:1/1;border-radius:16px;overflow:hidden;border:2px solid #e2cfa3;background:#f2ead8}
.bl-tasting-img img{width:100%;height:100%;object-fit:cover;display:block}
.bl-tasting-meta h2{margin:4px 0 6px;font-size:28px;color:#241909}
.bl-tasting-price{font-size:30px;font-weight:700;color:#6f2c12;margin-bottom:10px}
.bl-tasting-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 24px 20px}
.bl-tasting-box{background:#fffaf0;border:1.5px solid #e2cfa3;border-radius:14px;padding:12px 14px}
.bl-tasting-box h4{margin:0 0 4px;font:700 11px/1.2 Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:#8c6319}
.bl-tasting-box p{margin:0;font-size:14.5px;line-height:1.35;color:#2e200d}
.bl-tasting-foot{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#f3e4c3;border-top:1.5px solid #dec692;gap:12px}
.bl-tasting-close{min-height:50px;padding:0 24px;border-radius:999px;border:2px solid #8a6421;background:#fffdf7;color:#35250d;font:700 17px/1 Georgia,serif;cursor:pointer;touch-action:manipulation}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;border-radius:8px;border:1px solid var(--gold);background:white;color:#573b10;text-decoration:none;font:700 15px/1 Arial;cursor:pointer}.btn.primary{background:linear-gradient(#c49a36,#aa7c17);color:#fff;border-color:#9a7117}.btn:disabled,.btn.disabled{background:#b9b9b6;color:#f4f4f4;border-color:#aaa;cursor:not-allowed}.section-title{font-size:28px;color:var(--green);margin:28px 0 16px;border-bottom:2px solid #d6be87;padding-bottom:8px}.section-title.first-title{margin-top:8px}.product-detail{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,.9fr);gap:36px;align-items:start}.detail-media{background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.detail-media img{display:block;width:100%;height:auto}.detail-copy h1{font-size:42px;margin:.2em 0}.detail-price{font-size:34px;color:#6f2c12;font-weight:700}.detail-copy p{font-size:18px;line-height:1.55}.back-link a{text-decoration:none;color:#6b4a16;font-weight:700}.basket-table{width:100%;border-collapse:collapse;background:white;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.basket-table th,.basket-table td{padding:14px;border-bottom:1px solid #eee2cd;text-align:left}.basket-table input{width:72px;padding:8px}.basket-total{font-size:30px;text-align:right;margin:22px 0;color:#6f2c12;font-weight:700}.empty{padding:36px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:12px}.muted{color:var(--muted)}.beta-checkout{margin-top:22px;padding:18px 20px;border:1px solid #d6be87;border-radius:12px;background:#fff9e9}.beta-checkout strong{font-size:20px;color:var(--green)}.beta-checkout p{line-height:1.5}.shop-toast{position:fixed;left:50%;bottom:195px;z-index:2600;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#173d2b;color:#fff;padding:12px 22px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);font:700 16px/1 Georgia,serif;transition:.18s ease}.shop-toast.show{transform:translate(-50%,0);opacity:1}.footer{border-top:1px solid var(--line);padding:30px 22px;text-align:center;color:#6f6656;background:#f6efdf;line-height:1.6}.footer strong{color:var(--green)}
@media(max-width:960px){.product-grid{grid-template-columns:1fr}.product-card{grid-template-columns:180px 1fr}}
@media(max-width:640px){.product-card{grid-template-columns:1fr}.bl-tasting-top{grid-template-columns:1fr}.bl-tasting-grid{grid-template-columns:1fr}}
.qty-control{display:inline-flex;align-items:center;gap:8px;background:#fbf6ec;border:1px solid #c8a356;border-radius:8px;padding:3px 6px}
.qty-btn{background:#35250d;color:#fff;border:none;border-radius:6px;width:38px;height:38px;font-size:22px;font-weight:bold;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;touch-action:manipulation}
.qty-btn:disabled{opacity:0.35;cursor:not-allowed}
.qty-count{min-width:28px;text-align:center;font-size:18px;font-weight:bold;color:#35250d}
.basket-actions{display:flex;justify-content:space-between;align-items:center;margin:16px 0;flex-wrap:wrap;gap:12px}
.btn-empty-basket{background:#fff;color:#8a2a2a;border:1px solid #d48a8a;padding:10px 18px;border-radius:8px;font:bold 15px Arial,sans-serif;cursor:pointer;touch-action:manipulation}
