/* Automate Core standard storefront. Every colour, the display font (--shop-display-font) and the hero mark (--shop-hero-mark) are --shop-* tokens whose fallbacks are the original Gilded values. */
.bag{margin-left:auto;border:1px solid var(--shop-gold,#c9953d);background:transparent;color:#fff;border-radius:999px;padding:11px 16px}.shop-hero{padding:95px 7vw 75px;background:var(--shop-hero-bg,radial-gradient(circle at 80% 30%,#b97d3150,transparent 25%),linear-gradient(120deg,#0e0d0a,#39230f));color:#fff}.shop-hero h1{font:500 clamp(50px,7vw,88px)/1 var(--shop-display-font,"Cormorant Garamond");margin:15px 0}.shop-hero>p:last-child{max-width:720px;color:#dacdbc;line-height:1.7}.catalog{padding:55px 6vw 100px;background:#f8efdf}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{border:1px solid var(--shop-line-strong,#cdb488);background:transparent;padding:10px 16px;border-radius:999px}.filters button.active{background:var(--shop-ink-strong,#17120d);color:var(--shop-highlight,#efc66f)}.shop-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--shop-line,#dec69d);padding:18px;box-shadow:0 16px 40px #39240d12}.product-art{height:300px;background:linear-gradient(145deg,#f1d5a4,#5e3515);display:grid;place-items:center;overflow:hidden;position:relative}.product-art:before{content:"";width:80px;height:190px;border-radius:12px 12px 20px 20px;background:linear-gradient(90deg,#673711,#d39443,#4b260d);box-shadow:0 18px 30px #321b0a55}.product-art:after{content:var(--shop-art-label,"");position:absolute;color:#f9dfa6;font:600 10px var(--shop-display-font,"Cormorant Garamond");letter-spacing:.12em}.product-card h3{font:600 25px var(--shop-display-font,"Cormorant Garamond");margin:16px 0 5px}.product-card p{font-size:12px;color:var(--shop-muted,#78695b)}.product-card strong{display:block;margin:14px 0;font:600 21px var(--shop-display-font,"Cormorant Garamond")}.product-card button,.checkout{width:100%;border:0;background:var(--shop-ink-strong,#17120d);color:var(--shop-highlight,#efc66f);padding:12px;font-weight:700}.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(420px,100%);background:var(--shop-paper,#fffaf1);z-index:30;padding:35px;box-shadow:-20px 0 70px #0005;transform:translateX(105%);transition:.25s}.cart-drawer.open{transform:none}.drawer-close{position:absolute;right:20px;top:14px;border:0;background:none;font-size:30px}.cart-drawer h2{font:500 36px var(--shop-display-font,"Cormorant Garamond")}.cart-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--shop-line-soft,#dfcba7);padding:14px 0}.cart-total{display:flex;justify-content:space-between;font-size:20px;margin:25px 0}.cart-drawer small{display:block;color:var(--shop-muted,#78695b);margin-top:12px}@media(max-width:950px){.shop-products{grid-template-columns:1fr 1fr}}@media(max-width:580px){.shop-products{grid-template-columns:1fr}.shop-hero{padding:65px 22px 50px}.catalog{padding:35px 22px 70px}}
/* Isolated checkout simulation; no payment provider connection. */
.checkout-overlay:not([hidden]){position:fixed;inset:0;z-index:80;background:#100c09bb;display:grid;place-items:center;padding:18px;overflow:auto}
.checkout-modal{position:relative;background:var(--shop-paper,#fffaf1);color:var(--shop-ink,#20150d);border:1px solid var(--shop-frame,#c8a46c);border-radius:18px;box-shadow:0 28px 90px #0007;width:min(540px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:clamp(22px,5vw,38px)}
.checkout-modal h2{font:600 clamp(32px,5vw,46px)/1.1 var(--shop-display-font,"Cormorant Garamond"),Georgia,serif;margin:12px 0}
.checkout-modal p{line-height:1.6}.checkout-modal form label{display:block;font-weight:700;margin:18px 0}
.checkout-modal select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;background:#fff;color:var(--shop-ink,#20150d);font:inherit}
.checkout-modal .checkout{border-radius:8px;cursor:pointer}
.checkout-modal #checkoutResult{border-top:1px solid var(--shop-frame,#c8a46c);margin-top:18px;padding-top:12px}
.checkout:disabled,.product-card button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:580px){.cart-drawer{box-sizing:border-box;padding:28px 20px}.checkout-modal{box-sizing:border-box}}

.receipt-link{display:block;margin-top:16px;border:1px solid var(--shop-border-2,#9e7a48);border-radius:8px;background:transparent;color:#4b2d12;padding:10px 14px;cursor:pointer;width:100%;font-weight:700}
#demoReceiptHistory{margin-top:18px;border-top:1px solid var(--shop-frame,#c8a46c);padding-top:16px}
#demoReceiptHistory h3{font:600 24px Georgia,serif}
#clearDemoReceipts{border:1px solid var(--shop-border-2,#9e7a48);background:#fff7eb;padding:10px 14px;border-radius:8px;color:#30200f;cursor:pointer}

/* Clearly isolated preview catalogue management. */
.demo-editor{margin-top:32px;background:var(--shop-paper,#fffaf1);border:1px solid var(--shop-line-strong,#cdb488);border-radius:12px;padding:20px;color:var(--shop-ink,#20150d)}.demo-editor summary{cursor:pointer;font-weight:700}.demo-editor p{line-height:1.6}.demo-product-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e8dac1}.demo-product-row input{width:110px;padding:9px;border:1px solid var(--shop-border,#9b7b4b);border-radius:6px;background:#fff;color:var(--shop-ink,#20150d)}.demo-editor-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.demo-editor-actions button{padding:12px 16px;background:var(--shop-ink,#20150d);color:var(--shop-highlight,#efc66f);border:0;border-radius:6px;cursor:pointer}@media(max-width:580px){.demo-product-row{align-items:flex-start}.demo-product-row span{flex:1}.demo-product-row input{width:95px}}

/* Editorial catalog polish: distinct visual families for preview merchandise. */
.product-card{border-radius:12px;overflow:hidden;padding:12px 12px 18px;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-3px);box-shadow:0 22px 45px #39240d22}.product-art{height:270px;border-radius:8px;background:radial-gradient(circle at 48% 25%,#fff5db,#c18b4d 55%,#56351d);isolation:isolate}.product-card:nth-child(4n+2) .product-art{background:radial-gradient(circle at 45% 24%,#fff1ec,#b77e79 58%,#583534)}.product-card:nth-child(4n+3) .product-art{background:radial-gradient(circle at 45% 24%,#f5efd7,#b7a16c 58%,#4c4732)}.product-card:nth-child(4n) .product-art{background:radial-gradient(circle at 45% 24%,#f1e8d5,#a58d75 58%,#43352b)}.product-card:nth-child(4n+2) .product-art:before{background:linear-gradient(90deg,#6e383d,#c98c90,#66383b)}.product-card:nth-child(4n+3) .product-art:before{background:linear-gradient(90deg,#4e492a,#c5ad64,#565033)}.product-card:nth-child(4n) .product-art:before{background:linear-gradient(90deg,#4b3025,#b18a64,#5a3525)}.product-card h3{min-height:52px;line-height:1.06;font-size:27px}.product-card p{min-height:32px;line-height:1.5}.product-card button{border-radius:7px;min-height:43px;cursor:pointer}.product-card button:hover,.demo-editor-actions button:hover{background:#6b421f;color:#fff3d4}.filters button{cursor:pointer;transition:background .15s ease}.filters button:hover{background:#e8d6b6}.filters button.active:hover{background:var(--shop-ink-strong,#17120d)}.shop-hero{position:relative;overflow:hidden}.shop-hero:after{content:var(--shop-hero-mark,"");position:absolute;right:5vw;top:0;color:#ffffff0a;font:600 clamp(160px,25vw,360px)/1 Georgia,serif;pointer-events:none}.shop-hero>*{position:relative;z-index:1}.shop-hero h1{letter-spacing:-.02em}.demo-editor{box-shadow:0 14px 35px #39240d0d}.product-card:focus-within,.filters button:focus-visible,.demo-editor button:focus-visible{outline:3px solid #ad742d;outline-offset:3px}@media(max-width:580px){.product-art{height:255px}.product-card{padding:13px 13px 18px}.product-card h3{min-height:0}.product-card p{min-height:0}.shop-hero:after{right:-15vw;top:15%}}

/* Product media gallery · 20261012-gallery-01 */
.product-photo{display:block;width:100%;padding:0!important;border:0;background:#f5ead9;cursor:zoom-in;overflow:hidden;border-radius:9px;aspect-ratio:4/5;min-height:0!important}
.product-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.product-photo:hover img{transform:scale(1.045)}
.product-photo:focus-visible{outline:3px solid var(--shop-accent-2,#b47c31);outline-offset:3px}
.gallery-overlay:not([hidden]){position:fixed;inset:0;z-index:100;background:#100c09e8;display:grid;place-items:center;padding:16px;overflow-y:auto}
.gallery-panel{position:relative;background:var(--shop-paper,#fffaf1);color:var(--shop-ink-2,#25180c);border-radius:18px;width:min(850px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(18px,4vw,34px);box-shadow:0 30px 90px #0008}
.gallery-close{position:absolute;top:8px;right:16px;border:0;background:transparent;font-size:35px;cursor:pointer;z-index:2}
.gallery-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:6px;margin-top:15px}
.gallery-stage img{display:block;width:100%;height:min(53dvh,500px);object-fit:contain;background:var(--shop-cream,#f1e5d4);border-radius:10px}
.gallery-stage button{background:var(--shop-ink-3,#24180d);color:#f8e2b8;border:0;border-radius:50%;height:42px;font-size:30px;cursor:pointer}
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:15px}
.gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.gallery-thumb{padding:3px;border:2px solid transparent;background:transparent;cursor:pointer;border-radius:8px}
.gallery-thumb[aria-pressed="true"]{border-color:var(--shop-accent,#ad782b)}
.gallery-thumb img{display:block;width:60px;height:60px;object-fit:cover;border-radius:5px}
.gallery-video{margin-top:20px;border-top:1px solid var(--shop-line-2,#d9c4a2);padding-top:15px}
.gallery-video p{font-size:13px;color:var(--shop-muted,#78695b)}
.gallery-video a{display:inline-block;padding:10px 16px;border-radius:6px;background:var(--shop-ink-3,#24180d);color:#f9e3b8}
@media(max-width:580px){.gallery-stage{grid-template-columns:32px minmax(0,1fr) 32px}.gallery-stage button{height:32px;font-size:24px}.gallery-stage img{height:43dvh}}

/* Product media pack: image/video player and preview editor */
.gallery-media{min-width:0}.gallery-media img,.gallery-media video{display:block;width:100%;height:min(53dvh,500px);object-fit:contain;background:var(--shop-cream,#f1e5d4);border-radius:10px}
.gallery-thumb span{display:grid;place-items:center;width:72px;height:60px;border-radius:5px;background:#2b1d11;color:#f7dfa7;font-size:12px}
.media-editor-product{padding:12px 0;border-bottom:1px solid #d8c5a5}.media-editor-product summary{cursor:pointer;font-weight:600}
.media-editor-row{display:grid;grid-template-columns:95px minmax(0,1fr) 32px 32px 32px;gap:7px;align-items:center;margin:10px 0}
.media-editor-row input,.media-editor-row select{width:100%;min-width:0;padding:10px;border:1px solid var(--shop-line-strong,#cdb488);border-radius:6px}
.media-editor-row button,.media-editor-product>button{border:1px solid var(--shop-line-strong,#cdb488);background:#fff8ed;color:#281b0e;border-radius:6px;padding:9px;cursor:pointer}
@media(max-width:580px){.gallery-media img,.gallery-media video{height:43dvh}.media-editor-row{grid-template-columns:80px minmax(0,1fr) 28px 28px 28px;gap:3px}.media-editor-row input,.media-editor-row select{padding:7px;font-size:12px}.media-editor-row button{padding:6px}}

/* Media editor: optional video poster row and resilient narrow-screen controls. */
.media-editor-row{grid-template-columns:90px minmax(0,1fr) 32px 32px 32px}
.media-editor-row .media-poster:not([hidden]){grid-column:2;grid-row:2}
.media-editor-row .media-poster[hidden]{display:none!important}
.gallery-media video:focus-visible,.gallery-panel button:focus-visible{outline:3px solid var(--shop-accent-2,#b47c31);outline-offset:3px}
@media(max-width:580px){.media-editor-row{grid-template-columns:72px minmax(0,1fr) 28px 28px 28px}}

/* ---- Commerce upgrade (2026-10-13): search, sort, variants, bag totals, checkout, order lookup ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shop-toolbar{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}
.shop-toolbar .filters{margin-bottom:0}
.shop-tools{display:flex;gap:10px;flex-wrap:wrap}
.shop-tools input,.shop-tools select{padding:10px 12px;border:1px solid var(--shop-line-strong,#cdb488);border-radius:8px;background:#fff;color:var(--shop-ink,#20150d);font:inherit;min-width:0}
.shop-count{color:var(--shop-muted,#78695b);font-size:14px;margin:6px 0 18px;min-height:1.2em}
.product-card{display:flex;flex-direction:column}
.product-card .card-badges{display:flex;gap:6px;flex-wrap:wrap;min-height:22px}
.badge{display:inline-block;background:var(--shop-ink-strong,#17120d);color:var(--shop-highlight,#efc66f);font-size:11px;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:999px;text-transform:uppercase}
.badge.warn{background:#8a3b12;color:#fff}.badge.out{background:#6b6b6b;color:#fff}
.product-card .card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto}
.product-card .card-actions button.ghost,.detail-actions .ghost,.qty button,.discount-input button,.receipt-link{border:1px solid var(--shop-ink-strong,#17120d);background:transparent;color:var(--shop-ink-strong,#17120d);cursor:pointer}
.product-card .card-actions button{padding:11px 8px}
.product-photo{border:0;padding:0;background:none;display:block;width:100%;cursor:zoom-in}
.product-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.cart-drawer{overflow-y:auto}
.cart-row.line{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
.cart-row .line-name{font-weight:600}.cart-row .line-opt{display:block;font-size:12px;color:var(--shop-muted,#78695b);font-weight:400}
.cart-row .line-controls{display:flex;gap:6px;align-items:center;grid-column:1/-1}
.qty{display:inline-flex;align-items:center;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;overflow:hidden;background:#fff}
.qty button{width:34px;height:34px;border:0;background:#fff;font-size:18px;color:var(--shop-ink-strong,#17120d)}
.qty input{width:48px;height:34px;text-align:center;border:0;border-left:1px solid var(--shop-line,#dec69d);border-right:1px solid var(--shop-line,#dec69d);font:inherit;-moz-appearance:textfield;background:#fff;color:var(--shop-ink-strong,#17120d)}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.link-btn{background:none;border:0;color:#7a4b12;text-decoration:underline;cursor:pointer;font:inherit;padding:4px}
.line-error{color:#9a2b12;font-size:12px;grid-column:1/-1}
.free-ship{background:#f1e4c8;border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.free-ship .bar{height:6px;background:#dcc9a3;border-radius:99px;margin-top:8px;overflow:hidden}.free-ship .bar i{display:block;height:100%;background:var(--shop-ink-strong,#17120d)}
.cart-summary{margin-top:14px;border-top:1px solid var(--shop-line-soft,#dfcba7);padding-top:12px}
.discount-input{display:flex;gap:8px;margin-top:6px}.discount-input input{flex:1;min-width:0;padding:10px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;font:inherit;text-transform:uppercase;background:#fff;color:var(--shop-ink-strong,#17120d)}.discount-input button{padding:10px 14px;border-radius:8px}
#discountMsg{font-size:13px;min-height:1.2em;margin:6px 0 0;color:var(--shop-muted,#78695b)}#discountMsg.bad{color:#9a2b12}#discountMsg.good{color:#1d6b3a}
.ship-pick{display:block;margin-top:12px;font-weight:700}.ship-pick select{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;font:inherit;background:#fff;color:var(--shop-ink-strong,#17120d)}
.cart-totals{margin:12px 0 0}.cart-totals div{display:flex;justify-content:space-between;padding:4px 0;font-size:15px}.cart-totals dt,.cart-totals dd{margin:0}
.order-lookup{margin-top:18px;border-top:1px solid var(--shop-line-soft,#dfcba7);padding-top:12px}.order-lookup summary{cursor:pointer;font-weight:700}
.order-lookup label{display:block;font-weight:700;margin:12px 0}.order-lookup input{display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;font:inherit;background:#fff;color:var(--shop-ink-strong,#17120d)}
#lookupResult{margin-top:10px;font-size:14px;line-height:1.5}
.checkout-modal .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 14px}
.checkout-modal input,.checkout-modal textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;background:#fff;color:var(--shop-ink,#20150d);font:inherit;box-sizing:border-box}
.checkout-modal .address-fields{border:1px solid var(--shop-line,#dec69d);border-radius:10px;padding:6px 14px 2px;margin:14px 0}.checkout-modal .address-fields legend{font-weight:700;padding:0 6px}
.checkout-modal .check{font-weight:400;display:flex;gap:8px;align-items:center}.checkout-modal .check input{width:auto;margin:0}
.checkout-modal .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.order-summary .cart-row{font-size:15px}.order-error{color:#9a2b12;font-weight:600;min-height:1.2em}
.pay-instructions{font-size:14px;color:var(--shop-text-soft,#5b4a38);margin:-6px 0 12px}
.detail-overlay:not([hidden]){position:fixed;inset:0;z-index:85;background:#100c09bb;display:grid;place-items:center;padding:18px;overflow:auto}
.detail-panel{position:relative;background:var(--shop-paper,#fffaf1);color:var(--shop-ink,#20150d);border:1px solid var(--shop-frame,#c8a46c);border-radius:18px;box-shadow:0 28px 90px #0007;width:min(520px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:clamp(22px,5vw,36px)}
.detail-panel h2{font:600 clamp(30px,5vw,42px)/1.1 var(--shop-display-font,"Cormorant Garamond"),Georgia,serif;margin:8px 0}
.detail-price{font:600 24px var(--shop-display-font,"Cormorant Garamond"),Georgia,serif;margin:4px 0 10px}.detail-note{line-height:1.6;color:var(--shop-text-soft,#5b4a38)}
.detail-panel label{display:block;font-weight:700;margin:14px 0 6px}.detail-panel select{display:block;width:100%;padding:11px;border:1px solid var(--shop-border,#9b7b4b);border-radius:8px;font:inherit;background:#fff;color:var(--shop-ink,#20150d)}
.detail-stock{font-size:14px;min-height:1.2em;color:var(--shop-text-soft,#5b4a38)}.qty-row{display:flex;align-items:center;gap:14px;margin:12px 0}.qty-row label{margin:0}
.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.detail-actions button{padding:13px;border-radius:8px;font-weight:700;cursor:pointer}.detail-actions .checkout{width:auto}
@media(max-width:580px){.shop-toolbar{flex-direction:column;align-items:stretch}.shop-tools{flex-direction:column}.detail-actions{grid-template-columns:1fr}}
/* Bag drawer must never exceed the viewport (padding was added on top of 100% width on phones). */
.cart-drawer{box-sizing:border-box;max-width:100vw}
.receipt-link[hidden]{display:none}
@media(max-width:580px){.cart-drawer{padding:26px 20px}}

/* Inline product gallery · 20261014-shell-01: the shared product display, arranged per the owner's chosen layout. */
.pg{margin:10px 0 14px}.pg:empty{display:none}
.pg .product-display.theme-bottom{grid-template-columns:minmax(0,1fr)}.pg .theme-bottom .display-rail{grid-template-rows:none;grid-template-columns:1fr 1fr}
.pg .theme-bottom .display-thumb,.pg .theme-bottom .display-empty{aspect-ratio:3/2}
.pg .theme-carousel{grid-template-columns:minmax(0,1fr)}.pg .theme-carousel .display-rail{display:none}
.pg .theme-hero{grid-template-columns:minmax(0,1fr)}.pg .theme-hero .display-stage{aspect-ratio:4/3}.pg .theme-hero .display-rail{grid-template-rows:none;grid-template-columns:repeat(2,64px);justify-content:center}
.pg .theme-hero .display-thumb,.pg .theme-hero .display-empty{aspect-ratio:1/1}
.detail-actions{grid-template-columns:1fr 1fr}.detail-actions .ghost{grid-column:1/-1}
.detail-actions .buy-now{background:var(--shop-accent,#ad782b);border:1px solid var(--shop-accent,#ad782b);color:#fff}.detail-actions .buy-now:hover{filter:brightness(1.08)}
.detail-panel{width:min(560px,100%)}
