
:root{
 --ink:#171717;--ink2:#252321;--gold:#d4ad48;--gold2:#f0d88c;
 --red:#a92732;--cream:#faf8f3;--paper:#fff;--line:#e8e2d8;
 --muted:#77716a;--green:#197447;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;background:var(--cream);color:var(--ink);font-family:'Nunito Sans',system-ui,sans-serif}
body{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}
img{max-width:100%;display:block}
button,select{font-family:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.top{position:sticky;top:0;z-index:5;background:rgba(23,23,23,.97);color:#fff;border-bottom:1px solid rgba(212,173,72,.28);backdrop-filter:blur(12px)}
.top .row{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:9px;color:#fff;font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;font-weight:700;letter-spacing:.01em;line-height:.9}
.logo .crown{font-family:Georgia,serif;color:var(--gold);font-size:31px;line-height:1}
.logo .brandname{display:flex;flex-direction:column}
.logo small{font-family:'Nunito Sans',sans-serif;font-size:9px;letter-spacing:.28em;color:var(--gold2);font-weight:800;margin-bottom:5px}
.logo.small{color:var(--ink);font-size:25px}
.logo.small small{color:#987321}
.cartbtn{position:relative;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:50%}
.badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--gold);color:var(--ink);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}
.badge[hidden]{display:none}
.hero{display:grid;gap:0;padding-top:24px}
.hero-img{position:relative;overflow:hidden;background:#27231f;border-radius:3px;min-height:240px}
.hero-img:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.0) 60%),linear-gradient(0deg,rgba(0,0,0,.12),transparent 45%);pointer-events:none}
.hero-img img{width:100%;aspect-ratio:16/8.3;object-fit:cover;object-position:center 57%;filter:saturate(.88)}
.hero-copy{background:var(--ink);color:#fff;padding:28px 26px 32px;position:relative;overflow:hidden}
.hero-copy:after{content:"♛";position:absolute;right:18px;bottom:-52px;font-family:Georgia,serif;font-size:190px;color:rgba(212,173,72,.07);pointer-events:none}
.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:800;color:var(--gold2);display:flex;align-items:center;gap:9px}
.eyebrow i{width:22px;height:2px;background:var(--red);display:inline-block}
.hero-copy h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:clamp(42px,8vw,68px);line-height:.98;margin:13px 0 14px;position:relative;z-index:1}
.hero-copy h1 em{color:var(--gold2);font-style:normal}
.hero-copy p{font-size:14px;line-height:1.7;color:#d4d0c9;margin:0 0 20px;max-width:480px}
.cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:20px;height:48px;padding:0 20px;background:var(--gold);color:var(--ink);text-decoration:none;font-weight:800;border-radius:2px;transition:background .2s}
.cta:hover{background:var(--gold2)}
@media(min-width:780px){.hero{grid-template-columns:1.08fr .92fr;align-items:stretch;padding-top:34px}.hero-img{min-height:420px}.hero-img img{height:100%;aspect-ratio:auto;object-fit:cover}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:52px 48px}}
.rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:20px;border:1px solid var(--line);background:#fff}
.rules div{padding:15px 14px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}
.rules div:last-child{border:0}
.rules b{font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;color:#8a6825}
.rules span{font-size:11px;line-height:1.45;color:var(--muted)}
.tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:42px 0 8px}
.tools h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:38px;font-weight:600;margin:0;flex:1 1 100%;position:relative}
.tools h2:after{content:"";display:block;width:42px;height:2px;background:var(--red);margin-top:7px}
.search{flex:1 1 220px}
.search input,.sort select{width:100%;height:46px;border:1px solid var(--line);background:#fff;padding:0 13px;font:inherit;font-size:14px;border-radius:2px}
.search input:focus,.sort select:focus{border-color:#a8823f}
.sort{flex:0 0 auto}
.count{font-size:12px;color:var(--muted);margin:7px 0 13px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(min-width:1000px){.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}}
.card{background:#fff;border:1px solid var(--line);padding:0;text-align:left;display:flex;flex-direction:column;transition:transform .2s,border-color .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);border-color:#c6a65d;box-shadow:0 12px 28px rgba(31,25,15,.08)}
.card .ph{aspect-ratio:1/1;background:#f1eee8;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.card:hover .ph img{transform:scale(1.035)}
.card .b{padding:12px 12px 14px;display:flex;flex-direction:column;gap:4px}
.card .code{font-family:'Cormorant Garamond',Georgia,serif;font-size:22px;font-weight:700}
.card .m{font-size:11px;color:var(--muted)}
.card .p{font-size:14px;font-weight:800;color:#8b6927;margin-top:3px}
.card .p small{font-weight:600;color:var(--muted);font-size:11px}
.foot{display:flex;flex-direction:column;gap:10px;padding:38px 22px 18px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);margin-top:40px}
.foot a{font-weight:800;color:var(--red);font-size:14px}
.bar{position:fixed;left:0;right:0;bottom:0;z-index:6;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:10px 0 calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(12px)}
.bar .in{display:flex;flex-direction:column;gap:8px}
.bar .info{display:flex;justify-content:space-between;font-size:13px;font-weight:800}
.btn{height:50px;border:0;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14px;width:100%;text-decoration:none;transition:filter .2s}
.btn:hover{filter:brightness(1.06)}
.btn.wa{background:var(--green);color:#fff}.btn.dark{background:var(--ink);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed}
.sheet{position:fixed;inset:0;z-index:20;background:rgba(0,0,0,.58);display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.panel{background:var(--cream);width:100%;max-width:560px;max-height:92vh;overflow:auto;border-radius:12px 12px 0 0;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
@media(min-width:800px){.sheet{align-items:center}.panel{border-radius:5px}}
.hd{position:sticky;top:0;z-index:2;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 16px;border-bottom:2px solid var(--gold)}
.hd h2{margin:0;font-family:'Cormorant Garamond',Georgia,serif;font-size:25px}
.x{width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:26px}
.bd{padding:14px 16px}
.bd .img{background:#eee9df}
.bd .img img{width:100%;max-height:420px;object-fit:contain}
.prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0}
.prices div{background:#fff;border:1px solid var(--line);padding:9px;font-size:10px;color:var(--muted)}
.prices b{display:block;font-size:14px;color:var(--ink);margin-top:4px}
.prices .hl{border-color:var(--gold);background:#fff8e7}
.hint{font-size:12px;color:var(--muted);margin:6px 0 10px;line-height:1.55}
.rows{display:flex;flex-direction:column;gap:6px}
.r{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff;border:1px solid var(--line);padding:6px 6px 6px 12px}
.r .nm{font-weight:800;font-size:13px}
.st{display:flex;align-items:center;gap:4px}
.st button{width:40px;height:40px;border:0;background:#f1e8d6;font-size:20px;font-weight:800}
.st output{min-width:52px;text-align:center;font-weight:800;font-size:13px}
.li{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}
.tot{display:flex;justify-content:space-between;font-weight:800;font-size:17px;margin:12px 0}
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;font-weight:700}
.fld em{color:var(--red);font-style:normal}
.fld input{height:44px;border:1px solid var(--line);padding:0 12px;font:inherit;font-size:16px;background:#fff}
.err{color:#b42318;font-size:12px;margin:-4px 0 10px}
.empty{text-align:center;color:var(--muted);padding:30px 0}
@media(max-width:420px){.wrap{padding-left:14px;padding-right:14px}.top .row{height:64px}.logo{font-size:26px}.rules div{padding:11px 9px}.rules b{font-size:18px}.rules span{font-size:10px}.tools{margin-top:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.single-price{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--line);padding:14px 16px;margin:12px 0}
.single-price span{font-size:12px;color:var(--muted);font-weight:700}
.single-price strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;color:#8b6927}

/* Approved storefront hero: preserve the complete, straight-on photograph */
.hero-img{min-height:0;display:flex;align-items:center;justify-content:center;background:#171717}
.hero-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
@media(min-width:780px){
  .hero-img{min-height:0}
  .hero-img img{height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}
}
