@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');:root{--bg:#0b0b0c;--panel:#151515;--gold:#c9a86a;--text:#f6f2ea;--muted:#a8a39b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.top{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);border-bottom:1px solid #2a261f;position:sticky;top:0;z-index:5;background:#0b0b0cee;backdrop-filter:blur(16px)}.brand{font-weight:700;letter-spacing:3px;font-size:20px}.brand span{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--gold);margin-top:5px}.top nav{display:flex;gap:32px;font-size:13px;color:#ddd}.top nav a:hover{color:var(--gold)}.outline{background:transparent;border:1px solid #62543b;color:var(--gold);padding:12px 18px}.outline b{margin-left:10px}.hero{position:relative;overflow:hidden;min-height:650px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 20px;background:radial-gradient(ellipse at 50% 70%,#272014 0%,transparent 58%)}.glow{position:absolute;inset:12% 32%;border:1px solid #5a4827;transform:rotate(45deg);opacity:.24;pointer-events:none}.eyebrow{color:var(--gold);letter-spacing:4px;font-size:11px;font-weight:700}.hero h1{font:clamp(48px,8vw,110px)/1.12 'Playfair Display',serif;letter-spacing:-2px;margin:22px 0}.hero h1 em,h2 em{color:var(--gold);font-weight:500}.intro{color:#c5bfb3;max-width:470px;line-height:1.9}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;border:0;background:var(--gold);color:#15110a;padding:16px 28px;font-size:12px;letter-spacing:2px;font-weight:700;margin-top:28px}.button:hover{background:#e5c68b}.hero-foot{position:absolute;bottom:32px;color:#7f786d;font-size:10px;letter-spacing:3px}.hero-foot span{padding:0 20px;color:var(--gold)}.section{padding:100px max(5vw,24px);max-width:1450px;margin:auto}.section h2,.split h2{font:clamp(40px,5vw,68px)/1.15 'Playfair Display',serif;margin:10px 0 35px}.filters{display:flex;gap:15px;margin-bottom:30px}.filters input,.filters select,.admin input,.admin textarea,.admin select{background:#191919;color:#fff;border:1px solid #40392c;padding:13px 15px;border-radius:0}.filters input{flex:1}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{background:#141414;border:1px solid #302b23;overflow:hidden}.pic{height:250px;background:linear-gradient(135deg,#28241d,#111);display:grid;place-items:center;overflow:hidden;color:#66583f;font:44px 'Playfair Display',serif}.pic img{width:100%;height:100%;object-fit:cover}.cardbody{padding:22px}.tag{color:var(--gold);font-size:10px;letter-spacing:2px;text-transform:uppercase}.card h3{font:24px 'Playfair Display',serif;margin:10px 0}.card p{color:var(--muted);font-size:13px;line-height:1.6;min-height:42px}.price{font-weight:700;font-size:18px}.card button{width:100%;padding:12px;background:transparent;border:1px solid #8e7448;color:var(--gold);margin-top:16px}.card button:hover{background:#32291a}.note,.muted{color:var(--muted);font-size:13px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:100px max(5vw,24px);background:#161411;align-items:center}.split>p{line-height:2;color:#bcb5a9;max-width:480px}.visit{text-align:center}footer{border-top:1px solid #302b23;padding:32px max(5vw,24px);display:flex;justify-content:space-between;color:#817b72;font-size:11px;letter-spacing:2px}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(420px,100%);background:#171717;z-index:20;transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column;padding:25px}.drawer.open{transform:translateX(0)}.drawerhead{display:flex;justify-content:space-between;align-items:center}.drawerhead h2{font:28px 'Playfair Display',serif}.drawerhead button{background:none;color:white;border:0;font-size:35px}.shade{position:fixed;inset:0;background:#0009;z-index:10}.shade[hidden]{display:none}#cartItems{flex:1;overflow:auto}.cartrow{border-bottom:1px solid #3a342a;padding:15px 0;display:flex;justify-content:space-between;gap:10px}.cartrow button{background:none;color:var(--gold);border:0}.drawerbottom{border-top:1px solid #4d422e;padding-top:15px}.drawerbottom p{display:flex;justify-content:space-between}.drawerbottom small{color:var(--muted)}.drawerbottom .button{width:100%}.admin{max-width:1100px;margin:45px auto;padding:0 20px}.admin h1{font:48px 'Playfair Display',serif}.admin form{display:grid;gap:12px;max-width:600px}.admin label{display:grid;gap:7px;color:var(--gold);font-size:13px}.admin textarea{min-height:80px}.admin .row{display:flex;gap:12px;align-items:center}.admin .row>*{flex:1}.admin .list{margin-top:40px}.admin .entry{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #3a342a;padding:16px 0}.admin .entry button{padding:9px 15px;border:1px solid var(--gold);background:transparent;color:var(--gold);margin-left:8px}.hidden{display:none!important}.error{color:#ffaaaa}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top nav{gap:12px}.split{gap:30px}}@media(max-width:600px){.top{height:75px;padding:0 15px}.brand{font-size:14px;letter-spacing:1px}.brand small{font-size:6px}.top nav{gap:9px;font-size:11px}.top nav a:nth-child(2),.top nav a:nth-child(3){display:none}.outline{padding:8px}.grid{grid-template-columns:1fr}.hero{min-height:570px}.hero-foot{font-size:8px;letter-spacing:1px}.split{grid-template-columns:1fr;padding:70px 24px}.filters{flex-direction:column}footer{gap:20px;font-size:9px}}

.customerform{max-width:630px;display:grid;gap:14px}.customerform label{display:grid;gap:8px;color:var(--gold);font-size:13px}.customerform input,.customerform textarea{background:#191919;color:white;border:1px solid #55482e;padding:14px;width:100%}.customerform textarea{min-height:110px}.customerform .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal{position:fixed;inset:0;background:#000d;z-index:30;display:flex;justify-content:center;align-items:center;padding:18px}.modalinner{position:relative;overflow-y:auto;max-height:94vh;width:min(650px,100%);padding:32px;background:#151515;border:1px solid var(--gold)}.modalinner h2{font:42px 'Playfair Display',serif}.modalinner h2 em{color:var(--gold)}.modalclose{position:absolute;right:18px;top:12px;background:none;border:0;color:white;font-size:30px}#checkoutSummary{border-block:1px solid #4b402c;margin:18px 0;padding:10px 0}#checkoutResult,#inquiryResult{color:var(--gold);line-height:1.7}@media(max-width:600px){.customerform .row{grid-template-columns:1fr}}

/* 2026 store management refresh */
.pic img{object-fit:contain;padding:12px}.pic[data-photo]{cursor:zoom-in}.pic[data-photo]:focus-visible{outline:3px solid var(--gold)}.card button:disabled{opacity:.55;cursor:not-allowed}.checkout-note{max-width:720px;line-height:1.85;background:#17140f;border-left:3px solid var(--gold);padding:22px;margin-top:26px}.checkout-note strong{color:var(--gold);font-size:16px}.moe-credit{letter-spacing:1px}.moe-credit strong{color:var(--gold)}.moe-credit i{font:italic 25px 'Playfair Display',serif;color:var(--gold);margin-left:7px}.image-lightbox{position:fixed;inset:0;background:#080808f5;z-index:100000;display:grid;place-items:center;padding:75px 20px 35px;overflow:hidden}.image-lightbox img{max-width:90vw;max-height:75vh;object-fit:contain;transition:transform .15s}.image-lightbox button{background:#28231a;border:1px solid var(--gold);color:white;font-size:26px;padding:8px 16px}.image-lightbox #closeLightbox{position:absolute;top:20px;right:25px}.zoom-controls{position:absolute;top:20px;left:25px;display:flex;gap:10px}.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #4c3e2b;padding:20px 0;margin-bottom:35px}.admin-tabs .tab{border:1px solid #5c4c30;background:#171511;color:#cbb78d;padding:14px 18px;font-weight:700}.admin-tabs .tab.active{background:var(--gold);color:#15110a}.admin-section h2{font:30px 'Playfair Display',serif}.admin-section{min-height:350px}.admin-preview{width:180px;height:180px;object-fit:contain;background:#222;border:1px solid #51462e}.admin .checkline{display:flex;align-items:center;gap:12px}.admin .checkline input{width:20px;height:20px}.admin #productSearch{width:100%;max-width:600px;margin-bottom:15px}.admin .product-entry{display:flex;align-items:center;gap:16px}.admin-thumb{width:78px;height:78px;object-fit:contain;background:#211e19;border:1px solid #433c31;flex-shrink:0}.admin-thumb.empty{display:grid;place-items:center;color:var(--gold)}.entry-main{flex:1;min-width:0}.entry-main strong,.entry-main small{display:block;overflow-wrap:anywhere}.entry-main small{margin:8px 0;color:var(--muted)}.entry-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.admin .entry-actions button{margin:0}.status{display:inline-block;font-size:10px;font-weight:700;letter-spacing:1px;border-radius:30px;padding:7px 12px}.status.success{color:#a8e6b2;background:#1c3626}.status.danger{color:#ffb7b7;background:#4b2020}.status.pending{color:#f8db9b;background:#4a351a}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.order-card{background:#161616;border:1px solid #5c4b2f;border-radius:10px;margin:22px 0;padding:24px}.order-top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;border-bottom:1px solid #3d3529;padding-bottom:18px}.order-number{font-size:clamp(25px,4vw,36px);color:#eac27b;letter-spacing:2px}.order-customer{display:flex;gap:40px;flex-wrap:wrap;margin:20px 0}.order-customer>div{display:grid;gap:6px}.order-customer small{font-size:10px;color:var(--gold);letter-spacing:2px}.order-customer strong,.order-customer a{font-size:18px}.order-item{display:flex;align-items:center;gap:15px;border-top:1px solid #302b23;padding:13px 0}.order-item img{width:80px;height:80px;object-fit:contain;background:#222}.order-item div{flex:1}.order-item strong,.order-item small{display:block}.order-item small{color:var(--muted);margin-top:7px}.order-item .quantity{font-size:23px;font-weight:700;color:var(--gold)}.order-bottom{border-top:1px solid #51432b;padding:18px 0;font-size:19px}.order-actions{display:flex;gap:10px;flex-wrap:wrap}.order-actions button,.cancel-form button{padding:12px 18px;border:0;font-weight:700}.order-actions .complete{background:#26733f;color:white}.order-actions .cancel,.cancel-form .cancel{background:#872c30;color:white}.cancel-form{background:#231d1b;padding:18px;margin-top:16px;display:grid;gap:12px;max-width:550px}.cancel-form label{display:grid;gap:8px}.cancel-form input,.cancel-form select{width:100%}.cancel-reason{color:#ffb7b7;font-size:13px}.inquiry-card{border:1px solid #4d422e;padding:20px;margin:16px 0;background:#161616}.inquiry-card p{overflow-wrap:anywhere}.empty-state{color:var(--muted);padding:40px 0}@media(max-width:650px){.admin .row{flex-direction:column;align-items:stretch}.admin .product-entry{flex-wrap:wrap}.entry-actions{width:100%;justify-content:flex-start}.order-card{padding:15px}.order-number{font-size:26px}footer{flex-wrap:wrap}}


/* Mobile storefront refresh — preview branch */
.signature-subtitle{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:.08em;text-transform:none}
@media(max-width:600px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .section{padding:55px 14px}
  .card{min-width:0}
  .card .pic{height:clamp(120px,36vw,185px)}
  .card .pic img{padding:7px}
  .card .cardbody{padding:12px 10px}
  .card .tag{font-size:9px;letter-spacing:.8px}
  .card h3{font-size:17px;line-height:1.25;overflow-wrap:anywhere;margin:9px 0}
  .card p{font-size:11px;line-height:1.4;min-height:0}
  .card .price{font-size:12px;line-height:1.65}
  .card button{font-size:10px;letter-spacing:.5px;padding:11px 5px;margin-top:10px}
  .brand .signature-subtitle{font-size:11px;letter-spacing:.03em;line-height:1.1}
}


/* Responsive storefront navigation and category drawer */
.storefront-header{z-index:60;gap:12px}
.storefront-header .brand{flex:1;min-width:0;white-space:nowrap}
.top nav.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex:none;color:var(--text)}
.header-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;flex:none;width:38px;height:40px;background:none;border:0;color:var(--text);padding:5px;cursor:pointer;text-decoration:none}
.header-icon:hover,.header-icon:focus-visible{color:var(--gold)}
.top nav.header-actions a{display:inline-flex}
.cart-count{position:absolute;top:-1px;right:-3px;min-width:16px;height:16px;border-radius:12px;background:var(--gold);color:#1b160f;font:700 10px/16px 'DM Sans',sans-serif;text-align:center}
.header-search-panel{position:sticky;top:90px;z-index:59;background:#191713;border-bottom:1px solid #56452a;padding:12px max(5vw,24px);display:flex;gap:15px;align-items:center}
.header-search-panel label{color:var(--gold);font-size:12px;white-space:nowrap}
.header-search-panel input{background:#0d0d0d;border:1px solid #6b5838;color:white;padding:12px 15px;width:100%;min-width:0;font-size:16px}
.menu-backdrop{position:fixed;inset:0;background:#000b;z-index:69}
.category-menu{position:fixed;right:0;top:0;bottom:0;width:min(410px,92vw);overflow-y:auto;background:#131313;z-index:70;border-left:1px solid #6d552f;transform:translateX(101%);transition:transform .25s ease;pointer-events:none;padding:23px 20px}
.category-menu.open{transform:translateX(0);pointer-events:auto}
.category-menu-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #51432f;padding-bottom:14px;margin-bottom:14px;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--gold)}
.category-menu-heading button{font-size:32px}
.category-menu-links{display:grid;gap:8px}
.menu-category{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#25221e;border:1px solid #3d362a;padding:18px 15px;min-height:55px;color:#f4e9d7;letter-spacing:1px;text-transform:uppercase;font-size:13px}
.menu-category span{color:var(--gold)}
.menu-category:hover,.menu-category:focus-visible{border-color:var(--gold);background:#332a1b}
.category-menu-footer{border-top:1px solid #51432f;margin-top:24px;padding-top:14px;display:grid;gap:2px}
.category-menu-footer a{padding:12px 6px;color:#ccc;font-size:13px}
.category-menu-footer a:hover{color:var(--gold)}
body.category-menu-open{overflow:hidden}
@media(max-width:600px){
  .top.storefront-header{height:75px;padding:0 12px}
  .storefront-header .brand{font-size:14px;letter-spacing:.8px}
  .top nav.header-actions{gap:3px}
  .top nav.header-actions a:nth-child(2),.top nav.header-actions a:nth-child(3){display:inline-flex}
  .header-icon{width:34px;height:38px}
  .header-search-panel{top:75px;padding:12px}
  .header-search-panel label{display:none}
}
@media(prefers-reduced-motion:reduce){.category-menu{transition:none}}


/* Store category editor */
.category-create-form{display:flex!important;gap:12px;align-items:end;max-width:650px!important;margin:22px 0 26px}
.category-create-form label{flex:1}
.category-create-form .button{margin:0;min-height:47px}
.categories-list{display:grid;gap:10px}
.category-entry{background:#191715;border:1px solid #4e4230;padding:17px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.category-main{flex:1;min-width:150px;display:grid;gap:7px}
.category-main strong{color:#f1e5cb;font-size:17px}
.category-main small{color:#b1a38f}
.category-actions{display:flex;gap:7px;flex-wrap:wrap}
.category-actions button,.category-edit-form button{background:transparent;color:var(--gold);border:1px solid #72603f;padding:9px 11px;min-height:42px}
.category-actions button:disabled{opacity:.3;cursor:not-allowed}
.category-edit-form{width:100%;max-width:none!important;display:flex!important;align-items:end;gap:9px;margin-top:8px}
.category-edit-form.hidden{display:none!important}
.category-edit-form label{flex:1}
.category-edit-form input{width:100%}
@media(max-width:600px){.category-create-form{flex-direction:column;align-items:stretch}.category-edit-form{flex-wrap:wrap}.category-edit-form label{flex-basis:100%}}


/* Admin-managed announcement strip and promotional image carousel */
.announcement-strip{max-width:none;background:linear-gradient(90deg,#372411,#725127,#372411);color:#fff2cf;min-height:54px;display:flex;align-items:center;justify-content:center;gap:12px;padding:5px max(3vw,10px);border-block:1px solid #876e3f;text-align:center}
.announcement-strip>button{appearance:none;background:none;border:0;color:#fff2cf;font-size:30px;line-height:1;min-width:36px;min-height:36px;padding:1px 7px;flex:none}
.announcement-strip>button:disabled{visibility:hidden}
.announcement-content{flex:1;min-width:0;max-width:1000px;font-size:13px;font-weight:600;letter-spacing:.8px}
.announcement-content .promotion-link{color:inherit;text-decoration:underline;text-decoration-color:#f5dfac66;text-underline-offset:3px}
.announcement-message{display:block;overflow-wrap:anywhere;padding:4px 0}
.banner-carousel{position:relative;max-width:1450px;margin:14px auto 0;background:#14110e;border-block:1px solid #392f20;overflow:hidden}
.banner-frame{position:relative;aspect-ratio:16/6.5;min-height:230px;max-height:580px}
.banner-frame .promotion-link,.banner-frame .banner-visual{display:block;width:100%;height:100%;position:relative}
.banner-visual>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;background:linear-gradient(145deg,#201b14,#090909)}
.banner-caption{position:absolute;bottom:0;left:0;right:0;padding:35px 28px 20px;background:linear-gradient(transparent,#080808c9);color:#fff5e2;font:clamp(19px,3vw,35px) 'Playfair Display',serif;text-shadow:0 2px 15px #000;pointer-events:none}
.banner-navigation{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;z-index:1}
.banner-navigation>button{background:#101010c9;border:1px solid #ae8c58;color:#fff;font-size:26px;line-height:1;width:38px;height:38px;border-radius:50%}
.banner-navigation>button:disabled{opacity:.4;cursor:not-allowed}
.banner-dots{display:flex;align-items:center;justify-content:center;gap:8px;background:#1010108a;border-radius:28px;padding:10px}
.banner-dots button{width:9px;height:9px;border:1px solid var(--gold);border-radius:100%;padding:0;background:transparent}
.banner-dots button.active{background:var(--gold);transform:scale(1.13)}
.banner-navigation button:focus-visible,.announcement-strip button:focus-visible,.promotion-link:focus-visible{outline:2px solid #fff;outline-offset:3px}
.has-promotions .hero{min-height:300px;padding:65px 20px 80px}
.has-promotions .hero h1{font-size:clamp(35px,5vw,64px)}
.has-promotions .hero-foot{bottom:16px}
.promo-target-highlight{outline:3px solid var(--gold);outline-offset:2px;transition:outline .4s}
@media(max-width:600px){
  .announcement-strip{min-height:50px;gap:4px;padding:4px 3px}
  .announcement-strip>button{font-size:27px;min-width:33px}
  .announcement-content{font-size:11px;letter-spacing:.4px}
  .banner-carousel{margin-top:8px}
  .banner-frame{aspect-ratio:4/3;min-height:0;max-height:420px}
  .banner-caption{padding:30px 13px 16px;font-size:19px}
  .banner-navigation{bottom:7px;gap:6px}
  .banner-navigation>button{width:30px;height:30px;font-size:23px}
  .banner-dots{padding:8px;gap:7px}
  .has-promotions .hero{min-height:260px;padding:40px 12px 65px}
  .has-promotions .hero-foot{display:none}
}


/* Promotional content editor in Admin */
.admin .promo-settings-form{max-width:1000px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0 35px}
.promo-settings-form fieldset{min-width:0;background:#171512;border:1px solid #625039;padding:20px;display:grid;gap:12px}
.promo-settings-form legend{font:20px 'Playfair Display',serif;color:var(--gold);padding:0 8px}
.promo-settings-form .button{grid-column:1/-1;justify-self:start;margin-top:0}
.promo-settings-form .checkline,.promo-editor .checkline{display:flex;align-items:center;color:#e7decf;gap:10px}
.promo-settings-form .checkline input,.promo-editor .checkline input{width:19px;height:19px;flex:none}
.promo-settings-form label{min-width:0}
.promo-admin-group{margin:35px 0 48px;border-top:1px solid #56452f;padding-top:20px}
.promo-admin-group>h3{color:#f7ead6;font:28px 'Playfair Display',serif;margin:4px 0 16px}
.admin .promo-editor{max-width:740px;background:#171511;padding:23px;border:1px solid #4b3e2b}
.promo-link-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.promo-editor textarea{resize:vertical}
.promo-form-buttons{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.promo-form-buttons .button{margin:0}
.promo-banner-preview{width:min(100%,560px);max-height:240px;object-fit:contain;background:#090909;border:1px solid #756143}
.promo-admin-list{margin-top:23px;display:grid;gap:12px}
.promo-admin-item{display:flex;gap:14px;flex-wrap:wrap;align-items:center;background:#151515;border:1px solid #493c2b;padding:13px}
.promo-admin-thumb{width:118px;height:85px;object-fit:contain;background:#0a0a0a;flex:none}
.promo-admin-main{flex:1;min-width:160px;display:grid;gap:9px;overflow-wrap:anywhere}
.promo-admin-main strong{font-size:14px;color:#f4e8d2}
.promo-admin-main small{color:#cdb581}
.promo-admin-actions{display:flex;gap:7px;flex-wrap:wrap;width:100%}
.promo-admin-actions button{background:transparent;color:var(--gold);border:1px solid #8a7046;padding:9px 11px;min-height:38px}
.promo-admin-actions button:disabled{opacity:.3;cursor:not-allowed}
#promoAdminStatus{font-weight:600;margin:20px 0}
@media(max-width:650px){
  .admin .promo-settings-form{grid-template-columns:1fr}
  .promo-settings-form .button{width:100%}
  .promo-link-fields{grid-template-columns:1fr}
  .promo-form-buttons>*{flex:1}
  .promo-admin-item{gap:10px}
  .promo-admin-thumb{width:90px;height:74px}
}


/* Animate left/right slide changes. Reduced-motion users see no animation. */
@keyframes promoSlideFromRight {
  from { opacity:.55; transform:translateX(18%); }
  to   { opacity:1; transform:translateX(0); }
}
@keyframes promoSlideFromLeft {
  from { opacity:.55; transform:translateX(-18%); }
  to   { opacity:1; transform:translateX(0); }
}
.promo-slide-from-right{animation:promoSlideFromRight .45s cubic-bezier(.22,.7,.25,1) both}
.promo-slide-from-left{animation:promoSlideFromLeft .45s cubic-bezier(.22,.7,.25,1) both}
@media(prefers-reduced-motion:reduce){
  .promo-slide-from-right,.promo-slide-from-left{animation:none}
}


/* Authentic product star ratings and verified-pickup review form */
.product-rating{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 3px}
.rating-stars{display:inline-flex;gap:1px;font-size:15px;line-height:1}
.rating-stars .filled{color:#e5b65a}
.rating-stars .empty{color:#504632}
.rating-summary{color:#e8d1a2;font-size:12px}
.card button.review-open{width:100%;background:#211c15;border:1px solid #6a5639;color:#f1d29c;margin-top:10px;padding:8px;letter-spacing:.5px;font-weight:500}
.review-modal-inner{max-width:680px;padding-top:40px}
.review-modal-inner>h2{font-size:34px}
.review-modal-inner>h3{color:var(--gold);font:22px 'Playfair Display',serif;margin:20px 0 12px}
.review-list{max-height:280px;overflow:auto;border-block:1px solid #4c412e;padding:8px 0;margin:12px 0}
.review-entry{border-bottom:1px solid #302b22;padding:11px 4px}
.review-entry:last-child{border-bottom:0}
.review-entry strong{color:#eac47b}
.review-entry small{color:#b5a48c;margin-left:15px}
.review-entry p{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.6;color:#e9e3db;margin:7px 0}
.review-rating-field{border:1px solid #665234;padding:10px 14px}
.review-rating-field legend{color:var(--gold);font-size:13px;padding:0 6px}
.review-star-picker{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}
.review-star-picker input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}
.review-star-picker label{font-size:36px;line-height:1.1;color:#665a43;cursor:pointer}
.review-star-picker input:checked~label,.review-star-picker label:hover,.review-star-picker label:hover~label{color:#e5b65a}
.review-star-picker input:focus-visible+label{outline:2px solid var(--gold);outline-offset:2px}
#reviewResult{color:var(--gold);line-height:1.6}
.admin-review-list{display:grid;gap:12px;margin:16px 0}
.admin-review-entry{border:1px solid #54452d;padding:19px;background:#171511}
.admin-review-entry h3{font:21px 'Playfair Display',serif;margin:0 0 10px}
.admin-review-entry p{color:#eee3d2;overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.5}
.admin-review-entry small{color:#b8a88d}
.admin-review-actions{display:flex;flex-wrap:wrap;gap:9px}
.admin-review-actions button{border:1px solid #9a7b4a;background:#1f1b14;color:#e6c791;padding:9px 14px;min-height:41px}
.admin-review-actions button:disabled{opacity:.5}
@media(max-width:600px){
 .product-rating{gap:4px;margin:8px 0 3px}
 .rating-stars{font-size:13px}
 .rating-summary{font-size:10px}
 .card button.review-open{font-size:10px;padding:8px 3px}
 .review-modal-inner{padding:35px 17px 25px}
 .review-star-picker label{font-size:32px}
}

/* Keep reviews above the sticky header but below the 21+ access gate. */
#reviewModal{z-index:90000}
