/* Shared visual language; no selectors escape the AMT-owned roots. */
.amt-order-selector,
.amt-order-form-scope {
    box-sizing: border-box;
    inline-size: 100%;
    max-inline-size: 64rem;
    margin-inline: auto;
    padding: clamp(1rem, 3vw, 2rem);
    color: var(--amt-ink);
    background: var(--amt-paper);
    border: 0;
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.6;
    text-align: start;
    overflow-wrap: anywhere;
}
.amt-order-selector { container: amt-order / inline-size; }
.amt-order-selector .amt-order-product { display: grid; gap: clamp(1.25rem, 3vw, 2rem); min-inline-size: 0; }
.amt-order-form-scope { border-block-start: 1px solid var(--amt-line); }
.amt-order-selector .amt-order-media,
.amt-order-selector .amt-order-details,
.amt-order-selector .amt-order-attribute { min-inline-size: 0; }
.amt-order-selector .amt-order-media { display: grid; place-items: center; aspect-ratio: 1; background: var(--amt-soft); border-radius: var(--amt-radius); overflow: hidden; }
.amt-order-selector .amt-order-image { display: block; inline-size: 100%; block-size: 100%; max-block-size: 100%; object-fit: contain; }
.amt-order-selector .amt-order-image[hidden] { display: none; }
.amt-order-selector .amt-order-title { margin: 0 0 1.5rem; color: var(--amt-ink); font: inherit; font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 700; line-height: 1.25; letter-spacing: -.025em; }
.amt-order-selector[dir="rtl"] .amt-order-title { letter-spacing: normal; }
.amt-order-selector .amt-order-attribute { margin: 0 0 1.25rem; padding: 0; border: 0; }
.amt-order-selector .amt-order-attribute legend { padding: 0; margin-block-end: .6rem; font-size: .875rem; font-weight: 600; }
.amt-order-selector .amt-order-choices { display: flex; flex-wrap: wrap; gap: .5rem; }
.amt-order-selector .amt-order-choice,
.amt-order-selector .amt-order-select {
    box-sizing: border-box;
    min-block-size: 48px;
    max-inline-size: 100%;
    margin: 0;
    padding: .65rem .85rem;
    border: 1px solid var(--amt-line);
    border-radius: var(--amt-radius);
    background: var(--amt-paper);
    color: var(--amt-ink);
    font: inherit;
    font-weight: 500;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: normal;
    box-shadow: none;
}
.amt-order-selector .amt-order-select { inline-size: 100%; }
.amt-order-selector .amt-order-choice { display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: .5rem; cursor: pointer; overflow-wrap: anywhere; }
.amt-order-selector .amt-order-choice-label { min-inline-size: 0; overflow-wrap: anywhere; }
.amt-order-selector .amt-order-choice:not(:disabled):hover { border-color: var(--amt-ink); background: var(--amt-soft); }
.amt-order-selector .amt-order-choice[aria-pressed="true"] { border-color: var(--amt-selected); box-shadow: inset 0 0 0 1px var(--amt-selected); text-decoration: underline; text-underline-offset: .2em; }
.amt-order-selector .amt-order-choice:disabled { opacity: .45; cursor: not-allowed; text-decoration: line-through; }
.amt-order-selector .amt-order-choice-image { inline-size: 2rem; block-size: 2rem; object-fit: cover; flex: none; }
.amt-order-selector .amt-order-swatch { inline-size: 1rem; block-size: 1rem; flex: none; border: 1px solid var(--amt-swatch-border); border-radius: 50%; }
.amt-order-selector .amt-order-price { margin: 1.5rem 0 .25rem; color: var(--amt-ink); font-size: 1.75rem; font-weight: 700; line-height: 1.3; font-variant-numeric: tabular-nums; }
.amt-order-selector .amt-order-price:empty { margin: 0; }
.amt-order-selector .amt-order-status { margin: .5rem 0 0; color: var(--amt-muted); font-size: .875rem; }
.amt-order-selector[data-amt-state="loading"],
.amt-order-selector[data-amt-state="unavailable"] { min-block-size: 8rem; align-content: center; }
.amt-order-selector[data-amt-state="unavailable"] .amt-order-status { color: var(--amt-ink); }
.amt-order-selector[data-amt-state="unavailable"] .amt-order-media[data-amt-has-image="false"] { display: none; }
.amt-order-selector :is(.amt-order-choice, .amt-order-select):focus-visible { outline: 3px solid var(--amt-accent); outline-offset: 3px; }
/* Exclude hidden/conditional groups and honeypots. Never override FF visibility. */
.amt-order-form-scope .amt-order-form .ff-el-group:not(:where(.ff-hpsf-container, .ff-hpsf-container *, .ff_excluded, .ff_excluded *, .ff-hidden, .ff-hidden *, [hidden], [hidden] *, [style*="display: none"], [style*="display:none"])) { margin-block-end: 1rem; }
.amt-order-form-scope .amt-order-form :is(.ff-el-input--label, .ff-el-input--label label):not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden *, [hidden] *, [style*="display: none"] *, [style*="display:none"] *)) { color: var(--amt-ink); font-size: .875rem; font-weight: 600; text-align: start; }
.amt-order-form-scope .amt-order-form .ff-el-is-required:not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden *, [hidden] *)) :is(label, span)::after { color: var(--amt-error); }
.amt-order-form-scope .amt-order-form :is(input[type="text"], input[type="tel"], input[type="number"], input[type="email"], textarea):not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden, .ff-hidden *, [hidden], [hidden] *, [style*="display: none"], [style*="display:none"], [style*="display: none"] *, [style*="display:none"] *)) {
    box-sizing: border-box;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    min-block-size: 48px;
    padding: .75rem .875rem;
    border: 1px solid var(--amt-line);
    border-radius: var(--amt-radius);
    background: var(--amt-paper);
    color: var(--amt-ink);
    font: inherit;
    font-size: 1rem;
    line-height: 1.5;
    box-shadow: none;
    text-align: start;
}
.amt-order-form-scope .amt-order-form textarea:not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden, .ff-hidden *, [hidden], [hidden] *, [style*="display: none"] *, [style*="display:none"] *)) { min-block-size: 7rem; resize: vertical; }
.amt-order-form-scope .amt-order-form .ff-el-is-error :is(input:not([type="hidden"]), textarea):not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden *, [hidden] *)) { border-color: var(--amt-error); }
.amt-order-form-scope .amt-order-form :is(.error, .text-danger):not(:where(.ff-hpsf-container *, .ff_excluded *, .ff-hidden *, [hidden] *)) { color: var(--amt-error); font-size: .875rem; margin-block-start: .4rem; }
/* Outrank FF's per-form normal/custom button rules without form IDs or !important.
 * Do not target its loading pseudo-element, visibility, events or ARIA state. */
.amt-order-form-scope .amt-order-form button.ff-btn.ff-btn-submit:not(:where(.ff_excluded *, [hidden], [hidden] *)) { box-sizing: border-box; inline-size: 100%; min-block-size: 52px; padding: .875rem 1.25rem; border: 1px solid var(--amt-button-bg); border-radius: var(--amt-radius); background: var(--amt-button-bg); color: var(--amt-button-text); font: inherit; font-weight: 600; line-height: 1.5; cursor: pointer; box-shadow: none; }
.amt-order-form-scope .amt-order-form button.ff-btn.ff-btn-submit:is(:hover, :active, :focus) { background: var(--amt-button-bg); color: var(--amt-button-text); border-color: var(--amt-button-bg); }
.amt-order-form-scope .amt-order-form button.ff-btn.ff-btn-submit:not(:disabled):not(.disabled):not(.ff-working):is(:hover, :active) { background: var(--amt-button-hover-bg); color: var(--amt-button-hover-text); border-color: var(--amt-button-hover-bg); }
.amt-order-form-scope .amt-order-form button.ff-btn.ff-btn-submit:focus-visible { outline: 3px solid var(--amt-accent); outline-offset: 3px; }
.amt-order-form-scope .amt-order-form button.ff-btn.ff-btn-submit:disabled { opacity: .45; cursor: not-allowed; }
.amt-order-form-scope .amt-order-form :is(input:not([type="hidden"]), textarea, select, button):focus-visible { outline: 3px solid var(--amt-accent); outline-offset: 3px; }
.amt-order-form-scope :is(.ff-errors-in-stack, .ff-message-success):not(:empty) { padding: 1rem; margin-block: 1rem 0; border: 1px solid var(--amt-line); border-inline-start: 3px solid var(--amt-ink); border-radius: var(--amt-radius); background: var(--amt-soft); color: var(--amt-ink); box-shadow: none; }
.amt-order-form-scope .ff-errors-in-stack:not(:empty),
.amt-order-form-scope .ff-errors-in-stack .error-text { color: var(--amt-error); border-inline-start-color: var(--amt-error); }
/* Defaults stack even when container queries are unsupported. Never depend on viewport alone. */
@container amt-order (min-width: 44rem) {
    .amt-order-selector.amt-layout-split[data-amt-state="ready"] .amt-order-product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
    .amt-order-selector .amt-order-choice { flex-grow: 0; }
}
.amt-order-selector.amt-layout-stacked .amt-order-media { max-block-size: 36rem; }
.amt-order-selector.amt-layout-overlay .amt-order-details { padding: clamp(1rem, 3vw, 2rem); background: var(--amt-paper); border: 1px solid var(--amt-line); border-radius: var(--amt-radius); }
/* At 48rem the 4/7-wide panel retains >23rem inside its 2rem padding/border.
 * Below this, preserve the non-overlapping reflow layout. */
@container amt-order (min-width: 48rem) {
    .amt-order-selector.amt-layout-overlay[data-amt-state="ready"] .amt-order-product[data-amt-image-state="loaded"] { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 3fr); gap: 0; align-items: center; }
    .amt-order-selector.amt-layout-overlay[data-amt-state="ready"] .amt-order-product[data-amt-image-state="loaded"] .amt-order-media { grid-column: 1 / 3; grid-row: 1; }
    .amt-order-selector.amt-layout-overlay[data-amt-state="ready"] .amt-order-product[data-amt-image-state="loaded"] .amt-order-details { grid-column: 2 / 4; grid-row: 1; z-index: 1; }
}
.amt-order-selector .amt-order-product[data-amt-image-state="error"] .amt-order-image { visibility: hidden; }
.amt-order-selector.amt-options-grid .amt-order-choices-buttons { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); gap: .75rem; }
.amt-order-selector.amt-options-grid .amt-order-choice { flex-direction: column; min-inline-size: 0; min-block-size: 6rem; padding: 1rem; }
.amt-order-selector.amt-options-grid .amt-order-choice-image { inline-size: 3rem; block-size: 3rem; }
.amt-order-selector.amt-options-list .amt-order-choices-buttons { display: grid; grid-template-columns: minmax(0, 1fr); }
.amt-order-selector.amt-options-list .amt-order-choice { justify-content: start; text-align: start; min-inline-size: 0; inline-size: 100%; min-block-size: 3.5rem; }
/* Hero fills its host container. Shared gallery nodes keep their original DOM/listeners. */
.amt-order-selector.amt-layout-hero { max-inline-size: none; padding-inline: clamp(1rem, 2vw, 2.5rem); padding-block: clamp(1rem, 2vw, 1.5rem); }
.amt-order-selector.amt-layout-hero .amt-order-product { gap: clamp(1.5rem, 3vw, 2.75rem); }
.amt-order-selector.amt-layout-hero .amt-order-title { margin-block-end: .75rem; font-size: clamp(2rem, 4cqi, 4rem); font-weight: 800; line-height: 1.1; }
.amt-order-selector.amt-layout-hero .amt-order-short { margin-block: 0 .875rem; color: var(--amt-hero-accent, var(--amt-accent)); font-size: clamp(1.25rem, 2.2cqi, 2rem); font-weight: 700; line-height: 1.35; }
.amt-order-selector.amt-layout-hero .amt-order-description { max-inline-size: 65ch; padding-block-start: 0; color: var(--amt-muted); font-size: .9375rem; line-height: 1.65; }
.amt-order-selector.amt-layout-hero .amt-order-description p { margin-block: .625rem; }
.amt-order-selector.amt-layout-hero .amt-order-description > :first-child { margin-block-start: 0; }
.amt-order-selector.amt-layout-hero .amt-order-description > :last-child { margin-block-end: 0; }
.amt-order-selector.amt-layout-hero .amt-order-price { margin-block: 1rem .25rem; font-size: clamp(2rem, 2.6cqi, 2.5rem); direction: ltr; unicode-bidi: isolate; }
/* Keep amount/currency pairs intact, with current price before original price. */
.amt-order-selector.amt-layout-hero[dir="rtl"] .amt-order-price { text-align: right; }
.amt-order-selector.amt-layout-hero :is(.amt-order-amount, .amt-order-original) { display: inline-block; direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
.amt-order-selector.amt-layout-hero .amt-order-price:empty { margin: 0; }
.amt-order-selector.amt-layout-hero .amt-order-original { margin-inline-start: .35rem; font-size: .58em; }
.amt-order-selector.amt-layout-hero .amt-order-badges { gap: .375rem; margin-block: .5rem .75rem; }
.amt-order-selector.amt-layout-hero .amt-order-badge { padding: .125rem .45rem; border: 0; font-size: .75rem; font-weight: 600; }
.amt-order-selector.amt-layout-hero .amt-order-attributes { margin-block-start: 1rem; }
.amt-order-selector.amt-layout-hero .amt-order-attribute { margin-block-end: .75rem; }
.amt-order-selector.amt-layout-hero .amt-order-attribute legend { margin-block-end: .4rem; }
.amt-order-selector.amt-layout-hero .amt-order-choice:not([aria-pressed="true"]) { border-color: var(--amt-line); border-color: color-mix(in srgb, var(--amt-line) 80%, var(--amt-paper)); }
.amt-order-selector.amt-layout-hero.amt-options-chips .amt-order-choice { flex-grow: 0; min-block-size: 44px; padding: .5rem .75rem; }
.amt-order-selector.amt-layout-hero .amt-order-status { margin-block: .25rem 0; line-height: 1.5; }
.amt-order-selector.amt-layout-hero .amt-order-quantity { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-block: .625rem .875rem; }
.amt-order-selector.amt-layout-hero .amt-order-quantity label { font-size: .875rem; }
.amt-order-selector.amt-layout-hero .amt-order-quantity input { inline-size: 5.5rem; }
.amt-order-selector.amt-layout-hero .amt-order-now { min-block-size: 56px; padding: .875rem 1.5rem; font-size: 1.125rem; font-weight: 700; background: var(--amt-hero-button-bg, var(--amt-button-bg)); border-color: var(--amt-hero-button-bg, var(--amt-button-bg)); color: var(--amt-hero-button-text, var(--amt-button-text)); box-shadow: 0 2px 6px rgb(0 0 0 / .1); }
.amt-order-selector.amt-layout-hero .amt-order-now:not(:disabled):hover { background: var(--amt-hero-button-hover-bg, var(--amt-button-hover-bg)); color: var(--amt-hero-button-hover-text, var(--amt-button-hover-text)); box-shadow: 0 4px 10px rgb(0 0 0 / .16); }
.amt-order-selector.amt-layout-hero .amt-order-now:not(:disabled):active { box-shadow: inset 0 1px 2px rgb(0 0 0 / .15); }
.amt-order-selector.amt-layout-hero .amt-order-now:focus-visible { outline-color: var(--amt-hero-accent, var(--amt-accent)); outline-offset: 4px; }
.amt-order-selector.amt-layout-hero .amt-product-information { margin-block-start: clamp(1.25rem, 2cqi, 1.75rem); }
.amt-order-selector.amt-layout-hero .amt-product-information details { padding-block: .625rem; }
.amt-order-selector.amt-layout-hero .amt-product-information summary { display: list-item; align-content: center; }
.amt-order-selector.amt-layout-hero .amt-product-information .amt-product-copy { padding-block: .25rem .5rem; color: var(--amt-muted); font-size: .9375rem; }
.amt-order-selector.amt-layout-hero .amt-product-information .amt-product-copy > :first-child { margin-block-start: 0; }
.amt-order-selector.amt-layout-hero .amt-product-information .amt-product-copy > :last-child { margin-block-end: 0; }
.amt-order-selector.amt-layout-hero .amt-order-media.amt-gallery { position: relative; }
.amt-order-selector.amt-layout-hero .amt-gallery:has(> .amt-gallery-thumbnails:not([hidden])) > .amt-gallery-viewport::after { content: ''; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 6rem; background: linear-gradient(transparent, rgb(0 0 0 / .28)); pointer-events: none; }
.amt-order-selector.amt-layout-hero .amt-gallery-viewport > .amt-gallery-controls { z-index: 1; align-items: end; padding: 0 .5rem 1.5rem; }
.amt-order-selector.amt-layout-hero .amt-gallery-viewport > .amt-gallery-controls > button { border: 0; box-shadow: 0 1px 4px rgb(0 0 0 / .14); }
.amt-order-selector.amt-layout-hero .amt-gallery-viewport > .amt-gallery-controls .amt-gallery-icon { font-size: 1.25rem; }
.amt-order-selector.amt-layout-hero .amt-gallery-viewport > .amt-gallery-controls > .amt-gallery-count { inset-block: .75rem auto; inset-inline: auto .75rem; padding: .125rem .5rem; border-radius: 999px; font-size: .75rem; }
.amt-order-selector.amt-layout-hero[dir="rtl"] .amt-gallery-viewport > .amt-gallery-controls > .amt-gallery-count { inset-inline: .75rem auto; }
/* The existing sibling rail overlays the viewport without moving it into the swipe target. */
.amt-order-selector.amt-layout-hero .amt-gallery > .amt-gallery-thumbnails { position: absolute; z-index: 2; inset-inline: 3.5rem; inset-block-end: .5rem; min-inline-size: 0; padding: .375rem; gap: .375rem; }
.amt-order-selector.amt-layout-hero .amt-gallery > .amt-gallery-thumbnails .amt-gallery-button { flex-basis: clamp(44px, 5cqi, 64px); inline-size: clamp(44px, 5cqi, 64px); block-size: clamp(44px, 5cqi, 64px); }
.amt-order-selector.amt-layout-hero .amt-gallery > .amt-gallery-thumbnails .amt-gallery-button[aria-current="true"] { border-block-end-width: 3px; }
/* 44rem gives the information panel ~19rem; narrow Elementor columns always stack. */
@container amt-order (min-width: 44rem) {
    .amt-order-selector.amt-layout-hero .amt-order-product { grid-template-columns: minmax(0, 54fr) minmax(0, 46fr); align-items: start; }
}
/* Form presentation is derived from layout; theme classes never choose structural borders. */
.amt-order-selector.amt-form-minimal,
.amt-order-form-scope.amt-form-minimal { border: 0; }
.amt-order-form-scope.amt-form-boxed { border: 1px solid var(--amt-line); border-radius: var(--amt-radius); }
@media (forced-colors: active) {
    .amt-order-selector .amt-order-choice[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -4px; }
}
/* Product experience: image and inset tools share the viewport; focus stays visible. */
.amt-order-selector .amt-order-media.amt-gallery { display: block; place-items: normal; aspect-ratio: auto; overflow: visible; background: transparent; max-block-size: none; }
.amt-order-selector .amt-gallery-viewport { position: relative; display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; background: var(--amt-soft); border-radius: var(--amt-radius); touch-action: pan-y pinch-zoom; }
.amt-order-selector .amt-gallery-viewport .amt-order-image { min-inline-size: 0; min-block-size: 0; }
.amt-order-selector.amt-layout-stacked .amt-gallery-viewport { max-block-size: 36rem; }
.amt-order-selector .amt-gallery-placeholder { padding: 1.5rem; text-align: center; color: var(--amt-muted); }
.amt-order-selector .amt-gallery-controls { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; padding: .5rem; pointer-events: none; }
.amt-order-selector .amt-gallery-controls > button { pointer-events: auto; }
.amt-order-selector .amt-gallery-button { box-sizing: border-box; min-block-size: 44px; min-inline-size: 44px; max-inline-size: 100%; padding: .5rem; border: 1px solid var(--amt-line); border-radius: var(--amt-radius); background: var(--amt-paper); color: var(--amt-ink); font: inherit; font-size: .875rem; line-height: 1.4; overflow-wrap: anywhere; cursor: pointer; }
.amt-order-selector .amt-gallery-button:not(:disabled):hover { background: var(--amt-soft); border-color: var(--amt-accent); }
.amt-order-selector .amt-gallery-button[aria-current="true"] { outline: 2px solid var(--amt-selected); outline-offset: -2px; border-block-end-width: 5px; }
.amt-order-selector .amt-gallery-button:disabled { opacity: .5; cursor: not-allowed; }
.amt-order-selector .amt-gallery-thumbnails { display: flex; box-sizing: border-box; max-inline-size: 100%; gap: .6rem; overflow-x: auto; padding: .5rem; scrollbar-width: thin; }
.amt-order-selector .amt-gallery-thumbnails .amt-gallery-button { flex: 0 0 4.5rem; inline-size: 4.5rem; block-size: 4.5rem; padding: .25rem; }
.amt-order-selector .amt-gallery-thumbnail { display: block; inline-size: 100%; block-size: 100%; object-fit: contain; }
.amt-order-selector .amt-gallery-trigger { display: block; inline-size: 100%; block-size: 100%; min-block-size: 0; padding: 0; border: 0; border-radius: inherit; background: transparent; }
.amt-order-selector .amt-gallery-trigger:not(:disabled):hover { background: transparent; }
.amt-order-selector .amt-gallery-button.amt-gallery-trigger:focus-visible { outline-offset: -4px; }
.amt-order-selector .amt-gallery-icon { display: block; font: 400 1.5rem/1 sans-serif; }
.amt-order-selector :is(.amt-gallery-previous, .amt-gallery-next, .amt-gallery-close) { display: grid; place-items: center; inline-size: 44px; block-size: 44px; border-radius: 50%; box-shadow: 0 1px 6px rgb(0 0 0 / .2); }
.amt-order-selector .amt-gallery-count { position: absolute; inset-block-end: .75rem; inset-inline-end: .75rem; padding: .15rem .55rem; border-radius: var(--amt-radius); background: var(--amt-paper); color: var(--amt-ink); font-size: .8rem; font-variant-numeric: tabular-nums; direction: ltr; }
.amt-order-selector .amt-gallery-announcement { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.amt-order-selector .amt-gallery-dialog { box-sizing: border-box; inline-size: fit-content; max-inline-size: 94vw; max-block-size: 94vh; max-block-size: 94dvh; padding: 0; border: 0; border-radius: var(--amt-radius); color: #fff; background: #111; overflow: auto; }
.amt-order-selector .amt-gallery-dialog::backdrop { background: rgb(0 0 0 / .85); }
.amt-order-selector .amt-gallery-frame { position: relative; display: grid; place-items: center; padding: 0; min-inline-size: 10rem; min-block-size: 10rem; }
.amt-order-selector .amt-gallery-enlargement { touch-action: pan-y pinch-zoom; }
.amt-order-selector .amt-gallery-dialog .amt-gallery-close { position: absolute; inset-block-start: .5rem; inset-inline-end: .5rem; z-index: 1; }
.amt-order-selector .amt-gallery-dialog .amt-gallery-button { color: #fff; background: #222; border-color: #aaa; }
.amt-order-selector .amt-gallery-dialog .amt-gallery-button:not(:disabled):hover { background: #444; }
.amt-order-selector .amt-gallery-dialog .amt-gallery-button:focus-visible { outline-color: #fff; }
.amt-order-selector .amt-gallery-dialog .amt-gallery-count { color: #fff; background: #222; border-radius: 999px; }
/* Counter digits stay LTR; mirror its corner explicitly with the viewer direction. */
.amt-order-selector .amt-gallery-dialog[dir="rtl"] .amt-gallery-count { inset-inline-start: .75rem; inset-inline-end: auto; }
.amt-order-selector .amt-gallery-large { display: block; max-inline-size: 90vw; max-block-size: 90vh; max-block-size: 90dvh; inline-size: auto; block-size: auto; margin-inline: auto; object-fit: contain; }
@media (hover: hover) and (pointer: fine) {
    .amt-order-selector .amt-gallery-trigger { cursor: zoom-in; }
}
.amt-order-selector .amt-order-short { color: var(--amt-muted); white-space: pre-line; margin-block: 0 1rem; }
.amt-order-selector .amt-order-original { font-size: .65em; font-weight: 400; color: var(--amt-muted); white-space: nowrap; }
.amt-order-selector .amt-order-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: .75rem; }
.amt-order-selector .amt-order-badges:empty { display: none; }
.amt-order-selector .amt-order-badge { border: 1px solid var(--amt-line); background: var(--amt-soft); padding: .2rem .6rem; border-radius: var(--amt-radius); font-size: .875rem; }
.amt-order-selector .amt-order-quantity { margin-block: 1rem; }
.amt-order-selector .amt-order-quantity label { display: block; font-weight: 600; }
.amt-order-selector .amt-order-quantity input { box-sizing: border-box; inline-size: 7rem; max-inline-size: 100%; min-block-size: 48px; border: 1px solid var(--amt-line); border-radius: var(--amt-radius); color: var(--amt-ink); background: var(--amt-paper); padding: .5rem; font: inherit; }
.amt-order-selector .amt-order-now { inline-size: 100%; min-block-size: 52px; padding: .875rem; border: 1px solid var(--amt-button-bg); border-radius: var(--amt-radius); background: var(--amt-button-bg); color: var(--amt-button-text); font: inherit; font-weight: 600; cursor: pointer; }
.amt-order-selector .amt-order-now:not(:disabled):hover { background: var(--amt-button-hover-bg); color: var(--amt-button-hover-text); }
.amt-order-selector .amt-order-now:disabled { opacity: .5; cursor: not-allowed; }
.amt-order-selector :is(.amt-gallery-button, .amt-order-now, .amt-order-quantity input, summary):focus-visible { outline: 3px solid var(--amt-accent); outline-offset: 3px; }
.amt-order-selector .amt-product-information { margin-block-start: 2rem; }
.amt-order-selector .amt-product-information details { border-block-start: 1px solid var(--amt-line); padding-block: 1rem; }
.amt-order-selector .amt-product-information summary { cursor: pointer; font-weight: 600; min-block-size: 44px; }
.amt-order-selector .amt-product-copy { padding-block-start: .5rem; }
.amt-order-selector .amt-product-copy a { color: var(--amt-accent); text-decoration: underline; }
.amt-order-form-scope .amt-checkout-title { color: var(--amt-ink); font: inherit; font-size: 1.3rem; font-weight: 700; }
.amt-order-form-scope { scroll-margin-block-start: 2rem; }
/* Gallery tools stay in the unobscured 3/7 portion; the 4/7 Buy Box overlaps only media. */
@container amt-order (min-width: 48rem) {
    .amt-order-selector.amt-layout-overlay[data-amt-state="ready"] .amt-order-product[data-amt-image-state="loaded"] .amt-gallery > .amt-gallery-thumbnails,
    .amt-order-selector.amt-layout-overlay[data-amt-state="ready"] .amt-order-product[data-amt-image-state="loaded"] .amt-gallery-viewport > .amt-gallery-controls { box-sizing: border-box; inline-size: calc(75% - 1rem); max-inline-size: calc(75% - 1rem); inset-inline-start: 0; inset-inline-end: auto; }
}
.amt-order-selector .amt-gallery [hidden] { display: none; }
/* Only the verified root is progressively collapsed; never override field visibility. */
.amt-order-form-scope[hidden] { display: none; }
/* JS marks only the verified, single-field quantity group after Buy Box binding succeeds. */
.amt-order-form-scope .amt-order-form .ff-el-group.amt-order-quantity-suppressed { display: none; }
@media (prefers-reduced-motion: reduce) {
    .amt-order-selector .amt-gallery-thumbnails { scroll-behavior: auto; }
}
