/* Oswald and Manrope: SIL Open Font License; licenses in /fonts/. */
@font-face{font-family:Oswald;src:url('/fonts/oswald-latin.woff') format('woff');font-weight:200 700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff') format('woff');font-weight:200 800;font-style:normal;font-display:swap}
body,button,input,select,textarea{font-family:Manrope,Arial,sans-serif}
h1,h2,.heroin h1,.sectionhead h2,.icetext h2,.how h2,.contactband h2,.panelhead h2,.panel form h3,.order-review h3{font-family:Oswald,'Arial Narrow',Arial,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.025em;line-height:1.1}
.heroin h1{font-size:clamp(54px,7.5vw,104px);line-height:1.04;letter-spacing:.015em}
.heroin h1 em{font-style:normal;font-weight:400}
.wordmark,.brand{font-family:Manrope,Arial,sans-serif;font-weight:800}
.card h3{font-family:Manrope,Arial,sans-serif;font-weight:650;line-height:1.5;letter-spacing:-.015em}
.price,.grandtotal,.review-total{font-family:Manrope,Arial,sans-serif;font-variant-numeric:tabular-nums;font-weight:750;letter-spacing:-.025em}
.kicker,.eyebrow,.category{font-family:Manrope,Arial,sans-serif;font-weight:650}
.panel input,.panel select{font-family:Manrope,Arial,sans-serif}
@media(max-width:600px){.heroin h1{font-size:clamp(48px,12.8vw,70px);line-height:1.08}.sectionhead h2{line-height:1.15}.card h3{line-height:1.5}}

.offer-badges{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;z-index:2}.offer-badges span{background:#153c2d;color:#fff;padding:7px 11px;border-radius:20px;font:700 12px Manrope,sans-serif;box-shadow:0 2px 7px #0001}.offer-badges .launch{background:#ecdfc6;color:#344033}.price-group{display:flex;flex-direction:column;gap:3px}.price-group del{color:#80867e;font-size:12px;font-weight:400}.price-group small,.cart-saving{font-size:11px;color:#286043}.cart-saving{margin:0 0 8px}.cart-saving del{color:#858c84}.cardbottom{align-items:center}

#pickup-point a,#location-waze,#location-map{display:inline-block;padding:10px 12px;margin:5px 6px 5px 0;border:1px solid #a9baa7;border-radius:6px;background:#fff;font-weight:600;text-decoration:none}

/* Keep the same visible category buttons on phones and desktops. */
@media(max-width:600px){
 #types.typefilters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;flex-wrap:wrap;margin:24px 0 16px;padding-bottom:20px}
 #types.typefilters button{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;width:100%;padding:10px 6px;white-space:normal;overflow-wrap:break-word;font-family:Manrope,Arial,sans-serif;font-size:11px;line-height:1.4;border-radius:2px;letter-spacing:0;text-align:center}
 #types.typefilters button.active{background:#1d2b20;color:#fff;border-color:#1d2b20}
 .categorymobile{display:none!important}
}

/* Prominent order access, with a dedicated mobile action. */
#cartopen.bag{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 19px;border:1px solid #c5a66a66;border-radius:8px;background:#1d302b;color:#fff;font:600 14px Manrope,Arial,sans-serif;box-shadow:0 4px 14px #14231b1a;white-space:nowrap}
#cartopen.bag svg{width:23px;height:23px;flex:none}#cartopen.bag span{margin:0;min-width:27px;width:auto;padding:0 7px;height:27px;background:#f0e5d1;color:#25392c;font-weight:700}
.mobile-order{display:none}
@media(max-width:600px){
 body{padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))}
 #cartopen.bag{min-height:46px;padding:10px 12px;gap:7px;font-size:12px}#cartopen.bag svg{width:19px;height:19px}#cartopen.bag span{min-width:23px;height:23px;padding:0 5px}.head{gap:8px}.actions{gap:8px}.wordmark{font-size:22px;letter-spacing:2px}
 .mobile-order{display:flex;position:fixed;z-index:19;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:12px;right:12px;width:calc(100% - 24px);min-height:70px;align-items:center;gap:12px;padding:13px 15px;background:#1d302b;color:#fff;border:1px solid #c5a66a77;border-radius:12px;box-shadow:0 8px 30px #14231b44;text-align:left;font-family:Manrope,Arial,sans-serif}
 .mobile-order-count{display:flex;align-items:center;justify-content:center;flex:none;min-width:36px;height:36px;border-radius:9px;background:#f0e5d1;color:#263c2d;font-size:17px;font-weight:700;padding:0 6px}.mobile-order strong{display:block;font-size:15px}.mobile-order small{display:block;font-size:9px;color:#d6dfd3;margin-top:4px}.mobile-order-action{margin-left:auto;font-size:11px;font-weight:600;white-space:nowrap}
 .order-is-open .mobile-order{display:none}.toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}
}

.cart-tools{display:flex;justify-content:flex-end;margin:4px 0 10px}.clear-order{min-height:44px;padding:10px 15px;background:transparent;border:1px solid #c7cbbf;border-radius:6px;color:#425647;font:600 12px Manrope,Arial,sans-serif}.clear-order-confirmation{margin:12px 0 20px;padding:18px;border:1px solid #d6c6a7;border-radius:10px;background:#faf6ed}.clear-order-confirmation h3{font:600 15px/1.5 Manrope,Arial,sans-serif;margin:0}.clear-order-confirmation p{font:12px/1.6 Manrope,Arial,sans-serif;color:#66715e}.clear-order-confirmation>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.clear-order-confirmation button{min-height:46px;padding:12px 16px;border-radius:6px;border:1px solid #b9c4b2;background:white;color:#284431;font:600 12px Manrope,Arial,sans-serif}.clear-order-confirmation #confirm-clear-order{background:#1d302b;color:white;border-color:#1d302b}


/* A quiet, persistent selection toolbar. */
.panel .cart-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:4;margin:0 0 16px;padding:8px 0 12px;background:var(--bg,#f7f5f0);border-bottom:1px solid #c5a66a55}
.cart-tools-label{font:500 11px Manrope,Arial,sans-serif;letter-spacing:.08em;color:#657061}
.panel .clear-order{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;min-height:44px;padding:8px 12px;border:1px solid #d5d8cc;border-radius:5px;background:transparent;color:#34483a;box-shadow:none;font:500 12px/1.4 Manrope,Arial,sans-serif;text-align:center;white-space:nowrap}
.panel .clear-order svg{width:16px;height:16px;flex:none;stroke-width:1.5}.panel .clear-order:hover:not(:disabled){background:#eceee5;border-color:#aab6a4}.panel .clear-order:disabled{opacity:.4;cursor:default}
/* A compact checkout, one decision at a time. */
.order-progress{display:flex;justify-content:space-between;gap:12px;margin:2px 0 22px;padding-bottom:16px;border-bottom:1px solid #daddd0;flex:none}.order-progress>span{display:flex;align-items:center;gap:7px;font:500 11px Manrope,Arial,sans-serif;color:#90988b}.order-progress b{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #ccd2c5;border-radius:50%;font-size:10px;font-weight:500}.order-progress [aria-current]{color:#253e2d}.order-progress [aria-current] b,.order-progress .completed b{background:#253e2d;color:#fff;border-color:#253e2d}.step-heading{font:500 12px Manrope,Arial,sans-serif;color:#5c6c56;margin:0 0 14px;flex:none}.step-heading:focus{outline:none}
#products-step,#checkout-form,#order-review,#saved-order{flex:none}.panel .order-totals{position:sticky;bottom:-1px;z-index:5;background:#faf9f5;margin-top:auto;padding:14px 0 max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid #ccd3c3;box-shadow:0 -8px 12px #faf9f5eb;flex:none}.panel .order-totals .subtotal{font-size:11px;margin:0;padding:5px 0}.panel .order-totals .deliveryline{font-size:10px;padding:5px 0}.panel .grandtotal{font-size:17px;padding:10px 0 0}.panel #free-delivery-note{font-size:9px;margin:7px 0 0;line-height:1.4}.panel #order-next{margin:18px 0 25px;background:#253e2d;color:#fff;padding:16px;border-radius:6px;font:600 13px Manrope,Arial,sans-serif}
.step-actions{display:flex;gap:12px;align-items:center;margin:20px 0 24px}.step-actions .send{flex:1;padding:16px;background:#253e2d;color:white;font:600 12px Manrope,Arial,sans-serif}.order-back{min-height:46px;padding:10px 8px;background:transparent;color:#4a6045;border:0;font-size:12px}.panel .optional-details{border-top:1px solid #d8ddcf;margin:20px 0;padding:16px 0}.optional-details summary,.location-guide summary{font:500 12px/1.6 Manrope,Arial,sans-serif;color:#40563b;cursor:pointer}.optional-details summary span{font-size:9px;color:#87917f;margin-left:5px}.optional-details .checkout-location{background:transparent;border:0;padding:10px 0;margin:10px 0}.panel #checkout-form h3{font-size:24px;margin:4px 0 20px}.panel #checkout-hours{font-size:10px}.panel #fulfillment-note,.panel #payment-timing-note{font-size:10px;line-height:1.6}.outside-step{display:none!important}.location-guide{margin:16px 0}.location-guide .location-help{margin-top:8px;padding-top:8px}.panel .order-review{margin:8px 0 18px;padding:16px;background:#f4f5ed;border-color:#d2d9c8}.order-review .cartnote{font-size:10px;line-height:1.6}.panel #order-note{font-size:10px;margin:8px 0 20px}.panel #payment-details{margin:5px 0 20px}.panel #payment-details .payment-only{font-size:10px}
@media(max-width:600px){.panel{padding:20px 18px}.order-progress{gap:7px}.order-progress>span{font-size:10px;gap:6px}.panel .order-totals{padding-bottom:max(10px,env(safe-area-inset-bottom,0px))}}
.delivery-route-links{display:flex;gap:8px;flex-wrap:wrap}.delivery-route-links #location-map,.delivery-route-links #location-waze{display:inline-flex;align-items:center;gap:7px;min-height:42px;margin:5px 0;padding:9px 12px;background:#fff;border:1px solid #d1d8c8;border-radius:6px;font:500 11px Manrope,Arial,sans-serif;text-decoration:none}.delivery-route-links img{width:21px;height:21px;object-fit:contain}.panel #get-location{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;background:#253e2d;font:600 12px Manrope,Arial,sans-serif}.panel #get-location:before{content:'⌖';font-size:24px;font-weight:400}.panel section[aria-labelledby="checkout-location-title"]{background:#f2f4ec;border:1px solid #d5ddcc;border-radius:8px}.panel #location-status:empty{display:none}

/* Individual bottles: live text keeps size labels crisp on every screen. */
.unit-bottle-art{position:relative;width:100%;height:100%;padding:14px 52px 6px 0;display:flex;align-items:center;justify-content:center}
.art .unit-bottle-art img{width:100%;height:100%;object-fit:contain}
.unit-bottle-stripe{position:absolute;right:0;top:14px;bottom:6px;width:45px;display:flex;flex-direction:column;color:var(--unit-color);font-family:Manrope,Arial,sans-serif}
.unit-bottle-stripe>strong{flex:1;display:flex;align-items:center;justify-content:center;background:var(--unit-color);color:#fff;writing-mode:vertical-rl;transform:rotate(180deg);border-radius:0 10px 0 0;font-size:18px;font-weight:800;letter-spacing:1px;white-space:nowrap}
.unit-bottle-stripe>span{height:55px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid var(--unit-color);border-top-width:3px;border-radius:10px 0 0 0;background:#fff;line-height:1.05}
.unit-bottle-stripe b{font-size:20px;font-weight:800}.unit-bottle-stripe small{font-size:15px;font-weight:700}
@media(max-width:600px){.unit-bottle-art{padding-right:37px;padding-top:18px}.unit-bottle-stripe{width:32px;top:18px}.unit-bottle-stripe>strong{font-size:13px;letter-spacing:.5px}.unit-bottle-stripe>span{height:44px}.unit-bottle-stripe b{font-size:16px}.unit-bottle-stripe small{font-size:12px}}

.unit-bottle-stripe>strong{font-size:clamp(13px,1.5vw,18px)}
@media(max-width:600px){.unit-bottle-stripe>strong{font-size:11px;letter-spacing:.35px}}

/* Photo category navigation: existing product photography, native readable names. */
.category-gallery-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:30px 0 14px}.category-gallery-head>span:last-child{font-size:11px;color:#7c8577}
#types.photo-categories{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;overflow:visible;margin:0;padding:0;border:0;scroll-margin-top:115px}
#types.photo-categories .category-tile{display:flex;flex-direction:column;justify-content:initial;align-items:stretch;width:100%;min-width:0;padding:0;overflow:hidden;border:1px solid #dce0d4;border-radius:14px;background:#fff;color:#233c2c;text-align:left;white-space:normal;box-shadow:0 3px 12px #1c382706;transition:border-color .2s,box-shadow .2s}
#types.photo-categories .category-tile:hover{border-color:#b5a477;box-shadow:0 6px 18px #18392110}
#types.photo-categories .category-tile.active{border-color:#254b37;background:#fff;color:#234530;box-shadow:0 0 0 2px #254b3726}
.category-scene{display:block;position:relative;height:155px;isolation:isolate;background:linear-gradient(145deg,#f8f7f2,#eeefe7);overflow:hidden}
.category-scene img{position:absolute;object-fit:contain;width:46%;height:82%;bottom:7%;mix-blend-mode:multiply;transition:transform .25s}
.category-scene img:nth-child(1){left:5%;transform:rotate(-8deg);z-index:1}.category-scene img:nth-child(2){left:36%;transform:rotate(6deg);z-index:2}
.category-scene.scene-3 img:nth-child(1){left:0;width:40%;height:75%}.category-scene.scene-3 img:nth-child(2){left:29%;width:42%;height:90%;transform:none;bottom:3%;z-index:3}.category-scene.scene-3 img:nth-child(3){right:0;width:40%;height:75%;transform:rotate(8deg);z-index:1}
.category-scene.scene-1 img:first-child{inset:5% 5%;width:90%;height:90%;transform:none}
.category-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 15px;font:650 13px/1.4 Manrope,Arial,sans-serif;min-height:52px}.category-arrow{color:#a18a56;font-size:17px;font-weight:400}
#types .category-tile.active .category-caption{background:#f0f4ec}.categories-more{display:block;margin:18px auto 26px;padding:11px 20px;min-height:44px;border:1px solid #d2d9ca;border-radius:24px;background:transparent;color:#3e5945;font-size:12px;font-weight:600}.categories-more:hover{background:#edf1e8}.categories-back{display:inline-block;color:#6b795f;font-size:11px;margin:0 0 14px;padding:8px 0}.catalogmeta{scroll-margin-top:115px}#results:focus{outline:none}
@media(max-width:900px){#types.photo-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:600px){#types.photo-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}.category-scene{height:135px}#types.photo-categories .category-tile{border-radius:12px}.category-caption{font-size:12px;padding:11px 12px;min-height:48px;letter-spacing:0}.category-gallery-head>span:last-child{display:none}.category-gallery-head{margin-top:24px}.categories-more{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){#types.photo-categories .category-tile,.category-scene img{transition:none}}

/* Cinematic category photographs: the complete scene stays inside the frame. */
#types.photo-categories .category-cover{height:auto;aspect-ratio:1;background:#17241f}
#types.photo-categories .category-cover img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;mix-blend-mode:normal;transform:none;z-index:1}
#types.photo-categories .category-tile:hover .category-cover img:first-child{transform:scale(1.025)}
/* Eight category icons on laptops, three on phones. */
#types.photo-categories{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
@media(min-width:901px){.category-caption{font-size:11px;padding:10px 8px;min-height:44px;gap:3px}.category-arrow{font-size:12px;flex-shrink:0}.category-caption>span:first-child{min-width:0;overflow-wrap:anywhere}}
@media(max-width:900px){#types.photo-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){#types.photo-categories{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}#types.photo-categories .category-tile{border-radius:10px}.category-caption{font-size:11px;line-height:1.3;padding:8px 6px;min-height:44px;gap:3px}.category-caption>span:first-child{min-width:0;overflow-wrap:anywhere}.category-arrow{font-size:12px;flex-shrink:0}.category-gallery-head .kicker{font-size:10px}}

.category-navigation{margin-bottom:52px}.category-navigation .category-gallery-head{margin-top:0}

/* Clear category photography with readable dark-green labels. */
#types.photo-categories .category-cover{background:#eef3ed}
#types.photo-categories .category-caption{background:#193e2e;color:#fff;font-size:12px;font-weight:750;line-height:1.35;padding:11px 9px;min-height:52px;gap:4px}
#types.photo-categories .category-arrow{color:#fff;opacity:.85;font-size:14px}
#types.photo-categories .category-tile.active{border-color:#17623e;box-shadow:0 0 0 3px #17623e}
#types.photo-categories .category-tile.active .category-caption{background:#17623e;color:#fff}
#types.photo-categories .category-tile:focus-visible{outline:3px solid #17623e;outline-offset:4px}
.category-selected{position:absolute;z-index:3;top:8px;right:8px;display:grid;place-items:center;width:25px;height:25px;border:2px solid #fff;border-radius:50%;background:#17623e;color:#fff;font:800 16px/1 Manrope,Arial,sans-serif;box-shadow:0 2px 7px #14332333}
.category-navigation .category-gallery-head .kicker{color:#78603b;font-size:11px;font-weight:750;letter-spacing:2px}
.category-navigation .category-gallery-head>span:last-child{color:#4c5f4d}
@media(max-width:600px){#types.photo-categories .category-caption{font-size:11px;padding:9px 6px;min-height:50px;gap:3px}#types.photo-categories .category-arrow{font-size:11px}.category-selected{top:5px;right:5px;width:21px;height:21px;font-size:13px}}
