/* The store uses the shared shell's type, color, and control tokens. */
.store-hero { padding: 34px 0; }
.store-hero-grid { display: grid; grid-template-columns: 1.18fr 1fr; align-items: center; gap: 64px; }
.store-hero-copy .eyebrow { margin: 0 0 18px; }
.store-hero-copy h1 { margin: 0; color: var(--text-main); font: 700 clamp(2.7rem, 4.7vw, 4.1rem)/1.03 var(--font-display); letter-spacing: -.055em; }
.store-hero-copy h1 span { color: var(--gold); }
.store-hero-description { max-width: 435px; margin: 18px 0 22px; color: var(--text-muted); font-size: .94rem; line-height: 1.65; }
.store-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.store-hero-actions .btn-primary { min-height: 48px; }
.store-hero-actions .text-link { font-size: .87rem; }
.store-hero-notes { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 20px; color: var(--text-muted); font-size: .75rem; }
.store-hero-notes span { display: inline-flex; align-items: center; gap: 7px; }
.store-hero-notes .icon { width: 15px; height: 15px; color: var(--emerald); }
.featured-rank { position: relative; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: 12px; background: var(--bg-elevated); }
.featured-rank-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 19px 22px 0; }
.featured-rank-top .eyebrow { margin: 0; color: var(--emerald); }
.featured-rank-index { color: var(--text-muted); font: 10px var(--font-mono); letter-spacing: .05em; }
.featured-rank-art { position: relative; height: 230px; }
.featured-rank-art img { position: absolute; left: 50%; top: 50%; width: 95%; height: 285px; object-fit: contain; transform: translate(-50%, -48%); }
.featured-art-caption { position: absolute; top: 70px; left: 19px; color: var(--text-dim); font: 9px var(--font-mono); writing-mode: vertical-rl; transform: rotate(180deg); }
.featured-art-mark { position: absolute; bottom: 20px; right: 20px; color: var(--text-dim); font: 9px/1.5 var(--font-mono); text-align: right; }
.featured-rank-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 22px; padding: 17px 0 20px; border-top: 1px solid #486047; }
.featured-rank-bottom > div { min-width: 0; }
.featured-rank-bottom h2 { margin: 0 0 3px; font: 700 1.5rem/1.15 var(--font-display); letter-spacing: -.025em; overflow-wrap: anywhere; }
.featured-rank-bottom p { margin: 0; color: var(--gold); font-weight: 600; font-size: .95rem; }
.featured-rank-bottom p span { color: var(--text-dim); font-size: .75rem; font-weight: 400; }
.featured-rank-buy { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border: 1px solid var(--gold); border-radius: 8px; background: var(--gold); color: var(--bg-base); cursor: pointer; }
.featured-rank-buy:hover { background: var(--text-main); border-color: var(--text-main); }
.store-hero-empty img { max-height: 285px; width: 100%; object-fit: contain; }
.store-hero-empty p { color: var(--text-muted); text-align: center; }

.store-catalog { position: relative; padding: 28px 0 66px; border-top: 1px solid var(--border-subtle); scroll-margin-top: 95px; }
.catalog-anchor { position: absolute; top: 0; scroll-margin-top: 95px; }
.store-catalog-head { margin-bottom: 23px; align-items: end; gap: 28px; }
.store-catalog-head .eyebrow { margin: 0 0 10px; }
.store-catalog-head .section-heading { margin: 0; font-size: clamp(1.9rem, 3vw, 2.6rem); }
.catalog-filter-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.catalog-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.catalog-filter { display: inline-flex; align-items: center; gap: 12px; min-height: 42px; padding: 9px 14px; border: 1px solid var(--border-subtle); border-radius: 8px; color: var(--text-muted); background: transparent; text-decoration: none; font-size: .8rem; font-weight: 600; }
.catalog-filter > span { color: var(--text-dim); font: 10px var(--font-mono); }
.catalog-filter:hover { color: var(--text-main); border-color: var(--text-muted); }
.catalog-filter[aria-current="true"] { background: var(--emerald); border-color: var(--emerald); color: var(--bg-base); }
.catalog-filter[aria-current="true"] > span { color: #3b5039; }
.catalog-count { flex-shrink: 0; margin: 0; color: var(--text-dim); font: .66rem/1.6 var(--font-mono); }
.catalog-controls { display: flex; gap: 12px; }
.catalog-controls label { display: block; margin-bottom: 6px; color: var(--text-muted); font-size: .71rem; }
.catalog-controls .form-control { height: 40px; padding: 8px 12px; border-radius: 8px; font-size: .8rem; }
.catalog-search > div { position: relative; }
.catalog-search .icon { position: absolute; left: 11px; top: 12px; width: 16px; height: 16px; color: var(--text-dim); pointer-events: none; }
.catalog-search input.form-control { width: 215px; padding-left: 34px; }
.catalog-sort select { width: 170px; cursor: pointer; color-scheme: dark; }
.store-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.store-product { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid var(--border-subtle); border-radius: 10px; background: var(--bg-surface); scroll-margin-top: 100px; }
.store-product:hover { border-color: #697c60; }
.product-illustration { position: relative; height: 170px; overflow: hidden; border-bottom: 1px solid var(--border-subtle); background: #223329; }
.store-product--crates .product-illustration { background: #332e22; }
.store-product--perks .product-illustration { background: #253831; }
.product-illustration img { display: block; width: 100%; height: 205px; margin-top: -15px; object-fit: contain; }
.product-plate-number { position: absolute; top: 16px; left: 18px; z-index: 1; color: var(--text-dim); font: 10px var(--font-mono); }
.product-pick { position: absolute; top: 12px; right: 14px; z-index: 1; padding: 4px 8px; border: 1px solid #6b704d; border-radius: 4px; background: var(--bg-surface); color: var(--gold); font: 9px var(--font-mono); }
.product-art-category { position: absolute; bottom: 12px; left: 18px; color: var(--emerald); font: 600 10px var(--font-mono); letter-spacing: .1em; }
.store-product--crates .product-art-category { color: #dbc08b; }
.product-content { display: flex; flex: 1; flex-direction: column; padding: 22px; }
.product-name { margin: 0; font: 700 1.35rem/1.2 var(--font-display); letter-spacing: -.025em; color: var(--text-main); overflow-wrap: anywhere; }
.product-description { min-height: 63px; margin: 11px 0 16px; color: var(--text-muted); font-size: .82rem; line-height: 1.65; }
.product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 9px; padding-bottom: 18px; margin-bottom: 17px; border-bottom: 1px solid var(--border-subtle); }
.product-price > span { color: var(--gold); font: 700 1.55rem/1.1 var(--font-display); letter-spacing: -.025em; }
.product-price small { color: var(--text-dim); font-size: .7rem; }
.product-perks { display: grid; gap: 10px; padding: 0; margin: 0; list-style: none; }
.product-perks li { display: flex; align-items: flex-start; gap: 9px; color: var(--text-muted); font-size: .77rem; line-height: 1.6; }
.product-perks .icon { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 3px; color: var(--emerald); }
.product-details { margin-top: 14px; }
.product-details summary { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 0; color: var(--text-main); font-size: .75rem; cursor: pointer; list-style: none; }
.product-details summary::-webkit-details-marker, .store-faq summary::-webkit-details-marker { display: none; }
.product-details summary .icon { width: 14px; height: 14px; }
.product-details[open] summary { margin-bottom: 9px; }
.product-details[open] summary .icon, .store-faq details[open] summary .icon { transform: rotate(180deg); }
.product-buy { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; margin-top: 21px; padding: 11px 14px; border: 1px solid #647456; border-radius: 8px; background: transparent; color: var(--text-main); font: 600 .8rem var(--font-sans); text-align: left; cursor: pointer; }
.product-buy .icon { width: 17px; height: 17px; color: var(--emerald); }
.product-buy:hover { background: var(--emerald); color: var(--bg-base); border-color: var(--emerald); }
.product-buy:hover .icon { color: var(--bg-base); }
.catalog-footnote { max-width: 710px; margin: 25px 0 0; color: var(--text-dim); font-size: .72rem; line-height: 1.7; }
.catalog-empty { padding: 48px 20px; text-align: center; border: 1px dashed var(--border-subtle); border-radius: 10px; }
.catalog-empty > .icon { width: 30px; height: 30px; margin-bottom: 16px; color: var(--emerald); }
.catalog-empty h3 { margin: 0 0 8px; font: 600 1.5rem var(--font-display); }
.catalog-empty p { margin: 0 0 22px; color: var(--text-muted); }
.store-notice { padding: 16px 20px; margin: 0 0 20px; border: 1px solid var(--border-subtle); border-left: 3px solid var(--gold); border-radius: 8px; color: var(--text-muted); font-size: .85rem; }

.store-guide { padding: 68px 0; border-top: 1px solid var(--border-subtle); border-bottom: 1px solid var(--border-subtle); background: var(--bg-surface); scroll-margin-top: 95px; }
.store-guide-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; }
.store-guide-intro .section-heading { margin: 15px 0 17px; font-size: clamp(2rem, 3.2vw, 2.8rem); }
.store-guide-intro .section-desc { font-size: .9rem; line-height: 1.7; max-width: 355px; }
.store-guide-intro .text-link { margin-top: 24px; font-size: .83rem; }
.store-steps { margin: 0; padding: 0; list-style: none; }
.store-steps li { display: grid; grid-template-columns: 32px 1fr 22px; gap: 18px; padding: 23px 0; border-bottom: 1px solid var(--border-subtle); }
.store-steps li:first-child { padding-top: 0; }
.store-steps li:last-child { padding-bottom: 0; border-bottom: 0; }
.store-step-number { padding-top: 2px; color: var(--gold); font: .75rem var(--font-mono); }
.store-steps h3 { margin: 0 0 8px; font: 600 1.1rem/1.3 var(--font-display); }
.store-steps p { margin: 0; color: var(--text-muted); font-size: .83rem; line-height: 1.7; }
.store-steps li > .icon { color: var(--text-dim); }
.store-help { padding: 70px 0 80px; }
.store-help-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 85px; }
.store-help .section-heading { margin: 15px 0; font-size: clamp(1.9rem, 3vw, 2.5rem); }
.store-help .section-desc { max-width: 340px; font-size: .9rem; }
.store-help .text-link { margin-top: 22px; font-size: .85rem; }
.store-faq details { border-bottom: 1px solid var(--border-subtle); }
.store-faq details:first-child { border-top: 1px solid var(--border-subtle); }
.store-faq summary { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 20px 0; list-style: none; cursor: pointer; font-size: .9rem; font-weight: 600; }
.store-faq summary .icon { flex-shrink: 0; width: 16px; height: 16px; color: var(--emerald); }
.store-faq details p { padding: 0 26px 22px 0; margin: 0; color: var(--text-muted); font-size: .84rem; line-height: 1.8; }

.store-page.modal-open { overflow: hidden; }
.store-dialog { position: fixed; width: calc(100% - 40px); max-width: 870px; max-height: calc(100dvh - 48px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid #4a5d48; border-radius: 12px; background: var(--bg-surface); color: var(--text-main); font-family: var(--font-sans); color-scheme: dark; }
.store-dialog::backdrop { background: rgb(5 12 8 / 82%); }
.store-dialog:not([open]), .store-dialog [hidden], .store-catalog [hidden] { display: none !important; }
.checkout-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); }
.dialog-close { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-surface); color: var(--text-muted); cursor: pointer; }
.dialog-close:hover { color: var(--text-main); border-color: var(--text-muted); }
.dialog-close .icon { width: 18px; height: 18px; }
.checkout-summary { padding: 30px 24px; border-right: 1px solid var(--border-subtle); background: var(--bg-elevated); }
.checkout-summary .eyebrow { margin: 0; font-size: 10px; }
.checkout-product-art { display: block; width: calc(100% + 32px); height: 175px; max-width: none; margin: 4px -16px 8px; object-fit: contain; }
.checkout-product-badge { display: inline-block; margin-bottom: 9px; color: var(--emerald); font: 600 10px var(--font-mono); letter-spacing: .09em; }
.checkout-summary h3 { margin: 0; font: 700 1.7rem/1.15 var(--font-display); letter-spacing: -.035em; overflow-wrap: anywhere; }
.checkout-product-description { color: var(--text-muted); margin: 14px 0 24px; font-size: .79rem; line-height: 1.7; }
.checkout-total { display: grid; gap: 7px; padding: 20px 0; border-top: 1px solid #4a5d48; border-bottom: 1px solid #4a5d48; }
.checkout-total > span { color: var(--text-muted); font-size: .73rem; }
.checkout-total strong { color: var(--gold); font: 700 1.9rem var(--font-display); letter-spacing: -.03em; }
.checkout-total small { color: var(--text-dim); font-size: .68rem; line-height: 1.6; }
.checkout-summary-note { display: flex; gap: 9px; align-items: start; margin: 23px 0 0; color: var(--text-muted); font-size: .72rem; line-height: 1.7; }
.checkout-summary-note .icon { width: 16px; height: 16px; flex: 0 0 16px; margin-top: 2px; color: var(--emerald); }
.checkout-main { padding: 33px 32px 24px; min-width: 0; }
.dialog-header { padding-right: 12px; margin-bottom: 25px; }
.dialog-header .eyebrow { margin: 0 0 12px; }
.dialog-header h2 { margin: 0 0 10px; font: 700 1.9rem/1.12 var(--font-display); letter-spacing: -.035em; }
.dialog-header > p:last-child { margin: 0; color: var(--text-muted); font-size: .81rem; line-height: 1.7; }
.checkout-fields, .payment-methods { min-width: 0; margin: 0; padding: 0; border: 0; }
.store-dialog .form-group { margin-bottom: 20px; }
.store-dialog .form-label { display: block; margin-bottom: 8px; font-size: .8rem; font-weight: 600; }
.store-dialog .form-label span { color: var(--text-dim); font-size: .72rem; font-weight: 400; }
.store-dialog .form-control { width: 100%; min-width: 0; min-height: 46px; padding: 11px 12px; border-radius: 8px; font-size: .87rem; }
.checkout-player-input { display: flex; align-items: center; gap: 10px; }
.checkout-player-input img { width: 46px; height: 46px; flex: 0 0 46px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-elevated); image-rendering: pixelated; object-fit: cover; }
.field-help { margin: 7px 0 0; color: var(--text-dim); font-size: .7rem; line-height: 1.65; }
.payment-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 13px; }
.payment-methods legend { padding: 0; }
.payment-option { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 12px 10px; border: 1px solid var(--border-subtle); border-radius: 8px; cursor: pointer; }
.payment-option input, .checkout-consent input { accent-color: var(--emerald); width: 15px; height: 15px; flex: 0 0 15px; margin: 0; }
.payment-option:has(input:checked) { border-color: var(--emerald); background: var(--bg-elevated); }
.payment-option:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 3px; }
.payment-option > span { min-width: 0; flex: 1; }
.payment-option strong { display: block; font-size: .72rem; font-weight: 600; overflow-wrap: anywhere; }
.payment-option small { display: block; margin-top: 4px; color: var(--text-dim); font-size: .65rem; }
.payment-option > .icon { display: none; }
.payment-detail { padding: 14px; border: 1px solid var(--border-subtle); border-radius: 8px; background: var(--bg-base); }
.payment-detail-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 9px; }
.payment-detail-head > span { color: var(--emerald); font: 10px/1.5 var(--font-mono); }
.payment-detail > strong { display: block; font: 500 .83rem/1.6 var(--font-mono); overflow-wrap: anywhere; }
.payment-detail > span { display: block; margin-top: 3px; color: var(--text-muted); font-size: .72rem; }
.payment-detail > p { margin: 8px 0 0; color: var(--text-muted); font-size: .73rem; line-height: 1.7; }
.store-copy { display: inline-flex; justify-content: center; align-items: center; flex-shrink: 0; gap: 5px; min-height: 32px; padding: 5px 8px; border: 1px solid var(--border-subtle); border-radius: 6px; background: var(--bg-elevated); color: var(--text-main); font: 500 .68rem var(--font-sans); cursor: pointer; }
.store-copy .icon { width: 13px; height: 13px; }
.store-copy:hover { border-color: var(--emerald); }
.checkout-consent { display: flex; align-items: flex-start; gap: 10px; margin: 20px 0 0; color: var(--text-muted); font-size: .73rem; line-height: 1.65; cursor: pointer; }
.checkout-consent input { margin-top: 3px; }
.store-form-error { padding: 12px 14px; border: 1px solid #a46c54; border-radius: 8px; background: #34271f; color: #efc6ae; font-size: .78rem; line-height: 1.65; }
.store-form-status { min-height: 0; margin: 10px 0; color: var(--gold); font-size: .74rem; line-height: 1.6; }
.store-form-status:empty { margin: 0; }
.checkout-submit { display: flex; justify-content: center; width: 100%; min-height: 47px; margin-top: 22px; }
.checkout-submit-note { margin: 10px 0 0; color: var(--text-dim); text-align: center; font-size: .67rem; line-height: 1.6; }
.store-dialog button:disabled { opacity: .55; cursor: not-allowed; }
.dialog-support { margin: 23px 0 0; padding-top: 16px; border-top: 1px solid var(--border-subtle); color: var(--text-muted); font-size: .73rem; line-height: 1.7; }
.dialog-support a { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 7px; color: var(--text-muted); text-decoration: none; }
.dialog-support a:hover { color: var(--gold); }
.dialog-support .icon { width: 15px; height: 15px; }
.store-copy-status { margin: 8px 0 0; color: var(--emerald); font-size: .7rem; line-height: 1.6; }
.store-copy-status:empty { margin: 0; }
.order-result-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 14px; border: 1px solid var(--emerald); border-radius: 9px; color: var(--emerald); background: var(--bg-elevated); }
.order-confirmation h3 { margin: 0 0 12px; font: 700 1.6rem/1.2 var(--font-display); letter-spacing: -.03em; }
.order-status-tag { display: inline-block; margin: 0; padding: 5px 8px; border: 1px solid #6b704d; border-radius: 5px; color: var(--gold); font: 500 10px/1.5 var(--font-mono); }
.order-status-tag[data-state="completed"] { color: var(--emerald); border-color: #637c53; }
.order-status-tag[data-state="review"] { color: #e5ad8d; border-color: #9b6b51; }
.invoice-code-box { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 20px 0; padding: 16px; border: 1px dashed #78825b; border-radius: 8px; background: var(--bg-base); }
.invoice-code-box strong { display: block; color: var(--gold); font: 600 1.12rem/1.5 var(--font-mono); overflow-wrap: anywhere; }
.invoice-code-box span { display: block; margin-bottom: 5px; color: var(--text-muted); font-size: .7rem; }
.invoice-code-box > div { min-width: 0; }
.order-facts { display: grid; gap: 11px; margin: 0; }
.order-facts > div { display: grid; grid-template-columns: 95px minmax(0, 1fr); align-items: baseline; gap: 12px; font-size: .78rem; line-height: 1.5; }
.order-facts dt { color: var(--text-dim); }
.order-facts dd { margin: 0; color: var(--text-main); overflow-wrap: anywhere; }
.order-next-step { padding: 15px 0; margin: 15px 0 0; border-top: 1px solid var(--border-subtle); color: var(--text-muted); font-size: .8rem; line-height: 1.75; }
.order-result-actions { display: grid; gap: 9px; margin-top: 21px; }
.order-result-actions > button { justify-content: center; width: 100%; min-height: 44px; font-size: .8rem; }
.lookup-dialog { max-width: 560px; }
.lookup-content { padding: 34px; }
.lookup-content .dialog-header { padding-right: 22px; }
.lookup-input-row { display: flex; gap: 10px; }
.lookup-input-row .form-control { flex: 1; width: 0; font-family: var(--font-mono); }
.lookup-input-row .btn-primary { flex-shrink: 0; font-size: .8rem; padding: 10px 16px; }
.lookup-result { margin-top: 24px; }
.lookup-result-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.lookup-result-heading h3 { margin: 0; font: 600 1.1rem var(--font-display); }
.lookup-result .invoice-code-box { margin-top: 14px; }
.store-dialog :focus-visible, .store-catalog :focus-visible, .store-hero :focus-visible, .store-help :focus-visible, .store-guide :focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

@media (min-width: 1000px) {
    .store-products { align-items: stretch; }
    .product-buy { margin-top: auto; }
    .product-details { margin-bottom: 20px; }
    .product-perks:last-of-type { margin-bottom: 20px; }
}
@media (max-width: 1050px) {
    .store-hero-grid { gap: 30px; grid-template-columns: 1.12fr 1fr; }
    .store-hero-copy h1 { font-size: clamp(2.7rem, 5.1vw, 3.55rem); }
    .store-hero-actions { gap: 14px; }
    .store-products { gap: 16px; }
    .product-content { padding: 19px; }
    .store-guide-grid, .store-help-grid { gap: 45px; }
    .catalog-filter-row { flex-wrap: wrap; gap: 13px; }
}
@media (max-width: 800px) {
    .store-hero { padding: 34px 0; }
    .store-hero-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
    .store-hero-copy h1 { font-size: 2.65rem; }
    .store-hero-copy .eyebrow { font-size: 9px; line-height: 1.7; }
    .store-hero-description { margin: 18px 0; font-size: .86rem; }
    .store-hero-notes { margin-top: 20px; font-size: .68rem; gap: 10px; }
    .featured-rank-top { padding: 17px 16px 0; }
    .featured-rank-index { display: none; }
    .featured-rank-art { height: 220px; }
    .featured-rank-art img { width: 115%; }
    .featured-rank-bottom { margin: 0 16px; }
    .featured-rank-bottom h2 { font-size: 1.3rem; }
    .featured-art-caption { left: 12px; }
    .featured-art-mark { right: 12px; font-size: 8px; }
    .store-products { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
    .product-buy { margin-top: auto; }
    .product-details { margin-bottom: 20px; }
    .product-perks:last-of-type { margin-bottom: 20px; }
    .store-catalog-head { flex-wrap: wrap; gap: 18px; }
    .store-guide-grid, .store-help-grid { gap: 35px; grid-template-columns: .85fr 1.15fr; }
    .checkout-layout { grid-template-columns: 220px minmax(0, 1fr); }
    .checkout-summary { padding: 28px 20px; }
    .checkout-main { padding: 32px 23px 23px; }
    .payment-methods { grid-template-columns: 1fr; }
    .payment-option small { display: inline; margin-left: 6px; }
    .payment-option strong { display: inline; }
}
@media (max-width: 600px) {
    .store-hero-grid { grid-template-columns: 1fr; gap: 28px; }
    .store-hero-copy h1 { max-width: 470px; font-size: clamp(2.7rem, 9.6vw, 3.5rem); }
    .store-hero-copy .eyebrow { margin-bottom: 18px; font-size: 9px; }
    .store-hero-description { max-width: 360px; margin: 20px 0 22px; font-size: .91rem; }
    .store-hero-actions { gap: 19px; }
    .store-hero-actions .btn-primary { font-size: .84rem; }
    .store-hero-actions .text-link { font-size: .8rem; }
    .store-hero-notes { font-size: .71rem; gap: 19px; }
    .featured-rank { display: grid; grid-template-columns: minmax(0, 1fr) 145px; min-height: 161px; }
    .featured-rank-top { grid-column: 1; padding: 19px 0 0 18px; }
    .featured-rank-top .eyebrow { font-size: 9px; }
    .featured-rank-index { display: none; }
    .featured-rank-art { grid-column: 2; grid-row: 1 / 3; height: 160px; }
    .featured-rank-art img { height: 185px; width: 215px; max-width: none; transform: translate(-53%, -56%); }
    .featured-art-caption, .featured-art-mark { display: none; }
    .featured-rank-bottom { grid-column: 1; padding: 11px 0 22px; margin: 0 0 0 18px; border: 0; }
    .featured-rank-bottom h2 { font-size: 1.4rem; }
    .featured-rank-buy { position: absolute; right: 13px; bottom: 13px; width: 42px; height: 42px; }
    .store-catalog { padding: 30px 0 42px; }
    .store-catalog-head { display: block; margin-bottom: 22px; }
    .store-catalog-head .catalog-controls { margin-top: 19px; }
    .catalog-filter-row { display: block; margin-bottom: 19px; }
    .catalog-filters { flex-wrap: nowrap; gap: 7px; overflow-x: auto; padding: 3px 3px 12px; margin: -3px -3px 0; scrollbar-width: thin; scrollbar-color: var(--border-subtle) transparent; }
    .catalog-filter { flex-shrink: 0; padding: 9px 12px; font-size: .75rem; }
    .catalog-count { margin: 9px 0 0; font-size: .67rem; }
    .catalog-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .83fr); gap: 10px; }
    .catalog-search input.form-control, .catalog-sort select { width: 100%; }
    .store-products { grid-template-columns: 1fr; gap: 20px; }
    .product-illustration { height: 190px; }
    .product-illustration img { height: 225px; margin-top: -17px; }
    .product-content { padding: 23px; }
    .product-name { font-size: 1.5rem; }
    .product-description { min-height: 0; font-size: .85rem; }
    .product-perks li { font-size: .81rem; }
    .product-perks:last-of-type { margin-bottom: 0; }
    .product-details { margin-bottom: 0; }
    .product-buy { margin-top: 23px; }
    .catalog-footnote { font-size: .7rem; }
    .store-guide, .store-help { padding: 44px 0; }
    .store-guide-grid, .store-help-grid { grid-template-columns: 1fr; gap: 31px; }
    .store-guide-intro .section-heading { font-size: 2.2rem; }
    .store-steps li { gap: 11px; }
    .store-steps h3 { font-size: 1.03rem; }
    .store-steps p { font-size: .82rem; }
    .store-dialog { width: calc(100% - 20px); max-height: calc(100dvh - 24px); border-radius: 10px; }
    .checkout-layout { grid-template-columns: 1fr; }
    .checkout-summary { display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: 14px; padding: 20px 52px 19px 17px; border-right: 0; border-bottom: 1px solid var(--border-subtle); }
    .checkout-summary > .eyebrow { display: none; }
    .checkout-product-art { grid-column: 1; grid-row: 1 / 4; width: 95px; height: 96px; margin: 0 -12px; align-self: center; }
    .checkout-product-badge { grid-column: 2; margin: 0 0 4px; font-size: 9px; }
    .checkout-summary h3 { grid-column: 2; font-size: 1.25rem; }
    .checkout-product-description { display: none; }
    .checkout-total { grid-column: 2; display: block; border: 0; padding: 4px 0 0; }
    .checkout-total strong { font-size: 1.25rem; }
    .checkout-total > span, .checkout-total > small, .checkout-summary-note { display: none; }
    .checkout-main { padding: 24px 20px 20px; }
    .dialog-header h2 { font-size: 1.7rem; }
    .dialog-header .eyebrow { font-size: 10px; }
    .payment-methods { grid-template-columns: 1fr 1fr; }
    .payment-option strong, .payment-option small { display: block; }
    .payment-option small { margin: 4px 0 0; }
    .payment-option { gap: 7px; padding: 11px 8px; }
    .store-dialog .form-control { font-size: 16px; }
    .lookup-content { padding: 31px 21px 23px; }
    .lookup-content .dialog-header { padding-right: 17px; }
    .lookup-content .dialog-header h2 { max-width: 250px; }
    .lookup-input-row { gap: 8px; }
    .lookup-input-row .btn-primary { padding: 10px 12px; }
    .lookup-input-row .btn-primary .icon { display: none; }
    .order-facts > div { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; }
}
@media (prefers-reduced-motion: no-preference) {
    .featured-rank { animation: store-arrive .45s ease-out both; }
    .store-product, .product-buy, .catalog-filter, .featured-rank-buy { transition: border-color .16s ease, background-color .16s ease, color .16s ease; }
    .product-illustration img { transition: transform .25s ease; }
    .store-product:hover .product-illustration img { transform: translateY(-3px); }
    @keyframes store-arrive { from { transform: translateY(7px); } to { transform: translateY(0); } }
}
