@import url('/assets/fonts-7ac3dc049ab5.css');
.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}
:root{color-scheme:dark;--bg:#11120f;--panel:#1b1d17;--ink:#faf8f2;--muted:#c8c3b9;--gold:#c6a15b;--line:#35362f;--serif:Cormorant,Georgia,'Times New Roman',serif;--sans:Manrope,-apple-system,BlinkMacSystemFont,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--sans)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold)}[hidden]{display:none!important}.shell{width:min(1240px,calc(100% - 96px));margin:auto}.preview{text-align:center;padding:7px 20px;background:#262015;color:#d9c399;font-size:11px;letter-spacing:.06em}.header{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{width:225px;max-height:64px;object-fit:contain}.header nav{display:flex;align-items:center;gap:36px;font-size:13px}.cart-toggle{border:0;background:none;color:var(--ink);padding:12px 0}.cart-toggle span{display:inline-grid;place-items:center;border:1px solid var(--line);width:28px;height:28px;border-radius:50%;margin-left:10px}.hero{position:relative;padding:68px 0 56px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:600;color:var(--gold);margin:0 0 22px}.hero h1{font:normal clamp(76px,9vw,132px)/.95 var(--serif);letter-spacing:-.045em;margin:26px 0 40px}.hero h1 em{font-weight:normal;color:var(--gold)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;position:relative;z-index:1}.hero-bottom p{color:var(--muted);margin:0}.hero-number{position:absolute;right:25px;top:40px;font:normal 290px/1 var(--serif);color:#14110d;pointer-events:none;z-index:-0}.hero h1,.hero>.eyebrow{position:relative;z-index:1}.text-link{font-size:12px;letter-spacing:.04em;border:0;padding:8px 0;background:none;color:var(--gold)}.text-link span{margin-left:24px}.collection{padding:70px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-heading h2{font:normal 42px/1.12 var(--serif);margin:0}.section-heading>p{font-size:13px;color:var(--muted);margin:0;max-width:340px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 24px}.product-media{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:linear-gradient(135deg,#16130f,#0f0d0b);border:1px solid #211d17;position:relative;overflow:hidden}.product-media img{width:100%;height:100%;object-fit:contain}.placeholder{text-align:center;color:#716452;padding:20px}.placeholder .model-number{display:block;font:normal 72px var(--serif);color:#443829;margin-bottom:14px}.placeholder .small{font-size:10px;letter-spacing:.06em}.product-index{position:absolute;top:16px;left:18px;font:normal 11px var(--sans);color:var(--gold)}.product-card h3{font:normal 26px/1.12 var(--serif);margin:22px 0 10px;min-height:58px}.product-card .description{font-size:13px;color:var(--muted);min-height:42px}.product-card .price{font-size:15px;display:block;margin:12px 0}.product-card select{width:100%;margin:0 0 12px}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;background:none;color:var(--ink);border:1px solid #51432f;min-height:46px;font-size:12px;letter-spacing:.04em}.button:hover{border-color:var(--gold);background:#211b12}.button.primary{background:var(--gold);color:#0c0a07;border-color:var(--gold)}.button.primary:hover{background:#d5b784}.full-button{width:100%}.card-actions{display:flex;gap:10px}.card-actions .button{flex:1}.card-actions input{width:66px;text-align:center}.closing{border-top:1px solid var(--line);padding:76px 0 80px}.closing-line{font:normal clamp(38px,5vw,64px)/1.1 var(--serif);margin:20px 0}.closing>p:last-child{color:var(--muted);font-size:13px}.footer{border-top:1px solid var(--line);padding:28px 0 35px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.footer a{color:var(--gold)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:14px 24px;z-index:50;max-width:90vw;box-shadow:0 4px 40px #0008;font-size:13px}
dialog{width:min(760px,calc(100% - 32px));max-height:90dvh;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:30px 36px}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.dialog-header h2{font:normal 36px var(--serif);margin:0}.dialog-header .eyebrow{margin-bottom:6px}.icon-button{font-size:28px;line-height:1;background:none;border:0;color:var(--muted);padding:8px}.cart-line{border-top:1px solid var(--line);padding:18px 0;display:grid;grid-template-columns:1fr 76px 90px 34px;gap:12px;align-items:center}.cart-line h3{font:normal 19px var(--serif);margin:0}.cart-line small{color:var(--muted)}.cart-line input{width:70px}.cart-line strong{font-size:13px;text-align:right}.form-heading{border-top:1px solid var(--line);padding-top:24px;margin-top:20px;display:flex;justify-content:space-between;align-items:center}.form-heading h3{font:normal 25px var(--serif);margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:12px;color:var(--muted)}input,select,textarea{display:block;background:#0b0907;border:1px solid var(--line);padding:11px 12px;color:var(--ink);width:100%;border-radius:0;margin-top:6px}textarea{resize:vertical;min-height:80px}.totals{padding:22px 0;margin-top:20px;border-top:1px solid var(--line)}.totals>div{display:flex;justify-content:space-between;margin:8px 0;font-size:13px}.totals .total{font-size:20px;margin-top:20px}.small{font-size:12px}.muted{color:var(--muted)}.error{color:#f0a99a;font-size:13px}.payment-heading h3{font:normal 30px var(--serif)}#demo-payment{padding:25px;border:1px solid var(--line);margin-top:25px}#confirmation h3{font:normal 32px var(--serif)}#confirmation .reference{font-family:monospace;word-break:break-all;font-size:12px}.detail{padding:60px 0 80px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:24px}.detail h1{font:normal 52px/1.05 var(--serif)}.detail p{color:var(--muted)}.detail .price{font-size:24px;margin:30px 0}.detail .card-actions{margin-top:15px}.detail .eyebrow{color:var(--gold)}.detail .gallery-extra{margin-top:15px;display:flex;gap:10px}.gallery-extra img{width:80px;height:80px;object-fit:cover}.admin-shell{width:min(1240px,calc(100% - 48px));margin:auto;padding:36px 0}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-heading h1{font:normal 40px var(--serif)}.tabs{display:flex;gap:10px;margin:20px 0 30px}.tabs button[aria-selected=true]{background:var(--gold);color:var(--bg)}.admin-product{padding:24px;border:1px solid var(--line);margin-bottom:22px;background:var(--panel)}.admin-product h2{font:normal 26px var(--serif);margin-top:0}.admin-product .product-editor{display:grid;grid-template-columns:1fr 160px;gap:15px}.admin-product .product-editor .wide{grid-column:1/-1}.variant-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 100px 90px;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.variant-row .sku{font-size:11px;color:var(--muted)}.admin-order{padding:24px;border:1px solid var(--line);margin-bottom:20px;background:var(--panel)}.admin-order h2{font:normal 24px var(--serif);margin:0 0 12px}.admin-order .order-meta{display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:var(--muted)}.admin-order .order-actions{display:flex;gap:12px;align-items:end;margin-top:20px;flex-wrap:wrap}.admin-order .order-actions label{min-width:160px}.status-chip{display:inline-block;border:1px solid var(--line);padding:3px 10px;color:var(--gold);font-size:11px}.email-row{padding:18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.login{max-width:500px;padding:35px;border:1px solid var(--line);margin:45px auto}.login button{margin-top:20px}
@media(max-width:900px){.shell{width:calc(100% - 48px)}.grid{grid-template-columns:repeat(2,1fr)}.hero-number{font-size:240px;right:0}.detail-grid{gap:28px}.variant-row{grid-template-columns:1fr 1fr 1fr}.admin-product .product-editor{grid-template-columns:1fr}.admin-product .product-editor .wide{grid-column:auto}}
@media(max-width:560px){.shell{width:calc(100% - 36px)}.header{height:86px}.logo{width:164px}.header nav{gap:16px;font-size:12px}.header nav>a{display:none}.hero{padding:48px 0 35px}.hero h1{font-size:76px;margin-bottom:35px}.hero-number{font-size:170px;top:70px;right:-10px}.hero-bottom p{font-size:13px}.hero-bottom{gap:16px}.collection{padding:42px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:34px}.section-heading>p{margin-top:20px;font-size:12px}.grid{gap:32px 14px}.product-card h3{font-size:22px;min-height:66px;margin-top:16px}.placeholder .model-number{font-size:48px}.placeholder .small{font-size:8px}.product-index{font-size:9px;left:12px;top:12px}.product-card .description{display:none}.card-actions{flex-wrap:wrap}.card-actions input{width:100%;height:38px}.card-actions .button{padding:11px 6px;font-size:10px}.product-card select{font-size:11px;padding:10px 8px}.closing{padding:46px 0}.footer{flex-wrap:wrap}.footer>span:nth-child(2){display:none}dialog{padding:24px 18px}.cart-line{grid-template-columns:1fr 58px 30px;gap:8px}.cart-line strong{grid-column:1;font-size:12px;text-align:left}.cart-line input{width:58px}.cart-line .remove-line{grid-column:3;grid-row:1}.form-grid{gap:14px}.form-grid label{font-size:11px}.form-heading{flex-wrap:wrap}.form-heading h3{margin-bottom:8px}.detail{padding-top:30px}.detail-grid{grid-template-columns:1fr;gap:15px}.detail h1{font-size:40px}.variant-row{grid-template-columns:1fr 1fr}.admin-shell{width:calc(100% - 28px)}.admin-product,.admin-order{padding:18px}.admin-heading{flex-wrap:wrap}.admin-heading h1{font-size:30px}.admin-order .order-actions label{width:100%}.email-row{flex-wrap:wrap}}

.image-manager{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.image-list{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:15px}.image-list>div{width:140px}.image-list img{width:140px;height:140px;object-fit:cover}.image-list button{display:block;font-size:11px;text-align:left}

.export-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.export-controls input{max-width:160px}

.product-photo{margin:0}.product-photo figcaption{padding-top:8px;color:var(--muted);font-size:11px}

.product-media picture{display:block;width:100%;height:100%}

/* Collection controls: clear primary action and comfortable mobile touch targets. */
.card-actions{gap:10px}.card-actions .button{background:var(--ink);border-color:var(--ink);color:var(--bg);border-radius:4px;font-size:13px;letter-spacing:0;padding:14px 16px;min-height:50px}.card-actions .button:hover{background:#fff;border-color:#fff}.card-actions input{min-height:50px;border-radius:4px;font-size:15px}.product-card select,.detail select{min-height:48px;border-radius:4px;font-size:14px}.button.primary{background:var(--ink);color:var(--bg);border-color:var(--ink);border-radius:4px;font-size:14px;letter-spacing:0}.button.primary:hover{background:#fff;border-color:#fff}.cart-toggle{font-size:14px;min-height:44px}.site-header nav .cart-toggle{text-align:left;padding:12px}.closing{padding-block:60px}.site-footer{font-family:var(--sans)}
@media(max-width:560px){.card-actions .button{font-size:13px;padding:14px 12px}.card-actions input{width:64px}.site-header.wrap{width:calc(100% - 40px)}.footer-main.wrap{width:calc(100% - 40px)}}

.setup-heading{display:flex;align-items:start;justify-content:space-between;gap:24px}.setup-heading h2{font:normal 32px var(--serif);margin:0 0 12px}.setup-heading p{max-width:650px}.setup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:22px}.setup-item{border:1px solid var(--line);padding:18px}.setup-item strong{display:block;margin-bottom:10px}.setup-item .status-chip{display:inline-block;margin-bottom:12px}.setup-item p{margin:0}.setup-attention{padding:15px 18px;background:var(--panel);border:1px solid var(--line);font-size:13px;margin-bottom:30px}@media(max-width:850px){.setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.setup-grid{grid-template-columns:1fr}.setup-heading{flex-direction:column}}

/* Shop and checkout: deliberately scoped so the editorial header/footer stay shared. */
.shop-page .hero{padding-block:86px 64px;max-width:1240px}
.shop-page .hero h1{font-size:clamp(70px,9vw,126px);font-weight:400;letter-spacing:-.035em;line-height:.98}
.shop-page .hero h1 em{font-style:italic;color:var(--ink)}
.shop-page .hero-bottom p{font-size:20px;line-height:1.5;color:var(--ink)}
.shop-page .hero-bottom .button{gap:28px;min-width:218px}
.shop-intro{max-width:430px;color:var(--muted);margin:30px 0 0;font-size:14px}
.shop-page .collection{padding-block:64px 84px}
.shop-page .section-heading h2{font-size:clamp(34px,4vw,48px)}
.shop-page .grid{gap:46px 30px}
.shop-page .product-card{display:flex;flex-direction:column;min-width:0}
.shop-page .product-media{border-color:var(--line);border-radius:8px;background:#131410}
.shop-page .product-media img{transition:transform .35s ease}
.shop-page .product-card>a:hover img{transform:scale(1.025)}
.shop-page .product-card h3{font-size:30px;min-height:0;margin:22px 0 8px;line-height:1.15}
.shop-page .product-card .description{font-size:14px;line-height:1.7;margin:0 0 18px;min-height:0;flex-grow:1}
.shop-page .product-card .price{font-size:19px;margin:0 0 20px;font-weight:500}
.variant-picker{font-size:12px;color:var(--muted)}
.shop-page .variant-picker select{margin-top:8px;margin-bottom:0;background:var(--panel);border-color:var(--line)}
.product-availability{font-size:12px;margin:10px 0 16px;color:var(--muted)}
.quantity-label{width:76px;flex-shrink:0}
.quantity-label>span{display:block;font-size:10px;line-height:1.4;margin-bottom:5px}
.card-actions{align-items:end}.card-actions .quantity-label input{width:100%;margin-top:0;background:var(--panel)}
.shop-page .card-actions .button{min-height:50px;font-size:13px}
.shop-page .card-actions .button:disabled{opacity:1;background:var(--panel);color:var(--muted);border-color:var(--line)}
.shop-page .closing{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding-block:65px}
.shop-page .closing>div:last-child{max-width:340px;justify-self:end;color:var(--muted)}
.shop-page .closing-line{font-weight:400;font-size:clamp(38px,4vw,54px);margin:0;line-height:1.15}
.shop-page .closing .text-link{display:inline-block;margin-top:10px;text-decoration:underline;text-underline-offset:5px}
.collection-state{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;padding:42px;max-width:100%;background:var(--panel)}
.collection-state h3{font:400 38px/1.2 var(--serif);margin:0 0 16px}
.collection-state p:not(.eyebrow){color:var(--muted);max-width:480px}.collection-state .eyebrow{margin-bottom:16px}
.shop-page dialog{border-radius:12px;padding:32px;scrollbar-gutter:stable}
.checkout-steps{list-style:none;padding:0;display:flex;gap:12px;justify-content:space-between;border-block:1px solid var(--line);padding-block:18px;margin:20px 0;color:var(--muted);font-size:11px}
.checkout-steps li{display:flex;gap:8px;align-items:center}.checkout-steps li[aria-current]{color:var(--ink)}
.checkout-steps span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}
.checkout-steps li[aria-current] span{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.shop-page .cart-line{grid-template-columns:64px minmax(0,1fr) 68px 90px 36px;gap:14px}
.cart-thumbnail{width:64px;height:64px;object-fit:contain;background:#131410;border-radius:6px}
.cart-line-name{min-width:0}.shop-page .cart-line h3{font-size:22px;line-height:1.2}.shop-page .cart-line input{width:100%;min-height:44px}
.shop-page .icon-button{min-width:44px;min-height:44px}.shop-page .form-grid input,.shop-page .form-grid select{background:var(--bg);border-radius:4px;min-height:48px;font-size:16px}
.field-help{display:block;font-size:11px;margin-top:6px;line-height:1.5;color:var(--muted)}
.shop-page .totals{padding:20px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}
.shop-page .totals .total{padding-top:14px;border-top:1px solid var(--line);font-size:22px}
.shop-page #checkout-error,.shop-page #payment-error{padding:12px 16px;border:1px solid #795e51;border-radius:4px;background:#352821}
.payment-summary{padding:14px 18px;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--ink)}
.shop-page #cancel-payment{margin:4px 0 20px;width:100%;border-radius:4px;font-size:13px}
.shop-page #confirmation .button{margin:8px 8px 8px 0;border-radius:4px}
.shop-page #cart-empty{padding:25px 0}.shop-page #cart-empty h3{font:400 32px var(--serif);margin:0 0 8px}.shop-page #cart-empty p{color:var(--muted);margin-bottom:24px}
@media(max-width:900px){.shop-page .grid{gap:38px 24px}.shop-page .hero{padding-top:60px}}
@media(max-width:640px){
 .shop-page .shell{width:calc(100% - 40px)}.shop-page .hero{padding-block:46px}.shop-page .hero h1{font-size:clamp(66px,14vw,88px);margin-block:20px 30px}
 .shop-page .hero-bottom{display:block}.shop-page .hero-bottom p{font-size:18px}.shop-page .hero-bottom .button{margin-top:24px;min-height:50px;width:100%}.shop-intro{font-size:13px;margin-top:22px}
 .shop-page .collection{padding-block:38px 50px}.shop-page .section-heading{display:block;margin-bottom:32px}.shop-page .section-heading>p{margin-top:20px;font-size:14px}
 .shop-page .grid{grid-template-columns:1fr;gap:40px}.shop-page .product-card h3{font-size:32px}.shop-page .product-card .description{display:block;margin-bottom:14px}.shop-page .product-card .price{font-size:20px;margin-bottom:18px}
 .shop-page .card-actions{flex-wrap:nowrap}.quantity-label{width:76px}.shop-page .card-actions .button{font-size:14px;padding-inline:14px}
 .shop-page .closing{grid-template-columns:1fr;gap:24px;padding-block:42px}.shop-page .closing>div:last-child{justify-self:start;max-width:100%}.collection-state{padding:28px 24px}.collection-state h3{font-size:32px}
 .shop-page dialog{width:calc(100% - 16px);max-height:94dvh;padding:22px 18px}.checkout-steps{gap:8px;font-size:10px}.checkout-steps li{gap:5px}.checkout-steps span{width:20px;height:20px}
 .shop-page .cart-line{grid-template-columns:52px minmax(0,1fr) 58px 30px;gap:8px}.cart-thumbnail{width:52px;height:52px;grid-row:1/3}.shop-page .cart-line strong{grid-column:2;grid-row:2;text-align:left}.shop-page .cart-line .remove-line{grid-column:4;grid-row:1;min-width:30px;padding:4px}.shop-page .cart-line input{grid-column:3;grid-row:1}.shop-page .cart-line h3{font-size:21px}
 .shop-page .form-grid{grid-template-columns:1fr;gap:16px}.shop-page .form-grid label{font-size:12px}.shop-page .form-grid .full{grid-column:auto}.shop-page .totals{padding:16px}.shop-page .toast{width:calc(100% - 32px);bottom:16px;text-align:center;border-radius:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shop-page .product-media img{transition:none}}
.order-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 0;border-top:1px solid var(--line)}.order-pagination p{text-align:center}.order-pagination button:disabled{opacity:.4;cursor:default}@media(max-width:560px){.order-pagination{flex-wrap:wrap;gap:12px}.order-pagination p{order:-1;width:100%;margin:0}.order-pagination .button{flex:1;font-size:13px}}

.variant-table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.variant-table caption{text-align:left;font-weight:bold;margin-bottom:.6rem}.variant-table td,.variant-table th{text-align:left;padding:.6rem .3rem;border-bottom:1px solid var(--line)}
.checkout-legal a{text-decoration:underline;text-underline-offset:.2em}

/* Shared typography and controls, independent of the payment state machine. */
.eyebrow, .product-index { font-family: Cinzel, Georgia, serif; font-weight: 400; letter-spacing: .1em; }
.shop-page .hero.shop-cover { max-width: none; padding: 0; min-height: 580px; display: flex; align-items: center; border-block: 1px solid var(--line); background: #11120f; }
.shop-cover-art, .shop-cover-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.shop-cover-art { object-fit: cover; object-position: 75% 65%; }
.shop-cover-shade { background: linear-gradient(90deg, #11120ff5, #11120fc9 42%, #11120f24), linear-gradient(0deg, #11120f80, transparent); }
.shop-cover-copy { position: relative; padding-block: 64px; }
.shop-page .shop-cover h1 { margin-block: 22px 28px; font-size: clamp(66px, 8vw, 108px); line-height: 1.03; }
.shop-cover-lede { color: var(--ink); font-size: 18px; line-height: 1.7; margin-bottom: 26px; }
.shop-cover .button { gap: 28px; }
.shop-cover .shop-intro { margin-top: 22px; font-size: 12px; color: #dfdbd2; }
.shop-page .product-media { width: 100%; height: auto; aspect-ratio: 3 / 4; border: 0; border-radius: 8px; background: #161811; overflow: hidden; }
.shop-page .product-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.shop-page .product-card h3 { font-size: clamp(28px, 2.6vw, 34px); font-weight: 600; text-wrap: balance; }
.shop-page .detail h1 { font-weight: 600; text-wrap: balance; }
.shop-page .price, .shop-page .totals strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.shop-page .product-card .price { font-size: 22px; line-height: 1.3; letter-spacing: -.02em; }
.shop-page .button:not(.primary):not(.card-actions .button) { border-color: #858978; background: #22261c; color: var(--ink); border-radius: 5px; font-size: 14px; letter-spacing: 0; }
.shop-page .button:not(.primary):not(.card-actions .button):hover { background: #33382a; border-color: var(--ink); }
.shop-page .button:focus-visible, .shop-page .icon-button:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.shop-page .icon-button:hover { color: var(--ink); background: #33382a; border-radius: 5px; }
.shop-page .product-card .description { font-size: 14px; line-height: 1.8; }
.variant-picker { border: 0; padding: 0; margin: 0; min-width: 0; }
.variant-picker legend { padding: 0; margin-bottom: 10px; font-size: 12px; }
.variant-options { display: flex; flex-wrap: wrap; gap: 8px; }
.variant-option { position: relative; cursor: pointer; }
.variant-pill { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 10px 13px; border: 1px solid #66685b; border-radius: 5px; background: var(--panel); color: var(--ink); line-height: 1.5; font-size: 13px; }
.variant-pill small { display: block; color: var(--muted); font-size: 11px; }
.variant-option input:checked + .variant-pill { border-color: var(--gold); box-shadow: inset 0 0 0 1px var(--gold); background: #2b2b20; }
.variant-option input:focus-visible + .variant-pill { outline: 2px solid var(--ink); outline-offset: 4px; }
.variant-option input:disabled + .variant-pill { opacity: .55; cursor: default; }
.variant-swatch { display: block; width: 16px; height: 16px; border-radius: 50%; border: 1px solid #bbb29c; background: #c7c3b9; flex-shrink: 0; }
.swatch-black { background: #161713; }
.swatch-camo { background: conic-gradient(#505a39 0 25%, #b1a580 0 50%, #353a28 0 75%, #82744f 0); }
.swatch-gold { background: #c5a25d; }
.swatch-brass { background: #9b7445; }
.quantity-stepper { display: inline-grid; grid-template-columns: 44px 44px 44px; border: 1px solid #66685b; border-radius: 5px; overflow: hidden; flex-shrink: 0; }
.quantity-stepper button { display: grid; place-items: center; border: 0; padding: 0; min-width: 44px; min-height: 48px; background: var(--panel); color: var(--ink); font-size: 21px; line-height: 1; }
.quantity-stepper button:hover:enabled { background: #303327; }
.quantity-stepper button:disabled { opacity: 1; color: #858a7a; }
.quantity-stepper button:focus-visible { outline-offset: -4px; }
.shop-page .quantity-stepper input { appearance: textfield; -moz-appearance: textfield; width: 44px; padding: 0; margin: 0; border: 0; border-inline: 1px solid var(--line); border-radius: 0; min-height: 48px; text-align: center; font-size: 16px; background: var(--panel); }
.quantity-stepper input::-webkit-inner-spin-button, .quantity-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.shop-page .quantity-label { width: 134px; }
.shop-page .quantity-label > span { font-size: 11px; margin-bottom: 8px; }
.shop-page .card-actions { flex-wrap: wrap; gap: 12px; }
.shop-page .card-actions .button { flex: 1 1 150px; line-height: 1.5; }
.product-availability { min-height: 20px; }
.shop-page dialog { position: fixed; inset: var(--cart-viewport-top, 0px) 0 auto auto; margin: 0; width: min(720px, 100%); max-width: 100%; height: var(--cart-viewport-height, 100dvh); max-height: var(--cart-viewport-height, 100dvh); padding: max(30px, env(safe-area-inset-top)) max(30px, env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) 30px; border: 0; border-left: 1px solid var(--line); border-radius: 0; overflow-y: auto; overscroll-behavior: contain; scroll-padding-block: 90px 30px; animation: cart-enter .2s ease-out; }
.shop-page dialog::backdrop { background: #070805b8; backdrop-filter: blur(8px); }
html:has(#cart-dialog[open]), body:has(#cart-dialog[open]) { overflow: hidden; overscroll-behavior: none; }
.shop-page .dialog-header { align-items: center; position: sticky; top: 0; z-index: 2; background: var(--panel); padding-block: 8px; border-bottom: 1px solid var(--line); }
#stripe-checkout { min-width: 0; width: 100%; margin-top: 20px; }
.shop-page #checkout-form, .shop-page #payment-panel, .shop-page #stripe-checkout { min-width: 0; max-height: none; overflow: visible; }
#stripe-checkout iframe { display: block; max-width: 100%; border: 0; }
.shop-page .payment-heading h3 { font-weight: 600; }
.shop-page .cart-line { grid-template-columns: 56px minmax(0,1fr) 134px 80px 44px; gap: 12px; }
.shop-page .cart-line .quantity-stepper input { width: 44px; grid-column: auto; grid-row: auto; }
.cart-photo-note { display: block; margin-top: 5px; font-size: 10px; }
.cart-photo-help { margin-top: 14px; font-size: 11px; }
@keyframes cart-enter { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
@media (max-width: 640px) {
  .shop-page .hero.shop-cover { min-height: 500px; }
  .shop-cover-copy { padding-block: 46px; }
  .shop-cover-shade { background: linear-gradient(90deg, #11120fe8, #11120fa8), linear-gradient(0deg, #11120fe0, transparent); }
  .shop-page .shop-cover h1 { font-size: clamp(61px, 14vw, 82px); }
  .shop-cover-lede { font-size: 17px; }
  .shop-cover .button { min-height: 50px; }
  .shop-page dialog { --cart-height: min(94dvh, calc(var(--cart-viewport-height, 100dvh) - 12px)); inset: calc(var(--cart-viewport-top, 0px) + var(--cart-viewport-height, 100dvh) - var(--cart-height)) 0 auto; width: 100%; height: var(--cart-height); max-height: var(--cart-height); padding: 18px max(18px, env(safe-area-inset-right)) max(22px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); border: 1px solid var(--line); border-bottom: 0; border-radius: 18px 18px 0 0; }
  .shop-page .cart-line { grid-template-columns: 52px minmax(0,1fr) 44px; gap: 10px; }
  .shop-page .cart-line .cart-thumbnail { grid-row: 1 / 4; }
  .shop-page .cart-line .cart-line-name { grid-column: 2; grid-row: 1; }
  .shop-page .cart-line .quantity-stepper { grid-column: 2; grid-row: 2; justify-self: start; }
  .shop-page .cart-line strong { grid-column: 2; grid-row: 3; text-align: left; }
  .shop-page .cart-line .remove-line { grid-column: 3; grid-row: 1; min-width: 44px; min-height: 44px; padding: 8px; }
  .shop-page .cart-line h3 { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) { .shop-page dialog { animation: none; } }
