/* Ordering uses the same Dome palette, with compact forms and aligned summaries. */
.fabrico-review { display: grid; gap: 1.5rem; }
.fabrico-purchase-heading { padding: 1.25rem; border-radius: 8px; background: var(--pool-dome-navy); color: white; text-align: center; }
.fabrico-purchase-heading h1 { margin: 0 0 .5rem; color: white; font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 700; }
.fabrico-purchase-heading p { max-width: 56rem; margin: 0 auto; }
.fabrico-purchase-progress > p { margin: 0 0 .5rem; text-align: center; font-weight: 600; }
.fabrico-purchase-steps { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 0; padding: 0; border: 1px solid var(--pool-dome-blue); border-radius: 8px; list-style: none; }
.fabrico-purchase-steps li { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 48px; padding: .5rem; border-bottom: 3px solid transparent; color: var(--pool-dome-text); text-align: center; font-weight: 600; overflow-wrap: anywhere; }
.fabrico-purchase-steps li + li { border-inline-start: 1px solid var(--pool-dome-blue); }
.fabrico-purchase-steps li:first-child { border-radius: 7px 0 0 7px; }
.fabrico-purchase-steps li:last-child { border-radius: 0 7px 7px 0; }
.fabrico-purchase-steps li:has(a) { border-bottom-color: var(--pool-dome-copper); background: color-mix(in srgb, var(--pool-dome-warm) 35%, white); }
.fabrico-purchase-steps li[aria-current] { border-color: var(--pool-dome-copper); background: var(--pool-dome-navy); color: white; font-weight: 700; }
.fabrico-purchase-steps li > span:first-child { font-size: 1.125rem; }
.fabrico-purchase-steps a { display: inline-flex; min-width: 0; min-height: 44px; align-items: center; color: inherit; text-decoration: none; }
.fabrico-purchase-steps a:hover { color: var(--pool-dome-copper); }
.fabrico-order-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.fabrico-order-layout > * { min-width: 0; }
.fabrico-selection-status { margin: 0; font-weight: 600; }
.fabrico-selection-status:not(:empty):not(.visually-hidden) { padding: .75rem 1rem; border-left: 4px solid var(--pool-dome-copper); background: var(--pool-dome-warm); }
.fabrico-selection-form-panel { padding: 1.5rem; border: 1px solid var(--pool-dome-border); border-top: 4px solid var(--pool-dome-copper); border-radius: 8px; background: white; }
.fabrico-selection-form-panel > h2, .fabrico-selection-form-panel > p { text-align: center; }
.fabrico-selection-form-panel h2 { font-size: 1.5rem; font-weight: 700; }
/* One decision group per page; no competing full-height help column. */
.fabrico-purchase-step { width: 100%; min-width: 0; overflow: clip; }
.fabrico-step-context { display: grid; grid-template-columns: 9rem minmax(0, 1fr) 9rem; margin: -1.5rem -1.5rem 1.5rem; background: var(--pool-dome-navy); color: white; }
.fabrico-step-context img { width: 100%; height: 100%; min-height: 112px; object-fit: cover; }
.fabrico-step-context > div { min-width: 0; padding: 1rem; text-align: center; }
.fabrico-step-context h2 { margin: 0 0 .5rem; color: white; font-size: 1.35rem; }
.fabrico-step-context p { max-width: 44rem; margin: 0 auto; }
.fabrico-step-selection { max-width: 44rem; margin: 0 auto 1.25rem; text-align: center; overflow-wrap: anywhere; }
.fabrico-step-help { margin-top: 1.25rem; padding: 1rem 1.25rem; border-top: 4px solid var(--pool-dome-copper); background: var(--pool-dome-navy); color: white; }
.fabrico-step-help-copy { min-width: 0; margin: 0; text-align: center; }
.fabrico-step-help-copy h3 { margin: 0 0 .5rem; color: white; font-size: 1.125rem; font-weight: 700; }
.fabrico-step-help-copy p { margin: .5rem 0; }
.fabrico-step-resources { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 2rem; }
.fabrico-step-resources a { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; color: var(--pool-dome-blue); font-weight: 600; text-align: center; }
.fabrico-step-resources a:hover { color: var(--pool-dome-copper); }
.fabrico-step-help a { color: white; }
.fabrico-step-help a:hover { color: var(--pool-dome-warm); }
.fabrico-step-help a:focus-visible { outline-color: var(--pool-dome-warm); }
.fabrico-cover-help { display: grid; grid-template-columns: minmax(0, 1fr) 13rem; gap: 1rem 1.5rem; align-items: center; }
.fabrico-cover-help .fabrico-cover-base-note { margin-top: .75rem; }
.fabrico-fit-help { padding-block: .875rem; }
.fabrico-fit-help .fabrico-step-help-copy h3 { text-wrap: balance; }
.fabrico-fit-help .fabrico-step-help-copy p { margin: 0; line-height: 1.5; }
.fabrico-base-requirement { margin: -.875rem -1.25rem .5rem; padding: .5rem 1.25rem; background: var(--pool-dome-copper); color: white; text-align: center; }
.fabrico-base-requirement strong { font-size: 1.0625rem; }
.fabrico-step-help-actions { display: flex; flex-direction: column; align-items: center; gap: .75rem; min-width: 0; }
.fabrico-purchase-step .fabrico-step-help-actions .pool-dome-product-cta { width: 13rem; max-width: 100%; margin: 0; }
.fabrico-step-help .fabrico-help-secondary { border: 1px solid var(--pool-dome-border); background: var(--pool-dome-blue); color: white; }
.fabrico-step-help .fabrico-help-secondary:hover { border-color: var(--pool-dome-copper); background: var(--pool-dome-copper); color: white; }
.fabrico-fit-help .fabrico-step-help-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: .5rem .75rem; margin-top: .75rem; }
.fabrico-purchase-step .fabrico-fit-help .pool-dome-product-cta { width: fit-content; }
.fabrico-fit-help a:focus-visible { outline-color: white; }
.fabrico-counting-guide { margin-top: .75rem; }
.fabrico-counting-guide img { display: block; max-width: 100%; height: auto; margin: .75rem auto 0; }
.fabrico-purchase-step summary:focus-visible { outline: 3px solid var(--pool-dome-navy); outline-offset: 3px; }
.fabrico-step-back { display: flex; align-items: center; justify-content: center; gap: .5rem; width: fit-content; max-width: 100%; min-height: 48px; margin: 1rem auto 0; padding: .5rem .75rem; border: 1px solid var(--pool-dome-blue); border-radius: 8px; background: var(--pool-dome-blue); color: white; font-weight: 600; text-decoration: none; text-align: center; }
.fabrico-step-back:hover { border-color: var(--pool-dome-copper); background: var(--pool-dome-copper); color: white; }
.fabrico-selection-fields, .fabrico-product-options-grid { display: grid; gap: 1rem; }
.fabrico-selection-fields { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
.fabrico-product-options-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fabrico-selection-field, .fabrico-selection-decision { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: .75rem 1.5rem; align-items: start; min-width: 0; padding: .5rem 0 .75rem; }
.fabrico-selection-field + .fabrico-selection-field, .fabrico-selection-field + .fabrico-selection-decision { border-top: 1px solid var(--pool-dome-border); padding-top: 1rem; }
.fabrico-selection-field[hidden] { display: none; }
/* Keep the native field group hideable without hiding Back/Continue with it. */
.fabrico-selection-decision { grid-template-areas: "control guidance" "actions guidance"; grid-template-rows: min-content 1fr; }
.fabrico-selection-decision > .fabrico-selection-field:not([hidden]) { display: contents; }
.fabrico-selection-decision .fabrico-field-control { grid-area: control; }
.fabrico-selection-decision .fabrico-field-guidance { grid-area: guidance; }
.fabrico-field-control, .fabrico-field-guidance { width: 100%; min-width: 0; margin-inline: auto; }
.fabrico-field-control { max-width: 30rem; padding-top: .75rem; }
.fabrico-field-guidance { padding: .75rem 1rem; border-inline-start: 4px solid var(--pool-dome-copper); background: color-mix(in srgb, var(--pool-dome-warm) 35%, white); }
.fabrico-field-guidance h3 { margin: 0 0 .5rem; font-size: 1.0625rem; line-height: 1.5; font-weight: 700; }
.fabrico-field-guidance > p { margin: 0; font-size: 1rem; }
.fabrico-selection-field label { display: block; margin-bottom: .5rem; font-size: 1.0625rem; line-height: 1.5; font-weight: 700; text-align: center; }
.fabrico-selection-field select { width: 100%; max-width: 100%; min-height: 48px; padding: .65rem .5rem; border: 1px solid var(--pool-dome-blue); border-radius: 4px; background: white; color: var(--pool-dome-text); font: inherit; }
.fabrico-selection-field select:disabled { border-color: var(--pool-dome-border); background: white; opacity: .7; }
.fabrico-selection-field.is-current select { border: 2px solid var(--pool-dome-copper); }
.fabrico-product-options { margin: 0; padding: 0; border: 0; min-width: 0; }
.fabrico-product-options legend { float: none; margin-bottom: .75rem; font-size: 1.25rem; font-weight: 700; text-align: center; }
.fabrico-product-option-group { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--pool-dome-border); border-radius: 8px; }
.fabrico-product-option-group:only-child { grid-column: 1 / -1; }
.fabrico-product-option-group > header { padding: .85rem 1rem; border-radius: 7px 7px 0 0; border-bottom: 4px solid var(--pool-dome-copper); background: var(--pool-dome-navy); color: white; text-align: center; }
.fabrico-product-option-group h3 { margin: 0 0 .35rem; color: white; font-size: 1.25rem; font-weight: 700; }
.fabrico-product-option-group header p { margin: 0; }
.fabrico-product-option { display: grid; grid-template-columns: 20px minmax(0, 1fr) 20px; gap: .5rem .75rem; align-content: center; flex: 1; min-width: 0; margin: 0; padding: 1rem; border-inline-start: 4px solid transparent; background: white; cursor: pointer; text-align: center; }
.fabrico-product-option + .fabrico-product-option { border-top: 1px solid var(--pool-dome-border); }
.fabrico-product-option:last-child { border-radius: 0 0 7px 7px; }
.fabrico-product-option:hover { border-inline-start-color: var(--pool-dome-copper); background: color-mix(in srgb, var(--pool-dome-warm) 35%, white); }
.fabrico-product-option:has(input:checked) { border-inline-start-color: var(--pool-dome-copper); background: var(--pool-dome-navy); color: white; }
.fabrico-product-option input { grid-area: 1 / 1; align-self: center; width: 20px; height: 20px; margin: 0; accent-color: var(--pool-dome-copper); }
.fabrico-product-option strong { grid-area: 1 / 2; min-width: 0; font-size: 1.125rem; line-height: 1.4; text-wrap: balance; }
.fabrico-product-option > span { grid-column: 2; font-size: 1rem; line-height: 1.5; }
.fabrico-product-option:focus-within { outline: 3px solid var(--pool-dome-navy); outline-offset: -3px; }
.fabrico-product-option:has(input:checked):focus-within, .fabrico-product-option:has(input:checked) input:focus-visible { outline-color: var(--pool-dome-warm); }
.fabrico-selection-submit { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: .75rem; margin: 1rem 0 0; padding-top: 1rem; border-top: 1px solid var(--pool-dome-border); text-align: center; }
.fabrico-selection-submit p { flex-basis: 100%; margin-bottom: 0; }
.fabrico-selection-fields > .fabrico-selection-submit { margin-top: 0; }
.fabrico-selection-decision > .fabrico-selection-submit { grid-area: actions; width: 100%; max-width: 30rem; margin: 0 auto; padding-top: .75rem; }
.fabrico-purchase-step .pool-dome-product-cta { grid-template-columns: minmax(0, 1fr) 1.25rem; gap: .65rem; width: fit-content; max-width: 100%; min-height: 48px; padding: .65rem 1rem; margin-inline: auto; font-size: 1rem; }
.fabrico-purchase-step .pool-dome-product-cta-label { grid-area: 1 / 1; }
.fabrico-purchase-step .pool-dome-product-cta > .bi { grid-area: 1 / 2; width: 1.25rem; height: 1.25rem; font-size: 1.25rem; }
.fabrico-selection-submit .pool-dome-product-cta, .fabrico-selection-submit .fabrico-step-back { align-self: stretch; flex: 0 1 auto; min-width: 0; max-width: 100%; margin: 0; font-size: 1rem; }
.fabrico-selection-submit button:disabled { cursor: wait; opacity: .65; }
.fabrico-spa-sizes article:nth-child(even) a:focus-visible { outline-color: var(--pool-dome-warm); }
.fabrico-order-summary { overflow: hidden; border: 1px solid var(--pool-dome-border); border-radius: 8px; background: white; }
.fabrico-order-photo { margin: 0; }
.fabrico-order-photo img { display: block; width: 100%; height: auto; max-height: 280px; object-fit: cover; }
.fabrico-order-photo figcaption { padding: .5rem 1rem; background: var(--pool-dome-navy); color: white; font-size: .85rem; line-height: 1.5; text-align: center; }
.fabrico-order-details { padding: 1.25rem; }
.fabrico-order-details h2 { font-size: 1.4rem; font-weight: 700; text-align: center; }
.fabrico-order-facts { margin: 1rem 0 .5rem; }
.fabrico-order-facts > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--pool-dome-border); }
.fabrico-order-facts dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.fabrico-order-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 1.25rem; }
.fabrico-order-actions .cta-button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; flex: 0 1 13rem; min-width: 0; max-width: 100%; min-height: 48px; padding: .7rem 1rem; border: 1px solid var(--pool-dome-blue); border-radius: 8px; background: white; color: var(--pool-dome-navy); font: inherit; font-weight: 700; text-decoration: none; box-shadow: none; transform: none; transition: none; }
.fabrico-order-actions .cta-button:hover { background: var(--pool-dome-navy); border-color: var(--pool-dome-navy); color: white; text-decoration: none; box-shadow: none; transform: none; }
.fabrico-order-actions .bi { flex: 0 0 1.15rem; font-size: 1.15rem; }
.fabrico-order-actions .cta-button:focus-visible, .fabrico-review .quote-cta-group button:focus-visible { outline: 3px solid var(--pool-dome-copper); outline-offset: 3px; }
.fabrico-order-fit-note { margin: 1rem 0 .5rem; padding: .75rem 1rem; border-left: 4px solid var(--pool-dome-copper); background: var(--pool-dome-warm); color: var(--pool-dome-navy); }
/* Override the older shared price-card presentation without changing its hooks. */
.fabrico-review .pricing-card { --pricing-value-width: 9rem; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 1.5rem; border: 1px solid var(--pool-dome-border); border-top: 4px solid var(--pool-dome-copper); border-radius: 8px; background: white; box-shadow: none; color: var(--pool-dome-text); font-family: inherit; }
.fabrico-review .pricing-header { margin: -1.5rem -1.5rem 1.25rem; padding: 1rem 1.5rem; border-radius: 4px 4px 0 0; background: var(--pool-dome-navy); color: white; text-align: center; font-size: 1.5rem; font-weight: 700; letter-spacing: normal; text-transform: none; }
.fabrico-review .pricing-next-step { display: none; margin-bottom: 1rem; }
.fabrico-review .pricing-pending .pricing-next-step { display: block; }
.fabrico-review .pricing-line { display: grid; grid-template-columns: minmax(0, 1fr) var(--pricing-value-width); gap: 1rem; align-items: center; margin: 0; padding: .85rem 0; border-bottom: 1px solid var(--pool-dome-border); font-size: 1rem; }
.fabrico-review .pricing-label, .fabrico-review .pricing-value, .fabrico-review .inline-shipping-amount { color: var(--pool-dome-text); }
.fabrico-review .pricing-label { font-weight: 600; }
.fabrico-review .pricing-value { display: block; width: auto; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.fabrico-review .pricing-subtotal { margin-top: .5rem; padding: 1rem; border: 1px solid var(--pool-dome-border); background: white; }
.fabrico-review .pricing-subtotal .pricing-value { color: var(--pool-dome-navy); font-size: 1.4rem; }
.fabrico-review .pricing-tax .pricing-value { color: var(--pool-dome-text) !important; }
.fabrico-review .pricing-card.pricing-pending .pricing-line.pricing-shipping { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
.fabrico-review .pricing-card.pricing-pending .inline-shipping-wrap { display: block; width: 100%; }
.fabrico-review .pricing-card.pricing-pending .pricing-shipping > .pricing-label { display: none; }
.fabrico-review .inline-shipping-controls, .fabrico-review .shipping-card.shipping-inline, .fabrico-review .shipping-form-wrapper, .fabrico-review .shipping-form, .fabrico-review .shipping-form > div { width: 100%; min-width: 0; }
.fabrico-review .shipping-card::before { content: none; }
.fabrico-review .shipping-card.shipping-inline .shipping-form label { display: block; margin: 0 0 .5rem; color: var(--pool-dome-text); font-size: 1rem; font-weight: 700; text-transform: none; letter-spacing: normal; }
.fabrico-review .shipping-card.shipping-inline .shipping-input-group { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; }
.fabrico-review .shipping-card.shipping-inline .shipping-input-group input[type="text"] { width: 100%; min-width: 0; min-height: 48px; padding: .65rem .75rem; border: 1px solid var(--pool-dome-blue); border-radius: 4px; color: var(--pool-dome-text); font-size: 1rem; }
.fabrico-review .shipping-card.shipping-inline .shipping-input-group input[type="text"]::placeholder { font-size: 1rem; }
.fabrico-review .shipping-card.shipping-inline .shipping-input-group button { width: auto; min-height: 48px; padding: .65rem 1.25rem; border: 1px solid var(--pool-dome-copper); border-radius: 8px; background: var(--pool-dome-copper); color: white; font: inherit; font-weight: 700; box-shadow: none; transform: none; transition: none; }
.fabrico-review .shipping-card.shipping-inline .shipping-input-group button:hover { background: var(--pool-dome-navy); border-color: var(--pool-dome-navy); box-shadow: none; transform: none; }
.fabrico-review .pricing-divider { margin: 1rem 0; background: var(--pool-dome-border); }
.fabrico-review .pricing-total { margin: 1rem 0; text-align: center; }
.fabrico-review .pricing-total-label { display: block; color: var(--pool-dome-navy); font-size: 1.1rem; text-transform: none; letter-spacing: normal; }
.fabrico-review .pricing-total-value { color: var(--pool-dome-navy); font-size: 2rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.fabrico-review .pricing-note { color: var(--pool-dome-text); text-align: center; }
.fabrico-review .quote-cta-group { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: .75rem; width: 100%; margin: 1.25rem 0 0; }
.fabrico-review .quote-cta-item { flex: 0 1 13.5rem; width: 13.5rem; min-width: 0; max-width: 100%; margin: 0; }
.fabrico-review .quote-cta-item form, .fabrico-review .email-quote-inline, .fabrico-review .email-quote-trigger-wrapper { width: 100%; min-width: 0; max-width: none; margin: 0; }
.fabrico-review .quote-cta-buy { order: -1; }
.fabrico-checkout-status { flex-basis: 100%; margin: .25rem 0 0; text-align: center; }
.fabrico-review .quote-cta-group [hidden] { display: none; }
.fabrico-review .quote-cta-group .cta-button, .fabrico-review .quote-cta-group .email-quote-trigger { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: .75rem 1rem; border: 1px solid var(--pool-dome-blue); border-radius: 8px; background: var(--pool-dome-blue); color: white; font-family: inherit; font-size: 1.125rem; font-weight: 700; text-align: center; box-shadow: none; transform: none; transition: none; }
.fabrico-review .quote-cta-group .cta-button-primary { border-color: var(--pool-dome-copper); background: var(--pool-dome-copper); }
.fabrico-review .quote-cta-group .cta-button:hover, .fabrico-review .quote-cta-group .email-quote-trigger:hover { border-color: var(--pool-dome-navy); background: var(--pool-dome-navy); box-shadow: none; transform: none; }
.fabrico-review .pricing-recalc-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--pool-dome-blue); }
.fabrico-spa-product-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 1.5rem; text-align: center; }
.fabrico-spa-product-options article { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.fabrico-spa-product-options article > p { max-width: 30rem; margin-inline: auto; }
.fabrico-spa-product-options h3 { font-size: 1.25rem; }
.fabrico-spa-product-options .pool-dome-product-cta { margin-top: auto; }
.fabrico-spa-size-section > h2 { font-size: 1.5rem; text-align: center; margin-bottom: 1.25rem; }
.fabrico-spa-sizes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.fabrico-spa-sizes article { min-width: 0; padding: 1.25rem; border: 1px solid var(--pool-dome-border); border-top: 4px solid var(--pool-dome-copper); border-radius: 8px; background: white; text-align: center; }
.fabrico-spa-sizes article:nth-child(even) { background: var(--pool-dome-navy); color: white; }
.fabrico-spa-sizes article:nth-child(even) h3 { color: white; }
.fabrico-spa-sizes h3 { font-size: 1.5rem; font-weight: 700; }
.fabrico-spa-sizes .fabrico-spa-retail { margin-bottom: .25rem; }
.fabrico-spa-sizes .fabrico-spa-price { margin: 0; font-size: 1.75rem; line-height: 1.3; font-weight: 700; font-variant-numeric: tabular-nums; }
.fabrico-spa-sizes .fabrico-spa-price-note { margin-bottom: 1rem; font-size: .9rem; }
.fabrico-spa-shipping-note { margin: 1rem 0 0; text-align: center; }
.fabrico-spa-order > p { margin-top: 1rem; }
/* The real image control covers the visible button, preserving add.x/add.y. */
.fabrico-review .fabrico-cart-submit { position: relative; }
.fabrico-review .fabrico-cart-submit input[type="image"] { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; margin: 0; padding: 0; opacity: 0; cursor: pointer; }
.fabrico-review .fabrico-cart-submit:focus-within { outline: 3px solid var(--pool-dome-teal); outline-offset: 3px; }
@media (max-width: 899px) {
    .fabrico-cover-help { grid-template-columns: minmax(0, 1fr); }
    .fabrico-step-help-actions { flex-direction: row; flex-wrap: wrap; justify-content: center; }
    .fabrico-selection-field, .fabrico-selection-decision { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .fabrico-selection-decision { grid-template-areas: "control" "guidance" "actions"; grid-template-rows: auto; }
    .fabrico-field-control { padding-top: 0; }
    .fabrico-order-layout { grid-template-columns: minmax(0, 1fr); }
    .fabrico-order-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); align-items: start; }
    .fabrico-order-photo img { max-height: none; aspect-ratio: 4 / 3; }
}
@media (max-width: 639px) {
    /* The step count and Back controls keep mobile navigation compact. */
    .fabrico-purchase-steps { display: none; }
    .fabrico-selection-form-panel, .fabrico-review .pricing-card { padding: 1rem; }
    .fabrico-step-context { grid-template-columns: minmax(0, 1fr); margin: -1rem -1rem 1.25rem; }
    .fabrico-step-context img { display: none; }
    .fabrico-step-context > div { min-width: 0; padding: 1rem; }
    .fabrico-selection-submit { gap: .75rem; }
    .fabrico-review .pricing-header { margin: -1rem -1rem 1rem; }
    .fabrico-product-options-grid, .fabrico-spa-product-options, .fabrico-spa-sizes, .fabrico-order-summary { grid-template-columns: minmax(0, 1fr); }
    .fabrico-order-photo img { max-height: 240px; object-fit: cover; }
    .fabrico-review .pricing-card { --pricing-value-width: 7.5rem; }
    .fabrico-review .shipping-card.shipping-inline .shipping-input-group { grid-template-columns: minmax(0, 1fr); }
    .fabrico-spa-sizes .pool-dome-product-cta { max-width: 28rem; margin-inline: auto; }
}
