:root{--bg:#0d0d0f;--bg2:#151518;--card:#18181c;--line:#2a2a30;--text:#ece8df;--muted:#9b978c;--gold:#c9a24b;--gold2:#e4c77d;--red:#d9534f;--green:#3fae6a;--wa:#25d366;--r:10px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--gold2);text-decoration:none}a:hover{color:#fff}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.2;margin:0 0 .5em;letter-spacing:.2px}
h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.25rem}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.center{text-align:center}
main{min-height:60vh;padding-bottom:50px}
.announce{background:var(--gold);color:#111;text-align:center;font-size:12.5px;font-weight:600;letter-spacing:.08em;padding:7px 12px;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:50;background:rgba(13,13,15,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:22px;height:68px}
.brand{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.35rem;letter-spacing:.18em;color:var(--gold2)}
.brand:hover{color:#fff}
.mainnav{display:flex;gap:22px;margin-left:10px}
.mainnav a{color:var(--text);font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.mainnav a:hover{color:var(--gold2)}
.hdr-actions{margin-left:auto;display:flex;align-items:center;gap:14px}
.searchf input{background:var(--bg2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:7px 14px;width:150px;font:inherit;font-size:13px}
.iconlink{color:var(--text);font-size:14px}
.badge{background:var(--gold);color:#111;border-radius:999px;font-size:11px;font-weight:700;padding:1px 7px;margin-left:2px}
.burger{display:none;background:none;border:0;color:var(--text);font-size:24px;cursor:pointer}
.btn{display:inline-block;background:var(--gold);color:#111;border:1px solid var(--gold);padding:11px 24px;border-radius:999px;font:600 14px Inter,sans-serif;letter-spacing:.04em;cursor:pointer;text-align:center;transition:.15s}
.btn:hover{background:var(--gold2);color:#111}
.btn-ghost{background:transparent;color:var(--gold2)}.btn-ghost:hover{background:var(--gold);color:#111}
.btn-wa{background:var(--wa);border-color:var(--wa);color:#07310f}.btn-wa:hover{background:#4ee385;color:#07310f}
.btn-sm{padding:7px 16px;font-size:13px}.btn-block{display:block;width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.flash{padding:11px 16px;border-radius:var(--r);margin:16px 0;border:1px solid var(--line);background:var(--bg2)}
.flash-success{border-color:var(--green);color:#9be3b5}.flash-error{border-color:var(--red);color:#f3a7a4}.flash-info{border-color:var(--gold);color:var(--gold2)}
/* hero */
.hero{position:relative;background:radial-gradient(1200px 500px at 75% 40%,#2a2113 0,transparent 60%),var(--bg);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:60px 20px;max-width:1200px;margin:0 auto}
.eyebrow{color:var(--gold);letter-spacing:.3em;font-size:12px;text-transform:uppercase;font-weight:600}
.hero p{color:var(--muted);font-size:1.05rem;max-width:520px}
.hero .row{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.hero-img img{max-height:480px;margin:auto;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:26px 20px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;text-align:center;font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--gold2)}
.section{padding:50px 0}
.section-title{text-align:center;margin-bottom:30px}
.section-title .eyebrow{display:block;margin-bottom:6px}
.catgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.catcard{position:relative;display:flex;align-items:flex-end;min-height:220px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card) center/cover no-repeat;color:#fff}
.catcard::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,.1))}
.catcard span{position:relative;padding:18px;font:600 1.4rem 'Cormorant Garamond',serif}
.catcard:hover{border-color:var(--gold)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:22px}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.2s}
.pcard:hover{border-color:var(--gold);transform:translateY(-3px)}
.pimg{position:relative;display:block;aspect-ratio:4/5;background:#fff}
.pimg img{width:100%;height:100%;object-fit:contain;padding:10px}
.tagpill{position:absolute;top:10px;left:10px;background:var(--gold);color:#111;font-size:11px;font-weight:700;text-transform:uppercase;padding:3px 10px;border-radius:999px;z-index:2}
.tagpill.out{left:auto;right:10px;background:#444;color:#ddd}
.pinfo{padding:14px 16px 18px}
.pcat{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pinfo h3{margin:3px 0 6px}.pinfo h3 a{color:var(--text)}
.price{color:var(--gold2);font-weight:600;font-size:1.05rem}.price small{font-weight:400;color:var(--muted)}
.price.ask{font-size:.9rem;color:var(--muted)}
del.old{color:var(--muted);font-size:.9rem}.off{color:var(--green);font-size:12px;font-weight:600}
.psnip{color:var(--muted);font-size:13px;margin:8px 0 0}
/* story */
.story{background:var(--bg2);border-block:1px solid var(--line)}
.story p{max-width:760px;margin:0 auto 1em;color:var(--muted);font-size:1.05rem}
/* shop */
.shop-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:26px 0}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid var(--line);border-radius:999px;padding:6px 16px;font-size:13px;color:var(--text)}
.chip.on,.chip:hover{background:var(--gold);color:#111;border-color:var(--gold)}
select,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],textarea{background:var(--bg2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font:inherit;width:100%}
select{width:auto}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.pager{display:flex;gap:6px;justify-content:center;margin-top:34px}
.pager a{border:1px solid var(--line);border-radius:8px;padding:6px 13px;color:var(--text)}.pager a.on{background:var(--gold);color:#111;border-color:var(--gold)}
.crumbs{font-size:13px;color:var(--muted);margin:22px 0}
/* product */
.pdp{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin:10px 0 50px}
.gal-main{background:#fff;border-radius:var(--r);aspect-ratio:1/1.1;display:flex;align-items:center;justify-content:center;overflow:hidden}
.gal-main img{max-height:100%;object-fit:contain;padding:14px}
.thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.thumbs img{width:72px;height:72px;object-fit:contain;background:#fff;border:2px solid transparent;border-radius:8px;cursor:pointer;padding:4px}
.thumbs img.on{border-color:var(--gold)}
.pdp h1{margin-bottom:.2em}
.pdp .pprice{font-size:1.5rem;margin:8px 0 16px}
.pdp .price{font-size:1.6rem}
.variants{display:flex;gap:10px;flex-wrap:wrap;margin:6px 0 18px}
.variants label{cursor:pointer}
.variants input{position:absolute;opacity:0}
.variants span{display:block;border:1px solid var(--line);border-radius:8px;padding:8px 18px;font-size:14px}
.variants input:checked+span{border-color:var(--gold);color:var(--gold2);background:#221c0e}
.buyrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:20px 0}
.qty{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.qty button{background:var(--bg2);border:0;color:var(--text);width:38px;font-size:18px;cursor:pointer}
.qty input{width:52px;border:0;border-radius:0;text-align:center;padding:8px 0;background:var(--bg2);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.desc ul{padding-left:20px}.desc p{margin:.6em 0}
.meta{font-size:13px;color:var(--muted);margin-top:14px}
.meta a{color:var(--muted);text-decoration:underline}
.note{background:var(--bg2);border:1px dashed var(--gold);border-radius:var(--r);padding:12px 14px;font-size:13px;color:var(--gold2);margin-top:14px}
/* tables / cart */
table.tbl{width:100%;border-collapse:collapse}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:left;padding:10px;border-bottom:1px solid var(--line)}
.tbl td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl .num{text-align:right}
.citem{display:flex;gap:14px;align-items:center}
.citem img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
.cols{display:grid;grid-template-columns:1.7fr 1fr;gap:30px;align-items:start}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.box h3{margin-bottom:14px}
.sumrow{display:flex;justify-content:space-between;padding:6px 0}.sumrow.total{border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-size:1.15rem;font-weight:600;color:var(--gold2)}
.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.authbox{max-width:440px;margin:50px auto}
.linkbtn{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:13px}
/* status */
.badge-st{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:600;background:#2a2a30;color:#ddd}
.st-placed{background:#3b3114;color:#f0cf74}.st-confirmed{background:#143347;color:#7cc7f2}.st-packed{background:#2a1e4a;color:#b9a2f5}
.st-shipped{background:#3a2a10;color:#f5b35b}.st-out-for-delivery{background:#40240f;color:#ff9f55}.st-delivered{background:#12351f;color:#7ee0a2}.st-cancelled{background:#3d1717;color:#f19b98}
.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 18px 18px}
.timeline li::before{content:"";position:absolute;left:-26px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--bg)}
.timeline small{color:var(--muted);display:block}
.steps{display:flex;gap:6px;margin:14px 0 24px}
.steps div{flex:1;text-align:center;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.steps div::before{content:"";display:block;height:5px;background:var(--line);border-radius:3px;margin-bottom:7px}
.steps div.done{color:var(--gold2)}.steps div.done::before{background:var(--gold)}
.pagebody{max-width:820px;margin:40px auto}.pagebody h2{margin-top:1.6em;font-size:1.5rem}.pagebody li{margin:.3em 0}
/* footer */
.site-footer{background:#08080a;border-top:1px solid var(--line);padding-top:44px}
.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:30px}
.fgrid h4{font-size:1.05rem;color:var(--gold2)}.fgrid a{display:block;color:var(--text);font-size:14px;margin:5px 0}.fgrid a.btn{display:inline-block;margin-top:10px;color:#07310f}
.foot-brand{font-size:1.2rem;margin-bottom:8px}
.fbottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:34px;padding-top:18px;padding-bottom:26px;font-size:12.5px}
.wa-float{position:fixed;right:18px;bottom:18px;background:var(--wa);color:#07310f;font-weight:700;font-size:13px;padding:11px 18px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.5);z-index:60}
.wa-float:hover{color:#07310f;background:#4ee385}
/* age gate */
.agegate{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:999;display:flex;align-items:center;justify-content:center;padding:20px}
.agegate[hidden]{display:none}
.agebox{background:var(--card);border:1px solid var(--gold);border-radius:14px;padding:36px;max-width:420px;text-align:center}
.agebox .row{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.logo-mark{font:700 1.8rem 'Cormorant Garamond',serif;letter-spacing:.3em;color:var(--gold2);margin-bottom:10px}
@media(max-width:900px){
 .hero-in,.pdp,.cols{grid-template-columns:1fr}.features{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}
 .burger{display:block}.mainnav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg2);flex-direction:column;padding:16px 20px;gap:14px;margin:0;border-bottom:1px solid var(--line)}
 body.nav-open .mainnav{display:flex}.searchf{display:none}.hdr{gap:10px}.hero-img{order:-1}
 .hero-in{padding:30px 20px}
 table.tbl.resp thead{display:none}
}
@media(max-width:560px){.grid2{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr}.pgrid{grid-template-columns:repeat(2,1fr);gap:12px}.pinfo{padding:10px}.psnip{display:none}.steps div{font-size:9px}}
