@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,600&family=Montserrat:wght@300;400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --gold:#c9a84c;
  --gold-light:#f0c040;
  --bg:#0a0a0a;
  --bg-card:#111111;
  --bg-card2:#161616;
  --fg:#f5efe0;
  --fg-muted:rgba(245,239,224,0.55);
  --border:rgba(201,168,76,0.15);
  --border-hover:rgba(201,168,76,0.4);
  --serif:'Cormorant Garamond',serif;
  --sans:'Montserrat',sans-serif;
  --radius:2px;
}

html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px;line-height:1.6;min-height:100vh;}

/* ── LOADER ── */
#loader{position:fixed;inset:0;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease;}
#loader.hidden{opacity:0;pointer-events:none;}
.loader-gem{width:48px;height:48px;border:2px solid var(--border);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ── HEADER ── */
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:box-shadow .3s;}
header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.5);border-bottom-color:rgba(201,168,76,.3);}
.header-inner{max-width:1200px;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo{text-decoration:none;display:flex;align-items:center;gap:10px;}
.logo-icon{width:22px;height:22px;fill:none;stroke:var(--gold);stroke-width:1.5;}
.logo-text{display:flex;flex-direction:column;}
.logo-name{font-family:var(--serif);font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);line-height:1.1;}
.logo-sub{font-size:8px;letter-spacing:.35em;text-transform:uppercase;color:var(--fg);opacity:.5;margin-top:2px;}
nav{display:flex;align-items:center;gap:32px;}
nav a{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg);text-decoration:none;opacity:.7;transition:opacity .2s,color .2s;position:relative;}
nav a:hover,nav a.active{opacity:1;color:var(--gold);}
nav a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--gold);}
.header-icons{display:flex;align-items:center;gap:8px;}
.cart-btn{position:relative;background:none;border:none;cursor:pointer;padding:8px;color:var(--fg);transition:color .2s;}
.cart-btn:hover{color:var(--gold);}
.cart-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;}
.cart-count{position:absolute;top:-2px;right:-2px;background:var(--gold);color:#0a0a0a;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--sans);}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:8px;color:var(--fg);}
.hamburger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;}
.mobile-nav{display:none;position:fixed;top:70px;left:0;right:0;background:rgba(10,10,10,.99);border-bottom:1px solid var(--border);padding:24px;flex-direction:column;gap:20px;z-index:99;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-size:13px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg);text-decoration:none;opacity:.7;transition:opacity .2s;}
.mobile-nav a:hover{opacity:1;color:var(--gold);}

/* ── TOAST ── */
#toast-container{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:10px;}
.toast{background:#111;border:1px solid rgba(201,168,76,.3);color:var(--fg);padding:12px 18px;border-radius:var(--radius);font-family:var(--sans);font-size:12px;letter-spacing:.05em;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:slideIn .3s ease;display:flex;align-items:center;gap:10px;}
.toast .toast-icon{color:var(--gold);}
@keyframes slideIn{from{transform:translateX(100px);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ── HERO ── */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;display:flex;align-items:center;}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.hero-slide.active{opacity:1;}
.hero-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.3);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.7) 0%,rgba(10,8,2,.5) 50%,rgba(0,0,0,.65) 100%);}
.hero-bottom-fade{position:absolute;bottom:0;left:0;right:0;height:160px;background:linear-gradient(to top,var(--bg),transparent);}
.hero-content{position:relative;z-index:2;max-width:1200px;margin:auto;padding:0 40px;width:100%;}
.hero-tag{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.hero-tag .line{height:1px;width:40px;background:var(--gold);}
.hero-tag span{font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);}
.hero-title{font-family:var(--serif);font-size:clamp(48px,8vw,90px);font-weight:300;line-height:1;margin-bottom:16px;color:var(--fg);}
.hero-title em{color:var(--gold);font-style:italic;}
.hero-subtitle{font-size:13px;line-height:1.8;max-width:420px;color:var(--fg);opacity:.6;margin-bottom:32px;}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:#0a0a0a;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;padding:14px 30px;border:none;cursor:pointer;transition:opacity .2s,gap .3s;border-radius:var(--radius);}
.btn-primary:hover{opacity:.9;gap:16px;}
.btn-primary svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;}
.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--gold);font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;text-decoration:none;padding:12px 28px;border:1px solid rgba(201,168,76,.4);cursor:pointer;transition:all .2s;border-radius:var(--radius);}
.btn-outline:hover{border-color:var(--gold);gap:16px;}
.btn-outline svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;}
.hero-dots{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:5;}
.hero-dot{height:2px;background:rgba(201,168,76,.35);border:none;cursor:pointer;transition:all .3s;}
.hero-dot.active{background:var(--gold);}
.hero-counter{position:absolute;bottom:40px;right:32px;font-size:11px;letter-spacing:.2em;color:rgba(201,168,76,.45);font-family:var(--sans);z-index:5;}

/* ── MARQUEE ── */
.marquee-strip{background:var(--gold);color:#0a0a0a;padding:10px 0;overflow:hidden;white-space:nowrap;}
.marquee-inner{display:inline-flex;gap:0;animation:marquee 30s linear infinite;}
.marquee-item{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;padding:0 32px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ── SECTION TITLE ── */
.section{padding:80px 0;}
.container{max-width:1200px;margin:auto;padding:0 24px;}
.section-title{text-align:center;margin-bottom:48px;}
.section-title .tag{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;}
.section-title .tag .line{height:1px;width:40px;background:rgba(201,168,76,.5);}
.section-title .tag span{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);}
.section-title h2{font-family:var(--serif);font-size:clamp(32px,5vw,52px);font-weight:300;color:var(--fg);}
.section-title p{font-size:12px;color:var(--fg-muted);max-width:380px;margin:10px auto 0;}

/* ── PRODUCT GRID ── */
.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;}
.product-card{background:var(--bg-card);border:1px solid rgba(201,168,76,.08);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .3s;text-decoration:none;color:inherit;display:block;}
.product-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.6);}
.product-img{position:relative;aspect-ratio:3/4;overflow:hidden;}
.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;filter:brightness(.92);}
.product-card:hover .product-img img{transform:scale(1.1);}
.product-badge{position:absolute;top:10px;left:10px;background:rgba(10,10,10,.85);color:var(--gold);font-size:8px;letter-spacing:.25em;text-transform:uppercase;padding:4px 8px;border:1px solid rgba(201,168,76,.2);}
.product-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),transparent 60%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;justify-content:center;padding-bottom:16px;}
.product-card:hover .product-overlay{opacity:1;}
.product-add-btn{background:var(--gold);color:#0a0a0a;border:none;font-family:var(--sans);font-size:9px;letter-spacing:.25em;text-transform:uppercase;padding:10px 18px;cursor:pointer;display:flex;align-items:center;gap:6px;border-radius:var(--radius);font-weight:600;}
.product-add-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;}
.product-info{padding:14px 16px;}
.product-name{font-family:var(--serif);font-size:16px;color:var(--fg);margin-bottom:4px;line-height:1.3;}
.product-price{font-size:13px;font-weight:500;color:var(--gold);}

/* ── CATEGORIES ── */
.categories-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.cat-card{position:relative;aspect-ratio:3/4;overflow:hidden;cursor:pointer;border-radius:var(--radius);text-decoration:none;display:block;}
.cat-card img{width:100%;height:100%;object-fit:cover;filter:brightness(.42);transition:transform .7s ease;}
.cat-card:hover img{transform:scale(1.1);}
.cat-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent 55%);}
.cat-card-border{position:absolute;inset:0;border:1.5px solid transparent;transition:border-color .3s;}
.cat-card:hover .cat-card-border{border-color:rgba(201,168,76,.6);}
.cat-card-info{position:absolute;bottom:0;left:0;right:0;padding:16px;}
.cat-card-tag{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.cat-card-name{font-family:var(--serif);font-size:17px;color:var(--fg);line-height:1.2;}

/* ── OFFER BANNER ── */
.offer-section{padding:40px 24px;}
.offer-inner{max-width:900px;margin:auto;background:linear-gradient(135deg,#0a0803,#1a140a,#0a0803);border:1px solid rgba(201,168,76,.25);border-radius:var(--radius);text-align:center;padding:70px 40px;position:relative;box-shadow:0 0 60px rgba(201,168,76,.05);}
.corner{position:absolute;width:36px;height:36px;border-color:rgba(201,168,76,.4);border-style:solid;}
.corner-tl{top:14px;left:14px;border-width:1px 0 0 1px;}
.corner-tr{top:14px;right:14px;border-width:1px 1px 0 0;}
.corner-bl{bottom:14px;left:14px;border-width:0 0 1px 1px;}
.corner-br{bottom:14px;right:14px;border-width:0 1px 1px 0;}
.offer-tag{font-size:9px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.offer-title{font-family:var(--serif);font-size:clamp(28px,4vw,44px);font-weight:300;color:var(--fg);margin-bottom:12px;line-height:1.2;}
.offer-title em{color:var(--gold);font-style:italic;}
.offer-sub{font-size:12px;color:var(--fg-muted);margin-bottom:28px;max-width:360px;margin-left:auto;margin-right:auto;}

/* ── PAGE HEADER ── */
.page-header{padding:80px 24px 60px;text-align:center;border-bottom:1px solid var(--border);background:linear-gradient(to bottom,rgba(201,168,76,.03),transparent);}
.page-header .tag{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:10px;}
.page-header .tag .line{height:1px;width:40px;background:rgba(201,168,76,.5);}
.page-header .tag span{font-size:9px;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);}
.page-header h1{font-family:var(--serif);font-size:clamp(36px,6vw,60px);font-weight:300;color:var(--fg);}
.page-header p{font-size:12px;color:var(--fg-muted);margin-top:8px;}

/* ── SHOP FILTERS ── */
.shop-filters{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:40px;}
.search-box{position:relative;width:100%;max-width:420px;}
.search-box svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;fill:none;stroke:rgba(201,168,76,.5);stroke-width:1.5;}
.search-box input{width:100%;padding:12px 14px 12px 42px;background:transparent;border:1px solid rgba(201,168,76,.2);border-radius:var(--radius);color:var(--fg);font-family:var(--sans);font-size:12px;outline:none;transition:border-color .2s;}
.search-box input:focus{border-color:rgba(201,168,76,.4);}
.search-box input::placeholder{color:rgba(245,239,224,.3);}
.cat-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;}
.cat-filter-btn{background:transparent;border:1px solid rgba(201,168,76,.2);color:var(--fg);font-family:var(--sans);font-size:9px;letter-spacing:.25em;text-transform:uppercase;padding:8px 18px;cursor:pointer;border-radius:var(--radius);opacity:.7;transition:all .2s;}
.cat-filter-btn:hover{opacity:1;border-color:rgba(201,168,76,.4);}
.cat-filter-btn.active{background:var(--gold);color:#0a0a0a;border-color:var(--gold);opacity:1;font-weight:600;}
.results-count{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:20px;}

/* ── PRODUCT DETAIL ── */
.breadcrumb{padding:16px 24px;border-bottom:1px solid rgba(201,168,76,.08);font-size:10px;letter-spacing:.2em;text-transform:uppercase;}
.breadcrumb a{color:var(--fg);opacity:.4;text-decoration:none;transition:opacity .2s;}
.breadcrumb a:hover{opacity:.7;}
.breadcrumb span{color:var(--gold);margin:0 8px;}
.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding:48px 0;}
.product-detail-img-wrap{position:relative;}
.product-detail-img{width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid rgba(201,168,76,.12);border-radius:var(--radius);}
.img-corner{position:absolute;width:28px;height:28px;border-color:rgba(201,168,76,.5);border-style:solid;}
.img-corner-tl{top:-8px;left:-8px;border-width:1px 0 0 1px;}
.img-corner-tr{top:-8px;right:-8px;border-width:1px 1px 0 0;}
.img-corner-bl{bottom:-8px;left:-8px;border-width:0 0 1px 1px;}
.img-corner-br{bottom:-8px;right:-8px;border-width:0 1px 1px 0;}
.product-detail-cat{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.product-detail-name{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:300;color:var(--fg);line-height:1.1;margin-bottom:12px;}
.product-detail-stars{display:flex;gap:3px;margin-bottom:20px;align-items:center;}
.star{color:var(--gold);font-size:13px;}
.stars-label{font-size:10px;color:var(--fg-muted);margin-left:8px;}
.product-detail-price{font-family:var(--serif);font-size:42px;font-weight:300;color:var(--gold);margin-bottom:28px;}
.detail-divider{height:1px;background:rgba(201,168,76,.1);margin-bottom:20px;}
.product-detail-desc{font-size:13px;line-height:1.8;color:var(--fg-muted);margin-bottom:28px;}
.product-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;}
.spec{font-size:11px;}
.spec-label{color:var(--fg);opacity:.35;margin-bottom:3px;}
.spec-val{color:var(--fg);opacity:.85;}
.add-to-cart-btn{width:100%;background:var(--gold);color:#0a0a0a;border:none;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;padding:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius);transition:opacity .2s;font-weight:600;}
.add-to-cart-btn:hover{opacity:.9;}
.add-to-cart-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;}
.view-cart-link{text-align:center;margin-top:12px;font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);text-decoration:none;display:block;transition:color .2s;}
.view-cart-link:hover{color:var(--gold);}

/* ── CART ── */
.cart-empty{text-align:center;padding:100px 20px;}
.cart-empty svg{width:48px;height:48px;fill:none;stroke:rgba(201,168,76,.25);stroke-width:1.5;margin-bottom:20px;}
.cart-empty h2{font-family:var(--serif);font-size:36px;font-weight:300;color:var(--fg);margin-bottom:10px;}
.cart-empty p{font-size:12px;color:var(--fg-muted);margin-bottom:24px;}
.cart-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;padding:40px 0;}
.cart-items{display:flex;flex-direction:column;gap:16px;}
.cart-item{background:var(--bg-card);border:1px solid rgba(201,168,76,.1);border-radius:var(--radius);padding:20px;display:flex;gap:16px;}
.cart-item-img{width:90px;height:115px;object-fit:cover;border:1px solid rgba(201,168,76,.1);border-radius:var(--radius);flex-shrink:0;}
.cart-item-body{flex:1;display:flex;flex-direction:column;justify-content:space-between;}
.cart-item-cat{font-size:8px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:4px;}
.cart-item-name{font-family:var(--serif);font-size:18px;font-weight:400;color:var(--fg);line-height:1.2;margin-bottom:4px;text-decoration:none;}
a.cart-item-name:hover{opacity:.7;}
.cart-item-price{font-size:13px;font-weight:500;color:var(--gold);}
.cart-item-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
.qty-control{display:flex;align-items:center;border:1px solid rgba(201,168,76,.2);border-radius:var(--radius);overflow:hidden;}
.qty-btn{width:32px;height:32px;background:transparent;border:none;color:var(--fg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s;}
.qty-btn:hover{color:var(--gold);}
.qty-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;}
.qty-val{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--fg);border-left:1px solid rgba(201,168,76,.15);border-right:1px solid rgba(201,168,76,.15);}
.remove-btn{background:none;border:none;cursor:pointer;color:rgba(201,168,76,.4);padding:4px;transition:color .2s;}
.remove-btn:hover{color:var(--gold);}
.remove-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5;}
.item-subtotal{font-size:13px;font-weight:600;color:var(--fg);}
.order-summary{background:var(--bg-card);border:1px solid rgba(201,168,76,.15);border-radius:var(--radius);padding:24px;position:sticky;top:90px;}
.summary-title{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--fg);padding-bottom:16px;border-bottom:1px solid rgba(201,168,76,.1);margin-bottom:16px;}
.summary-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:10px;}
.summary-label{color:var(--fg-muted);}
.summary-val{color:var(--fg);}
.summary-total{display:flex;justify-content:space-between;font-weight:600;font-size:14px;padding-top:12px;border-top:1px solid rgba(201,168,76,.1);margin:12px 0 20px;}
.summary-total .summary-label{color:var(--fg);}
.summary-total .summary-val{color:var(--gold);}
.free-ship-note{font-size:10px;color:var(--fg-muted);margin-bottom:12px;}

/* ── CHECKOUT ── */
.checkout-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;padding:40px 0;}
.checkout-form h3{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--fg);margin-bottom:20px;}
.form-group{margin-bottom:18px;}
.form-label{display:block;font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:8px;}
.form-input,.form-textarea{width:100%;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(201,168,76,.18);border-radius:var(--radius);color:var(--fg);font-family:var(--sans);font-size:12px;outline:none;transition:border-color .2s;}
.form-input:focus,.form-textarea:focus{border-color:rgba(201,168,76,.4);}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(245,239,224,.25);}
.form-textarea{resize:vertical;min-height:80px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.form-error{font-size:10px;color:rgba(220,80,80,.85);margin-top:4px;}
.payment-box{background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.15);border-radius:var(--radius);padding:16px;display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.payment-radio{width:18px;height:18px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.payment-radio-dot{width:7px;height:7px;background:#0a0a0a;border-radius:50%;}
.payment-label{font-size:13px;font-weight:500;color:var(--fg);}
.payment-note{font-size:10px;color:var(--fg-muted);margin-top:2px;}
.payment-icon{margin-left:auto;color:var(--gold);}
.payment-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;}
.place-order-btn{width:100%;background:var(--gold);color:#0a0a0a;border:none;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;padding:16px;cursor:pointer;border-radius:var(--radius);font-weight:600;transition:opacity .2s;}
.place-order-btn:hover{opacity:.9;}
.checkout-product{display:flex;gap:12px;margin-bottom:14px;}
.checkout-product-img{width:52px;height:68px;object-fit:cover;border:1px solid rgba(201,168,76,.1);border-radius:var(--radius);flex-shrink:0;}
.checkout-product-name{font-family:var(--serif);font-size:14px;color:var(--fg);line-height:1.2;margin-bottom:4px;}
.checkout-product-footer{display:flex;justify-content:space-between;font-size:11px;}
.checkout-product-qty{color:var(--fg-muted);}
.checkout-product-price{color:var(--gold);font-weight:500;}

/* ── MODAL ── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s;}
.modal-overlay.open{opacity:1;pointer-events:all;}
.modal{background:#0d0d0d;border:1px solid rgba(201,168,76,.3);border-radius:var(--radius);padding:48px 40px;max-width:420px;width:100%;text-align:center;position:relative;box-shadow:0 0 60px rgba(201,168,76,.08);}
.modal-corner{position:absolute;width:20px;height:20px;border-color:rgba(201,168,76,.45);border-style:solid;}
.modal-corner.tl{top:10px;left:10px;border-width:1px 0 0 1px;}
.modal-corner.tr{top:10px;right:10px;border-width:1px 1px 0 0;}
.modal-corner.bl{bottom:10px;left:10px;border-width:0 0 1px 1px;}
.modal-corner.br{bottom:10px;right:10px;border-width:0 1px 1px 0;}
.modal-icon svg{width:48px;height:48px;fill:none;stroke:var(--gold);stroke-width:1.5;margin-bottom:16px;}
.modal-title{font-family:var(--serif);font-size:30px;font-weight:300;color:var(--fg);margin-bottom:8px;}
.modal-sub{font-size:12px;color:var(--fg-muted);margin-bottom:20px;}
.modal-order-box{background:rgba(201,168,76,.07);border:1px solid rgba(201,168,76,.18);border-radius:var(--radius);padding:14px 20px;margin-bottom:16px;}
.modal-order-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:4px;}
.modal-order-id{font-family:var(--sans);font-size:20px;font-weight:700;letter-spacing:.2em;color:var(--gold);}
.modal-note{font-size:10px;color:var(--fg-muted);margin-bottom:24px;line-height:1.6;}
.modal-close-btn{width:100%;background:var(--gold);color:#0a0a0a;border:none;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;padding:14px;cursor:pointer;border-radius:var(--radius);font-weight:600;}

/* ── ABOUT ── */
.about-hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.about-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.2);}
.about-hero-fade{position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(to top,var(--bg),transparent);}
.about-hero-content{position:relative;z-index:2;padding:80px 20px;}
.about-pillars{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px;}
.pillar{background:var(--bg-card);border:1px solid rgba(201,168,76,.1);border-radius:var(--radius);padding:28px;}
.pillar-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.pillar-line{height:1px;width:22px;background:var(--gold);}
.pillar-title{font-family:var(--serif);font-size:20px;color:var(--gold);}
.pillar p{font-size:12px;line-height:1.7;color:var(--fg-muted);}
.about-quote{background:linear-gradient(135deg,rgba(201,168,76,.06),transparent);border:1px solid rgba(201,168,76,.18);border-radius:var(--radius);padding:48px 40px;text-align:center;position:relative;margin-top:32px;}
.about-quote blockquote{font-family:var(--serif);font-size:clamp(18px,3vw,26px);font-style:italic;font-weight:300;color:var(--fg);line-height:1.5;}
.about-quote em{color:var(--gold);}
.about-quote-attr{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-top:14px;}
.prose{font-size:13px;line-height:1.9;color:var(--fg-muted);}
.prose p{margin-bottom:16px;}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:0;}
.contact-card{background:var(--bg-card);border:1px solid rgba(201,168,76,.12);border-radius:var(--radius);padding:40px;position:relative;overflow:hidden;transition:border-color .3s;}
.contact-card:hover{border-color:rgba(201,168,76,.35);}
.contact-card-top-line{position:absolute;top:0;left:0;right:0;height:1.5px;background:linear-gradient(to right,transparent,rgba(201,168,76,.4),transparent);}
.contact-icon-box{width:48px;height:48px;background:rgba(201,168,76,.08);border:1px solid rgba(201,168,76,.2);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.contact-icon-box svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.5;}
.contact-card h3{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--fg);margin-bottom:14px;}
.contact-card address{font-style:normal;font-size:13px;line-height:1.8;color:var(--fg-muted);}
.contact-email-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold);text-decoration:none;font-size:13px;margin-top:16px;transition:opacity .2s;}
.contact-email-link:hover{opacity:.7;}
.contact-email-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;}
.contact-divider{height:1px;background:rgba(201,168,76,.1);margin:20px 0;}
.contact-sub-label{font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:10px;}
.contact-hours{font-size:12px;color:var(--fg-muted);}
.contact-hours span{display:flex;justify-content:space-between;margin-bottom:4px;}

/* ── FOOTER ── */
footer{background:#060606;border-top:1px solid rgba(201,168,76,.12);padding:56px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:48px;}
.footer-brand-name{font-family:var(--serif);font-size:22px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;}
.footer-brand-desc{font-size:12px;line-height:1.7;color:var(--fg-muted);}
.footer-col-title{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:600;}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:8px;}
.footer-links a{font-size:12px;color:var(--fg-muted);text-decoration:none;transition:color .2s;}
.footer-links a:hover{color:var(--fg);}
.footer-address{font-style:normal;font-size:12px;line-height:1.8;color:var(--fg-muted);}
.footer-email{color:var(--gold);text-decoration:none;font-size:12px;display:block;margin-top:8px;transition:opacity .2s;}
.footer-email:hover{opacity:.7;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid rgba(201,168,76,.08);font-size:11px;color:var(--fg-muted);}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .categories-grid{grid-template-columns:repeat(3,1fr);}
  .product-detail-grid,.cart-grid,.checkout-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .about-pillars,.contact-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  nav{display:none;}
  .hamburger{display:flex;}
  .categories-grid{grid-template-columns:repeat(2,1fr);}
  .products-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;gap:6px;text-align:center;}
  .hero-content{padding:0 20px;}
  .cart-grid{grid-template-columns:1fr;}
  .checkout-grid{grid-template-columns:1fr;}
  .modal{padding:36px 24px;}
}
