:root{color-scheme:dark}
html{scroll-behavior:smooth}body{background:#0a0704;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.font-display{font-family:Georgia,'Times New Roman',serif}
.site-shell{background:#6f4e37}
.topbar{border-bottom:1px solid #8aaa66;background:#a8c686;color:#6e4e38;font-size:13px}.topbar-ticker{display:flex;width:max-content;animation:ticker-scroll 30s linear infinite;letter-spacing:.15em;white-space:nowrap;font-size:13px}.topbar-ticker:hover{animation-play-state:paused}@keyframes ticker-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.container-xl{max-width:1365px;margin:0 auto}
.hero-wrap{background:#6f4e37;border-bottom:1px solid #2b1b0d}
.hero-visual{position:relative;overflow:hidden;border:1px solid #3a2613;border-radius:1.5rem;box-shadow:0 16px 40px rgba(0,0,0,.45);min-height:530px;background:linear-gradient(90deg,rgba(10,7,4,.98) 0%,rgba(10,7,4,.92) 34%,rgba(10,7,4,.35) 65%,rgba(10,7,4,.15) 100%),radial-gradient(circle at 65% 20%,rgba(190,116,21,.22),transparent 25%),linear-gradient(180deg,rgba(173,117,45,.06),rgba(10,7,4,.1))}
.hero-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 58% 23%,rgba(255,151,38,.22),transparent 20%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(0,0,0,.05))}.hero-cutout{position:absolute;bottom:0;right:0;width:100%;max-width:720px;opacity:.95;mix-blend-mode:screen;filter:drop-shadow(0 18px 28px rgba(0,0,0,.55))}
.nav-link{position:relative;color:rgba(255,255,255,.9);transition:.25s ease;text-transform:uppercase;font-size:15px;font-weight:600;letter-spacing:.04em}.nav-link:hover,.nav-link.active{color:#d5ab66}.nav-link.active::after,.nav-link:hover::after{content:'';position:absolute;left:0;bottom:-8px;width:100%;height:2px;background:#d5ab66}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 26px;border-radius:8px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:.25s ease}.btn-primary{background:#98a96d;color:#1d170e}.btn-primary:hover{filter:brightness(1.08)}.btn-secondary{border:1px solid #8f6c36;color:#f3e6d1}.btn-secondary:hover{background:rgba(255,255,255,.03)}
.feature-band{border-bottom:1px solid #8aaa66;background:#a8c686}.feature-card{display:flex;gap:16px;align-items:flex-start;padding-right:18px;border-right:1px solid rgba(215,173,96,.22)}.feature-card:last-child{border-right:none}.feature-card>div:first-child{font-size:28px;line-height:1;color:#d0a65d}.feature-card h3{color:#000000;font-size:14px;letter-spacing:.12em;font-weight:700;margin-bottom:6px}.feature-card p{color:#000000;font-size:18px;line-height:1.4}.section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,2vw,38px);color:#efe0c8;letter-spacing:.02em}.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#c69b56;font-weight:700}
.product-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid #4b3419;background:linear-gradient(180deg,#15100a,#100b07);box-shadow:0 16px 40px rgba(0,0,0,.38)}.product-image{width:100%;height:280px;object-fit:cover;display:block}.product-card h3{font-size:25px;line-height:1.15;color:#eadac3;font-weight:600;font-family:Georgia,'Times New Roman',serif}.variant{margin-top:6px;color:rgba(222,200,170,.72);font-size:17px}.price-row{display:flex;align-items:center;gap:12px;margin-top:14px}.price-row span{color:#f2ddb2;font-size:32px;font-weight:700}.price-row s{color:rgba(202,170,124,.65);font-size:19px}.wish{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.35);font-size:20px}.cart-btn,.sub-btn{min-height:48px;border-radius:7px;font-weight:700;letter-spacing:.08em;font-size:13px;text-transform:uppercase}.cart-btn{border:1px solid #8f6a35;color:#f6ead7}.cart-btn:hover{background:rgba(255,255,255,.03)}.sub-btn{padding:0 14px;background:rgba(152,169,109,.15);color:#b6c48b;border:1px solid rgba(152,169,109,.55)}
.panel-gold{border:1px solid #4a3219;background:linear-gradient(90deg,rgba(68,51,24,.72),rgba(20,13,7,.6)),radial-gradient(circle at top,rgba(216,151,62,.26),transparent 28%);box-shadow:0 16px 40px rgba(0,0,0,.38)}.step{display:flex;flex-direction:column;gap:6px;color:#f0e3cd}.step span{font-size:30px;color:#d2a55c}.step strong{font-size:14px;letter-spacing:.14em}.step p{color:rgba(239,226,205,.74)}
.story-grid,.service-row,.contact-grid,.about-grid{overflow:hidden;border-radius:24px;border:1px solid #4a3219;background:#6f4e37;box-shadow:0 16px 40px rgba(0,0,0,.35)}.service-box{display:flex;align-items:flex-start;gap:14px;padding:24px 28px;border-right:1px solid #6f4e37}.service-box:last-child{border-right:none}.service-box span{font-size:26px;color:#cfa25b}.service-box h4{font-size:14px;letter-spacing:.12em;color:#efe0c8;font-weight:700}.service-box p{margin-top:6px;color:rgba(233,216,191,.75);font-size:17px}.testimonial{border:1px solid #382513;border-radius:16px;padding:28px;background:#6f4e37}.testimonial div{color:#f2bd5f;font-size:20px}.testimonial p{margin-top:14px;color:#ebdcc6;font-size:20px;line-height:1.8}.testimonial span{display:inline-block;margin-top:14px;color:rgba(235,220,198,.72);font-size:18px}
.placeholder{background:linear-gradient(135deg,#2a1a0d,#120b06);position:relative;overflow:hidden}.placeholder::after{content:'Placeholder Image';position:absolute;inset:auto 0 18px 0;text-align:center;color:rgba(233,216,191,.55);font-size:13px;letter-spacing:.18em;text-transform:uppercase}
.cart-panel{border-left:1px solid #6f4e37;background:linear-gradient(180deg,#15100a,#0d0906)}.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:start}.cart-item img{width:72px;height:72px;object-fit:cover;border-radius:8px;border:1px solid #4a3219}.cart-item h5{color:#f1dfc8;font-size:15px;font-weight:600}.cart-item p,.cart-item span{color:rgba(233,216,191,.72);font-size:13px}.qty-controls{display:inline-flex;margin-top:8px;align-items:center;overflow:hidden;border-radius:6px;border:1px solid #6a4b24}.qty-controls button{width:28px;height:28px;background:transparent;color:#e7d7bf}.qty-controls span{width:34px;text-align:center;font-size:13px;color:#f3e4d1}.remove-item{color:#c7b091;font-size:22px;line-height:1}.metric-box{border:1px solid #6f4e37;border-radius:18px;background:#a8c686;color:#000000;padding:24px}.metric-box strong{display:block;color:#000000;font-size:34px;font-family:Georgia,'Times New Roman',serif}.metric-box p{color:#000000;margin-top:8px}.input{width:100%;background:#6e4e38;border:1px solid #4a3219;border-radius:10px;padding:14px 16px;color:#f3e4d1}.input::placeholder{color:#9d8666}.map-box{min-height:320px;background:#6f4e37;border:1px solid #4a3219;border-radius:24px}
.img-slider-section{background:#0a0704;border-bottom:1px solid #2b1b0d;padding:0}
.img-slider{position:relative;overflow:hidden;border-radius:0;border:none;height:600px;width:100%;max-width:1920px;margin:0 auto;background:#6e4e38;box-shadow:0 16px 40px rgba(0,0,0,.45)}.img-slider-track{display:flex;height:100%;transition:transform .52s cubic-bezier(.4,0,.2,1)}.img-slider-slide{flex:0 0 100%;position:relative;overflow:hidden}.img-slider-slide img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.img-slider-caption{position:absolute;bottom:0;left:0;right:0;padding:32px 36px;background:linear-gradient(to top,rgba(10,7,4,.92) 0%,rgba(10,7,4,.5) 55%,transparent 100%)}.img-slider-caption h3{font-family:Georgia,'Times New Roman',serif;font-size:28px;color:#efe0c8;margin-top:6px}.img-slider-caption p{color:rgba(233,216,191,.82);font-size:16px;line-height:1.6}.img-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(215,173,96,.45);background:rgba(10,7,4,.65);color:#d5ab66;font-size:22px;z-index:10;display:flex;align-items:center;justify-content:center;transition:.25s ease;cursor:pointer}.img-slider-btn:hover{background:rgba(10,7,4,.9);border-color:#c69b56}.img-slider-prev{left:20px}.img-slider-next{right:20px}.img-slider-dots{position:absolute;bottom:22px;right:36px;display:flex;gap:8px;z-index:10}.img-slider-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(215,173,96,.55);background:transparent;transition:.25s ease;cursor:pointer;padding:0}.img-slider-dot.active{background:#c69b56;border-color:#c69b56}
.footer{border-top:1px solid #8aaa66;background:#a8c686;color:#000000}
/* ── Shop Page ─────────────────────────────────────────────── */
.shop-collection-hero{background:linear-gradient(180deg,rgba(10,7,4,0) 0%,rgba(10,7,4,.6) 100%),linear-gradient(135deg,#110b07,#0a0704);border-bottom:1px solid #2b1b0d}
.shop-layout{display:grid;gap:32px;padding:32px 0 48px}
@media(min-width:1024px){.shop-layout{grid-template-columns:270px 1fr}}
.shop-sidebar{display:none}
@media(min-width:1024px){.shop-sidebar{display:block}}
.shop-sidebar-inner{position:sticky;top:28px;background:#6f4e37;border:1px solid #6f4e37;border-radius:18px;padding:24px}
.filter-group{margin-bottom:20px}
.filter-label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(198,155,86,.9);font-weight:700;margin-bottom:7px}
.filter-input{width:100%;background:#6e4e38;border:1px solid #4a3219;border-radius:8px;padding:10px 12px;color:#f3e4d1;font-size:14px;outline:none;transition:.2s ease}.filter-input:focus{border-color:#c69b56}
.filter-input option{background:#130d08;color:#f3e4d1}
.filter-checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:#d8ccb8;font-size:14px}
.filter-checkbox{accent-color:#9dad72;width:16px;height:16px;cursor:pointer}
.shop-main{min-width:0}
.shop-util-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 0 20px;border-bottom:1px solid #6f4e37;margin-bottom:20px}
.shop-filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #4a3219;border-radius:8px;background:transparent;color:#d8ccb8;font-size:13px;font-weight:600;letter-spacing:.06em;cursor:pointer;transition:.2s ease}
.shop-filter-toggle:hover{border-color:#c69b56;color:#f3e4d1}
@media(min-width:1024px){.shop-filter-toggle{display:none}}
.shop-grid{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
@media(min-width:640px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1280px){.shop-grid{grid-template-columns:repeat(3,1fr)}}
/* Product Card */
.shop-product-card{position:relative;overflow:hidden;border-radius:16px;border:1px solid #4b3419;background:linear-gradient(180deg,#15100a,#100b07);box-shadow:0 16px 40px rgba(0,0,0,.38);transition:.25s ease}.shop-product-card:hover{border-color:#6b4f22;box-shadow:0 20px 48px rgba(0,0,0,.5)}
.shop-product-img-wrap{position:relative;overflow:hidden;display:block}.shop-product-img{width:100%;height:260px;object-fit:cover;display:block;transition:transform .4s ease}.shop-product-card:hover .shop-product-img{transform:scale(1.04)}
.product-badge{position:absolute;top:14px;left:14px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;z-index:2}
.wish-btn{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.38);font-size:17px;color:#f3e4d1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease;z-index:2}.wish-btn:hover,.wish-btn.wished{background:rgba(198,155,86,.25);border-color:#c69b56;color:#f8d980}
.shop-card-actions{position:absolute;bottom:0;left:0;right:0;display:flex;gap:8px;padding:12px 14px;background:linear-gradient(to top,rgba(10,7,4,.96) 0%,rgba(10,7,4,.2) 100%);transform:translateY(100%);transition:transform .28s ease;z-index:3}.shop-product-card:hover .shop-card-actions{transform:translateY(0)}
.shop-card-body{padding:16px 18px 20px}
.shop-card-title{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#eadac3;font-weight:600;margin:8px 0 4px;line-height:1.2}
.shop-card-desc{color:rgba(222,200,170,.68);font-size:14px;line-height:1.5;margin-bottom:8px}
.shop-card-rating{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.stars-gold{color:#e8b84b;font-size:13px;letter-spacing:1px}
.shop-price-row{display:flex;align-items:center;gap:10px;margin-top:6px}
.roast-tag{display:inline-block;padding:2px 9px;border-radius:5px;background:rgba(198,155,86,.14);border:1px solid rgba(198,155,86,.3);color:#c69b56;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.origin-tag{display:inline-block;padding:2px 9px;border-radius:5px;background:rgba(157,173,114,.12);border:1px solid rgba(157,173,114,.3);color:#9dad72;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sub-eligible-tag{display:inline-block;padding:2px 9px;border-radius:5px;background:rgba(90,140,90,.15);border:1px solid rgba(90,140,90,.35);color:#7ec87e;font-size:11px;font-weight:700;letter-spacing:.06em}
/* Product card image hover swap */
.shop-product-img.has-hover{transition:opacity .35s ease,transform .4s ease}
/* Product card out-of-stock modifier */
.shop-product-card--oos{opacity:.72}
.shop-product-card--oos .shop-product-img{filter:grayscale(.5)}
.shop-product-card--oos .shop-add-cart:disabled{background:rgba(255,255,255,.07);color:rgba(216,204,184,.4);border:1px solid rgba(255,255,255,.1);cursor:not-allowed}
.shop-oos-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,7,4,.5);z-index:1;pointer-events:none}
.shop-oos-overlay span{padding:7px 18px;border-radius:8px;background:rgba(20,14,8,.85);border:1px solid rgba(255,255,255,.18);color:rgba(216,204,184,.7);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
/* Shop price row helpers */
.shop-current-price{color:#f2ddb2;font-size:1.2rem;font-weight:700}
.shop-compare-price{color:rgba(202,170,124,.55);font-size:.95rem;text-decoration:line-through}
.shop-save-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;background:rgba(157,173,114,.2);border:1px solid rgba(157,173,114,.35);color:#9dad72;font-size:11px;font-weight:800;letter-spacing:.06em}
/* Shop card tags row */
.shop-card-tags{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px}
/* Active filter chips */
.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1px solid rgba(198,155,86,.4);background:rgba(198,155,86,.08);color:#d8ccb8;font-size:12px;font-weight:600;cursor:pointer;transition:.2s ease}.filter-chip:hover{background:rgba(198,155,86,.18);border-color:#c69b56}
/* Empty state */
.shop-empty{flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;border:1px dashed #4a3219;border-radius:20px;background:#6f4e37}
/* Filter Drawer (mobile) */
.filter-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:49;opacity:0;pointer-events:none;transition:opacity .3s ease}.filter-backdrop.open{opacity:1;pointer-events:auto}
.filter-drawer{position:fixed;top:0;right:0;bottom:0;width:min(340px,92vw);background:#6f4e37;border-left:1px solid #4a3219;z-index:50;transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.filter-drawer.open{transform:translateX(0)}
.filter-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid #6f4e37}.filter-drawer-header button{background:transparent;color:#d8ccb8;font-size:20px;cursor:pointer;padding:4px 8px}
.filter-drawer-body{flex:1;overflow-y:auto;padding:20px}
.filter-drawer-footer{display:flex;gap:10px;padding:16px 20px;border-top:1px solid #6f4e37}
/* Quick View Modal */
.qv-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:59;opacity:0;pointer-events:none;transition:opacity .3s ease}.qv-backdrop.open{opacity:1;pointer-events:auto}
/* toggled by .open class on qv-modal */
.qv-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:none;opacity:0;transition:opacity .3s ease}.qv-modal.open{opacity:1;pointer-events:auto}
.qv-inner{position:relative;background:linear-gradient(160deg,#1c120b,#130d08);border:1px solid #4a3219;border-radius:24px;width:100%;max-width:860px;max-height:90vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.7)}
.qv-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.15);color:#d8ccb8;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:.2s ease}.qv-close:hover{background:rgba(255,255,255,.1)}
.qv-grid{display:grid}
@media(min-width:640px){.qv-grid{grid-template-columns:1fr 1fr}}
.qv-img-wrap{overflow:hidden;border-radius:20px 0 0 20px}.qv-img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
@media(max-width:639px){.qv-img-wrap{border-radius:20px 20px 0 0}.qv-img{min-height:220px}}
.qv-details{padding:32px 28px}
.qv-sub-wrap{background:rgba(157,173,114,.08);border:1px solid rgba(157,173,114,.25);border-radius:10px;padding:14px 16px}
/* FAQ */
.faq-list{border-top:1px solid #6f4e37}
.faq-item{border-bottom:1px solid #6f4e37}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px 0;background:transparent;color:#ecdcc3;font-size:17px;font-weight:600;cursor:pointer;text-align:left;transition:.2s ease}.faq-question:hover{color:#f2ddb2}
.faq-icon{font-size:22px;color:#c69b56;line-height:1;transition:transform .25s ease;flex-shrink:0}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .25s ease}.faq-answer p{color:rgba(216,204,184,.78);font-size:16px;line-height:1.8;padding-bottom:20px}
.faq-item.open .faq-answer{max-height:300px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-item.open .faq-question{color:#e8b84b}
/* Email signup */
.email-signup-block{background:linear-gradient(135deg,#1e130c,#130d08);border:1px solid #4a3219;border-radius:28px;padding:48px 32px;text-align:center}
.email-signup-form{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:500px;margin:0 auto}
.email-signup-input{flex:1;min-width:220px;background:#6e4e38;border:1px solid #4a3219;border-radius:8px;padding:14px 16px;color:#f3e4d1;font-size:15px;outline:none;transition:.2s ease}.email-signup-input:focus{border-color:#c69b56}
@media(max-width:768px){.shop-grid{grid-template-columns:1fr}.shop-card-actions{transform:translateY(0);position:static;background:transparent;padding:0 0 4px;flex-direction:column}.qv-inner{max-height:95vh}}
.mobile-toggle{display:none}
/* Our Coffee's Story section */
.cs-section{background:#6f4e37;border-top:1px solid #2b1b0d;border-bottom:1px solid #2b1b0d}.cs-grid{display:grid;gap:56px;align-items:center}.cs-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.2vw,56px);line-height:1.1;color:#ecdcc3;margin-top:10px}.cs-badges{display:flex;flex-wrap:wrap;gap:14px}.cs-badge{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 18px;min-width:120px;text-align:center;border:1px solid rgba(198,155,86,.28);border-radius:16px;background:rgba(198,155,86,.06)}.cs-badge-icon{font-size:26px;line-height:1}.cs-badge p{color:#d8ccb8;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4;margin:0}.cs-visual{position:relative;display:flex;align-items:center;justify-content:center;padding:28px 0}.cs-blob{position:relative;width:100%;max-width:500px;margin:0 auto;border-radius:62% 38% 54% 46% / 56% 44% 62% 38%;overflow:hidden;border:2px solid rgba(198,155,86,.32);box-shadow:0 28px 64px rgba(0,0,0,.6)}.cs-blob img{width:100%;display:block;object-fit:cover;filter:brightness(1.04)}.cs-spin-badge{position:absolute;bottom:12%;left:calc(50% - 240px);width:128px;height:128px;display:flex;align-items:center;justify-content:center}.cs-spin-svg{position:absolute;inset:0;width:100%;height:100%;animation:cs-spin 14s linear infinite}.cs-spin-svg text{fill:#c69b56;font-size:13px;letter-spacing:.05em;font-family:Georgia,serif}.cs-spin-inner{position:relative;z-index:1;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#4a2e10,#1c0f06);border:1px solid rgba(198,155,86,.5);display:flex;align-items:center;justify-content:center;font-size:22px}@keyframes cs-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(min-width:1024px){.cs-grid{grid-template-columns:1fr 1fr}}
/* About Split section */
.ab-section{background:#6f4e37;color:#000000;color:#000000;border-top:1px solid #2b1b0d;border-bottom:1px solid #2b1b0d}.ab-grid{display:grid;gap:56px;align-items:center}.ab-img-wrap{position:relative;padding-bottom:28px;padding-right:16px}.ab-img{width:100%;border-radius:20px;display:block;object-fit:cover;min-height:420px;max-height:520px;border:1px solid rgba(198,155,86,.22);box-shadow:0 24px 56px rgba(0,0,0,.55)}.ab-stats-card{position:absolute;bottom:0;right:0;background:linear-gradient(145deg,#1e130c,#140e08);border:1px solid rgba(198,155,86,.35);border-radius:18px;padding:24px 28px;display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;box-shadow:0 20px 48px rgba(0,0,0,.55);min-width:220px}.ab-stat strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:28px;font-weight:700;color:#ffffff;line-height:1}.ab-stat span{display:block;margin-top:4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#ffffff;font-weight:600}.ab-heading{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,3vw,52px);line-height:1.1;color:#000000;margin-top:10px}.ab-text{padding-bottom:28px}
@media(min-width:1024px){.ab-grid{grid-template-columns:1.05fr 1fr}}
@media (max-width:1279px){.hero-cutout{max-width:620px}.service-box{border-right:none;border-bottom:1px solid #6f4e37}.service-box:last-child{border-bottom:none}}
@media (max-width:1024px){.hero-visual{min-height:460px}.product-image{height:240px}.cart-aside-home{display:none}}
@media (max-width:768px){.mobile-toggle{display:block}.site-nav{display:none;width:100%;padding-top:16px}.site-nav.open{display:flex}.topbar .center-copy{display:none}.feature-card{border-right:none;border-bottom:1px solid rgba(215,173,96,.22);padding-bottom:16px}.feature-card:last-child{border-bottom:none}.hero-visual{min-height:360px}.hero-cutout{max-width:100%}.product-card h3{font-size:22px}.price-row span{font-size:28px}.contact-grid,.about-grid,.story-grid{display:block}.cart-panel{border-left:none;border-top:1px solid #6f4e37}.cs-grid{gap:32px}.cs-blob{max-width:360px;border-radius:50% 50% 50% 50% / 50% 50% 50% 50%}.cs-spin-badge{left:50%;transform:translateX(-120px);bottom:4%;width:100px;height:100px}.ab-grid{gap:32px}.ab-stats-card{position:static;margin-top:16px;width:100%}.img-slider{height:300px}.img-slider-caption{padding:20px 20px}.img-slider-caption h3{font-size:20px}.img-slider-btn{width:40px;height:40px;font-size:17px}.img-slider-prev{left:10px}.img-slider-next{right:10px}.img-slider-dots{bottom:14px;right:20px}}

/* =============================================================
   SHARED — Tags, breadcrumb, form validation
============================================================= */
.breadcrumb-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:rgba(216,204,184,.55)}.breadcrumb-nav a{color:rgba(216,204,184,.7);text-decoration:none;transition:color .2s}.breadcrumb-nav a:hover{color:#c69b56}.breadcrumb-nav span{color:rgba(216,204,184,.35)}
.roast-tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(197,155,86,.18);color:#c69b56;border:1px solid rgba(197,155,86,.3)}
.origin-tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(157,173,114,.15);color:#9dad72;border:1px solid rgba(157,173,114,.3)}
.category-tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.07);color:rgba(216,204,184,.75);border:1px solid rgba(255,255,255,.12)}
.stars-gold{color:#c69b56;font-size:1.1em;letter-spacing:.04em}
.tasting-note{display:inline-block;padding:6px 16px;border-radius:999px;font-size:13px;font-weight:600;background:rgba(197,155,86,.12);color:#c69b56;border:1px solid rgba(197,155,86,.25)}
.input-error{border-color:#d46b6b !important;outline-color:#d46b6b !important}
.field-error{color:#d46b6b;font-size:12px;margin-top:4px}
.promo-msg.success{color:#9dad72}.promo-msg.error{color:#d46b6b}

/* =============================================================
   PRODUCT DETAIL PAGE (product.html)
============================================================= */
.pdp-section{padding-top:8px}
.pdp-grid{display:grid;gap:40px;align-items:start}
@media(min-width:1024px){.pdp-grid{grid-template-columns:1fr 1fr;gap:56px}}

/* Gallery */
.pdp-gallery{display:flex;flex-direction:column-reverse;gap:12px}
@media(min-width:640px){.pdp-gallery{flex-direction:row;align-items:flex-start;gap:14px}}
.pdp-thumbs{display:flex;flex-direction:row;gap:10px;flex-wrap:wrap}
@media(min-width:640px){.pdp-thumbs{flex-direction:column;flex-wrap:nowrap}}
.pdp-thumb{width:68px;height:68px;border-radius:10px;overflow:hidden;border:2px solid rgba(255,255,255,.1);background:#1a120b;cursor:pointer;transition:border-color .2s,transform .2s;flex-shrink:0}
.pdp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-thumb:hover,.pdp-thumb.active{border-color:#c69b56;transform:scale(1.05)}
.pdp-main-img-wrap{position:relative;flex:1;border-radius:18px;overflow:hidden;background:#130d08;border:1px solid rgba(255,255,255,.08)}
.pdp-main-img{width:100%;display:block;object-fit:cover;min-height:340px;max-height:520px;transition:transform .35s ease}
.pdp-main-img-wrap:hover .pdp-main-img{transform:scale(1.03)}

/* Badge */
.pdp-badge{position:absolute;top:14px;left:14px;padding:5px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;z-index:2}

/* Price row */
.pdp-price-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px}
.pdp-save-pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.12em;background:#9dad72;color:#1d170e;text-transform:uppercase;vertical-align:middle}

/* Stock status */
.pdp-stock-in{color:#9dad72;font-weight:600}.pdp-stock-out{color:#d46b6b;font-weight:600}

/* Purchase mode toggle */
.pdp-modes{display:flex;gap:0;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);width:fit-content}
.pdp-mode-btn{padding:9px 18px;font-size:13px;font-weight:600;letter-spacing:.04em;background:transparent;color:rgba(216,204,184,.65);border:none;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap}
.pdp-mode-btn.active{background:rgba(197,155,86,.2);color:#c69b56}
.pdp-mode-btn:hover:not(.active){background:rgba(255,255,255,.05);color:rgba(216,204,184,.9)}
.pdp-select{background:#1a120b;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#d8ccb8;padding:8px 12px;font-size:14px;outline:none}
.pdp-select:focus{border-color:#c69b56}

/* Grind options */
.grind-option{padding:7px 16px;border-radius:8px;font-size:13px;font-weight:600;background:rgba(255,255,255,.06);color:rgba(216,204,184,.7);border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}
.grind-option.active{background:rgba(157,173,114,.2);color:#9dad72;border-color:rgba(157,173,114,.45)}
.grind-option:hover:not(.active){background:rgba(255,255,255,.1)}

/* Qty + action row */
.pdp-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pdp-qty-wrap{display:flex;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:10px;overflow:hidden;background:#1a120b}
.pdp-qty-btn{width:40px;height:44px;background:transparent;border:none;color:#d8ccb8;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.pdp-qty-btn:hover{background:rgba(255,255,255,.08)}
.pdp-qty-input{width:48px;height:44px;background:transparent;border:none;color:#f2ddb2;font-size:16px;font-weight:700;text-align:center;-moz-appearance:textfield}
.pdp-qty-input::-webkit-inner-spin-button,.pdp-qty-input::-webkit-outer-spin-button{-webkit-appearance:none}

/* Wishlist button */
.pdp-wishlist-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;color:rgba(216,204,184,.6);background:transparent;border:1px solid rgba(255,255,255,.1);cursor:pointer;transition:all .2s}
.pdp-wishlist-btn:hover{border-color:rgba(220,100,100,.5);color:#e07070}
.pdp-wishlist-btn.wished{border-color:rgba(220,100,100,.6);color:#e07070;background:rgba(220,100,100,.08)}
.heart-icon{font-size:1.1em}

/* Trust row */
.pdp-trust-row{display:flex;flex-wrap:wrap;gap:14px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}
.pdp-trust-row span{font-size:12px;color:rgba(216,204,184,.55);font-weight:600;letter-spacing:.04em}

/* Content columns below product overview */
.pdp-content-row{display:grid;gap:40px}
@media(min-width:768px){.pdp-content-row{grid-template-columns:1fr 1fr;gap:48px}}

/* Accordion */
.pdp-acc-list{border-top:1px solid rgba(255,255,255,.1)}
.pdp-acc-item{border-bottom:1px solid rgba(255,255,255,.08)}
.pdp-acc-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 4px;background:none;border:none;color:#d8ccb8;font-size:15px;font-weight:600;cursor:pointer;text-align:left;transition:color .2s}
.pdp-acc-btn:hover{color:#c69b56}
.pdp-acc-icon{font-size:20px;font-weight:400;transition:transform .25s;color:#c69b56}
.pdp-acc-item.open .pdp-acc-icon{transform:rotate(45deg)}
.pdp-acc-body{overflow:hidden;max-height:0;transition:max-height .35s ease}
.pdp-acc-item.open .pdp-acc-body{max-height:600px}
.pdp-acc-body p,.pdp-acc-body>div{padding:4px 4px 20px;color:rgba(216,204,184,.8);font-size:14px;line-height:1.75}
.acc-table div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:14px;gap:16px}
.acc-table div span:first-child{color:rgba(216,204,184,.5);min-width:130px}
.acc-table div span:last-child{color:#d8ccb8;text-align:right}

/* Not found state */
.pdp-not-found{display:flex;justify-content:center;padding:80px 24px}

/* =============================================================
   CART PAGE (cart.html)
============================================================= */
.cart-page-layout{display:grid;gap:32px;align-items:start}
@media(min-width:1024px){.cart-page-layout{grid-template-columns:1fr 380px;gap:48px}}

/* Cart item rows */
.cart-page-item{display:grid;grid-template-columns:90px 1fr auto;gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.cart-page-item:last-child{border-bottom:none}
@media(max-width:480px){.cart-page-item{grid-template-columns:72px 1fr;}.cart-page-item-right{grid-column:1 / -1}}
.cart-page-item-img{border-radius:12px;overflow:hidden;background:#1a120b;border:1px solid rgba(255,255,255,.08)}
.cart-page-item-img img{width:90px;height:90px;object-fit:cover;display:block}
.cart-page-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.cart-page-item-name{font-size:16px;font-weight:700;color:#ecdcc3;text-decoration:none;transition:color .2s}
.cart-page-item-right{display:flex;flex-direction:column;align-items:flex-end;min-width:100px}
.cart-page-remove{font-size:12px;color:rgba(163,138,111,.6);text-decoration:underline;cursor:pointer;background:none;border:none;transition:color .2s}
.cart-page-remove:hover{color:#d46b6b}

/* Cart summary panel */
.cart-summary-panel{background:linear-gradient(160deg,#1e130c,#130d08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px;position:sticky;top:24px}
.cart-summary-rows{display:flex;flex-direction:column;gap:10px}
.cart-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:rgba(216,204,184,.75)}
.cart-summary-row--total{padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:16px;color:#d8ccb8;font-weight:600}

/* Promo code */
.cart-promo-input{flex:1;background:#6e4e38;border:1px solid rgba(255,255,255,.14);border-radius:8px;color:#d8ccb8;padding:10px 14px;font-size:14px;outline:none;transition:border-color .2s}
.cart-promo-input:focus{border-color:#c69b56}

/* Free shipping progress bar */
.ship-progress-bar{height:6px;background:rgba(255,255,255,.1);border-radius:999px;overflow:hidden}
.ship-progress-fill{height:100%;background:linear-gradient(90deg,#9dad72,#c69b56);border-radius:999px;transition:width .5s ease}

/* Cart empty state */
.cart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;text-align:center;background:#6f4e37;border-radius:18px;border:1px dashed rgba(255,255,255,.12)}

/* =============================================================
   CHECKOUT PAGE (checkout.html)
============================================================= */
.chk-shell{min-height:100vh;display:flex;flex-direction:column;background:#0a0704}

/* Header */
.chk-header{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#130d08;border-bottom:1px solid rgba(255,255,255,.08)}
.chk-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.chk-secure-badge{font-size:13px;color:rgba(216,204,184,.6);letter-spacing:.04em}

/* Progress bar */
.chk-progress-bar{background:#6e4e38;border-bottom:1px solid rgba(255,255,255,.07);padding:12px 0}
.chk-progress-steps{display:flex;align-items:center;gap:8px;list-style:none;font-size:13px;font-weight:600;letter-spacing:.04em}
.chk-step{display:flex;align-items:center;gap:6px;color:rgba(216,204,184,.35)}
.chk-step span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1.5px solid currentColor;font-size:11px}
.chk-step.active{color:#c69b56}
.chk-step.done{color:#9dad72}
.chk-step.done span{background:#9dad72;color:#1d170e;border-color:#9dad72}
.chk-step+.chk-step::before{content:'›';margin-right:8px;color:rgba(255,255,255,.2)}

/* Page body */
.chk-page-body{flex:1}
.chk-layout{display:grid;gap:32px;align-items:start}
@media(min-width:1024px){.chk-layout{grid-template-columns:1fr 420px;gap:48px}}

/* Form sections */
.chk-section{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.chk-section:last-of-type{border-bottom:none}
.chk-section-title{font-family:Georgia,'Times New Roman',serif;font-size:19px;color:#ecdcc3;margin-bottom:18px;font-weight:600}
.chk-field{display:flex;flex-direction:column;gap:5px}
.chk-label{font-size:13px;font-weight:600;color:rgba(216,204,184,.75);letter-spacing:.03em}
.req{color:#d46b6b}.req-opt{color:rgba(216,204,184,.4);font-weight:400;font-size:12px}
.chk-input{background:#1a120b;border:1px solid rgba(255,255,255,.14);border-radius:10px;color:#d8ccb8;padding:12px 14px;font-size:15px;outline:none;transition:border-color .2s,box-shadow .2s;width:100%}
.chk-input:focus{border-color:#c69b56;box-shadow:0 0 0 3px rgba(197,155,86,.15)}
.chk-input::placeholder{color:rgba(216,204,184,.3)}
.chk-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c69b56' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.chk-textarea{resize:vertical;min-height:80px}
.chk-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chk-row-3{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:12px}
@media(max-width:480px){.chk-row-2,.chk-row-3{grid-template-columns:1fr}}
.chk-checkbox-row{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(216,204,184,.7);cursor:pointer}
.chk-checkbox-row input{accent-color:#c69b56;width:16px;height:16px}

/* Shipping method radio */
.chk-shipping-methods{display:flex;flex-direction:column;gap:10px}
.chk-radio-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s}
.chk-radio-option input[type="radio"]{accent-color:#c69b56;width:16px;height:16px;flex-shrink:0}
.chk-radio-body{flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px}
.chk-radio-option--selected{border-color:rgba(197,155,86,.5);background:rgba(197,155,86,.07)}

/* Card input icon hint */
.chk-card-input{letter-spacing:.08em}

/* Demo notice */
.chk-demo-notice{background:rgba(91,143,212,.12);border:1px solid rgba(91,143,212,.3);border-radius:8px;padding:10px 14px;font-size:13px;color:rgba(216,204,184,.75)}

/* Summary card */
.chk-summary-col{position:sticky;top:24px}
.chk-summary-card{background:linear-gradient(160deg,#1e130c,#130d08);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px}

/* Checkout items */
.chk-items-list{display:flex;flex-direction:column;gap:12px}
.chk-item{display:flex;align-items:center;gap:12px}
.chk-item-img{position:relative;flex-shrink:0}
.chk-item-img img{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,.1);background:#1a120b;display:block}
.chk-item-qty-badge{position:absolute;top:-8px;right:-8px;min-width:20px;height:20px;border-radius:50%;background:#c69b56;color:#1d170e;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;padding:0 4px}
.chk-item-info{flex:1;min-width:0}
.chk-item-name{font-size:13px;font-weight:700;color:rgba(236,220,195,.9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chk-item-sub{font-size:11px;color:rgba(216,204,184,.5);margin-top:2px}
.chk-item-price{font-size:14px;font-weight:700;color:#f2ddb2;flex-shrink:0}

/* Totals */
.chk-totals{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}
.chk-total-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}
.chk-total-row--grand{padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}

/* Promo row inside summary */
.chk-promo-row{}

/* Trust badges */
.chk-trust{display:flex;flex-wrap:wrap;gap:12px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.chk-trust span{font-size:11px;color:rgba(216,204,184,.45);font-weight:600;letter-spacing:.04em}

/* Footer */
.chk-footer{background:#a8c686;color:#000000;border-top:1px solid #8aaa66}

/* =============================================================
   CHECKOUT — Order Success State
============================================================= */
.chk-success-state{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:40px 24px;text-align:center}
.chk-success-card{max-width:600px;width:100%}
.chk-success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:rgba(157,173,114,.2);border:2px solid #9dad72;color:#9dad72;font-size:36px;font-weight:700}
.chk-success-details{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;padding:24px;background:rgba(255,255,255,.04);border-radius:16px;border:1px solid rgba(255,255,255,.08)}
.chk-success-detail{text-align:center}

/* =============================================================
   RESPONSIVE — Product, Cart, Checkout mobile tweaks
============================================================= */
@media(max-width:768px){
.pdp-gallery{gap:8px}
.pdp-thumbs{flex-direction:row}
.pdp-thumb{width:56px;height:56px}
.pdp-main-img{min-height:260px;max-height:360px}
.pdp-modes{flex-wrap:wrap}
.pdp-mode-btn{flex:1;font-size:12px;padding:8px 10px}
.pdp-actions{flex-direction:column;align-items:stretch}
.pdp-qty-wrap{justify-content:center}
.cart-page-item{grid-template-columns:72px 1fr}
.cart-page-item-right{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between}
.cart-summary-panel{position:static}
.chk-summary-col{position:static}
.chk-header{padding:12px 16px}
.chk-row-2{grid-template-columns:1fr}
.chk-row-3{grid-template-columns:1fr}
}

/* =============================================================
   CART NAV ICON + DRAWER
============================================================= */

/* Cart icon button in nav */
.cart-nav-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;background:rgba(198,155,86,.12);border:1px solid rgba(198,155,86,.3);color:#d8ccb8;cursor:pointer;transition:background .2s,border-color .2s,color .2s;flex-shrink:0}
.cart-nav-btn:hover{background:rgba(198,155,86,.22);border-color:rgba(198,155,86,.55);color:#f2ddb2}
.cart-nav-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:999px;background:#c69b56;color:#1d170e;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;pointer-events:none;border:2px solid #0a0704}

/* Drawer backdrop */
.cart-drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:199;opacity:0;pointer-events:none;transition:opacity .3s ease}
.cart-drawer-backdrop.open{opacity:1;pointer-events:auto}

/* Drawer panel */
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100vw);background:#6f4e37;border-left:1px solid #6f4e37;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:200;overscroll-behavior:contain}
.cart-drawer.open{transform:translateX(0)}

/* Drawer header */
.cart-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}
.cart-drawer-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:#ecdcc3;letter-spacing:.03em}
.cart-drawer-count{font-size:13px;font-weight:500;color:rgba(216,204,184,.55)}
.cart-drawer-close{width:32px;height:32px;border-radius:8px;background:rgba(255,255,255,.06);border:none;color:#d8ccb8;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.cart-drawer-close:hover{background:rgba(255,255,255,.12);color:#fff}

/* Drawer scrollable body */
.cart-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;overscroll-behavior:contain}
.cart-drawer-body::-webkit-scrollbar{width:4px}.cart-drawer-body::-webkit-scrollbar-track{background:transparent}.cart-drawer-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}

/* Drawer empty state */
.cart-drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 20px;gap:12px}
.cart-drawer-empty-icon{font-size:44px;line-height:1}
.cart-drawer-empty h3{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#ecdcc3}
.cart-drawer-empty p{font-size:14px;color:rgba(216,204,184,.6);max-width:220px}
.cart-drawer-shop-btn{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(198,155,86,.18);border:1px solid rgba(198,155,86,.4);color:#c69b56;transition:background .2s,border-color .2s}
.cart-drawer-shop-btn:hover{background:rgba(198,155,86,.28);border-color:rgba(198,155,86,.6)}

/* Drawer items */
.cart-drawer-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.cart-drawer-item:last-child{border-bottom:none}
.cart-drawer-item-img{width:64px;height:64px;border-radius:10px;overflow:hidden;background:#1a120b;border:1px solid rgba(255,255,255,.08);flex-shrink:0}
.cart-drawer-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.cart-drawer-item-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.cart-drawer-item-name{font-size:14px;font-weight:700;color:#ecdcc3;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-drawer-item-type{font-size:12px;color:rgba(216,204,184,.5)}
.cart-drawer-item-row{display:flex;align-items:center;gap:10px;margin-top:6px}
.cart-drawer-qty{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:7px;overflow:hidden;background:#1a120b}
.cart-drawer-qty button{width:28px;height:28px;background:transparent;border:none;color:#d8ccb8;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.cart-drawer-qty button:hover{background:rgba(255,255,255,.08)}
.cart-drawer-qty span{width:28px;text-align:center;font-size:14px;font-weight:700;color:#f2ddb2;line-height:28px}
.cart-drawer-item-price{font-size:14px;font-weight:700;color:#f2ddb2;margin-left:auto}
.cart-drawer-remove{background:none;border:none;color:rgba(163,138,111,.5);font-size:18px;cursor:pointer;line-height:1;padding:0 2px;transition:color .2s}
.cart-drawer-remove:hover{color:#d46b6b}

/* Drawer footer */
.cart-drawer-footer{flex-shrink:0;flex-direction:column;gap:10px;padding:16px 20px 24px;border-top:1px solid rgba(255,255,255,.08);background:#6e4e38}
.cart-drawer-totals{display:flex;flex-direction:column;gap:6px}
.cart-drawer-totals-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:rgba(216,204,184,.75)}
.cart-drawer-ship-note{font-size:12px;color:rgba(157,173,114,.8);text-align:center;min-height:1.2em}
.cart-drawer-actions{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.cart-drawer-checkout-btn{display:flex;align-items:center;justify-content:center;padding:14px;border-radius:10px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#9dad72;color:#1d170e;text-decoration:none;transition:filter .2s}
.cart-drawer-checkout-btn:hover{filter:brightness(1.08)}
.cart-drawer-view-btn{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:10px;font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.12);color:rgba(216,204,184,.7);text-decoration:none;transition:border-color .2s,color .2s}
.cart-drawer-view-btn:hover{border-color:rgba(255,255,255,.25);color:#d8ccb8}

/* text-accent helper for drawer */
.text-accent{color:#9dad72}
@media(max-width:480px){.cart-drawer{width:100vw}}
