/* Storefront presentation layer. Layout and API-rendered class contracts remain
 * in storefront.css; motion owns its animated elements' transform properties. */
body.gac-page {
    background: #edf3fb;
}

/* Search additions are mobile-only; desktop keeps its existing layout. */
.gac-search-hint, .gac-search-result-heading { display: none; }
/* Mobile compare: two aligned product columns, with no wide-table scrolling. */
.gac-app :is(.gac-compare-brand,.gac-compare-summary,.gac-compare-section-title,.gac-compare-mobile-head,.gac-compare-mobile-add) { display: none; }
@media screen and (max-width: 1023px) {
    .gac-app.gac-route-compare .gac-scroll { overflow: visible; }
    .gac-app.gac-route-compare .gac-compare { padding: 0 0 28px; }
    .gac-app.gac-route-compare .gac-compare > .gac-muted { margin: 0; padding: 12px 16px; color: #627187; background: #f5f8fc; font-size: 11px; line-height: 1.6; }
    .gac-app.gac-route-compare .gac-appbar { box-shadow: none; }
    .gac-app.gac-route-compare .gac-appbar-title { font-size: 19px; font-weight: 700; }
    .gac-app.gac-route-compare .gac-appbar-subtitle { margin-top: 3px; font-size: 11px; }
    .gac-app.gac-route-compare .gac-compare-products { margin: 0; gap: 0; align-items: stretch; border-block: 1px solid #e5ebf3; background: #fff; }
    .gac-app.gac-route-compare :is(.gac-compare-product,.gac-compare-add) { position: relative; min-height: 240px; padding: 14px 12px; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
    .gac-app.gac-route-compare :is(.gac-compare-product,.gac-compare-add):first-child { border-right: 1px solid #e5ebf3; }
    .gac-app.gac-route-compare .gac-compare-product { align-items: stretch; gap: 8px; text-align: left; }
    .gac-app.gac-route-compare .gac-compare-brand { display: block; height: 24px; max-width: calc(100% - 28px); }
    .gac-app.gac-route-compare .gac-compare-brand .gac-product-brand { display: block; width: 100%; max-width: 86px; }
    .gac-app.gac-route-compare .gac-compare-brand .gac-product-brand-logo { display: block; width: 100%; height: 22px; object-fit: contain; object-position: left center; }
    .gac-app.gac-route-compare .gac-compare-brand .gac-product-brand-name { display: block; overflow: hidden; color: #5f718a; font-size: 11px; line-height: 22px; white-space: nowrap; text-overflow: ellipsis; }
    .gac-app.gac-route-compare .gac-product-brand-logo + .gac-product-brand-name,
    .gac-app.gac-route-compare .gac-product-brand-logo.is-fallback { display: none; }
    .gac-app.gac-route-compare .gac-product-brand-logo.is-fallback + .gac-product-brand-name { display: block; }
    .gac-app.gac-route-compare .gac-compare-product-main { align-items: stretch; gap: 7px; text-align: left; }
    .gac-app.gac-route-compare .gac-compare-product-main img { height: clamp(95px,27vw,140px); }
    .gac-app.gac-route-compare .gac-compare-product-main strong { min-height: 0; font-size: 12px; line-height: 17px; font-weight: 600; -webkit-line-clamp: 3; }
    .gac-app.gac-route-compare .gac-compare-product-main small { width: 100%; min-height: 16px; overflow: hidden; color: #718198; font-size: 10px; line-height: 16px; white-space: nowrap; text-overflow: ellipsis; }
    .gac-app.gac-route-compare .gac-compare-summary { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
    .gac-app.gac-route-compare .gac-compare-summary > strong { color: #152a42; font-size: 19px; font-weight: 750; line-height: 1.3; letter-spacing: -.5px; }
    .gac-app.gac-route-compare .gac-compare-discount { display: flex; align-items: center; flex-wrap: wrap; min-height: 16px; gap: 6px; font-size: 11px; line-height: 1.4; }
    .gac-app.gac-route-compare .gac-compare-discount del { color: #7b8797; }
    .gac-app.gac-route-compare .gac-compare-discount span { color: #238447; font-weight: 600; }
    .gac-app.gac-route-compare .gac-stock-badge { min-height: 19px; padding: 3px 6px; border-radius: 4px; font-size: 9px; }
    .gac-app.gac-route-compare .gac-compare-product-actions { display: block; margin-top: 4px; }
    .gac-app.gac-route-compare .gac-compare-product-actions > [data-action="quick-add-cart"] { display: flex; justify-content: center; width: 100%; min-height: 44px; padding: 10px 6px; gap: 5px; border: 0; border-radius: 6px; background: #2469df; box-shadow: none; font-size: 11px; font-weight: 600; }
    .gac-app.gac-route-compare .gac-compare-product-actions > [data-action="quick-add-cart"] svg { width: 16px; height: 16px; flex-shrink: 0; }
    .gac-app.gac-route-compare .gac-compare-product-actions > [data-action="quick-add-cart"]:disabled { background: #e9edf3; color: #8490a0; opacity: 1; }
    .gac-app.gac-route-compare .gac-compare-product-actions > [data-action="remove-compare"] { position: absolute; top: 3px; right: 2px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; color: #718198; background: transparent; font-size: 0; }
    .gac-app.gac-route-compare .gac-compare-product-actions > [data-action="remove-compare"] svg { width: 18px; height: 18px; }
    .gac-app.gac-route-compare .gac-compare-add { display: flex; gap: 13px; color: #2765bd; background: #fbfcff; }
    .gac-app.gac-route-compare .gac-compare-add > svg { width: 50px; height: 50px; padding: 13px; border: 1px dashed #adc7ea; border-radius: 10px; background: #f0f6ff; }
    .gac-app.gac-route-compare .gac-compare-add > span { font-size: 12px; font-weight: 600; }
    .gac-app.gac-route-compare .gac-compare-section-title { display: block; margin: 10px 0 0; padding: 18px 16px; border-block: 1px solid #e5ebf3; background: #fff; color: #192f49; font-size: 16px; font-weight: 700; }
    .gac-app.gac-route-compare .gac-compare-table-wrap { margin: 0; overflow: visible; border: 0; border-radius: 0; }
    .gac-app.gac-route-compare .gac-compare-table { display: block; width: 100%; min-width: 0; border: 0; table-layout: fixed; }
    .gac-app.gac-route-compare .gac-compare-table :is(tbody,thead) { display: block; }
    .gac-app.gac-route-compare .gac-compare-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    .gac-app.gac-route-compare .gac-compare-table :is(th,td) { position: static; min-width: 0; width: auto; padding: 12px 16px; border: 0; border-bottom: 1px solid #e5ebf3; background: #fff; color: #253a51; font-size: 12px; font-weight: 400; line-height: 1.65; overflow-wrap: anywhere; text-align: left; white-space: pre-line; }
    .gac-app.gac-route-compare .gac-compare-table tbody th { grid-column: 1/-1; padding: 9px 16px; background: #f5f7fa; color: #627087; font-size: 11px; font-weight: 600; }
    .gac-app.gac-route-compare .gac-compare-table td:first-of-type { border-right: 1px solid #e5ebf3; }
    .gac-app.gac-route-compare .gac-compare-table td.is-empty { color: #99a5b4; background: #fbfcff; }
    .gac-app.gac-route-compare .gac-compare-table tbody tr:last-child td { font-size: 16px; font-weight: 700; }
    .gac-app.gac-route-compare .gac-compare-table .gac-compare-mobile-head { position: sticky; top: calc(var(--gac-appbar-height) + env(safe-area-inset-top,0px)); z-index: 20; box-shadow: 0 3px 8px rgba(30,57,94,.045); }
    .gac-app.gac-route-compare .gac-compare-mobile-head th { display: flex; align-items: center; min-height: 58px; color: #385574; background: #fff; font-size: 11px; font-weight: 600; }
    .gac-app.gac-route-compare .gac-compare-mobile-head th:nth-child(2) { border-right: 1px solid #e5ebf3; }
    .gac-app.gac-route-compare .gac-compare-mobile-head th > span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .gac-app.gac-route-compare .gac-compare-mobile-head .gac-compare-feature-column { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .gac-app.gac-route-compare .gac-empty { min-height: 220px; margin: 16px; padding: 24px 16px; }
    .gac-app.gac-route-compare .gac-empty-icon { width: 64px; height: 64px; }
    .gac-app.gac-route-compare .gac-compare-sheet .gac-sheet-search { min-height: 50px; margin-bottom: 16px; border-radius: 10px; background: #f7f9fc; }
    .gac-app.gac-route-compare .gac-compare-sheet [data-compare-search] { min-width: 0; font-size: 16px; }
    .gac-app.gac-route-compare .gac-compare-sheet .gac-suggestion-list > button { grid-template-columns: 60px minmax(0,1fr) 20px; min-height: 86px; padding: 10px; border-radius: 10px; }
    .gac-app.gac-route-compare .gac-compare-sheet .gac-suggestion-list img { width: 60px; height: 60px; }
    .gac-app.gac-route-compare .gac-compare-sheet .gac-suggestion-list strong { font-size: 12px; line-height: 1.5; }
    .gac-app.gac-route-compare .gac-compare-sheet .gac-suggestion-list small { margin-top: 5px; font-size: 11px; line-height: 1.5; }
}
@media screen and (max-width: 1023px) {
    .gac-app.gac-route-search .gac-scroll { overflow: visible; }
    .gac-app.gac-route-search .gac-search-screen { padding: 16px 16px 32px; }
    .gac-app.gac-route-search .gac-appbar { box-shadow: none; border-bottom-color: #e7edf5; }
    .gac-app.gac-route-search .gac-appbar-title { font-size: 19px; font-weight: 700; letter-spacing: -.45px; }
    .gac-app.gac-route-search .gac-search-bar {
        position: sticky;
        top: calc(var(--gac-appbar-height) + env(safe-area-inset-top, 0px) + 8px);
        z-index: 25;
        isolation: isolate;
        min-height: 54px;
        grid-template-columns: 20px minmax(0,1fr) 44px;
        gap: 9px;
        padding: 0 4px 0 14px;
        border: 1px solid #ceddf1;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 3px 12px rgba(28,67,117,.05);
    }
    .gac-app.gac-route-search .gac-search-bar > svg { width: 20px; height: 20px; color: #2868df; }
    .gac-app.gac-route-search .gac-search-bar input { height: 52px; font-size: 16px; color: #173653; letter-spacing: -.3px; }
    .gac-app.gac-route-search .gac-search-bar input::placeholder { color: #73849b; opacity: 1; }
    .gac-app.gac-route-search .gac-search-bar input::-webkit-search-cancel-button { -webkit-appearance: none; }
    .gac-app.gac-route-search .gac-search-bar button { width: 44px; height: 44px; color: #61758c; }
    .gac-app.gac-route-search .gac-search-bar button svg { width: 18px; height: 18px; }
    .gac-app.gac-route-search .gac-search-bar:has(input:placeholder-shown) button { visibility: hidden; }
    .gac-app.gac-route-search .gac-search-hint { display: block; margin: 13px 2px 0; color: #62758c; font-size: 12px; line-height: 1.5; }
    .gac-app.gac-route-search .gac-search-results { margin-top: 24px; }
    .gac-app.gac-route-search .gac-search-section { margin-top: 25px; }
    .gac-app.gac-route-search .gac-search-section:first-child { margin-top: 0; }
    .gac-app.gac-route-search :is(.gac-search-section > h2,.gac-section-heading h2,.gac-search-result-heading h2) { margin: 0; color: #173653; font-size: 16px; line-height: 1.35; font-weight: 700; letter-spacing: -.35px; }
    .gac-app.gac-route-search .gac-search-section > h2 { margin-bottom: 13px; }
    .gac-app.gac-route-search .gac-section-heading { min-height: 32px; margin-bottom: 10px; }
    .gac-app.gac-route-search .gac-section-heading > button { min-height: 44px; padding: 0 3px 0 12px; font-size: 12px; font-weight: 600; color: #1e5fc6; }
    .gac-app.gac-route-search .gac-chip-row { flex-wrap: wrap; overflow: visible; gap: 8px; }
    .gac-app.gac-route-search .gac-chip { min-height: 42px; max-width: 100%; padding: 10px 12px; border-radius: 10px; border-color: #dce6f3; background: #fff; color: #3c526d; font-size: 12px; font-weight: 500; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; text-align: left; }
    .gac-app.gac-route-search .gac-chip svg { width: 15px; height: 15px; flex-shrink: 0; color: #6f86a3; }
    .gac-app.gac-route-search .gac-category-row { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 98px; gap: 10px; padding: 2px 1px 6px; overscroll-behavior-inline: contain; }
    .gac-app.gac-route-search .gac-category-row button { min-width: 0; min-height: 110px; justify-content: flex-start; padding: 12px 7px 10px; border-radius: 12px; border-color: #dce6f3; background: #fff; color: #254568; font-size: 11px; line-height: 1.4; gap: 9px; }
    .gac-app.gac-route-search .gac-category-row :is(img,button > svg) { width: 46px; height: 46px; flex-shrink: 0; object-fit: contain; }
    .gac-app.gac-route-search .gac-category-row button > svg { padding: 11px; border-radius: 12px; background: #edf4ff; color: #3975ce; }
    .gac-app.gac-route-search .gac-category-row span { overflow-wrap: anywhere; }
    .gac-app.gac-route-search .gac-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
    .gac-app.gac-route-search .gac-search-result-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
    .gac-app.gac-route-search .gac-search-result-heading > span { padding: 5px 9px; border-radius: 8px; background: #eaf1fc; color: #41618b; font-size: 11px; white-space: nowrap; }
    .gac-app.gac-route-search .gac-suggestion-list { gap: 10px; }
    .gac-app.gac-route-search .gac-suggestion-list > button { min-height: 96px; grid-template-columns: 72px minmax(0,1fr) 18px; gap: 12px; padding: 12px; border-radius: 12px; border-color: #dfe8f3; box-shadow: 0 2px 8px rgba(24,57,99,.025); }
    .gac-app.gac-route-search .gac-suggestion-list > button > img { width: 72px; height: 72px; padding: 3px; border-radius: 9px; background: #f5f8fc; object-fit: contain; }
    .gac-app.gac-route-search .gac-suggestion-list > button > span { min-width: 0; }
    .gac-app.gac-route-search .gac-suggestion-list strong { font-size: 13px; line-height: 1.5; font-weight: 650; }
    .gac-app.gac-route-search .gac-suggestion-list small { margin-top: 6px; color: #536c89; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
    .gac-app.gac-route-search .gac-suggestion-list > button > svg { width: 18px; height: 18px; color: #5884bd; }
    .gac-app.gac-route-search .gac-empty { min-height: 260px; margin-top: 24px; padding: 28px 20px; border: 1px solid #e0e9f4; border-radius: 16px; background: #fff; }
    .gac-app.gac-route-search .gac-empty-icon { width: 64px; height: 64px; margin-bottom: 15px; }
    .gac-app.gac-route-search .gac-empty > h2 { font-size: 18px; font-weight: 700; }
    .gac-app.gac-route-search .gac-empty > p { font-size: 13px; line-height: 1.6; }
    .gac-app.gac-route-search .gac-inline-loader { min-height: 100px; font-size: 13px; }
}

.gac-app {
    --gac-primary: #2868e9;
    --gac-primary-dark: #174ec4;
    --gac-secondary: #709ef4;
    --gac-accent: #b0d2ff;
    --gac-background: #f5f8fc;
    --gac-surface-muted: #edf3f9;
    --gac-border: #dde6f0;
    --gac-text: #142b49;
    --gac-text-muted: #5b6e83;
    --gac-blue-soft: #edf3ff;
    --gac-shadow-xs: 0 2px 5px rgba(19, 46, 80, 0.025), 0 5px 14px rgba(19, 46, 80, 0.035);
    --gac-shadow-sm: 0 3px 8px rgba(19, 46, 80, 0.035), 0 12px 28px rgba(19, 46, 80, 0.055);
    --gac-shadow-md: 0 5px 12px rgba(19, 46, 80, 0.04), 0 20px 48px rgba(19, 46, 80, 0.09);
    --gac-shadow-primary: 0 4px 8px rgba(28, 83, 185, 0.08), 0 10px 24px rgba(28, 83, 185, 0.18);
    --gac-polish-ease: cubic-bezier(0.22, 1, 0.36, 1);
    background: var(--gac-background);
}

.gac-app .gac-screen:not(.gac-auth-screen):not(.gac-screen--blue):not(.gac-screen--white) {
    background: linear-gradient(180deg, #f0f5fc 0, #f8fafd 700px, #f5f8fc 100%);
}

.gac-app :is(h1, h2, h3, .gac-product-prices strong, .gac-auth-heading) {
    letter-spacing: -0.025em;
}

.gac-app :is(.gac-product-prices, .gac-cart-copy > strong, .gac-price-summary, .gac-qty) {
    font-variant-numeric: tabular-nums;
}

/* Route focus provides a screen-reader announcement, not a card-sized outline.
 * Keyboard-operated controls retain a clearly visible, high-contrast ring. */
.gac-app main.gac-scroll[tabindex="-1"]:focus-visible {
    outline: none;
}

.gac-app :is(button, a, input, select, textarea, [role="button"]):focus-visible {
    outline: 3px solid var(--gac-primary-dark);
    outline-offset: 3px;
}

/* Pointer/touch focus stays quiet across all storefront forms. Keyboard Tab
 * restores the existing focus-visible styles, including high-contrast mode.
 * These targeted overrides beat route styles without removing card elevation
 * or the separate red validation treatment. */
.gac-app[data-focus-mode="pointer"] :focus,
.gac-app[data-focus-mode="pointer"] :is(.gac-payment-option, .gac-avatar-picker):focus-within {
    outline: none !important;
}

.gac-app[data-focus-mode="pointer"] :is(input, select, textarea, [contenteditable="true"]):focus:not([aria-invalid="true"], .is-invalid):not(.gac-field[aria-invalid="true"] *),
.gac-app[data-focus-mode="pointer"] :is(.gac-field__control, .gac-phone-field, .gac-inline-search label, .gac-search-box, .gac-search-bar):focus-within:not([aria-invalid="true"], .is-invalid):not(.gac-field[aria-invalid="true"] *):not(:has([aria-invalid="true"])) {
    box-shadow: none !important;
}

.gac-app[data-focus-mode="pointer"] :is(.gac-switch, .gac-choice-chip, .gac-toggle-tile, .gac-star-input) input:focus + * {
    outline: none !important;
    box-shadow: none !important;
}

/* The Brands header is white-on-blue, but its search field is a white surface. */
.gac-app .gac-brand-search { color: var(--gac-text); }
.gac-app .gac-brand-search > .gac-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--gac-text-muted);
    pointer-events: none;
}
.gac-app .gac-brand-search input { color: var(--gac-text); }

.gac-app :is(.gac-field__control, .gac-phone-field, .gac-inline-search label, .gac-search-box):focus-within {
    border-color: var(--gac-primary);
    box-shadow: 0 0 0 4px rgba(40, 104, 233, 0.1);
}

.gac-app :is(.gac-field > input, .gac-field > select, .gac-field > textarea) {
    border-color: var(--gac-border);
    background: #ffffff;
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.gac-app :is(.gac-field > input, .gac-field > select, .gac-field > textarea):focus {
    border-color: var(--gac-primary);
    box-shadow: 0 0 0 4px rgba(40, 104, 233, 0.1);
}

.gac-app :is(.gac-phone-field, .gac-inline-search label, .gac-search-box) {
    border-color: var(--gac-border);
    box-shadow: inset 0 1px 2px rgba(19, 46, 80, 0.025);
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.gac-app .gac-btn {
    font-weight: 700;
    letter-spacing: -0.01em;
    transition: box-shadow 220ms ease, background-color 220ms ease, border-color 220ms ease, filter 220ms ease;
}

.gac-app :is(.gac-btn-primary, .gac-btn.primary) {
    border-color: rgba(17, 63, 156, 0.12);
    background: linear-gradient(125deg, #2a6beb, #1852ce);
    box-shadow: var(--gac-shadow-primary), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.gac-app :is(.gac-btn-outline, .gac-btn-white-outline, .gac-btn.outline) {
    border-color: #cfddf2;
    color: var(--gac-primary-dark);
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(19, 46, 80, 0.025);
}

.gac-app :is(.gac-card, .gac-product-card, .gac-offer-card, .gac-brand-card, .gac-order-card, .gac-address-card) {
    border-color: var(--gac-border);
    box-shadow: var(--gac-shadow-xs);
}

.gac-app :is(.gac-product-card, .gac-brand-card, .gac-offer-card, .gac-card--interactive, .gac-feature-card) {
    transition: border-color 260ms ease, box-shadow 260ms ease, background-color 260ms ease;
}

/* The entrance animation's inline transform must never compete with an older
 * stylesheet's hover transform on the same card. Micro-motion stays inside it. */
.gac-app :is(.gac-product-card, .gac-brand-card, .gac-offer-card, .gac-card--interactive):hover,
.gac-app .gac-feature-card:active,
.gac-app .gac-btn:active {
    transform: none;
}

.gac-app :is(.gac-product-image, .gac-product-card-image) {
    background: radial-gradient(ellipse at 50% 36%, #ffffff 5%, #f0f5fb 100%);
    border-bottom: 1px solid #edf2f8;
}

.gac-app .gac-product-card.gac-product-grid {
    padding: 0;
    gap: 0;
}

.gac-app .gac-product-image > button[data-route] {
    display: grid;
    width: 100%;
    height: 100%;
    padding: 0;
    place-items: center;
    border: 0;
    background: transparent;
}

.gac-app :is(.gac-product-image, .gac-product-main-image, .gac-gallery-thumbs button),
.gac-app .gac-product-image > button[data-route] {
    min-width: 0;
    min-height: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
}

.gac-app .gac-product-main-image {
    overflow: hidden;
}

.gac-app :is(.gac-product-image, .gac-product-main-image, .gac-gallery-thumbs) img {
    min-width: 0;
    min-height: 0;
    max-height: 100%;
    object-fit: contain;
}

.gac-app :is(.gac-product-image, .gac-product-card-image) > img,
.gac-app .gac-product-image > button[data-route] > img {
    transition: transform 500ms var(--gac-polish-ease);
}

.gac-app .gac-product-name {
    letter-spacing: -0.015em;
}

/* Compact catalog cards only; detail, wishlist and search layouts stay intact.
 * The grid class also exists on cards, so container rules exclude them. */
.gac-app.gac-route-products .gac-product-tabs {
    --gac-tab-accent: var(--gac-primary-dark);
    --gac-tab-border: #dfe6ef;
    --gac-tab-selected-surface: #edf3ff;
    --gac-tab-selected-border: #bdd0f4;
    --gac-tab-selected-icon: #dce8fc;
    width: min(100%, 1280px);
    max-width: 100%;
    margin-inline: auto;
    padding: 6px 2px 10px;
    gap: 8px;
    border: 0;
    border-radius: 0;
    background: transparent;
    scroll-padding-inline: 4px;
}

@supports (background: color-mix(in srgb, black, white)) {
    .gac-app.gac-route-products .gac-brand-product-appbar .gac-product-tabs {
        /* Bound the accent luminance so white labels stay readable for any brand. */
        --gac-tab-accent: color-mix(in srgb, var(--active-brand-color, #2866d3) 35%, #10213e);
        --gac-tab-border: color-mix(in srgb, var(--active-brand-color, #2866d3) 12%, #ffffff);
        --gac-tab-selected-surface: color-mix(in srgb, var(--active-brand-color, #2866d3) 5%, #ffffff);
        --gac-tab-selected-border: var(--gac-tab-accent);
        --gac-tab-selected-icon: color-mix(in srgb, var(--gac-tab-accent) 9%, #ffffff);
    }
}

.gac-app.gac-route-products .gac-product-tabs .gac-product-tab {
    min-height: 46px;
    padding: 6px 14px 6px 9px;
    gap: 7px;
    border-color: var(--gac-tab-border);
    border-radius: 999px;
    color: #536681;
    background: transparent;
    box-shadow: none;
    font-size: 12px;
    font-weight: 650;
    line-height: 18px;
}

.gac-app.gac-route-products .gac-product-tab-icon {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: inherit;
    background: transparent;
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.gac-app.gac-route-products .gac-product-tab-icon svg {
    width: 20px;
    height: 20px;
}

.gac-app.gac-route-products .gac-product-tabs .gac-product-tab.is-active {
    border-color: var(--gac-tab-selected-border);
    color: var(--gac-tab-accent);
    background: var(--gac-tab-selected-surface);
    box-shadow: 0 2px 5px rgba(16, 33, 62, 0.12);
}

.gac-app.gac-route-products .gac-product-tab.is-active .gac-product-tab-icon {
    color: inherit;
    background: var(--gac-tab-selected-icon);
}

.gac-app.gac-route-products .gac-product-tabs .gac-product-tab:focus-visible {
    outline: 2px solid var(--gac-tab-accent);
    outline-offset: -2px;
}

.gac-app.gac-route-products .gac-product-tabs .gac-product-tab.is-active:focus-visible {
    outline-color: currentColor;
    outline-offset: -4px;
}

@media (hover: hover) and (pointer: fine) {
    .gac-app.gac-route-products .gac-product-tabs .gac-product-tab:not(.is-active):hover {
        border-color: var(--gac-tab-accent);
        color: var(--gac-tab-accent);
        background: transparent;
    }
}

@media (max-width: 1023px) {
    .gac-app.gac-route-products .gac-brand-product-appbar {
        /* Stable underlay for translucent brand gradients, not a tab strip. */
        background-color: #ffffff;
    }

    /* Outlined categories surround one light selected capsule, not a white bar. */
    .gac-app.gac-route-products .gac-brand-product-appbar .gac-product-tabs .gac-product-tab:not(.is-active) {
        border-color: rgba(255, 255, 255, 0.3);
        border-color: color-mix(in srgb, currentColor 30%, transparent);
        color: var(--gac-tab-on-brand, #ffffff);
        background: var(--gac-tab-wash, transparent);
    }

    .gac-app.gac-route-products .gac-brand-product-appbar .gac-product-tabs .gac-product-tab.is-active {
        border-color: var(--gac-tab-selected-border);
        color: var(--gac-tab-accent);
        background: var(--gac-tab-selected-surface);
    }

    .gac-app.gac-route-products .gac-brand-product-appbar .gac-product-tabs .gac-product-tab:focus-visible {
        outline-color: Highlight;
    }
}

/* Listing and recommendations share the same compact product-card design. */
:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-grid:not(.gac-product-card) {
    padding-block: 12px;
    gap: 12px;
    align-items: stretch;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card {
    padding: 0;
    gap: 0;
    border-radius: 15px;
    box-shadow: 0 2px 8px rgba(19, 46, 80, 0.045);
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card.gac-product-grid > .gac-product-image {
    height: clamp(108px, 29vw, 136px);
    min-height: 0;
    padding: 0;
    aspect-ratio: auto;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card .gac-wishlist-button {
    top: 0;
    right: 0;
    width: 44px;
    min-width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* A smaller visible heart keeps a comfortable, unchanged touch target. */
:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-wishlist-button::before {
    position: absolute;
    inset: 7px;
    border: 1px solid #dde7f2;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 2px 6px rgba(19, 46, 80, 0.06);
    pointer-events: none;
    content: "";
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-wishlist-button.is-active::before {
    border-color: #f5d7df;
    background: #fff3f5;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-wishlist-button svg {
    position: relative;
    width: 16px;
    height: 16px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card > .gac-product-body {
    padding: 10px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-meta {
    min-height: 18px;
    margin-top: 0;
    font-size: 10px;
    line-height: 1.4;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-meta > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-meta .gac-rating {
    flex-shrink: 0;
    gap: 3px;
    font-size: 10px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-meta .gac-rating svg {
    width: 12px;
    height: 12px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-name {
    min-height: 32px;
    margin-top: 2px;
    font-size: 12px;
    line-height: 16px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-model {
    margin-top: 0;
    font-size: 10px;
    line-height: 1.5;
}

/* Logo and availability share one row; keep the rating beside the model. */
:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-row,
:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-detail-row {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-row {
    min-height: 20px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand {
    display: block;
    min-width: 0;
    max-width: 76px;
    flex: 1 1 auto;
    color: var(--gac-text-muted);
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-logo {
    display: block;
    width: 100%;
    height: 20px;
    object-fit: contain;
    object-position: left center;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-name {
    display: block;
    overflow: hidden;
    font-size: 10px;
    line-height: 20px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-logo + .gac-product-brand-name,
:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-logo.is-fallback {
    display: none;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-logo.is-fallback + .gac-product-brand-name {
    display: block;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-brand-row .gac-product-stock {
    margin-top: 0;
    flex-shrink: 0;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-detail-row .gac-product-model {
    min-width: 0;
    flex: 1 1 auto;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-detail-row .gac-rating {
    flex-shrink: 0;
    gap: 3px;
    font-size: 10px;
    line-height: 1.5;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-detail-row .gac-rating svg {
    width: 12px;
    height: 12px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-stock {
    min-height: 20px;
    margin-top: 6px;
    padding: 0;
    align-self: flex-start;
    border-radius: 0;
    background: transparent;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-stock-badge {
    min-height: 20px;
    padding: 2px 7px;
    font-size: 9px;
    line-height: 1.5;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-prices {
    margin-top: 6px;
    gap: 2px 5px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-prices strong {
    font-size: 16px;
    line-height: 1.35;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-prices > * {
    white-space: nowrap;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-saving {
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.5;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card.gac-product-list {
    grid-template-columns: clamp(100px, 26vw, 124px) minmax(0, 1fr);
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card.gac-product-list > .gac-product-image {
    min-height: 0;
    padding: 0;
    border-right: 1px solid #edf2f8;
    border-bottom: 0;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-list .gac-product-ribbon {
    top: auto;
    bottom: 10px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card-actions {
    padding-top: 8px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card-actions .gac-btn {
    min-width: 0;
    min-height: 44px;
    padding-inline: 8px;
    gap: 4px;
    font-size: 11px;
}

:is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card-actions .gac-btn svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

@media (min-width: 768px) {
    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-grid:not(.gac-product-card) {
        gap: 16px;
    }

    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card.gac-product-grid > .gac-product-image {
        height: 150px;
    }

    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card > .gac-product-body {
        padding: 12px;
    }

    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-name {
        min-height: 36px;
        font-size: 13px;
        line-height: 18px;
    }

    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-prices strong {
        font-size: 18px;
    }
}

@media (min-width: 1024px) {
    :is(.gac-app.gac-route-products, .gac-app .gac-recommended-products) .gac-product-card.gac-product-grid > .gac-product-image {
        height: 160px;
    }
}

.gac-app .gac-stock-badge {
    letter-spacing: 0.005em;
}

.gac-app .gac-wishlist-button {
    border-color: #dde7f2;
    box-shadow: 0 3px 9px rgba(19, 46, 80, 0.06);
    transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.gac-app .gac-wishlist-button.is-active {
    border-color: #f5d7df;
    background: #fff3f5;
}

.gac-app :is(.gac-product-toolbar > button, .gac-pagination button) {
    border: 1px solid var(--gac-border);
    box-shadow: 0 2px 6px rgba(19, 46, 80, 0.025);
}

.gac-app .gac-chip {
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.gac-app :is(.gac-chip.is-active, .gac-chip[aria-pressed="true"], .gac-chip[aria-selected="true"]) {
    border-color: var(--gac-primary-dark);
    color: #ffffff;
    background: var(--gac-primary-dark);
    box-shadow: 0 3px 8px rgba(28, 83, 185, 0.13);
}

.gac-app :is(.gac-carousel, .gac-home-carousel) {
    outline: 1px solid rgba(255, 255, 255, 0.55);
    outline-offset: -1px;
    box-shadow: var(--gac-shadow-md);
}

.gac-app .gac-carousel-slide img[src*="/assets/storefront/images/home/banner.png"] {
    object-fit: contain;
    background: #edf4fc;
}

.gac-app .gac-feature-card:is(.is-blue, .is-emerald, .is-amber, .is-violet) {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 8px 20px rgba(20, 48, 86, 0.1);
}

.gac-app .gac-feature-card.is-blue {
    background: linear-gradient(135deg, #2c66cd, #2156c9);
}

.gac-app .gac-feature-card.is-emerald {
    background: linear-gradient(135deg, #117d67, #087052);
}

.gac-app .gac-feature-card.is-amber {
    background: linear-gradient(135deg, #996217, #8b550c);
}

.gac-app .gac-feature-card.is-violet {
    background: linear-gradient(135deg, #7557d8, #5034a9);
}

.gac-app :is(.gac-feature-icon, .gac-feature-arrow) {
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.13);
    backdrop-filter: none;
}

.gac-app :is(.gac-feature-arrow > svg, .gac-feature-art) {
    transition: transform 450ms var(--gac-polish-ease);
}

.gac-app .gac-feature-subtitle {
    color: rgba(255, 255, 255, 0.92);
}

.gac-app .gac-consult-card {
    background: radial-gradient(ellipse at 98% 5%, rgba(94, 154, 255, 0.36), transparent 45%), linear-gradient(115deg, #13366d, #1c58bd);
    box-shadow: 0 10px 26px rgba(20, 54, 109, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

.gac-app .gac-consult-email {
    border: 1px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.1);
    font-weight: 700;
}

.gac-app .gac-product-hero {
    background: linear-gradient(145deg, #ffffff, #f4f8ff);
}

.gac-app .gac-gallery-thumbs button {
    transition: border-color 180ms ease, box-shadow 180ms ease;
}

.gac-app .gac-gallery-thumbs button.is-active {
    box-shadow: 0 0 0 2px rgba(40, 104, 233, 0.13);
}

.gac-app :is(.gac-price-summary, .gac-checkout-summary, .gac-coupon-card) {
    background: #ffffff;
    box-shadow: var(--gac-shadow-sm);
}

.gac-app .gac-cart-item-footer {
    border-top-color: #e8eef6;
    background: #fbfcff;
}

.gac-app .gac-menu-icon {
    color: var(--gac-primary-dark);
    background: #edf3ff;
}

.gac-app :is(.gac-bottom-nav, .gac-sticky-actions) {
    border-color: rgba(213, 224, 239, 0.92);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 -4px 24px rgba(19, 46, 80, 0.065);
}

.gac-app .gac-bottom-nav-item.is-active {
    color: var(--gac-primary-dark);
    background: linear-gradient(180deg, #e9f1ff, #f4f7ff);
}

.gac-app :is(.gac-modal, .gac-sheet) {
    box-shadow: 0 24px 70px rgba(10, 30, 63, 0.22);
}

/* Authentication uses the same typography and control surfaces as shopping. */
.gac-app .gac-auth-heading h1 {
    color: #132e52;
    letter-spacing: -0.035em;
}

/* Keep saved-number autofill the same white as the phone field. The inset
 * fill masks the browser tint, not an outer focus halo. Scoped specificity
 * preserves it when the shared pointer-focus rule removes field shadows. */
#storefront-app:is(.gac-route-login, .gac-route-signup) .gac-phone-field input:is(:autofill, :-webkit-autofill) {
    box-shadow: inset 0 0 0 1000px #fff !important;
    -webkit-text-fill-color: var(--gac-text) !important;
    caret-color: var(--gac-text);
}

/* Phone confirmation only; other shared dialogs keep their existing layout. */
.gac-app .gac-modal.gac-phone-confirm-modal { width: min(100%, 400px); padding: 28px 24px 24px; border: 1px solid #e6ecf4; border-radius: 22px; background: #fff; text-align: center; }
.gac-app .gac-phone-confirm-modal .gac-modal-close { top: 10px; right: 10px; width: 40px; height: 40px; color: #6a7b90; }
.gac-app .gac-phone-confirm-modal .gac-modal-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 4px auto 18px; border: 1px solid #dfeaff; border-radius: 18px; color: #2463d5; background: #edf4ff; }
.gac-app .gac-phone-confirm-modal .gac-modal-icon svg { width: 27px; height: 27px; }
.gac-app .gac-phone-confirm-modal h2 { margin: 0 0 10px; color: #182e4b; font-size: 21px; font-weight: 700; letter-spacing: -.5px; line-height: 1.3; }
.gac-app .gac-phone-confirm-modal .gac-phone-confirm-intro { max-width: 280px; margin: 0 auto; color: #687990; font-size: 13px; line-height: 1.65; }
.gac-app .gac-phone-confirm-number { display: flex; flex-direction: column; gap: 7px; margin: 22px 0 12px; padding: 17px 10px; border: 1px solid #e1e9f4; border-radius: 12px; background: #f7faff; }
.gac-app .gac-phone-confirm-number > span { color: #74849b; font-size: 11px; }
.gac-app .gac-phone-confirm-number > strong { color: #203d60; font-size: clamp(20px, 5.5vw, 24px); line-height: 1.4; font-weight: 650; letter-spacing: .2px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.gac-app .gac-phone-confirm-modal .gac-phone-confirm-note { margin: 0; color: #78879b; font-size: 11px; line-height: 1.5; }
.gac-app .gac-phone-confirm-modal .gac-modal-actions { display: grid; grid-template-columns: 1fr 1.2fr; margin-top: 24px; gap: 10px; }
.gac-app .gac-phone-confirm-modal .gac-modal-actions .gac-btn { min-width: 0; min-height: 48px; padding: 12px 8px; border-radius: 10px; font-size: 13px; font-weight: 600; box-shadow: none; }
@media (forced-colors: active) {
    #storefront-app:is(.gac-route-login, .gac-route-signup) .gac-phone-field input:is(:autofill, :-webkit-autofill) {
        box-shadow: none !important;
        -webkit-text-fill-color: CanvasText !important;
    }
}

.gac-app .gac-auth-heading h2 {
    margin-top: 6px;
    color: var(--gac-primary-dark);
    font-weight: 650;
    letter-spacing: -0.025em;
}

.gac-app .gac-auth-heading p {
    color: var(--gac-text-muted);
    line-height: 1.65;
}

.gac-app .gac-auth-features {
    padding-top: 18px;
    border-top: 1px solid #e9eef6;
}

.gac-app .gac-auth-features > div > span {
    border: 1px solid #e0eaff;
    background: #f2f6ff;
}

.gac-app .gac-auth-features strong {
    font-size: 11px;
    font-weight: 650;
    line-height: 1.4;
}

.gac-app .gac-auth-features small {
    color: var(--gac-text-muted);
    font-size: 10px;
    line-height: 1.4;
}

@media (min-width: 1024px) {
    .gac-app .gac-desktop-header {
        border-bottom-color: rgba(208, 221, 238, 0.8);
        background: rgba(255, 255, 255, 0.91);
        box-shadow: 0 3px 18px rgba(19, 46, 80, 0.035);
        -webkit-backdrop-filter: blur(20px) saturate(140%);
        backdrop-filter: blur(20px) saturate(140%);
    }

    .gac-app .gac-desktop-brand strong {
        color: #123364;
        letter-spacing: -0.035em;
    }

    .gac-app .gac-desktop-nav button {
        font-weight: 650;
    }

    .gac-app .gac-desktop-nav button.is-active {
        background: #eaf1ff;
    }

    .gac-app .gac-desktop-nav button.is-active::after {
        right: 20px;
        left: 20px;
    }

    .gac-app .gac-desktop-search {
        background: #f6f9fe;
    }

    .gac-app :is(.gac-desktop-account, .gac-desktop-icon) {
        box-shadow: 0 2px 6px rgba(19, 46, 80, 0.025);
    }

    .gac-app .gac-product-card {
        border-radius: 20px;
    }

    .gac-app .gac-product-body {
        padding: 16px;
    }

    .gac-app .gac-product-image {
        padding: 18px;
    }

    .gac-app .gac-product-prices strong {
        font-size: 20px;
        letter-spacing: -0.035em;
    }

    .gac-app:is(.gac-route-login, .gac-route-signup, .gac-route-otp) .gac-auth-screen {
        background:
            radial-gradient(ellipse at 5% 5%, rgba(102, 154, 244, 0.22), transparent 48%),
            radial-gradient(ellipse at 100% 100%, rgba(89, 170, 234, 0.18), transparent 46%),
            linear-gradient(135deg, #f0f5fd, #fbfcff 52%, #f0f5fb);
    }

    .gac-app:is(.gac-route-login, .gac-route-signup, .gac-route-otp) .gac-auth {
        border-color: rgba(212, 224, 241, 0.95);
        border-radius: 26px;
        background: #ffffff;
        box-shadow: 0 8px 22px rgba(27, 61, 108, 0.04), 0 28px 80px rgba(27, 61, 108, 0.105);
    }

    .gac-app .gac-auth-heading h1 {
        font-size: 30px;
    }

    .gac-app .gac-auth-heading h2 {
        font-size: 19px;
    }

    .gac-app .gac-auth-heading p {
        font-size: 13px;
    }

    .gac-app .gac-auth-wave {
        opacity: 0.4;
    }
}

@media (max-width: 767px) {
    .gac-app .gac-auth-screen {
        background: linear-gradient(160deg, #f0f6ff 0, #ffffff 40%, #ffffff 80%, #edf4ff 100%);
    }

    .gac-app .gac-auth-heading h1 {
        font-size: 26px;
    }

    .gac-app .gac-auth-wave {
        opacity: 0.56;
    }

    .gac-app .gac-product-card {
        border-radius: 17px;
    }

    .gac-app .gac-bottom-nav {
        border-radius: 22px 22px 0 0;
    }
}

@media (hover: hover) and (pointer: fine) {
    .gac-app :is(.gac-product-card, .gac-brand-card, .gac-offer-card, .gac-card--interactive):hover {
        border-color: #acc7ee;
        box-shadow: 0 5px 14px rgba(19, 46, 80, 0.04), 0 18px 36px rgba(19, 46, 80, 0.09);
    }

    .gac-app .gac-product-card:hover .gac-product-image > img,
    .gac-app .gac-product-card:hover .gac-product-image > button[data-route] > img {
        transform: scale(1.045);
    }

    .gac-app .gac-feature-card:hover {
        filter: none;
        box-shadow: 0 12px 28px rgba(20, 48, 86, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.2);
    }

    .gac-app .gac-feature-card:hover .gac-feature-arrow > svg {
        transform: translateX(3px);
    }

    .gac-app .gac-feature-card:hover .gac-feature-art {
        transform: scale(1.035);
    }

    .gac-app .gac-btn-primary:not(:disabled):hover {
        filter: brightness(1.04);
        box-shadow: 0 6px 12px rgba(28, 83, 185, 0.1), 0 14px 28px rgba(28, 83, 185, 0.22);
    }

    .gac-app :is(.gac-btn-outline, .gac-btn-white-outline):not(:disabled):hover {
        filter: none;
        border-color: #a6c0ed;
        background: #f7faff;
        box-shadow: var(--gac-shadow-xs);
    }

    .gac-app .gac-menu-item:hover {
        background: #f7faff;
    }
}

@media (prefers-reduced-motion: no-preference) {
    html:not(.lenis):has(> body.gac-page) {
        scroll-behavior: smooth;
        scroll-padding-top: 152px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(> body.gac-page),
    .gac-app .gac-scroll {
        scroll-behavior: auto !important;
    }

    .gac-app *,
    .gac-app *::before,
    .gac-app *::after {
        transition-duration: 0.01ms !important;
    }

    .gac-app .gac-product-card:hover .gac-product-image > img,
    .gac-app .gac-product-card:hover .gac-product-image > button[data-route] > img,
    .gac-app .gac-feature-card:hover .gac-feature-art,
    .gac-app .gac-feature-card:hover .gac-feature-arrow > svg {
        transform: none;
    }
}

@media (forced-colors: active) {
    .gac-app.gac-route-products .gac-product-tabs .gac-product-tab.is-active,
    .gac-app.gac-route-products .gac-product-tabs .gac-product-tab:focus-visible,
    .gac-app.gac-route-products .gac-product-tabs .gac-product-tab.is-active:focus-visible {
        outline: 2px solid Highlight;
        outline-offset: -3px;
    }

    .gac-app :is(.gac-card, .gac-product-card, .gac-offer-card, .gac-brand-card, .gac-order-card, .gac-address-card, .gac-feature-card, .gac-btn, .gac-phone-field) {
        border: 1px solid ButtonText;
        box-shadow: none;
    }

    .gac-app :is(.gac-chip.is-active, .gac-bottom-nav-item.is-active, .gac-desktop-nav button.is-active) {
        outline: 2px solid Highlight;
        outline-offset: -3px;
    }

    .gac-app :is(button, a, input, select, textarea, [role="button"]):focus-visible {
        outline-color: Highlight;
    }
}

/* Reference catalogue: brand-led hero, horizontal product cards and floating
 * controls. These selectors do not change search, wishlist or product detail. */
.gac-app.gac-route-products .gac-screen.gac-catalog-screen {
    --catalog-brand: #0755e9;
    --catalog-on-brand: #fff;
    --catalog-accent: #0755e9;
    --catalog-nav-offset: 0px;
    --catalog-title-height: calc(56px + env(safe-area-inset-top, 0px));
    color: #101929;
    background: #fff;
}

.gac-app .gac-catalog-sticky-heading {
    position: sticky;
    z-index: 70;
    top: var(--catalog-nav-offset);
    height: var(--catalog-title-height);
    padding: env(safe-area-inset-top, 0px) 16px 0;
    flex-shrink: 0;
    color: var(--catalog-on-brand);
    background: var(--catalog-brand);
}
.gac-app .gac-catalog-sticky-heading > .gac-catalog-heading { height: 100%; min-height: 0; }
.gac-app .gac-catalog-sticky-heading h1 { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.gac-app .gac-catalog-hero {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    padding: 0 16px 18px;
    border-radius: 0 0 25px 25px;
    color: var(--catalog-on-brand);
    background: var(--catalog-brand);
    isolation: isolate;
}

.gac-app .gac-catalog-hero::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: var(--catalog-pattern-opacity, 1);
    background: linear-gradient(164deg, transparent 58%, rgba(0, 0, 0, .025) 58%, rgba(0, 0, 0, .025) 78%, transparent 78%);
    content: "";
}

.gac-app .gac-catalog-heading {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 12px;
}

.gac-app .gac-catalog-heading > button {
    display: grid;
    width: 44px;
    height: 44px;
    min-height: 44px;
    margin-left: -4px;
    padding: 0;
    flex: 0 0 44px;
    place-items: center;
    border: 1px solid transparent;
    border-color: color-mix(in srgb, currentColor 16%, transparent);
    border-radius: 14px;
    color: inherit;
    background: rgba(255, 255, 255, .08);
    background: color-mix(in srgb, var(--catalog-on-brand) 8%, var(--catalog-brand));
    transition: background 160ms ease, border-color 160ms ease;
}

.gac-app .gac-catalog-heading > button svg { width: 22px; height: 22px; stroke-width: 1.8; }
.gac-app .gac-catalog-heading > button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.gac-app .gac-catalog-heading h1 { margin: 0; font-size: clamp(18px, 4.9vw, 20px); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
.gac-app .gac-catalog-brand-intro { display: flex; margin-top: 10px; align-items: center; gap: 14px; }
.gac-app .gac-catalog-brand-intro > div { min-width: 0; }
.gac-app .gac-catalog-brand-intro h2 { margin: 0 0 7px; color: inherit; font-size: 20px; font-weight: 650; line-height: 1.2; overflow-wrap: anywhere; }
.gac-app .gac-catalog-brand-intro p { display: -webkit-box; overflow: hidden; max-width: 340px; margin: 0; font-size: 12px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.gac-app .gac-catalog-logo {
    position: relative;
    display: grid;
    overflow: hidden;
    width: 84px;
    height: 86px;
    flex: 0 0 84px;
    place-items: center;
    border: 1px solid #f0f0f0;
    border-radius: 13px;
    color: #243a59;
    background: #fff;
}

.gac-app .gac-catalog-logo img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 4px; object-fit: contain; background: #fff; }
.gac-app .gac-catalog-logo img.is-fallback { display: none; }
.gac-app .gac-catalog-logo-fallback { font-size: 23px; font-weight: 650; text-transform: uppercase; }
.gac-app .gac-catalog-logo:has(img:not(.is-fallback)) .gac-catalog-logo-fallback { visibility: hidden; }

.gac-app .gac-catalog-screen > .gac-scroll { overflow: visible; padding-bottom: 0; background: #fff; }
.gac-app .gac-content.gac-catalog-content { width: 100%; max-width: 1280px; margin-inline: auto; padding: 8px 12px calc(82px + env(safe-area-inset-bottom, 0px)); }
.gac-app .gac-catalog-sticky-tabs { position: sticky; z-index: 60; top: calc(var(--catalog-nav-offset) + var(--catalog-title-height)); margin-inline: -12px; padding: 4px 12px; background: #fff; box-shadow: 0 1px 0 #edf0f5; }
.gac-app .gac-catalog-content :is(button, input, a[href], .gac-product-card, .gac-catalog-card) { scroll-margin-top: calc(var(--catalog-nav-offset) + var(--catalog-title-height) + 72px); scroll-margin-bottom: 90px; }
.gac-app .gac-catalog-search { margin: 10px 0 4px; }
.gac-app.gac-route-products .gac-catalog-content .gac-product-tabs { width: calc(100% + 8px); max-width: none; margin: 0 -4px; padding: 0 2px; gap: 6px; min-height: 44px; align-items: center; scrollbar-width: none; }
.gac-app.gac-route-products .gac-catalog-content .gac-product-tabs .gac-product-tab {
    position: relative;
    min-width: 46px;
    min-height: 30px;
    margin-block: 7px;
    padding: 5px 9px;
    border: 1px solid #e6e6e8;
    border-radius: 999px;
    color: #202735;
    background: #fff;
    box-shadow: none;
    font-size: clamp(10px, 2.8vw, 11px);
    font-weight: 550;
    line-height: 18px;
}
.gac-app.gac-route-products .gac-catalog-content .gac-product-tab::after { position: absolute; inset: -7px 0; content: ""; }
.gac-app.gac-route-products .gac-catalog-content .gac-product-tabs .gac-product-tab.is-active { border-color: var(--catalog-accent); color: #fff; background: var(--catalog-accent); }
.gac-app.gac-route-products .gac-catalog-content .gac-product-tab:focus-visible { outline: 2px solid var(--catalog-accent); outline-offset: 3px; }
.gac-app.gac-route-products .gac-catalog-content .gac-product-tab.is-active:focus-visible { outline-color: var(--catalog-accent); outline-offset: 3px; }

.gac-app .gac-catalog-toolbar { display: flex; min-height: 52px; margin-bottom: 4px; padding-inline: 4px; align-items: center; justify-content: space-between; gap: 12px; }
.gac-app .gac-catalog-count { margin: 0; color: #686e78; font-size: 12px; font-weight: 500; }
.gac-app .gac-catalog-view { display: flex; padding: 0 3px; border: 1px solid #f4f4f5; border-radius: 12px; background: #fff; box-shadow: 0 2px 12px rgba(16, 25, 41, .045); }
.gac-app .gac-catalog-view button { display: grid; width: 35px; height: 38px; padding: 0; place-items: center; border: 0; color: #747983; background: transparent; }
.gac-app .gac-catalog-view button svg { width: 19px; height: 19px; }
.gac-app .gac-catalog-view button.is-active { color: var(--catalog-accent); }

.gac-app .gac-catalog-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.gac-app .gac-catalog-card {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: minmax(88px, 30%) minmax(0, 1fr);
    gap: 14px;
    padding: 12px;
    border: 1px solid #f5f5f6;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(16, 25, 41, .045);
}

.gac-app .gac-catalog-media { display: flex; min-width: 0; align-items: center; flex-direction: column; }
.gac-app .gac-catalog-image { position: relative; display: grid; overflow: hidden; width: 100%; min-height: 98px; aspect-ratio: 1; padding: 0; place-items: center; border: 0; border-radius: 12px; background: #f6f6fa; }
.gac-app .gac-catalog-image img { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; object-fit: contain; background: #fff; }
.gac-app .gac-catalog-image img.is-fallback { display: none; }
.gac-app .gac-catalog-image-fallback { display: grid; place-items: center; color: #a9b8df; }
.gac-app .gac-catalog-image-fallback svg { width: 38px; height: 38px; }
.gac-app .gac-catalog-specs { max-width: 100%; margin-top: 8px; padding: 2px 8px; border-radius: 99px; color: #28574c; background: #e8f8f1; font-size: 9px; font-weight: 550; line-height: 1.35; text-align: center; overflow-wrap: anywhere; }
.gac-app .gac-catalog-heart { position: relative; display: grid; width: 30px; height: 30px; min-height: 30px; margin: auto auto 0 0; padding: 6px; place-items: center; align-self: flex-start; border: 1px solid #e6e7ea; border-radius: 9px; color: #172333; background: #fff; }
.gac-app .gac-catalog-heart::after { position: absolute; inset: -7px; content: ""; }
.gac-app .gac-catalog-heart svg { width: 18px; height: 18px; }
.gac-app .gac-catalog-heart.is-active { color: #d83364; }
.gac-app .gac-catalog-heart.is-active svg { fill: currentColor; }
.gac-app .gac-catalog-copy { position: relative; display: flex; min-width: 0; flex-direction: column; }
.gac-app.gac-route-products .gac-catalog-brand-row { margin: 0 18px 6px 0; }
.gac-app .gac-catalog-model { margin: 0 0 6px; color: #626975; font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
.gac-app .gac-catalog-saving { display: block; margin-top: 4px; color: #16865c; font-size: 9px; line-height: 1.4; }
.gac-app .gac-catalog-label { margin: 6px 0; padding: 2px 6px; border-radius: 5px; color: var(--catalog-accent); background: #edf3ff; font-size: 9px; font-weight: 600; }
.gac-app .gac-catalog-media .gac-catalog-heart { margin-top: auto; }
.gac-app .gac-catalog-footer .gac-catalog-details { margin-left: auto; }
.gac-app .gac-catalog-name { display: -webkit-box; overflow: hidden; width: calc(100% - 16px); min-height: 16px; margin: 0 0 5px; padding: 0; border: 0; color: #101929; background: none; font-size: 12px; font-weight: 650; line-height: 16px; text-align: left; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gac-app .gac-catalog-menu { position: absolute; display: grid; top: -9px; right: -10px; width: 32px; height: 34px; padding: 0; place-items: center; border: 0; color: #4e5460; background: transparent; }
.gac-app .gac-catalog-menu svg { width: 17px; height: 17px; }
.gac-app .gac-catalog-summary { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; flex: 1; }
.gac-app .gac-catalog-facts { min-width: 0; }
.gac-app .gac-catalog-description { display: -webkit-box; overflow: hidden; margin: 0 0 7px; color: #626975; font-size: 10px; line-height: 1.4; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gac-app .gac-catalog-features { display: grid; margin: 0 0 8px; padding: 0; gap: 6px; list-style: none; }
.gac-app .gac-catalog-features li { display: flex; min-width: 0; align-items: flex-start; gap: 6px; color: #626975; font-size: 9px; line-height: 1.4; }
.gac-app .gac-catalog-features li svg { width: 12px; height: 12px; margin-top: 1px; flex: 0 0 12px; }
.gac-app .gac-catalog-features li span { overflow-wrap: anywhere; }
.gac-app .gac-catalog-price { min-width: 0; padding-top: 0; text-align: right; font-variant-numeric: tabular-nums; }
.gac-app .gac-catalog-price > strong { display: block; color: #101929; font-size: 14px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.gac-app .gac-catalog-price > div { display: flex; margin-top: 3px; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 4px; }
.gac-app .gac-catalog-price del { color: #777d87; font-size: 10px; white-space: nowrap; }
.gac-app .gac-catalog-price > div > span { padding: 2px 3px; border-radius: 3px; color: #247a3a; background: #dff5e5; font-size: 8px; font-weight: 650; white-space: nowrap; }
.gac-app .gac-catalog-unavailable { display: inline-block; margin-bottom: 6px; color: #b42336; font-size: 10px; }
.gac-app .gac-catalog-footer { display: flex; margin-top: 2px; padding-top: 3px; flex-direction: column; align-items: flex-start; gap: 0; border-top: 1px solid #f3f3f5; }
.gac-app .gac-catalog-reviews { display: flex; min-height: 24px; max-width: 100%; padding: 0; align-items: center; gap: 6px; flex-wrap: wrap; border: 0; color: #646c7a; background: transparent; font-size: 9px; text-align: left; }
.gac-app .gac-catalog-reviews > svg { width: 12px; height: 12px; }
.gac-app .gac-catalog-rating { display: inline-flex; padding: 1px 3px; align-items: center; gap: 3px; color: #197340; background: #def6e6; font-size: 9px; font-weight: 650; }
.gac-app .gac-catalog-rating svg { width: 11px; height: 11px; fill: currentColor; }
.gac-app .gac-catalog-details { display: flex; min-height: 26px; padding: 4px 10px; align-items: center; align-self: flex-end; gap: 6px; border: 1px solid var(--catalog-accent); border-radius: 7px; color: var(--catalog-accent); background: #fff; font-size: 10px; font-weight: 650; }
.gac-app .gac-catalog-details svg { width: 13px; height: 13px; }

.gac-app .gac-catalog-section-heading { display: flex; margin: 10px 6px 6px; align-items: center; justify-content: space-between; gap: 8px; }
.gac-app .gac-catalog-section-heading h2 { margin: 0; font-size: 13px; font-weight: 650; line-height: 1.4; }
.gac-app .gac-catalog-section-heading > button { min-height: 34px; padding: 0 2px; border: 0; color: var(--catalog-accent); background: transparent; font-size: 11px; font-weight: 600; }
.gac-app .gac-catalog-brands { display: flex; overflow-x: auto; padding: 0 4px 6px; gap: 14px; overscroll-behavior-x: contain; scrollbar-width: none; }
.gac-app .gac-catalog-brand { display: flex; width: 60px; min-width: 60px; padding: 0; flex-direction: column; align-items: center; gap: 7px; border: 0; color: #313946; background: transparent; }
.gac-app .gac-catalog-brand .gac-catalog-logo { width: 54px; height: 54px; flex-basis: 54px; border-radius: 50%; color: #243a59; color: color-mix(in srgb, var(--brand-color) 40%, #101929); background: #f6f7f9; background: color-mix(in srgb, var(--brand-color) 12%, #fff); box-shadow: 0 2px 5px rgba(16, 25, 41, .08); }
.gac-app .gac-catalog-brand .gac-catalog-logo:has(img:not(.is-fallback)) { background: var(--brand-color); }
.gac-app .gac-catalog-brand .gac-catalog-logo img { background: transparent; }
.gac-app .gac-catalog-brand > span:last-child { width: 100%; font-size: 9px; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }

.gac-app .gac-catalog-controls { position: fixed; z-index: 45; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); left: 50%; display: flex; width: min(320px, calc(100% - 24px)); gap: 8px; align-items: center; transform: translateX(-50%); }
.gac-app .gac-catalog-dock, .gac-app .gac-catalog-brand-trigger { display: flex; min-height: 44px; align-items: center; border: 1px solid #263142; border-radius: 999px; color: #fff; background: #101b2b; box-shadow: 0 3px 8px rgba(16, 25, 41, .22); }
.gac-app .gac-catalog-brand-trigger { width: 52px; height: 52px; padding: 4px; flex: 0 0 52px; justify-content: center; border-radius: 50%; font-size: 12px; font-weight: 600; }
.gac-app .gac-catalog-brand-trigger.has-brand { border-color: var(--catalog-accent); color: var(--catalog-on-brand); background: var(--catalog-brand); }
.gac-app .gac-catalog-brand-trigger .gac-catalog-logo { width: 42px; height: 42px; flex: 0 0 42px; border: 0; border-radius: 50%; color: #243a59; background: #fff; }
.gac-app .gac-catalog-brand-trigger .gac-catalog-logo img { padding: 15%; object-fit: contain; }
.gac-app .gac-catalog-brand-trigger .gac-catalog-logo-fallback { font-size: 16px; }
.gac-app .gac-catalog-brand-trigger svg { width: 22px; height: 22px; flex-shrink: 0; }
.gac-app .gac-catalog-dock { min-width: 0; padding: 2px 6px; flex: 1; }
.gac-app .gac-catalog-dock button { position: relative; display: flex; min-width: 0; min-height: 36px; padding: 2px 6px; flex: 1; align-items: center; justify-content: center; gap: 6px; border: 0; color: inherit; background: transparent; font-size: 12px; font-weight: 550; }
.gac-app .gac-catalog-dock button::after { position: absolute; inset: -4px 0; content: ""; }
.gac-app .gac-catalog-dock button + button { border-left: 1px solid #354153; }
.gac-app .gac-catalog-dock svg { width: 17px; height: 17px; flex-shrink: 0; }
.gac-app .gac-catalog-filter-count { display: grid; min-width: 15px; height: 15px; padding: 0 3px; place-items: center; border-radius: 99px; color: #101929; background: #fff; font-size: 9px; }
.gac-app .gac-catalog-sort-dot { width: 5px; height: 5px; border-radius: 50%; background: #fff; }
.gac-app .gac-catalog-sort-options, .gac-app .gac-catalog-menu-options { display: grid; gap: 10px; }
.gac-app .gac-catalog-sort-options button { display: flex; min-height: 48px; padding: 10px 14px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #e2e7ef; border-radius: 10px; color: #34445c; background: #fff; font-size: 14px; }
.gac-app .gac-catalog-sort-options button[aria-pressed="true"] { border-color: var(--gac-primary); color: var(--gac-primary-dark); background: #edf3ff; }

.gac-app .gac-sheet-overlay .gac-brand-picker-sheet { display: flex; max-height: min(88vh, 680px); max-height: min(88dvh, 680px); flex-direction: column; overflow: hidden; }
.gac-app .gac-brand-picker-sheet > header, .gac-app .gac-brand-picker-sheet > .gac-sheet-handle { flex-shrink: 0; }
.gac-app .gac-brand-picker-sheet .gac-sheet-body { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.gac-app .gac-brand-picker-intro { margin: 0 0 16px; color: #647084; font-size: 13px; line-height: 1.5; }
.gac-app .gac-brand-picker-search { position: sticky; z-index: 2; top: 0; display: flex; min-height: 46px; padding: 0 12px; align-items: center; gap: 10px; border: 1px solid #dce3ec; border-radius: 12px; background: #f7f9fc; }
.gac-app .gac-brand-picker-search svg { width: 18px; height: 18px; flex-shrink: 0; color: #647084; }
.gac-app .gac-brand-picker-search:focus-within { border-color: var(--catalog-accent, var(--gac-primary)); }
.gac-app .gac-brand-picker-search input { width: 100%; min-width: 0; min-height: 44px; padding: 0; border: 0; outline: none; color: #101929; background: transparent; font-size: 16px; }
.gac-app .gac-brand-picker-all { display: flex; width: 100%; min-height: 46px; margin: 12px 0 16px; padding: 10px 12px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #e3e8ef; border-radius: 12px; color: #34445c; background: #fff; font-size: 13px; font-weight: 600; }
.gac-app .gac-brand-picker-all > span { display: flex; align-items: center; gap: 10px; }
.gac-app .gac-brand-picker-all svg { width: 18px; height: 18px; }
.gac-app .gac-brand-picker-grid { display: grid; padding: 3px 3px 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gac-app .gac-brand-picker-option { position: relative; display: flex; min-width: 0; padding: 12px 6px 10px; flex-direction: column; align-items: center; justify-content: flex-start; gap: 9px; border: 1px solid #e3e8ef; border-radius: 14px; color: #263346; background: #fff; }
.gac-app .gac-brand-picker-option .gac-catalog-logo { width: 58px; height: 58px; flex-basis: 58px; border: 1px solid #edf0f5; border-radius: 12px; color: #34445c; background: #f4f7fc; background: color-mix(in srgb, var(--picker-brand) 12%, #fff); box-shadow: none; }
.gac-app .gac-brand-picker-option .gac-catalog-logo img { padding: 4px; background: #fff; }
.gac-app .gac-brand-picker-name { width: 100%; font-size: 12px; font-weight: 600; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.gac-app .gac-brand-picker-option[aria-pressed="true"], .gac-app .gac-brand-picker-all[aria-pressed="true"] { border-color: var(--catalog-accent, var(--gac-primary)); color: #263346; background: #f5f8fd; background: color-mix(in srgb, var(--catalog-accent, var(--gac-primary)) 5%, #fff); }
.gac-app .gac-brand-picker-all[aria-pressed="true"] > svg { color: var(--catalog-accent, var(--gac-primary)); }
.gac-app .gac-brand-picker-check { position: absolute; top: 5px; right: 5px; display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--catalog-accent, var(--gac-primary)); }
.gac-app .gac-brand-picker-check svg { width: 12px; height: 12px; }
.gac-app .gac-brand-picker-empty, .gac-app .gac-brand-picker-message { margin: 4px 0 16px; padding: 20px 12px; border-radius: 12px; color: #647084; background: #f7f9fc; font-size: 13px; line-height: 1.5; text-align: center; }
.gac-app .gac-brand-picker-message, .gac-app .gac-brand-picker-grid > .gac-inline-loader { grid-column: 1 / -1; }
.gac-app .gac-brand-picker-message p { margin: 0 0 12px; }

@media (max-width: 359px) {
    .gac-app .gac-catalog-card { gap: 10px; padding: 10px; grid-template-columns: 82px minmax(0, 1fr); }
    .gac-app .gac-catalog-summary { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 5px; }
    .gac-app .gac-catalog-price { text-align: left; }
    .gac-app .gac-catalog-price > div { justify-content: flex-start; }
}

@media (min-width: 600px) {
    .gac-app.gac-route-products .gac-screen.gac-catalog-screen { --catalog-title-height: calc(64px + env(safe-area-inset-top, 0px)); }
    .gac-app .gac-catalog-sticky-heading { padding-inline: 24px; }
    .gac-app .gac-catalog-sticky-tabs { margin-inline: -24px; padding-inline: 24px; }
    .gac-app .gac-catalog-hero { padding: 0 24px 24px; }
    .gac-app .gac-catalog-brand-intro { gap: 22px; }
    .gac-app .gac-catalog-brand-intro > .gac-catalog-logo { width: 108px; height: 108px; flex-basis: 108px; }
    .gac-app .gac-catalog-brand-intro h2 { font-size: 26px; }
    .gac-app .gac-catalog-brand-intro p { font-size: 14px; }
    .gac-app .gac-content.gac-catalog-content { padding: 14px 24px 100px; }
    .gac-app .gac-catalog-grid.is-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gac-app .gac-catalog-grid { gap: 18px; }
    .gac-app .gac-catalog-toolbar { margin-bottom: 12px; }
    .gac-app .gac-catalog-count { font-size: 14px; }
    .gac-app .gac-catalog-view button { width: 42px; height: 42px; }
    .gac-app .gac-catalog-controls { width: 374px; gap: 10px; }
    .gac-app .gac-catalog-dock, .gac-app .gac-catalog-brand-trigger { min-height: 46px; }
    .gac-app .gac-catalog-brand-trigger { width: 56px; height: 56px; flex-basis: 56px; font-size: 14px; }
    .gac-app .gac-catalog-brand-trigger .gac-catalog-logo { width: 46px; height: 46px; flex-basis: 46px; }
    .gac-app .gac-catalog-dock button { min-height: 36px; font-size: 14px; }
    .gac-app .gac-brand-picker-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
    .gac-app .gac-brand-picker-option { padding-block: 16px 12px; }
    .gac-app .gac-brand-picker-option .gac-catalog-logo { width: 68px; height: 68px; flex-basis: 68px; }
    .gac-app .gac-brand-picker-name { font-size: 13px; }
    .gac-app .gac-catalog-brands { gap: 24px; }
    .gac-app .gac-catalog-brand { width: 78px; min-width: 78px; }
    .gac-app .gac-catalog-brand .gac-catalog-logo { width: 64px; height: 64px; flex-basis: 64px; }
    .gac-app .gac-catalog-brand > span:last-child { font-size: 11px; }
    .gac-app .gac-catalog-section-heading { margin-top: 20px; }
    .gac-app .gac-catalog-section-heading h2 { font-size: 18px; }
    .gac-app .gac-catalog-section-heading > button { font-size: 13px; }
}

@media (min-width: 600px) and (max-width: 899px) {
    .gac-app .gac-catalog-summary { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; }
    .gac-app .gac-catalog-price { text-align: left; }
    .gac-app .gac-catalog-price > div { justify-content: flex-start; }
}

@media (min-width: 1024px) {
    .gac-app.gac-route-products .gac-screen.gac-catalog-screen { --catalog-nav-offset: 77px; --catalog-title-height: 64px; }
    .gac-app .gac-catalog-sticky-heading { width: min(100% - 64px, 1232px); margin: 22px auto 0; padding: 0 26px; border-radius: 24px 24px 0 0; }
    .gac-app .gac-catalog-hero { width: min(100% - 64px, 1232px); margin: 0 auto; padding: 0 26px 28px; border-radius: 0 0 24px 24px; }
    .gac-app .gac-catalog-heading h1 { font-size: 22px; }
    .gac-app .gac-catalog-brand-intro { margin-top: 12px; }
    .gac-app .gac-catalog-brand-intro p { max-width: 650px; }
    .gac-app.gac-route-products .gac-catalog-content .gac-product-tabs .gac-product-tab { min-height: 38px; padding-inline: 20px; font-size: 13px; }
    .gac-app .gac-catalog-card { padding: 20px; grid-template-columns: minmax(120px, 30%) minmax(0, 1fr); gap: 18px; border-radius: 18px; }
    .gac-app .gac-catalog-name { width: calc(100% - 20px); margin-bottom: 8px; font-size: 16px; line-height: 21px; }
    .gac-app .gac-catalog-model { font-size: 12px; }
    .gac-app .gac-catalog-saving { font-size: 11px; }
    .gac-app .gac-catalog-description { margin-bottom: 12px; font-size: 12px; }
    .gac-app .gac-catalog-features { gap: 10px; }
    .gac-app .gac-catalog-features li { font-size: 11px; }
    .gac-app .gac-catalog-features li svg { width: 15px; height: 15px; flex-basis: 15px; }
    .gac-app .gac-catalog-price > strong { font-size: 19px; }
    .gac-app .gac-catalog-price del { font-size: 11px; }
    .gac-app .gac-catalog-price > div > span { font-size: 9px; }
    .gac-app .gac-catalog-specs { margin-top: 12px; font-size: 11px; }
    .gac-app .gac-catalog-footer { margin-top: 10px; padding-top: 8px; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; }
    .gac-app .gac-catalog-reviews { min-height: 34px; font-size: 11px; }
    .gac-app .gac-catalog-rating { font-size: 11px; }
    .gac-app .gac-catalog-details { min-height: 36px; padding-inline: 12px; font-size: 12px; }
    .gac-app .gac-catalog-heart { width: 34px; height: 34px; }
    .gac-app .gac-catalog-controls { bottom: 22px; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-card { grid-template-columns: 180px minmax(0, 1fr); }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-features { display: flex; flex-wrap: wrap; gap: 14px; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-copy { justify-content: center; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-summary { flex: 0; }
}

@media (max-width: 599px) {
    .gac-app .gac-catalog-hero { padding-bottom: 16px; }
    .gac-app .gac-catalog-heading { min-height: 52px; }
    .gac-app .gac-catalog-brand-intro { margin-top: 8px; }
    .gac-app .gac-catalog-brand-intro > .gac-catalog-logo { height: 84px; }
    .gac-app .gac-catalog-toolbar { min-height: 48px; }
    .gac-app .gac-catalog-card { padding: 11px; }
    .gac-app .gac-catalog-description { margin-bottom: 6px; }
    .gac-app .gac-catalog-features { margin-bottom: 6px; }
    .gac-app .gac-catalog-footer { padding-top: 2px; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-card { grid-template-columns: 78px minmax(0, 1fr); gap: 12px; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-image { min-height: 78px; }
    .gac-app .gac-catalog-grid.is-list .gac-catalog-footer { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
}

@media (hover: hover) and (pointer: fine) {
    .gac-app .gac-catalog-heading > button:hover { border-color: currentColor; background: color-mix(in srgb, var(--catalog-on-brand) 12%, var(--catalog-brand)); }
    .gac-app .gac-catalog-brand-trigger:not(.has-brand):hover, .gac-app .gac-catalog-dock button:hover { background: #26364d; }
    .gac-app .gac-catalog-brand-trigger.has-brand:hover { box-shadow: 0 0 0 3px color-mix(in srgb, var(--catalog-accent) 18%, transparent), 0 3px 8px rgba(16, 25, 41, .22); }
    .gac-app .gac-brand-picker-option:hover, .gac-app .gac-brand-picker-all:hover { border-color: var(--catalog-accent, var(--gac-primary)); }
    .gac-app.gac-route-products .gac-catalog-content .gac-product-tabs .gac-product-tab:not(.is-active):hover { border-color: var(--catalog-accent); color: var(--catalog-accent); background: #fff; }
    .gac-app .gac-catalog-details:hover { color: #fff; background: var(--catalog-accent); }
    .gac-app .gac-catalog-card:hover { border-color: #dce2ec; box-shadow: 0 5px 18px rgba(16, 25, 41, .075); }
}

@media (forced-colors: active) {
    .gac-app .gac-catalog-card, .gac-app .gac-catalog-dock, .gac-app .gac-catalog-brand-trigger, .gac-app .gac-catalog-logo { border: 1px solid CanvasText; }
    .gac-app .gac-brand-picker-option[aria-pressed="true"], .gac-app .gac-brand-picker-all[aria-pressed="true"] { outline: 2px solid Highlight; }
    .gac-app.gac-route-products .gac-catalog-content .gac-product-tab.is-active { outline: 2px solid Highlight; }
}
/* Product details: scoped presentation only; purchase and variant hooks unchanged. */
.gac-app.gac-route-product .gac-product-detail { background: #f1f3f6; }
.gac-app.gac-route-product .gac-product-detail > .gac-content { padding: 0 0 28px; }
.gac-app.gac-route-product .gac-product-hero { min-height: 0; background: #fff; border-bottom: 1px solid #e8edf5; }
.gac-app.gac-route-product .gac-product-gallery { min-height: 0; padding: 12px 16px 8px; }
.gac-app.gac-route-product .gac-product-main-image { height: clamp(220px, 64vw, 350px); padding: 14px 24px 0; background: #fff; border-radius: 0; }
.gac-app.gac-route-product .gac-gallery-thumbs { height: 62px; gap: 10px; padding: 3px; justify-content: safe center; }
.gac-app.gac-route-product .gac-gallery-thumbs button { width: 56px; height: 56px; border-radius: 6px; }
.gac-app.gac-route-product .gac-pdp-summary { min-width: 0; margin-top: 0; padding: 18px 16px; border: 0; border-radius: 0; background: #fff; box-shadow: none; }
.gac-app.gac-route-product .gac-product-heading > div { flex-wrap: wrap; gap: 8px 12px; }
.gac-app.gac-route-product .gac-product-heading > div > span { font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.gac-app.gac-route-product .gac-product-heading > h1 { margin-top: 6px; color: #212121; font-size: clamp(16px, 2vw, 23px); font-weight: 500; line-height: 1.5; letter-spacing: -.015em; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-product-heading > p { margin-top: 4px; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-product-heading .gac-rating { color: #fff; background: #168443; font-size: 12px; border-radius: 4px; min-height: 25px; gap: 4px; padding: 3px 6px; }
.gac-app.gac-route-product .gac-product-price-row { position: relative; display: block; margin-top: 10px; padding: 4px 0 8px; border: 0; border-radius: 0; background: transparent; }
.gac-app.gac-route-product .gac-product-price-row > :last-child:not(div) { position: absolute; right: 0; bottom: 8px; }
.gac-app.gac-route-product .gac-product-price-row strong { color: #212121; font-size: clamp(27px, 3vw, 32px); font-weight: 650; letter-spacing: -.03em; }
.gac-app.gac-route-product .gac-product-price-row del { font-size: 13px; }
.gac-app.gac-route-product .gac-product-price-row small { padding-right: 80px; font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-product .gac-spec-grid { grid-template-columns: minmax(0, 1fr); margin-top: 8px; gap: 0; }
.gac-app.gac-route-product .gac-spec-grid > div { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 14px; min-height: 44px; padding: 12px 0; border: 0; border-bottom: 1px solid #f0f0f0; border-radius: 0; background: #fff; text-align: left; align-items: center; }
.gac-app.gac-route-product .gac-spec-grid small { font-size: 11px; line-height: 1.4; }
.gac-app.gac-route-product .gac-spec-grid strong { margin-top: 0; font-size: 13px; font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-detail-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
.gac-app.gac-route-product .gac-detail-info-grid article { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 9px; row-gap: 3px; min-height: 66px; padding: 10px 4px; border: 0; border-radius: 0; text-align: left; align-content: center; }
.gac-app.gac-route-product .gac-detail-info-grid svg { grid-row: 1 / 3; width: 22px; height: 22px; align-self: center; }
.gac-app.gac-route-product .gac-detail-info-grid strong { font-size: 12px; font-weight: 650; }
.gac-app.gac-route-product .gac-detail-info-grid small { grid-column: 2; font-size: 10px; line-height: 1.4; }
.gac-app.gac-route-product .gac-variant-selector { margin-top: 18px; padding-top: 14px; border-top: 1px solid #eee; }
.gac-app.gac-route-product .gac-variant-selector > h3 { font-size: 13px; font-weight: 650; }
.gac-app.gac-route-product .gac-variant-selector .gac-chip { min-height: 42px; padding: 10px 15px; font-size: 12px; border-radius: 5px; }
.gac-app.gac-route-product .gac-variant-selector .gac-chip.is-active { color: #1d5ace; background: #f2f7ff; border: 1.5px solid #2874f0; box-shadow: none; }
.gac-app.gac-route-product .gac-buy-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 20px; padding: 18px 0 0; border: 0; border-top: 1px solid #edf0f5; border-radius: 0; box-shadow: none; }
.gac-app.gac-route-product .gac-buy-options > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gac-app.gac-route-product .gac-buy-options > div > span { margin: 0; color: #253047; font-size: 14px; font-weight: 600; }
.gac-app.gac-route-product .gac-buy-options .gac-qty { display: grid; grid-template-columns: 42px 40px 42px; width: auto; min-width: 0; height: 44px; padding: 0; gap: 0; overflow: hidden; border: 1px solid #dce2ea; border-radius: 10px; background: #fff; }
.gac-app.gac-route-product .gac-buy-options .gac-qty button { display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 0; border-radius: 0; color: #253047; background: color-mix(in srgb, var(--pdp-brand, #0755e9) 6%, white); }
.gac-app.gac-route-product .gac-buy-options .gac-qty strong { display: grid; place-items: center; min-width: 0; font-size: 15px; font-weight: 650; font-variant-numeric: tabular-nums; }
.gac-app.gac-route-product .gac-exchange-link { display: grid; grid-template-columns: 36px minmax(0, 1fr) 18px; width: 100%; min-height: 78px; padding: 14px; gap: 12px; border: 1px solid #dfe5ed; border-radius: 12px; color: #253047; background: #fafbfd; }
.gac-app.gac-route-product .gac-exchange-link > svg:first-child { width: 36px; height: 36px; padding: 8px; border-radius: 10px; color: var(--pdp-on-brand, #fff); background: var(--pdp-brand, #0755e9); }
.gac-app.gac-route-product .gac-exchange-link > svg:last-child { width: 18px; height: 18px; color: #67748a; }
.gac-app.gac-route-product .gac-exchange-link strong { font-size: 13px; font-weight: 600; line-height: 1.45; }
.gac-app.gac-route-product .gac-exchange-link small { margin-top: 4px; color: #68768a; font-size: 11px; font-weight: 400; line-height: 1.45; }
.gac-app.gac-route-product .gac-exchange-applied { grid-template-columns: 24px minmax(0, 1fr) 40px 40px; gap: 8px; min-height: 78px; padding: 12px; border-radius: 12px; }
.gac-app.gac-route-product .gac-exchange-applied strong { font-size: 12px; white-space: normal; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-exchange-applied small { font-size: 11px; }
.gac-app.gac-route-product .gac-exchange-applied button { min-width: 40px; min-height: 44px; font-size: 12px; border-radius: 8px; background: #fff; }
@media (hover: hover) {
    .gac-app.gac-route-product .gac-exchange-link:hover { border-color: var(--pdp-brand, #0755e9); background: color-mix(in srgb, var(--pdp-brand, #0755e9) 4%, white); }
}
.gac-app.gac-route-product .gac-qty button { min-width: 40px; min-height: 40px; }
.gac-app.gac-route-product .gac-pdp-information { min-width: 0; }
.gac-app.gac-route-product .gac-pdp-information > :is(.gac-detail-section, .gac-warranty-card) { margin-top: 8px; padding: 20px 16px; border: 0; border-radius: 0; background: #fff; box-shadow: none; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-detail-section h2 { color: #17253d; font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
.gac-app.gac-route-product .gac-rich-text, .gac-app.gac-route-product .gac-highlight-list li { font-size: 13px; line-height: 1.75; }
.gac-app.gac-route-product .gac-rich-text { overflow-x: auto; }
.gac-app.gac-route-product .gac-highlight-list { gap: 12px; }
.gac-app.gac-route-product .gac-highlight-list li { gap: 10px; }
.gac-app.gac-route-product .gac-highlight-list svg { margin-top: 4px; }
.gac-app.gac-route-product .gac-warranty-card strong { font-size: 14px; }
.gac-app.gac-route-product .gac-warranty-card :is(p, small) { font-size: 12px; line-height: 1.6; }
.gac-app.gac-route-product .gac-product-actions { border-top: 1px solid #e5e5e5; box-shadow: 0 -2px 8px #0000000a; gap: 0; padding: 0 0 env(safe-area-inset-bottom, 0px); background: #fff; }
.gac-app.gac-route-product .gac-product-actions .gac-btn { min-height: 56px; border: 0; border-radius: 0; font-size: 14px; font-weight: 600; box-shadow: none; }
@media (max-width: 1023px) {
    .gac-app.gac-route-product .gac-product-actions { gap: 8px; padding: 8px max(12px, env(safe-area-inset-right, 0px)) calc(8px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px)); }
    .gac-app.gac-route-product .gac-product-actions .gac-btn { min-width: 0; border-radius: 8px; }
}
.gac-app.gac-route-product :is(.gac-product-actions, .gac-desktop-product-actions) .gac-btn-outline { color: #212121; background: #fff; border-color: #e0e0e0; }
.gac-app.gac-route-product :is(.gac-product-actions, .gac-desktop-product-actions) .gac-btn-primary { color: var(--pdp-on-brand, #fff); background: var(--pdp-brand, #0755e9); box-shadow: none; }
.gac-app.gac-route-product :is(.gac-product-actions, .gac-desktop-product-actions) .gac-btn-primary:not(:disabled):hover { filter: brightness(.94); }
.gac-app.gac-route-product :is(.gac-product-actions, .gac-desktop-product-actions) .gac-btn-outline { border: 1px solid var(--pdp-brand, #0755e9); background: color-mix(in srgb, var(--pdp-brand, #0755e9) 9%, white); }
.gac-app.gac-route-product .gac-variant-selector .gac-chip.is-active { color: var(--pdp-on-brand, #fff); background: var(--pdp-brand, #0755e9); border-color: var(--pdp-brand, #0755e9); }
.gac-app.gac-route-product .gac-gallery-thumbs button.is-active { border-color: var(--pdp-brand, #0755e9); box-shadow: 0 0 0 1px var(--pdp-brand, #0755e9); }
.gac-app.gac-route-product .gac-pdp-slider { display: flex; width: 100%; min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; touch-action: pan-x pan-y pinch-zoom; }
.gac-app.gac-route-product .gac-pdp-slider::-webkit-scrollbar { display: none; }
.gac-app.gac-route-product .gac-pdp-slider .gac-product-main-image { flex: 0 0 100%; min-width: 0; scroll-snap-align: center; scroll-snap-stop: always; padding: 0; border-radius: 0; }
.gac-app.gac-route-product .gac-product-main-image img { mix-blend-mode: normal; object-fit: contain; }
.gac-app.gac-route-product .gac-image-viewer-stage { touch-action: none; cursor: grab; }
.gac-app.gac-route-product .gac-image-viewer-stage:active { cursor: grabbing; }
.gac-app.gac-route-product .gac-image-viewer { grid-template-columns: minmax(0,1fr); gap: 0; padding: calc(64px + env(safe-area-inset-top,0px)) 0 calc(96px + env(safe-area-inset-bottom,0px)); color: #253047; background: #fff; backdrop-filter: none; }
.gac-app.gac-route-product .gac-image-viewer-stage { grid-column: 1; border-radius: 0; }
.gac-app.gac-route-product .gac-image-viewer > .gac-viewer-close { top: calc(8px + env(safe-area-inset-top,0px)); right: 12px; width: 44px; height: 44px; color: #253047; background: #f5f6f8; border: 0; border-radius: 50%; }
.gac-app.gac-route-product .gac-viewer-title { position: absolute; top: calc(21px + env(safe-area-inset-top,0px)); left: 20px; margin: 0; font-size: 15px; font-weight: 600; }
.gac-app.gac-route-product .gac-viewer-count { top: calc(22px + env(safe-area-inset-top,0px)); right: 68px; bottom: auto; left: auto; min-width: 0; margin: 0; padding: 0; transform: none; background: transparent; color: #6b7280; font-size: 12px; font-weight: 500; backdrop-filter: none; }
.gac-app.gac-route-product .gac-viewer-footer { position: absolute; right: 12px; bottom: calc(18px + env(safe-area-inset-bottom,0px)); left: 12px; text-align: center; }
.gac-app.gac-route-product .gac-viewer-footer > p { margin: 6px 0 0; color: #6b7280; font-size: 11px; }
.gac-app.gac-route-product .gac-viewer-dots { display: flex; max-width: 100%; justify-content: safe center; overflow-x: auto; gap: 0; }
.gac-app.gac-route-product .gac-viewer-dots button { display: grid; width: 20px; min-width: 20px; height: 44px; flex: 0 0 20px; place-items: center; padding: 0; border: 0; background: transparent; }
.gac-app.gac-route-product .gac-viewer-dots button > span { width: 6px; height: 6px; border-radius: 999px; background: #c6cdd7; transition: width 220ms ease, background-color 220ms ease; }
.gac-app.gac-route-product .gac-viewer-dots button[aria-current="true"] > span { width: 18px; background: #35465b; background: color-mix(in srgb, var(--pdp-brand, #0755e9) 50%, #142b49); }
@media (max-width: 1023px) {
    .gac-app.gac-route-product .gac-gallery-thumbs { height: 32px; margin-top: 0; justify-content: safe center; gap: 0; padding: 0 12px; }
    .gac-app.gac-route-product .gac-gallery-thumbs button { display: grid; width: 20px; height: 32px; min-width: 20px; flex: 0 0 20px; place-items: center; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
    .gac-app.gac-route-product .gac-gallery-thumbs button.is-active { border: 0; background: transparent; box-shadow: none; }
    .gac-app.gac-route-product .gac-gallery-thumbs button img { display: none; }
    .gac-app.gac-route-product .gac-gallery-thumbs button::after { content: ''; width: 6px; height: 6px; border-radius: 999px; background: #c6cdd7; transition: width 220ms ease, background-color 220ms ease; }
    .gac-app.gac-route-product .gac-gallery-thumbs button.is-active::after { width: 18px; background: #35465b; background: color-mix(in srgb, var(--pdp-brand, #0755e9) 50%, #142b49); }
}
.gac-app.gac-route-product .gac-product-heading > .gac-pdp-brand-mark { display: flex; flex-wrap: nowrap; align-items: center; min-height: 44px; gap: 10px; }
.gac-app.gac-route-product .gac-pdp-brand-mark > span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.gac-app.gac-route-product .gac-pdp-brand-mark > img { flex-shrink: 0; }
.gac-app.gac-route-product .gac-pdp-summary-actions { display: flex; flex: 0 0 auto; align-items: center; margin-left: auto; gap: 6px; }
.gac-app.gac-route-product .gac-pdp-summary-actions .gac-icon-btn { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 1px solid #e8edf3; border-radius: 50%; color: #526175; background: #fff; box-shadow: none; }
.gac-app.gac-route-product .gac-pdp-summary-actions .gac-icon-btn svg { width: 20px; height: 20px; }
.gac-app.gac-route-product .gac-pdp-summary-actions .gac-icon-btn.is-active { color: #e33c59; }
.gac-app.gac-route-product .gac-pdp-summary-actions .gac-icon-btn.is-active svg { fill: #ffe4eb; }
.gac-app .gac-product-share-sheet { max-width: 480px; margin-inline: auto; }
.gac-app .gac-product-share-sheet > header { margin-bottom: 8px; }
.gac-app .gac-share-intro { margin: 0 0 18px; color: #66758a; font-size: 12px; line-height: 1.6; }
.gac-app .gac-share-product { display: flex; align-items: center; gap: 14px; padding: 12px; border: 1px solid #e6ebf2; border-radius: 12px; background: #fafbfd; }
.gac-app .gac-share-product > img { width: 64px; height: 58px; flex: 0 0 64px; object-fit: contain; }
.gac-app .gac-share-product > div { min-width: 0; }
.gac-app .gac-share-product strong { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 13px; line-height: 1.5; color: #253a51; }
.gac-app .gac-share-product small { display: block; margin-top: 4px; color: #718198; font-size: 11px; }
.gac-app .gac-share-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin: 20px 0 24px; }
.gac-app .gac-share-option { display: flex; min-width: 0; padding: 4px 0; align-items: center; flex-direction: column; gap: 9px; color: #46566b; text-decoration: none; }
.gac-app .gac-share-option > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: #edf2fa; color: #52677d; }
.gac-app .gac-share-option strong { font-size: 11px; font-weight: 500; }
.gac-app .gac-share-option.is-whatsapp > span { color: #16864a; background: #e9f8ef; }
.gac-app .gac-share-option.is-facebook > span { color: #1764d7; background: #edf4ff; }
.gac-app .gac-share-option.is-telegram > span { color: #1382ae; background: #eaf7fc; }
.gac-app .gac-share-link-label { display: block; margin-bottom: 8px; color: #53667e; font-size: 11px; font-weight: 600; }
.gac-app .gac-share-link { display: flex; align-items: center; gap: 4px; padding: 5px; border: 1px solid #dfe6ef; border-radius: 10px; background: #f8fafc; }
.gac-app .gac-share-link input { width: 100%; min-width: 0; padding: 8px; border: 0; background: transparent; color: #607187; font-size: 12px; text-overflow: ellipsis; }
.gac-app .gac-share-link button { display: flex; min-height: 44px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 6px; padding: 10px; border: 0; border-radius: 7px; background: #eaf1fc; color: #1754b4; font-size: 12px; font-weight: 600; }
.gac-app .gac-share-link button svg { width: 16px; height: 16px; }
.gac-app .gac-share-status { min-height: 18px; margin: 8px 0; color: #178044; font-size: 11px; line-height: 1.5; }
.gac-app .gac-share-status.is-error { color: #ad3333; }
.gac-app .gac-share-more { display: flex; width: 100%; min-height: 48px; align-items: center; gap: 10px; padding: 12px 4px; border: 0; border-top: 1px solid #edf0f5; color: #445b77; background: transparent; font-size: 13px; }
.gac-app .gac-share-more > span { flex: 1; text-align: left; }
.gac-app .gac-share-more svg { width: 18px; height: 18px; }
@media (min-width: 768px) {
    .gac-app .gac-sheet-overlay:has(.gac-product-share-sheet) { align-items: center; padding: 24px; }
    .gac-app .gac-product-share-sheet { border-radius: 20px; }
}
.gac-app.gac-route-product .gac-pdp-quick-specs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 4px 16px 14px; }
.gac-app.gac-route-product .gac-pdp-quick-specs:empty { display: none; }
.gac-app.gac-route-product .gac-pdp-quick-specs span { padding: 5px 9px; color: #596575; background: #f5f6f8; border-radius: 4px; font-size: 10px; }
.gac-app.gac-route-product .gac-pdp-rating-link { display: flex; align-items: center; gap: 8px; min-height: 40px; margin-top: 4px; padding: 0; border: 0; color: #2874f0; background: transparent; font-size: 12px; }
.gac-app.gac-route-product .gac-pdp-rating-link svg { width: 13px; height: 13px; }
.gac-app.gac-route-product .gac-product-price-row .gac-pdp-discount { display: inline-flex; align-items: center; gap: 1px; padding: 0; color: #168443; background: transparent; font-size: 19px; font-weight: 650; }
.gac-app.gac-route-product .gac-pdp-discount svg { width: 17px; height: 17px; }
.gac-app.gac-route-product .gac-pdp-saving { display: flex; align-items: center; gap: 8px; padding: 10px 12px; color: #19783e; background: #eff9f0; border-radius: 4px; font-size: 12px; line-height: 1.5; }
.gac-app.gac-route-product .gac-pdp-saving svg { width: 17px; height: 17px; flex-shrink: 0; }
@media (min-width: 1024px) {
    .gac-app.gac-route-product .gac-product-detail { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); padding: 24px 32px 64px; gap: 16px 24px; }
    .gac-app.gac-route-product .gac-product-detail > .gac-content { display: contents; }
    .gac-app.gac-route-product .gac-product-detail > .gac-product-hero { grid-column: 1; grid-row: 1; top: 155px; min-height: 0; border: 1px solid #ececec; border-radius: 4px; box-shadow: none; }
    .gac-app.gac-route-product .gac-product-gallery { min-height: 0; padding: 24px; }
    .gac-app.gac-route-product .gac-product-main-image { height: 400px; padding: 8px; }
    .gac-app.gac-route-product .gac-pdp-summary { grid-column: 2; grid-row: 1; margin: 0; padding: 24px; border-radius: 4px; }
    .gac-app.gac-route-product .gac-pdp-information { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 16px; }
    .gac-app.gac-route-product .gac-pdp-information > :is(.gac-detail-section, .gac-warranty-card) { margin: 0; padding: 26px; }
    .gac-app.gac-route-product .gac-desktop-product-actions .gac-btn { min-height: 50px; border-radius: 4px; }
}
.gac-app .gac-sheet-overlay .gac-exchange-sheet {
    width: min(100%, 540px);
    max-height: 92vh;
    max-height: 92dvh;
    padding: 12px 20px 0;
    color: #18304b;
    background: #fff;
    border-radius: 24px 24px 0 0;
    overscroll-behavior: contain;
}
.gac-app .gac-exchange-sheet > header { margin-bottom: 18px; gap: 8px; }
.gac-app .gac-exchange-sheet > header h2 { font-size: 20px; letter-spacing: -.5px; line-height: 1.3; }
.gac-app .gac-exchange-sheet > header .gac-icon-btn { flex-shrink: 0; background: #f4f6f9; border-radius: 50%; }
.gac-app .gac-exchange-sheet form { gap: 22px; }
.gac-app .gac-exchange-sheet .gac-exchange-offer { padding: 15px; gap: 12px; grid-template-columns: 32px minmax(0, 1fr); border: 1px solid #d3e8dc; border-radius: 14px; background: #f0f9f4; color: #216943; }
.gac-app .gac-exchange-sheet .gac-exchange-offer strong { font-size: 14px; line-height: 1.5; }
.gac-app .gac-exchange-sheet .gac-exchange-offer small { margin-top: 3px; font-size: 11px; line-height: 1.5; color: #587368; }
.gac-app .gac-exchange-section { display: grid; gap: 15px; }
.gac-app .gac-exchange-section h3 { margin: 0; font-size: 15px; font-weight: 750; }
.gac-app .gac-exchange-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gac-app .gac-exchange-sheet .gac-field { min-width: 0; margin: 0; gap: 8px; }
.gac-app .gac-exchange-sheet .gac-field > span,
.gac-app .gac-exchange-sheet legend { font-size: 12px; font-weight: 650; text-transform: none; letter-spacing: 0; color: #334861; }
.gac-app .gac-exchange-sheet .gac-field small { margin-left: 4px; color: #728096; font-size: 11px; font-weight: 400; }
.gac-app .gac-exchange-sheet .gac-field :is(input, select, textarea) { width: 100%; min-width: 0; min-height: 46px; padding: 12px; border: 1px solid #dce3ec; border-radius: 10px; color: #18304b; background-color: #fff; font-size: 14px; box-shadow: none; }
.gac-app .gac-exchange-sheet .gac-field select { padding-right: 34px; }
.gac-app .gac-exchange-sheet .gac-field textarea { min-height: 76px; resize: vertical; }
.gac-app .gac-exchange-conditions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gac-app .gac-exchange-sheet .gac-choice-chip { min-width: 0; cursor: pointer; }
.gac-app .gac-exchange-sheet .gac-choice-chip > span { display: flex; width: 100%; min-height: 44px; justify-content: center; gap: 8px; padding: 10px 6px; border: 1px solid #dce3ec; border-radius: 10px; background: #fff; color: #526177; font-size: 12px; font-weight: 600; transition: background-color 160ms, border-color 160ms; }
.gac-app .gac-exchange-sheet .gac-choice-chip input:checked + span { color: var(--pdp-on-brand, #fff); background: var(--pdp-brand, #1655db); border-color: var(--pdp-brand, #1655db); }
.gac-app .gac-exchange-sheet .gac-choice-chip input:focus-visible + span { outline: 2px solid #1655db; outline-offset: 3px; }
.gac-app .gac-exchange-pickup .gac-choice-chip > span { min-height: 54px; }
.gac-app .gac-exchange-pickup svg { width: 20px; height: 20px; flex-shrink: 0; }
.gac-app .gac-exchange-upload { padding: 14px; border: 1px dashed #ccd8e7; border-radius: 12px; background: #f8fafc; }
.gac-app .gac-exchange-upload .gac-field > span { display: flex; align-items: center; gap: 6px; }
.gac-app .gac-exchange-upload svg { width: 18px; height: 18px; }
.gac-app .gac-exchange-upload .gac-field input { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; font-size: 12px; }
.gac-app .gac-exchange-upload input::file-selector-button { margin-right: 10px; padding: 9px 12px; border: 1px solid #dce3ec; border-radius: 8px; color: #334861; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.gac-app .gac-exchange-upload p { margin: 9px 0 0; color: #697b91; font-size: 11px; line-height: 1.6; }
.gac-app .gac-exchange-footer { position: sticky; bottom: 0; padding: 14px 0 max(18px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid #edf0f5; background: #fff; z-index: 2; }
.gac-app .gac-exchange-footer .gac-btn { min-height: 48px; border: 0; border-radius: 12px; color: var(--pdp-on-brand, #fff); background: var(--pdp-brand, #1655db); box-shadow: none; font-size: 14px; }
@media (max-width: 359px) {
    .gac-app .gac-sheet-overlay .gac-exchange-sheet { padding-inline: 16px; }
    .gac-app .gac-exchange-conditions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    .gac-app .gac-sheet-overlay:has(.gac-exchange-sheet) { padding: 24px; place-items: center; }
    .gac-app .gac-sheet-overlay .gac-exchange-sheet { max-height: calc(100dvh - 48px); padding: 24px 28px 0; border-radius: 22px; }
    .gac-app .gac-exchange-sheet .gac-sheet-handle { display: none; }
}
/* Marketplace-style cart: flat surfaces, compact rows and clear totals. */
.gac-app.gac-route-cart { background: #f1f3f6; }
.gac-app.gac-route-cart .gac-screen { background: #f1f3f6; }
.gac-app.gac-route-cart .gac-cart { padding: 12px 0 32px; }
.gac-app.gac-route-cart .gac-cart-products { min-width: 0; }
.gac-app.gac-route-cart .gac-cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 58px; margin-bottom: 0; padding: 12px 16px; border-bottom: 1px solid #edf0f3; background: #fff; }
.gac-app.gac-route-cart .gac-cart-heading h2 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 18px; letter-spacing: -.4px; }
.gac-app.gac-route-cart .gac-cart-heading h2 span { display: inline-grid; min-width: 24px; height: 24px; padding: 0 6px; place-items: center; border-radius: 7px; background: #eaf0ff; color: #2155cb; font-size: 12px; }
.gac-app.gac-route-cart .gac-cart-heading p { margin: 5px 0 0; color: #738096; font-size: 12px; line-height: 1.5; }
.gac-app.gac-route-cart .gac-cart-heading > button { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; gap: 5px; padding: 0; border: 0; background: transparent; color: #2155cb; font-size: 12px; font-weight: 650; }
.gac-app.gac-route-cart .gac-cart-heading > button svg { width: 15px; height: 15px; }
.gac-app.gac-route-cart .gac-cart-list { display: grid; gap: 0; margin: 0 0 12px; padding: 0; }
.gac-app.gac-route-cart .gac-cart-item { overflow: hidden; margin: 0; padding: 0; border: 0; border-bottom: 1px solid #e7e9ed; border-radius: 0; background: #fff; box-shadow: none; }
.gac-app.gac-route-cart .gac-cart-item-main { grid-template-columns: 104px minmax(0, 1fr); padding: 18px 16px 12px; gap: 16px; align-items: start; }
.gac-app.gac-route-cart .gac-cart-image { width: 104px; height: 112px; padding: 0; border-radius: 0; background: #fff; }
.gac-app.gac-route-cart .gac-cart-image img { mix-blend-mode: normal; }
.gac-app.gac-route-cart .gac-cart-brand { display: flex; align-items: center; min-height: 18px; margin-bottom: 5px; color: #657180; font-size: 10px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.gac-app.gac-route-cart .gac-cart-brand img { max-width: 76px; width: auto; height: 20px; object-fit: contain; object-position: left center; }
.gac-app.gac-route-cart .gac-cart-brand:empty { display: none; }
.gac-app.gac-route-cart .gac-cart-copy h2 { display: block; margin: 0; overflow: visible; color: #212121; font-size: 14px; font-weight: 500; line-height: 1.4; }
.gac-app.gac-route-cart .gac-cart-copy h2 button { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; text-align: left; overflow-wrap: anywhere; }
.gac-app.gac-route-cart .gac-cart-copy p { margin-top: 5px; font-size: 11px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
.gac-app.gac-route-cart .gac-cart-unit-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 8px; margin-top: 10px; font-variant-numeric: tabular-nums; }
.gac-app.gac-route-cart .gac-cart-unit-price strong { color: #212121; font-size: 18px; letter-spacing: -.4px; }
.gac-app.gac-route-cart .gac-cart-discount { color: #287a36; font-size: 12px; font-weight: 650; white-space: nowrap; }
.gac-app.gac-route-cart .gac-cart-unit-price del { color: #7b8797; font-size: 11px; }
.gac-app.gac-route-cart .gac-cart-availability { margin-top: 8px; }
.gac-app.gac-route-cart .gac-stock-badge { padding: 4px 7px; border-radius: 5px; font-size: 10px; }
.gac-app.gac-route-cart .gac-cart-item-footer { flex-direction: row-reverse; min-height: 58px; padding: 4px 16px 12px; border: 0; background: #fff; }
.gac-app.gac-route-cart .gac-cart-remove { display: inline-flex; align-items: center; gap: 6px; width: auto; height: 44px; padding: 0 4px; border: 0; border-radius: 6px; color: #637086; background: transparent; font-size: 12px; font-weight: 600; }
.gac-app.gac-route-cart .gac-cart-remove svg { width: 17px; height: 17px; }
.gac-app.gac-route-cart .gac-cart-remove:hover { color: #bb3040; }
.gac-app.gac-route-cart .gac-cart-quantity { display: flex; align-items: center; gap: 10px; }
.gac-app.gac-route-cart .gac-cart-quantity > span { display: none; }
.gac-app.gac-route-cart .gac-qty { display: flex; padding: 0; gap: 6px; overflow: visible; border: 0; border-radius: 0; background: #fff; }
.gac-app.gac-route-cart .gac-qty button { width: 40px; min-width: 40px; height: 40px; min-height: 40px; border: 1px solid #d9dde3; border-radius: 50%; background: #fff; color: #333; }
.gac-app.gac-route-cart .gac-qty button:disabled { opacity: .4; cursor: not-allowed; }
.gac-app.gac-route-cart .gac-qty strong { display: grid; place-items: center; min-width: 36px; height: 30px; border: 1px solid #d9dde3; border-radius: 2px; font-size: 13px; }
.gac-app.gac-route-cart .gac-exchange-badge { margin: 0 16px 10px; padding: 9px 10px; border-radius: 3px; background: #f1f8f2; }
.gac-app.gac-route-cart .gac-exchange-badge strong { font-size: 12px; line-height: 1.4; }
.gac-app.gac-route-cart .gac-exchange-badge small { font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-cart .gac-cart-sidebar { display: flex; flex-direction: column; gap: 12px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gac-app.gac-route-cart .gac-coupon-card { min-height: 64px; margin: 0; padding: 12px 16px; grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 10px; border: 0; border-radius: 2px; background: #fff; box-shadow: none; }
.gac-app.gac-route-cart .gac-coupon-card > svg:first-child { width: 34px; height: 34px; padding: 8px; }
.gac-app.gac-route-cart .gac-coupon-card strong { font-size: 13px; }
.gac-app.gac-route-cart .gac-coupon-card small { font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-cart .gac-price-summary { margin: 0; padding: 18px 20px; border: 0; border-radius: 2px; box-shadow: none; }
.gac-app.gac-route-cart .gac-price-summary > h2 { margin: 0 0 12px; padding-bottom: 14px; border-bottom: 1px solid #edf0f5; color: #6e747c; font-size: 13px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.gac-app.gac-route-cart .gac-price-summary > div { min-height: 38px; font-size: 13px; }
.gac-app.gac-route-cart .gac-price-summary > div > b { white-space: nowrap; }
.gac-app.gac-route-cart .gac-price-summary > .gac-price-total { margin-top: 12px; padding-top: 16px; border-top: 1px dashed #dce3ec; font-size: 15px; }
.gac-app.gac-route-cart .gac-price-total b { font-size: 21px; letter-spacing: -.5px; }
.gac-app.gac-route-cart .gac-price-total small { font-size: 10px; }
.gac-app.gac-route-cart .gac-cart-savings { display: flex; align-items: center; gap: 10px; margin-top: -12px; padding: 14px 20px; border-top: 1px dashed #e1e4e9; border-radius: 0 0 2px 2px; color: #287a36; background: #fff; font-size: 12px; line-height: 1.6; }
.gac-app.gac-route-cart .gac-cart-savings svg { width: 20px; height: 20px; flex-shrink: 0; }
.gac-app.gac-route-cart .gac-cart-checkout-note { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 0 12px; color: #778498; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-cart .gac-cart-checkout-note svg { width: 17px; height: 17px; flex-shrink: 0; }
.gac-app.gac-route-cart .gac-cart-summary { gap: 16px; padding: 12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
.gac-app.gac-route-cart .gac-cart-summary > div strong { font-size: 21px; line-height: 1.4; letter-spacing: -.5px; }
.gac-app.gac-route-cart .gac-cart-summary > div small { margin: 0; color: #708097; font-size: 10px; }
.gac-app.gac-route-cart .gac-cart-summary .gac-btn { min-height: 48px; min-width: 132px; padding: 12px 18px; gap: 10px; border: 0; border-radius: 3px; color: #fff; background: linear-gradient(145deg, var(--gac-primary), var(--gac-primary-dark)); font-size: 14px; font-weight: 650; box-shadow: none; }
.gac-app.gac-route-cart .gac-empty-state { max-width: 460px; margin: 40px auto; padding: 36px 24px; border: 1px solid #e1e7ef; border-radius: 20px; background: #fff; }
@media (min-width: 1024px) {
    .gac-app.gac-route-cart .gac-cart { grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; padding: 24px 32px 64px; }
    .gac-app.gac-route-cart .gac-cart-products { overflow: hidden; border-radius: 3px; box-shadow: 0 1px 3px #00000012; }
    .gac-app.gac-route-cart .gac-cart-heading { min-height: 60px; margin-bottom: 0; padding-inline: 24px; }
    .gac-app.gac-route-cart .gac-cart-heading h2 { font-size: 18px; }
    .gac-app.gac-route-cart .gac-cart-list { margin-bottom: 0; }
    .gac-app.gac-route-cart .gac-cart-item-main { padding: 24px 24px 12px; grid-template-columns: 132px minmax(0, 1fr); gap: 28px; }
    .gac-app.gac-route-cart .gac-cart-image { width: 132px; height: 132px; padding: 0; }
    .gac-app.gac-route-cart .gac-cart-copy h2 { font-size: 16px; }
    .gac-app.gac-route-cart .gac-cart-copy p { font-size: 12px; }
    .gac-app.gac-route-cart .gac-cart-unit-price strong { font-size: 20px; }
    .gac-app.gac-route-cart .gac-cart-item-footer { justify-content: flex-end; gap: 28px; padding: 4px 24px 20px; }
    .gac-app.gac-route-cart .gac-exchange-badge { margin-left: 184px; margin-right: 24px; }
    .gac-app.gac-route-cart .gac-desktop-cart-action { min-height: 52px; border: 0; border-radius: 3px; color: #fff; background: linear-gradient(145deg, var(--gac-primary), var(--gac-primary-dark)); font-size: 14px; box-shadow: none; }
}
@media (max-width: 359px) {
    .gac-app.gac-route-cart .gac-cart { padding-inline: 0; }
    .gac-app.gac-route-cart .gac-cart-item-main { grid-template-columns: 86px minmax(0, 1fr); gap: 10px; padding: 14px 12px; }
    .gac-app.gac-route-cart .gac-cart-image { width: 86px; height: 100px; }
    .gac-app.gac-route-cart .gac-cart-heading h2 { font-size: 16px; }
    .gac-app.gac-route-cart .gac-cart-heading p { font-size: 11px; }
    .gac-app.gac-route-cart .gac-cart-summary { gap: 10px; }
    .gac-app.gac-route-cart .gac-cart-summary > div strong { font-size: 19px; }
}
/* Checkout shares the cart's restrained marketplace layout. */
.gac-app.gac-route-checkout .gac-checkout { display: grid; gap: 14px; padding: 12px 0 32px; }
.gac-app.gac-route-checkout :is(.gac-checkout-main, .gac-checkout-sidebar) { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.gac-app.gac-route-checkout .gac-checkout-sidebar { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gac-app.gac-route-checkout .gac-checkout-step { display: block; place-items: normal; width: 100%; height: auto; min-width: 0; overflow: hidden; padding: 0; border: 1px solid #e7ebf0; border-radius: 4px; color: var(--gac-text); background: #fff; box-shadow: 0 1px 3px #20354e05; }
.gac-app.gac-route-checkout .gac-checkout-step-heading { display: flex; align-items: center; gap: 10px; min-height: 76px; padding: 16px; border-bottom: 1px solid #edf0f5; }
.gac-app.gac-route-checkout .gac-checkout-step-number { display: grid; flex: 0 0 28px; height: 28px; place-items: center; border-radius: 4px; color: #215ad5; background: #eaf1ff; font-size: 13px; font-weight: 700; }
.gac-app.gac-route-checkout .gac-checkout-step-heading > div { flex: 1; min-width: 0; }
.gac-app.gac-route-checkout .gac-checkout-step-heading h2 { margin: 0; color: #20334d; font-size: 15px; font-weight: 650; line-height: 1.4; }
.gac-app.gac-route-checkout .gac-checkout-step-heading p { margin: 3px 0 0; color: #718095; font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-checkout .gac-checkout-step-heading > button { display: flex; align-items: center; flex-shrink: 0; gap: 4px; min-height: 44px; padding: 0; border: 0; background: transparent; color: #215ad5; font-size: 12px; font-weight: 650; }
.gac-app.gac-route-checkout .gac-checkout-step-heading > button svg { width: 15px; height: 15px; }
.gac-app.gac-route-checkout .gac-address-list.is-selectable { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; padding: 12px; }
.gac-app.gac-route-checkout .gac-address-list.is-selectable .gac-address-card { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 0 8px; margin: 0; padding: 12px 12px 4px 4px; border: 1px solid #e1e7ef; border-radius: 5px; background: #fff; box-shadow: none; }
.gac-app.gac-route-checkout .gac-address-list .gac-address-card.is-selected { border-color: #8eb0f4; background: #f6f9ff; }
.gac-app.gac-route-checkout .gac-address-icon { display: none; }
.gac-app.gac-route-checkout .gac-address-select { width: 40px; height: 44px; }
.gac-app.gac-route-checkout .gac-address-copy { padding-top: 4px; }
.gac-app.gac-route-checkout .gac-address-copy > div { flex-wrap: wrap; }
.gac-app.gac-route-checkout .gac-address-copy > div > strong { font-size: 11px; }
.gac-app.gac-route-checkout .gac-address-copy h2 { margin-top: 8px; font-size: 14px; font-weight: 650; }
.gac-app.gac-route-checkout .gac-address-copy p { margin-top: 5px; color: #556477; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.gac-app.gac-route-checkout .gac-address-copy > small { margin-top: 8px; font-size: 12px; font-weight: 500; }
.gac-app.gac-route-checkout .gac-address-actions { grid-column: 2; justify-content: flex-start; flex-wrap: wrap; gap: 4px 10px; margin-top: 4px; }
.gac-app.gac-route-checkout .gac-address-actions button { min-height: 44px; padding: 0; font-size: 11px; font-weight: 600; }
.gac-app.gac-route-checkout .gac-empty-address { margin: 12px; width: calc(100% - 24px); border: 1px dashed #b8ccee; border-radius: 5px; box-shadow: none; background: #f7faff; }
.gac-app.gac-route-checkout .gac-delivery-card { margin: 0; min-height: 66px; padding: 12px 18px; border: 1px solid #e4ebf5; border-radius: 4px; background: #f9fbff; box-shadow: none; }
.gac-app.gac-route-checkout .gac-delivery-card strong { font-size: 13px; }
.gac-app.gac-route-checkout .gac-delivery-card span { font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-checkout .gac-checkout-items > .gac-checkout-product { grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 6px 14px; padding: 18px 16px; }
.gac-app.gac-route-checkout .gac-checkout-product img { grid-row: 1 / 3; width: 72px; height: 78px; object-fit: contain; }
.gac-app.gac-route-checkout .gac-checkout-product strong { display: block; overflow: visible; color: #26364c; font-size: 13px; font-weight: 500; line-height: 1.5; }
.gac-app.gac-route-checkout .gac-checkout-product small { margin-top: 5px; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.gac-app.gac-route-checkout .gac-checkout-product b { grid-column: 2; color: #202d40; font-size: 15px; font-variant-numeric: tabular-nums; }
.gac-app.gac-route-checkout .gac-checkout-product em { display: flex; align-items: center; gap: 5px; margin-top: 6px; color: #287a36; font-size: 11px; font-style: normal; }
.gac-app.gac-route-checkout .gac-checkout-product em svg { width: 14px; height: 14px; }
.gac-app.gac-route-checkout .gac-payment-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin: 0; padding: 0; }
.gac-app.gac-route-checkout .gac-payment-option { position: relative; min-height: 74px; margin: 0; padding: 14px 16px; grid-template-columns: 20px 34px minmax(0, 1fr); gap: 12px; border: 0; border-bottom: 1px solid #edf0f5; border-radius: 0; background: #fff; box-shadow: none; cursor: pointer; }
.gac-app.gac-route-checkout .gac-payment-option:has(input:checked) { background: #f1f6ff; box-shadow: inset 3px 0 #2868e9; }
.gac-app.gac-route-checkout .gac-payment-option strong { font-size: 13px; font-weight: 600; }
.gac-app.gac-route-checkout .gac-payment-option small { font-size: 11px; line-height: 1.5; }
.gac-app.gac-route-checkout .gac-payment-option:focus-within:not(:has(input:focus-visible)) { outline: none; }
.gac-app.gac-route-checkout .gac-checkout-payment-note { margin: 0; padding: 14px 16px; color: #718095; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-checkout .gac-checkout-security-note { display: flex; align-items: flex-start; justify-content: center; gap: 8px; padding-top: 0; }
.gac-app.gac-route-checkout .gac-checkout-security-note svg { flex-shrink: 0; width: 18px; height: 18px; }
.gac-app.gac-route-checkout .gac-price-summary { margin: 0; padding: 18px 20px; border: 1px solid #e7ebf0; border-radius: 4px; box-shadow: none; }
.gac-app.gac-route-checkout .gac-price-summary > h2 { margin: 0 0 12px; padding-bottom: 14px; border-bottom: 1px solid #edf0f5; color: #6e747c; font-size: 13px; font-weight: 650; letter-spacing: .04em; text-transform: uppercase; }
.gac-app.gac-route-checkout .gac-price-summary > div { min-height: 38px; font-size: 13px; }
.gac-app.gac-route-checkout .gac-price-summary > div > b { white-space: nowrap; }
.gac-app.gac-route-checkout .gac-price-summary > .gac-price-total { margin-top: 12px; padding-top: 16px; border-top: 1px dashed #dce3ec; font-size: 14px; }
.gac-app.gac-route-checkout .gac-price-total b { font-size: 20px; letter-spacing: -.5px; }
.gac-app.gac-route-checkout .gac-price-total small { font-size: 10px; }
.gac-app.gac-route-checkout .gac-checkout .gac-coupon-box { margin: 0; padding: 18px; border: 1px solid #e7ebf0; border-radius: 4px; box-shadow: none; }
.gac-app.gac-route-checkout .gac-coupon-box h2 { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.gac-app.gac-route-checkout .gac-coupon-box h2 svg { width: 18px; height: 18px; color: #2868e9; }
.gac-app.gac-route-checkout .gac-checkout .gac-coupon-box input { height: 46px; border-radius: 4px; font-size: 13px; }
.gac-app.gac-route-checkout .gac-checkout .gac-coupon-box p { margin: 8px 0 0; font-size: 12px; line-height: 1.6; }
.gac-app.gac-route-checkout .gac-coupon-box p:empty { display: none; }
.gac-app.gac-route-checkout .gac-coupon-remove { min-height: 44px; font-size: 12px; }
.gac-app.gac-route-checkout .gac-btn-primary { border-radius: 4px; color: #fff; background: linear-gradient(145deg, var(--gac-primary), var(--gac-primary-dark)); box-shadow: none; }
.gac-app.gac-route-checkout .gac-checkout-total { gap: 12px; padding: 12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
.gac-app.gac-route-checkout .gac-checkout-total > div small { margin: 0; font-size: 10px; color: #708097; }
.gac-app.gac-route-checkout .gac-checkout-total > div strong { font-size: 20px; line-height: 1.4; letter-spacing: -.5px; }
.gac-app.gac-route-checkout .gac-checkout-total .gac-btn { min-height: 48px; min-width: 136px; padding: 12px 16px; font-size: 13px; gap: 8px; }
.gac-app.gac-route-checkout .gac-availability-warning { margin: 0; border-radius: 4px; font-size: 12px; }
@media (min-width: 1024px) {
    .gac-app.gac-route-checkout .gac-checkout { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 20px; padding: 24px 32px 64px; }
    .gac-app.gac-route-checkout .gac-checkout-step-heading { padding: 18px 24px; }
    .gac-app.gac-route-checkout .gac-checkout-step-heading h2 { font-size: 16px; }
    .gac-app.gac-route-checkout .gac-address-list.is-selectable { padding: 16px 24px; }
    .gac-app.gac-route-checkout .gac-address-list.is-selectable .gac-address-card { padding: 14px 18px 6px 8px; }
    .gac-app.gac-route-checkout .gac-checkout-items > .gac-checkout-product { grid-template-columns: 90px minmax(0, 1fr) auto; padding: 20px 24px; gap: 18px; align-items: center; }
    .gac-app.gac-route-checkout .gac-checkout-product img { width: 90px; height: 88px; grid-row: auto; }
    .gac-app.gac-route-checkout .gac-checkout-product b { grid-column: auto; }
    .gac-app.gac-route-checkout .gac-checkout-product strong { font-size: 14px; }
    .gac-app.gac-route-checkout .gac-payment-option { padding-inline: 24px; }
    .gac-app.gac-route-checkout .gac-desktop-checkout-action { min-height: 52px; font-size: 14px; }
}
/* Address editor: scoped to the shared add/edit sheet, not saved cards. */
.gac-app .gac-sheet-overlay .gac-address-sheet { width: min(100%, 560px); max-height: 92vh; max-height: 92dvh; padding: 12px 20px 0; border-radius: 22px 22px 0 0; background: #fff; overscroll-behavior: contain; scroll-padding-block: 76px 100px; }
.gac-app .gac-address-sheet > header { margin-bottom: 8px; }
.gac-app .gac-address-sheet > header h2 { font-size: 21px; line-height: 1.3; letter-spacing: -.5px; }
.gac-app .gac-address-sheet > header .gac-icon-btn { flex-shrink: 0; border-radius: 50%; background: #f4f6fa; }
.gac-app .gac-address-sheet .gac-address-form { display: flex; gap: 22px; margin: 0; padding: 0; }
.gac-app .gac-address-form-intro { margin: 0; color: #718095; font-size: 12px; line-height: 1.6; }
.gac-app .gac-address-sheet .gac-address-form-section { display: grid; gap: 14px; margin: 0; padding: 0; border: 0; }
.gac-app .gac-address-sheet .gac-address-form-section legend { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; color: #263c59; font-size: 14px; font-weight: 650; text-transform: none; letter-spacing: 0; }
.gac-app .gac-address-form-section legend svg { width: 18px; height: 18px; color: #2868e9; }
.gac-app .gac-address-sheet .gac-field { min-width: 0; margin: 0; gap: 7px; }
.gac-app .gac-address-sheet .gac-field > span { color: #40536d; font-size: 12px; font-weight: 600; }
.gac-app .gac-address-sheet .gac-field small { margin-left: 4px; color: #788698; font-size: 11px; font-weight: 400; }
.gac-app .gac-address-sheet .gac-field input { width: 100%; min-width: 0; min-height: 46px; padding: 12px; border: 1px solid #dce4ee; border-radius: 8px; color: #203650; background: #fff; font-size: 14px; box-shadow: none; }
.gac-app .gac-address-sheet .gac-field input::placeholder { color: #8a96a6; font-size: 12px; }
.gac-app .gac-address-sheet .gac-field-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.gac-app .gac-address-contact-row { display: grid; gap: 14px; }
.gac-app .gac-address-sheet .gac-address-label-section { margin: 0; padding: 0; border: 0; }
.gac-app .gac-address-label-section legend { margin-bottom: 10px; color: #40536d; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
.gac-app .gac-address-labels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.gac-app .gac-address-labels .gac-choice-chip { min-width: 0; cursor: pointer; }
.gac-app .gac-address-labels .gac-choice-chip > span { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; width: 100%; min-height: 62px; padding: 8px 4px; border: 1px solid #dce4ee; border-radius: 8px; color: #62718a; background: #fff; font-size: 11px; font-weight: 600; }
.gac-app .gac-address-labels svg { width: 19px; height: 19px; }
.gac-app .gac-address-labels .gac-choice-chip input:checked + span { color: #2155cb; border-color: #8eaff1; background: #eef4ff; }
.gac-app .gac-address-labels .gac-choice-chip input:focus-visible + span { outline: 2px solid #2868e9; outline-offset: 2px; }
.gac-app .gac-address-form-footer { position: sticky; bottom: 0; z-index: 2; padding: 14px 0 max(18px, env(safe-area-inset-bottom, 0px)); border-top: 1px solid #edf0f5; background: #fff; }
.gac-app .gac-address-form-footer .gac-btn { min-height: 48px; border: 0; border-radius: 8px; color: #fff; background: linear-gradient(145deg, var(--gac-primary), var(--gac-primary-dark)); box-shadow: none; font-size: 14px; }
@media (max-width: 359px) {
    .gac-app .gac-sheet-overlay .gac-address-sheet { padding-inline: 16px; }
}
@media (min-width: 480px) {
    .gac-app .gac-address-contact-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (min-width: 768px) {
    .gac-app .gac-sheet-overlay:has(.gac-address-sheet) { padding: 24px; place-items: center; }
    .gac-app .gac-sheet-overlay .gac-address-sheet { max-height: calc(100dvh - 48px); padding: 24px 28px 0; border-radius: 20px; }
    .gac-app .gac-address-sheet .gac-sheet-handle { display: none; }
}
/* Order result uses server-reported status, with a receipt-style layout. */
.gac-app .gac-confirmation-wrap { padding: 28px 16px 48px; }
.gac-app .gac-confirmation { width: min(100%, 760px); margin: 0 auto; overflow: hidden; border: 1px solid #e0e8f2; border-radius: 18px; background: #fff; box-shadow: 0 12px 40px #1837580a; }
.gac-app .gac-confirmation-hero { display: flex; flex-direction: column; align-items: center; padding: 32px 24px 28px; background: linear-gradient(180deg, #f1faf6, #fff); text-align: center; }
.gac-app .gac-confirmation-mark { display: grid; place-items: center; width: 72px; height: 72px; margin-bottom: 22px; border: 8px solid #e3f3e9; border-radius: 50%; color: #fff; background: #258750; box-shadow: 0 0 0 1px #d1e9dc; }
.gac-app .gac-confirmation-mark svg { width: 30px; height: 30px; stroke-width: 2.5; }
.gac-app .gac-confirmation-eyebrow { color: #407b5d; font-size: 9px; font-weight: 750; letter-spacing: .1em; line-height: 1.6; }
.gac-app .gac-confirmation-hero h1 { margin: 10px 0 12px; color: #17324f; font-size: clamp(25px, 4vw, 34px); font-weight: 750; line-height: 1.2; letter-spacing: -.9px; }
.gac-app .gac-confirmation-hero > p { max-width: 410px; margin: 0; color: #697a8e; font-size: 13px; line-height: 1.75; }
.gac-app .gac-confirmation-status { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; padding: 6px 10px; border: 1px solid #d7eadd; border-radius: 5px; background: #f2faf5; color: #277247; font-size: 11px; font-weight: 600; }
.gac-app .gac-confirmation-status svg { width: 15px; height: 15px; }
.gac-app .gac-confirmation-body { padding: 0 20px 24px; }
.gac-app .gac-confirmation-receipt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; padding: 22px 18px; border: 1px solid #e3e9f1; border-radius: 10px; background: #fbfcfe; }
.gac-app .gac-confirmation-receipt > div { min-width: 0; }
.gac-app .gac-confirmation-receipt span { display: block; margin-bottom: 7px; color: #758399; font-size: 11px; }
.gac-app .gac-confirmation-receipt strong { display: block; color: #243b56; font-size: 13px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.gac-app .gac-confirmation-receipt .gac-confirmation-amount { font-size: 18px; letter-spacing: -.5px; font-variant-numeric: tabular-nums; }
.gac-app .gac-confirmation-delivery { display: flex; align-items: flex-start; gap: 12px; margin: 20px 0 0; padding: 0 2px; }
.gac-app .gac-confirmation-delivery > svg { flex-shrink: 0; width: 20px; height: 20px; color: #2868e9; }
.gac-app .gac-confirmation-delivery h2 { margin: 0 0 7px; font-size: 13px; font-weight: 650; }
.gac-app .gac-confirmation-delivery strong { display: block; font-size: 12px; font-weight: 600; }
.gac-app .gac-confirmation-delivery p { margin: 4px 0 0; color: #6d7c8f; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.gac-app .gac-confirmation-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 26px; }
.gac-app .gac-confirmation-actions .gac-btn { min-height: 48px; border-radius: 7px; gap: 9px; font-size: 13px; box-shadow: none; }
.gac-app .gac-confirmation-actions .gac-btn-primary { color: #fff; background: linear-gradient(145deg, var(--gac-primary), var(--gac-primary-dark)); }
.gac-app .gac-confirmation-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 24px; margin-top: 12px; }
.gac-app .gac-confirmation-links :is(button, a) { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 0; border: 0; background: transparent; color: #2158ce; font-size: 12px; font-weight: 600; text-decoration: none; }
.gac-app .gac-confirmation-links svg { width: 15px; height: 15px; }
.gac-app .gac-confirmation-help { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 8px; padding: 14px 20px; border-top: 1px solid #edf0f5; background: #f9fbfd; }
.gac-app .gac-confirmation-help > svg { width: 17px; height: 17px; color: #7186a1; }
.gac-app .gac-confirmation-help > span { color: #6c7e95; font-size: 11px; }
.gac-app .gac-confirmation-help button { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; border: 0; background: transparent; color: #2158ce; font-size: 12px; font-weight: 600; }
.gac-app .gac-confirmation-help button svg { width: 14px; height: 14px; }
.gac-app .gac-confirmation.is-pending .gac-confirmation-hero { background: linear-gradient(180deg, #f2f6ff, #fff); }
.gac-app .gac-confirmation.is-pending .gac-confirmation-mark { border-color: #e7efff; background: #3d69ba; box-shadow: 0 0 0 1px #d8e5fb; }
.gac-app .gac-confirmation.is-pending .gac-confirmation-eyebrow { color: #56759e; }
.gac-app .gac-confirmation.is-pending .gac-confirmation-status { color: #536e94; border-color: #dce5f3; background: #f4f7fc; }
@media (min-width: 768px) {
    .gac-app .gac-confirmation-wrap { padding: 40px 24px 64px; }
    .gac-app .gac-confirmation-hero { padding: 36px 40px 28px; }
    .gac-app .gac-confirmation-body { padding: 0 48px 26px; }
    .gac-app .gac-confirmation-receipt { padding: 24px; column-gap: 32px; }
    .gac-app .gac-confirmation-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: no-preference) {
    .gac-app .gac-confirmation-mark { animation: gac-confirmation-in 380ms ease-out both; }
    @keyframes gac-confirmation-in { from { opacity: 0; transform: scale(.86); } to { opacity: 1; transform: scale(1); } }
}
/* Mobile navigation: quiet full-width surface with a compact selected icon. */
@media (max-width: 1023px) {
    .gac-app .gac-bottom-nav { min-height: calc(72px + env(safe-area-inset-bottom, 0px)); padding: 5px max(10px, env(safe-area-inset-right, 0px)) calc(5px + env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px)); gap: 4px; border: 0; border-top: 1px solid #e6edf6; border-radius: 16px 16px 0 0; background: #fff; box-shadow: 0 -4px 18px #213b5708; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item { min-height: 60px; margin: 0; padding: 3px 2px; gap: 4px; border: 0; border-radius: 9px; color: #78889e; background: transparent; box-shadow: none; font-size: 10px; font-weight: 550; -webkit-tap-highlight-color: transparent; }
    .gac-app .gac-bottom-nav .gac-nav-icon { display: grid; place-items: center; width: 48px; height: 30px; margin: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; }
    .gac-app .gac-bottom-nav .gac-nav-icon svg { width: 22px; height: 22px; stroke-width: 1.7; }
    .gac-app .gac-bottom-nav .gac-nav-label { display: block; line-height: 15px; letter-spacing: .05px; white-space: nowrap; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item:is(.is-active, [aria-current="page"]) { color: #205bd0; background: transparent; font-weight: 650; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item.is-active .gac-nav-icon { border-color: #e1eafe; background: #edf3ff; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item.is-active svg { stroke-width: 2; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item:active .gac-nav-icon { background: #e6eeff; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item:focus-visible { outline: 2px solid #82a6ef; outline-offset: -2px; }
}
@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
    .gac-app .gac-bottom-nav .gac-nav-icon { transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease; }
    .gac-app .gac-bottom-nav .gac-bottom-nav-item:active .gac-nav-icon { transform: scale(.94); }
}
/* Contact hub: dynamic contact settings and existing support destinations. */
.gac-app.gac-route-contact .gac-contact.gac-contact-hub { width: 100%; max-width: 1200px; margin: 0 auto; padding: 18px 16px 36px; }
.gac-app.gac-route-contact .gac-contact-welcome { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 25px 22px; border: 1px solid #dae6f9; border-radius: 12px; background: linear-gradient(120deg, #edf4ff, #f9fcff); }
.gac-app.gac-route-contact .gac-contact-eyebrow { display: block; color: #4473b9; font-size: 9px; font-weight: 700; letter-spacing: .12em; line-height: 1.6; }
.gac-app.gac-route-contact .gac-contact-welcome h1 { margin: 12px 0; color: #203c61; font-size: 29px; font-weight: 750; line-height: 1.15; letter-spacing: -.9px; }
.gac-app.gac-route-contact .gac-contact-welcome p { max-width: 440px; margin: 0; color: #6f839c; font-size: 12px; line-height: 1.8; }
.gac-app.gac-route-contact .gac-contact-welcome-note { display: flex; align-items: center; gap: 7px; margin-top: 20px; color: #5277ab; font-size: 10px; }
.gac-app.gac-route-contact .gac-contact-welcome-note svg { width: 15px; height: 15px; }
.gac-app.gac-route-contact .gac-contact-welcome-icon { display: none; }
.gac-app.gac-route-contact .gac-contact-channels { margin-top: 26px; }
.gac-app.gac-route-contact .gac-contact-channels > header h2 { margin: 0; color: #2d4461; font-size: 18px; font-weight: 650; letter-spacing: -.3px; }
.gac-app.gac-route-contact .gac-contact-channels > header p { margin: 6px 0 16px; color: #7c8ca1; font-size: 11px; }
.gac-app.gac-route-contact .gac-contact-hub .gac-contact-list { display: grid; grid-template-columns: minmax(0, 1fr); margin: 0; padding: 0; gap: 12px; }
.gac-app.gac-route-contact .gac-contact-list > .gac-contact-channel { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 0 13px; margin: 0; padding: 18px; border: 1px solid #e0e8f2; border-radius: 10px; background: #fff; box-shadow: 0 2px 10px #213b5704; text-decoration: none; }
.gac-app.gac-route-contact .gac-contact-channel > .gac-contact-channel-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 11px; color: #3c6fbd; background: #edf4ff; }
.gac-app.gac-route-contact .gac-contact-channel-icon svg { width: 20px; height: 20px; }
.gac-app.gac-route-contact .gac-contact-channel-copy { min-width: 0; }
.gac-app.gac-route-contact .gac-contact-channel h3 { margin: 1px 0 5px; color: #304963; font-size: 13px; font-weight: 650; }
.gac-app.gac-route-contact .gac-contact-channel-copy p { margin: 0 0 10px; color: #8290a2; font-size: 10px; line-height: 1.6; }
.gac-app.gac-route-contact .gac-contact-channel-copy strong { display: block; color: #4b6481; font-size: 12px; font-weight: 550; line-height: 1.7; overflow-wrap: anywhere; }
.gac-app.gac-route-contact .gac-contact-channel > .gac-contact-channel-action { display: flex; align-items: center; gap: 7px; grid-column: 2; width: auto; height: auto; margin-top: 14px; border-radius: 0; color: var(--gac-primary); background: transparent; font-size: 11px; font-weight: 650; }
.gac-app.gac-route-contact .gac-contact-channel-action svg { width: 14px; height: 14px; }
.gac-app.gac-route-contact .gac-contact-more { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 24px; }
.gac-app.gac-route-contact .gac-contact-quick-help { min-width: 0; padding: 22px 18px; border: 1px solid #e0e8f2; border-radius: 10px; background: #fff; }
.gac-app.gac-route-contact .gac-contact-quick-help h2 { margin: 9px 0; color: #2a435f; font-size: 19px; line-height: 1.4; letter-spacing: -.4px; }
.gac-app.gac-route-contact .gac-contact-quick-help > p { margin: 0 0 20px; color: #7b8a9e; font-size: 11px; line-height: 1.7; }
.gac-app.gac-route-contact .gac-contact-quick-help > button { display: grid; grid-template-columns: 32px minmax(0, 1fr) 14px; align-items: center; gap: 10px; width: 100%; min-height: 76px; padding: 13px 0; border: 0; border-top: 1px solid #edf1f6; color: #7990ad; background: transparent; text-align: left; }
.gac-app.gac-route-contact .gac-contact-quick-help > button > span:first-child { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; color: #6485b2; background: #f3f6fc; }
.gac-app.gac-route-contact .gac-contact-quick-help > button svg { width: 18px; height: 18px; }
.gac-app.gac-route-contact .gac-contact-quick-help > button > svg { width: 14px; height: 14px; }
.gac-app.gac-route-contact .gac-contact-quick-help strong { display: block; color: #405873; font-size: 12px; font-weight: 600; line-height: 1.5; }
.gac-app.gac-route-contact .gac-contact-quick-help small { display: block; margin-top: 4px; color: #8392a5; font-size: 10px; line-height: 1.5; }
.gac-app.gac-route-contact .gac-contact-order-note { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; padding: 12px; border-radius: 6px; background: #f6f8fc; color: #7d90a8; }
.gac-app.gac-route-contact .gac-contact-order-note > svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; }
.gac-app.gac-route-contact .gac-contact-order-note p { margin: 0; font-size: 10px; line-height: 1.7; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-card { min-width: 0; margin: 0; padding: 24px 22px; border: 1px solid #dbe5f5; border-radius: 10px; background: #edf4ff; color: #345373; box-shadow: none; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-card::after { display: none; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-card h2 { margin: 0 0 18px; color: #29466b; font-size: 23px; line-height: 1.3; letter-spacing: -.5px; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-services { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-services > span { color: #617b9b; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-services svg { width: 15px; height: 15px; color: #5480bd; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-card p { margin: 20px 0 0; color: #7289a4; font-size: 11px; line-height: 1.7; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-email { display: flex; align-items: center; gap: 10px; max-width: 100%; margin-top: 18px; padding: 12px 14px; border: 1px solid #d6e3f7; border-radius: 7px; color: var(--gac-primary); background: #fff; }
.gac-app.gac-route-contact .gac-contact-hub .gac-consult-email > strong { min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
@media (min-width: 768px) {
    .gac-app.gac-route-contact .gac-contact.gac-contact-hub { padding: 28px 32px 48px; }
    .gac-app.gac-route-contact .gac-contact-welcome { padding: 36px; }
    .gac-app.gac-route-contact .gac-contact-welcome h1 { font-size: 40px; }
    .gac-app.gac-route-contact .gac-contact-welcome p { font-size: 13px; }
    .gac-app.gac-route-contact .gac-contact-welcome-icon { display: grid; place-items: center; flex-shrink: 0; width: 118px; height: 118px; margin-right: 20px; border: 1px solid #dce8fa; border-radius: 30px; background: #ffffffb3; color: #5083cf; box-shadow: 0 0 0 15px #ffffff50; transform: rotate(-6deg); }
    .gac-app.gac-route-contact .gac-contact-welcome-icon svg { width: 54px; height: 54px; }
    .gac-app.gac-route-contact .gac-contact-hub .gac-contact-list { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
    .gac-app.gac-route-contact .gac-contact-list > .gac-contact-channel { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr auto; gap: 16px; padding: 22px; }
    .gac-app.gac-route-contact .gac-contact-channel > .gac-contact-channel-action { grid-column: 1; margin-top: 2px; }
    .gac-app.gac-route-contact .gac-contact-more { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .gac-app.gac-route-contact .gac-contact-quick-help, .gac-app.gac-route-contact .gac-contact-hub .gac-consult-card { padding: 28px; }
}
/* Cancellation only: calm reason sheet and explicit destructive confirmation. */
.gac-app .gac-sheet.gac-cancel-order-sheet { width: min(100%, 500px); max-height: 92dvh; padding: 10px 20px max(20px, env(safe-area-inset-bottom, 0px)); border: 1px solid #e4eaf3; border-radius: 20px 20px 0 0; background: #fff; }
.gac-app .gac-cancel-order-sheet > header { padding: 8px 0 16px; margin: 0; border-bottom: 1px solid #edf1f6; }
.gac-app .gac-cancel-order-sheet > header h2 { color: #263f5b; font-size: 18px; font-weight: 650; letter-spacing: -.3px; }
.gac-app .gac-cancel-order-sheet > header .gac-icon-btn { width: 36px; height: 36px; color: #7c8b9f; background: #f5f7fb; border-radius: 50%; }
.gac-app .gac-cancel-order-sheet .gac-sheet-body { padding: 0; }
.gac-app .gac-cancel-intro { display: flex; align-items: center; gap: 13px; padding: 22px 0; }
.gac-app .gac-cancel-intro > span { display: grid; place-items: center; flex-shrink: 0; width: 46px; height: 46px; border: 1px solid #e0e8f7; border-radius: 12px; background: #f1f6ff; color: #4274cc; }
.gac-app .gac-cancel-intro > span svg { width: 23px; height: 23px; }
.gac-app .gac-cancel-intro h3 { margin: 0 0 5px; color: #2c4460; font-size: 16px; font-weight: 650; }
.gac-app .gac-cancel-intro p { margin: 0; color: #7b899c; font-size: 11px; line-height: 1.6; }
.gac-app .gac-cancel-order-sheet .gac-field { margin: 0; }
.gac-app .gac-cancel-order-sheet .gac-field > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; color: #405873; font-size: 11px; font-weight: 600; }
.gac-app .gac-cancel-order-sheet .gac-field small { color: #8a98aa; font-size: 10px; font-weight: 400; }
.gac-app .gac-cancel-order-sheet textarea { min-height: 112px; padding: 13px; border: 1px solid #dce5f2; border-radius: 8px; background: #fbfcfe; color: #314a65; font-size: 13px; line-height: 1.6; resize: vertical; }
.gac-app .gac-cancel-field-note { margin: 8px 0 18px; color: #8895a7; font-size: 10px; line-height: 1.6; }
.gac-app .gac-cancel-refund-note { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid #e6ebf3; border-radius: 8px; background: #f7f9fc; }
.gac-app .gac-cancel-refund-note > svg { width: 17px; height: 17px; margin-top: 2px; color: #7790ae; flex-shrink: 0; }
.gac-app .gac-cancel-refund-note p { margin: 0; color: #7b899c; font-size: 11px; line-height: 1.7; }
.gac-app .gac-cancel-refund-note strong { display: block; margin-bottom: 3px; color: #50657e; font-size: 11px; font-weight: 600; }
.gac-app .gac-cancel-sheet-actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
.gac-app .gac-cancel-sheet-actions .gac-btn { min-height: 46px; padding: 12px; border: 1px solid #dfe7f4; border-radius: 8px; background: #fff; color: #b54752; font-size: 12px; font-weight: 600; box-shadow: none; }
.gac-app .gac-cancel-sheet-actions [data-close-sheet] { border-color: var(--gac-primary); color: #fff; background: var(--gac-primary); }
.gac-app .gac-cancel-sheet-actions svg { width: 16px; height: 16px; }
.gac-app .gac-modal.gac-cancel-order-confirm { width: min(100%, 420px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 28px 22px 22px; border: 1px solid #e5eaf2; border-radius: 18px; background: #fff; text-align: left; }
.gac-app .gac-cancel-order-confirm .gac-modal-close { top: 10px; right: 10px; width: 36px; height: 36px; color: #8190a2; }
.gac-app .gac-cancel-order-confirm .gac-modal-icon { width: 54px; height: 54px; margin-bottom: 20px; border: 1px solid #f4dde0; border-radius: 15px; background: #fff2f3; color: #c45560; }
.gac-app .gac-cancel-order-confirm .gac-modal-icon svg { width: 27px; height: 27px; }
.gac-app .gac-cancel-order-confirm > h2 { margin: 0 0 10px; padding: 0; color: #273e59; font-size: 22px; font-weight: 700; line-height: 1.3; letter-spacing: -.5px; }
.gac-app .gac-cancel-order-confirm .gac-modal-copy { margin: 0; color: #78879b; font-size: 12px; line-height: 1.7; }
.gac-app .gac-cancel-order-confirm .gac-modal-copy p { margin: 0; }
.gac-app .gac-cancel-confirm-note { margin-top: 17px; padding: 12px 14px; border: 1px solid #e7edf5; border-radius: 8px; background: #f7f9fc; color: #72839a; font-size: 11px; line-height: 1.7; }
.gac-app .gac-cancel-confirm-note strong { color: #466384; font-weight: 600; }
.gac-app .gac-cancel-order-confirm .gac-modal-actions { display: grid; grid-template-columns: minmax(0, 1fr); margin-top: 23px; gap: 10px; }
.gac-app .gac-cancel-order-confirm .gac-modal-actions .gac-btn { min-width: 0; min-height: 46px; padding: 12px 8px; border: 1px solid #ecd4d8; border-radius: 8px; color: #b74350; background: #fff; font-size: 12px; font-weight: 650; box-shadow: none; }
.gac-app .gac-cancel-order-confirm .gac-modal-actions [data-modal-value="cancel"] { color: #fff; background: var(--gac-primary); border-color: var(--gac-primary); }
@media (min-width: 380px) {
    .gac-app .gac-cancel-sheet-actions { grid-template-columns: 1fr 1.3fr; }
    .gac-app .gac-cancel-order-confirm .gac-modal-actions { grid-template-columns: 1fr 1.2fr; }
}
@media (min-width: 768px) {
    .gac-app .gac-sheet.gac-cancel-order-sheet { position: fixed; top: 50%; right: 50%; bottom: auto; left: auto; margin: 0; max-height: calc(100dvh - 48px); padding: 20px 28px 28px; border-radius: 18px; transform: translate(50%, -45%); }
    .gac-app .gac-modal-overlay.is-open .gac-sheet.gac-cancel-order-sheet { transform: translate(50%, -50%); }
    .gac-app .gac-cancel-order-sheet .gac-sheet-handle { display: none; }
}
/* Order receipt: existing actions and API data, responsive detail/summary columns. */
.gac-app.gac-route-order .gac-order-overview { width: 100%; max-width: 1200px; margin: 0 auto; padding: 18px 16px 36px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.gac-app.gac-route-order .gac-order-overview .gac-card { margin: 0; border: 1px solid #e1e8f1; border-radius: 10px; background: #fff; box-shadow: 0 2px 10px #213b5704; }
.gac-app.gac-route-order .gac-order-receipt-header { overflow: hidden; }
.gac-app.gac-route-order .gac-order-reference { padding: 20px; }
.gac-app.gac-route-order .gac-order-reference > small { color: #71829a; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.gac-app.gac-route-order .gac-order-reference h2 { margin: 8px 0 6px; color: #263f5d; font-size: 20px; line-height: 1.4; letter-spacing: -.4px; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-order-reference p { margin: 0; color: #7b899c; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-order .gac-order-current { display: flex; align-items: center; gap: 13px; padding: 18px 20px; border-top: 1px solid #e8eef6; background: #f9fbfe; }
.gac-app.gac-route-order .gac-order-current > .gac-status { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; flex-shrink: 0; border-radius: 12px; }
.gac-app.gac-route-order .gac-order-current > .gac-status svg { width: 22px; height: 22px; }
.gac-app.gac-route-order .gac-order-current > div { min-width: 0; }
.gac-app.gac-route-order .gac-order-current small { display: block; margin-bottom: 3px; color: #71829a; font-size: 10px; }
.gac-app.gac-route-order .gac-order-current strong { display: block; color: #2d4663; font-size: 16px; line-height: 1.4; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-order-current p { margin: 5px 0 0; color: #7b899c; font-size: 10px; line-height: 1.6; }
.gac-app.gac-route-order .gac-order-detail-columns,
.gac-app.gac-route-order .gac-order-detail-main,
.gac-app.gac-route-order .gac-order-detail-aside { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 16px; min-width: 0; }
.gac-app.gac-route-order .gac-order-overview :is(.gac-order-products-panel, .gac-timeline, .gac-delivery-address, .gac-order-totals, .gac-invoices, .gac-order-help-panel) { padding: 20px; }
.gac-app.gac-route-order .gac-order-overview section > h2 { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: #2b425e; font-size: 14px; font-weight: 650; line-height: 1.5; }
.gac-app.gac-route-order .gac-order-overview section > h2 svg { width: 18px; height: 18px; color: #5379b0; }
.gac-app.gac-route-order .gac-order-products-panel > h2 > span { display: grid; place-items: center; min-width: 23px; height: 23px; margin-left: auto; padding: 0 5px; border-radius: 5px; color: #54729e; background: #f0f5fd; font-size: 10px; }
.gac-app.gac-route-order .gac-order-items { gap: 16px; }
.gac-app.gac-route-order .gac-order-overview .gac-order-items > article { grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 13px; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.gac-app.gac-route-order .gac-order-overview .gac-order-items > article + article { padding-top: 18px; border-top: 1px solid #edf1f6; }
.gac-app.gac-route-order .gac-order-items > article > img { width: 72px; height: 80px; border: 1px solid #f0f3f7; border-radius: 6px; object-fit: contain; }
.gac-app.gac-route-order .gac-order-items > article > div { min-width: 0; }
.gac-app.gac-route-order .gac-order-items > article strong { font-size: 12px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-order-items > article small { margin-top: 7px; color: #7b899c; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-order-items > article b { margin-top: 8px; color: #29415e; font-size: 14px; }
.gac-app.gac-route-order .gac-order-items > article div > span { gap: 6px; margin-top: 12px; }
.gac-app.gac-route-order .gac-order-items > article button { min-height: 38px; padding: 7px 10px; border: 1px solid #dfe8f7; border-radius: 5px; background: #f7faff; color: var(--gac-primary); font-size: 10px; font-weight: 600; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div { min-height: 76px; padding-bottom: 20px; gap: 14px; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div:last-child { min-height: 32px; padding-bottom: 0; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div > span { width: 28px; height: 28px; border: 1px solid #dae5f4; color: #6683af; background: #f1f5fc; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div > span svg { width: 14px; height: 14px; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div::before { top: 28px; left: 13px; width: 1px; background: #dde6f2; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline > div.is-current > span { color: #fff; background: var(--gac-primary); border-color: var(--gac-primary); box-shadow: 0 0 0 3px #ecf2fe; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline p { margin: 0; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline p strong { margin-top: 3px; color: #37516e; font-size: 12px; font-weight: 600; line-height: 1.5; }
.gac-app.gac-route-order .gac-order-overview .gac-timeline p small { margin-top: 4px; color: #7e8da0; font-size: 10px; line-height: 1.6; }
.gac-app.gac-route-order .gac-order-activity-note { display: block; margin-top: 3px; color: #61758f; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-delivery-address > strong { color: #354e69; font-size: 12px; font-weight: 600; }
.gac-app.gac-route-order .gac-delivery-address > p { margin: 8px 0 12px; color: #74849a; font-size: 11px; line-height: 1.8; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-delivery-address > span { display: flex; align-items: center; gap: 7px; color: #58718e; font-size: 11px; }
.gac-app.gac-route-order .gac-delivery-address > span svg { width: 14px; height: 14px; }
.gac-app.gac-route-order .gac-order-totals > div { min-height: 34px; color: #738399; font-size: 11px; }
.gac-app.gac-route-order .gac-order-totals > div > b { font-weight: 600; }
.gac-app.gac-route-order .gac-order-totals > div:last-of-type { min-height: 54px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e8eef5; color: #2a425f; font-size: 15px; }
.gac-app.gac-route-order .gac-order-totals > p { margin: 14px 0 0; padding: 12px; gap: 8px; border-radius: 6px; background: #f3f7fc; color: #59738f; font-size: 10px; line-height: 1.6; }
.gac-app.gac-route-order .gac-order-totals > p svg { flex-shrink: 0; width: 18px; height: 18px; }
.gac-app.gac-route-order .gac-invoices > a { grid-template-columns: 26px minmax(0, 1fr) 18px; padding: 8px 0; color: var(--gac-primary); }
.gac-app.gac-route-order .gac-invoices strong { color: #3b5371; font-size: 11px; overflow-wrap: anywhere; }
.gac-app.gac-route-order .gac-invoices small { margin-top: 5px; font-size: 10px; }
.gac-app.gac-route-order .gac-invoices > a > svg { width: 18px; height: 18px; }
.gac-app.gac-route-order .gac-order-overview .gac-order-help-panel > h2 { margin-bottom: 6px; }
.gac-app.gac-route-order .gac-order-help-panel > p { margin: 0 0 16px; color: #78899e; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-order .gac-order-help-panel .gac-btn { min-height: 44px; padding: 10px 12px; border: 1px solid #dce6f8; border-radius: 6px; color: var(--gac-primary); background: #f5f8ff; font-size: 11px; font-weight: 600; box-shadow: none; }
.gac-app.gac-route-order .gac-order-help-panel .gac-btn > svg { width: 16px; height: 16px; }
.gac-app.gac-route-order .gac-order-help-panel .gac-order-cancel { margin-top: 10px; color: #b3545d; background: #fff; border-color: #eedfe2; }
.gac-app.gac-route-order .gac-order-overview .gac-muted { color: #7b899d; font-size: 11px; line-height: 1.7; }
@media (min-width: 1024px) {
    .gac-app.gac-route-order .gac-order-overview { padding: 28px 32px 52px; }
    .gac-app.gac-route-order .gac-order-receipt-header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr); }
    .gac-app.gac-route-order .gac-order-reference { padding: 25px 28px; }
    .gac-app.gac-route-order .gac-order-reference h2 { font-size: 25px; }
    .gac-app.gac-route-order .gac-order-current { border-top: 0; border-left: 1px solid #e8eef6; padding: 24px 28px; }
    .gac-app.gac-route-order .gac-order-detail-columns { grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; }
    .gac-app.gac-route-order .gac-order-detail-main, .gac-app.gac-route-order .gac-order-detail-aside { gap: 20px; }
    .gac-app.gac-route-order .gac-order-overview :is(.gac-order-products-panel, .gac-timeline) { padding: 24px; }
    .gac-app.gac-route-order .gac-order-overview .gac-order-items > article { grid-template-columns: 96px minmax(0, 1fr); gap: 20px; }
    .gac-app.gac-route-order .gac-order-items > article > img { width: 96px; height: 96px; }
    .gac-app.gac-route-order .gac-order-items > article strong { font-size: 14px; }
    .gac-app.gac-route-order .gac-order-items > article button { font-size: 11px; }
}
/* My Orders: restrained purchase cards, scoped away from order detail screens. */
.gac-app.gac-route-orders .gac-orders-dashboard { width: 100%; max-width: 1200px; margin: 0 auto; padding: 20px 16px 32px; }
.gac-app.gac-route-orders .gac-orders-intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.gac-app.gac-route-orders .gac-orders-intro > div > span { color: #4771b1; font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.gac-app.gac-route-orders .gac-orders-intro h2 { margin: 7px 0 6px; color: #213b57; font-size: 20px; line-height: 1.3; letter-spacing: -.5px; }
.gac-app.gac-route-orders .gac-orders-intro p { margin: 0; color: #748399; font-size: 11px; line-height: 1.6; }
.gac-app.gac-route-orders .gac-orders-count { display: none; }
.gac-app.gac-route-orders .gac-order-tabs { position: static; justify-content: flex-start; width: 100%; max-width: none; margin: 0 0 18px; padding: 0 0 12px; gap: 7px; border: 0; border-bottom: 1px solid #e1e8f1; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
.gac-app.gac-route-orders .gac-order-tabs button { min-height: 40px; padding: 0 15px; border: 1px solid #e0e7f1; border-radius: 7px; color: #60738c; background: #fff; font-size: 11px; font-weight: 600; box-shadow: none; }
.gac-app.gac-route-orders .gac-order-tabs button.is-active { border-color: var(--gac-primary); background: var(--gac-primary); color: #fff; }
.gac-app.gac-route-orders .gac-order-tabs button::after { display: none; }
.gac-app.gac-route-orders .gac-order-list { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; max-width: none; margin: 0; padding: 0; gap: 14px; }
.gac-app.gac-route-orders .gac-order-card { min-width: 0; margin: 0; border: 1px solid #e1e8f1; border-radius: 10px; background: #fff; box-shadow: 0 2px 10px #213b5704; }
.gac-app.gac-route-orders .gac-order-card-head { align-items: flex-start; min-height: 68px; padding: 15px 14px; gap: 10px; background: #fbfcfe; border-bottom: 1px solid #edf1f6; }
.gac-app.gac-route-orders .gac-order-card-head > span { min-width: 0; gap: 5px; }
.gac-app.gac-route-orders .gac-order-card-head strong { color: #324962; font-size: 11px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.gac-app.gac-route-orders .gac-order-card-head small { color: #7b899b; font-size: 10px; line-height: 1.4; }
.gac-app.gac-route-orders .gac-order-card-head .gac-status { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; max-width: 46%; padding: 5px 7px; border-radius: 5px; font-size: 9px; font-weight: 650; line-height: 1.4; white-space: normal; text-align: left; }
.gac-app.gac-route-orders .gac-order-card-head .gac-status::before { content: ''; width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: currentColor; }
.gac-app.gac-route-orders .gac-order-preview { grid-template-columns: 78px minmax(0, 1fr) 16px; min-height: 122px; padding: 18px 14px; gap: 12px; }
.gac-app.gac-route-orders .gac-order-preview > img { width: 78px; height: 78px; object-fit: contain; border: 1px solid #f0f3f7; border-radius: 6px; background: #fff; }
.gac-app.gac-route-orders .gac-order-preview > span { min-width: 0; }
.gac-app.gac-route-orders .gac-order-preview strong { color: #273e58; font-size: 12px; font-weight: 600; line-height: 1.5; }
.gac-app.gac-route-orders .gac-order-preview small { margin-top: 8px; color: #78879b; font-size: 10px; line-height: 1.6; }
.gac-app.gac-route-orders .gac-order-more { display: inline-block; margin-left: 6px; color: #4169a6; }
.gac-app.gac-route-orders .gac-order-preview > svg { width: 16px; height: 16px; color: #92a1b4; }
.gac-app.gac-route-orders .gac-order-card-foot { min-height: 72px; padding: 13px 14px; border-top: 1px solid #edf1f6; gap: 12px; }
.gac-app.gac-route-orders .gac-order-card-foot > span { min-width: 0; gap: 4px; }
.gac-app.gac-route-orders .gac-order-card-foot small { font-size: 9px; color: #7b899b; }
.gac-app.gac-route-orders .gac-order-card-foot strong { color: #243d59; font-size: 14px; font-weight: 700; line-height: 1.4; }
.gac-app.gac-route-orders .gac-order-card-foot button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; flex-shrink: 0; min-height: 40px; padding: 0 12px; border: 1px solid #dbe6fa; border-radius: 6px; color: var(--gac-primary); background: #f5f8ff; font-size: 11px; font-weight: 650; }
.gac-app.gac-route-orders .gac-order-card-foot button svg { width: 14px; height: 14px; }
.gac-app.gac-route-orders .gac-orders-help { display: flex; align-items: center; gap: 12px; width: 100%; margin: 20px 0 0; padding: 17px 16px; border: 1px solid #e1e8f1; border-radius: 8px; background: #f9fbfe; color: #547ab5; text-align: left; }
.gac-app.gac-route-orders .gac-orders-help > svg { width: 22px; height: 22px; flex-shrink: 0; }
.gac-app.gac-route-orders .gac-orders-help > svg:last-child { width: 16px; height: 16px; margin-left: auto; }
.gac-app.gac-route-orders .gac-orders-help strong { display: block; color: #3c526e; font-size: 12px; font-weight: 600; }
.gac-app.gac-route-orders .gac-orders-help small { display: block; margin-top: 4px; color: #7a899e; font-size: 10px; line-height: 1.5; }
@media (min-width: 768px) {
    .gac-app.gac-route-orders .gac-orders-dashboard { padding: 28px 32px 48px; }
    .gac-app.gac-route-orders .gac-orders-intro { margin-bottom: 24px; }
    .gac-app.gac-route-orders .gac-orders-intro h2 { font-size: 27px; }
    .gac-app.gac-route-orders .gac-orders-intro p { font-size: 13px; }
    .gac-app.gac-route-orders .gac-orders-count { display: flex; align-items: center; gap: 9px; padding: 12px 16px; border: 1px solid #e0e8f5; border-radius: 8px; background: #fff; color: #54729f; font-size: 12px; white-space: nowrap; }
    .gac-app.gac-route-orders .gac-orders-count svg { width: 18px; height: 18px; }
    .gac-app.gac-route-orders .gac-order-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .gac-app.gac-route-orders .gac-order-card-head { padding: 18px 20px; }
    .gac-app.gac-route-orders .gac-order-preview { padding: 20px; grid-template-columns: 88px minmax(0, 1fr) 16px; min-height: 134px; gap: 16px; }
    .gac-app.gac-route-orders .gac-order-preview > img { width: 88px; height: 88px; }
    .gac-app.gac-route-orders .gac-order-preview strong { font-size: 14px; }
    .gac-app.gac-route-orders .gac-order-card-foot { padding: 16px 20px; }
    .gac-app.gac-route-orders .gac-order-card-foot strong { font-size: 16px; }
}
/* Account dashboard: shared mobile/desktop hierarchy, existing routes retained. */
.gac-app.gac-route-profile .gac-profile.gac-account-dashboard { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; width: 100%; max-width: 1280px; margin: 0 auto; padding: 18px 16px 32px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero { position: relative; top: auto; display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; gap: 16px; min-height: 0; margin: 0; padding: 20px; border: 1px solid #dfe7f2; border-radius: 12px; background: #fff; color: #213b57; text-align: left; box-shadow: 0 3px 16px #223e5a05; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero::before,
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero::after { display: none; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero .gac-avatar { width: 56px; height: 56px; margin: 0; border: 1px solid #dce7fc; background: #edf3ff; color: #2458c9; font-size: 20px; font-weight: 700; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.gac-app.gac-route-profile .gac-account-identity { min-width: 0; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-account-eyebrow { display: block; margin: 0 0 5px; color: #71819a; font-size: 9px; font-weight: 650; letter-spacing: .09em; }
.gac-app.gac-route-profile .gac-account-identity h1 { margin: 0; color: #213b57; font-size: 19px; line-height: 1.4; letter-spacing: -.4px; overflow-wrap: anywhere; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-account-identity :is(p, .gac-account-email) { display: flex; align-items: center; gap: 6px; margin: 6px 0 0; color: #6a7b91; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; max-width: 100%; }
.gac-app.gac-route-profile .gac-account-identity svg { flex-shrink: 0; width: 14px; height: 14px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero > button { display: flex; align-items: center; justify-content: space-between; grid-column: 1 / -1; width: 100%; min-height: 44px; margin: 0; padding: 10px 14px; border: 1px solid #dce6f7; border-radius: 7px; background: #f5f8ff; color: #2458c9; font-size: 12px; font-weight: 650; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero > button svg { width: 16px; height: 16px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-section { margin: 0; padding: 0; overflow: hidden; border: 1px solid #e3e9f1; border-radius: 10px; background: #fff; box-shadow: none; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-section > h2 { margin: 0; padding: 17px 16px 12px; color: #253e5b; font-size: 14px; font-weight: 650; text-transform: none; letter-spacing: 0; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-section > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item { display: flex; flex-direction: row; align-items: center; min-height: 74px; margin: 0; padding: 14px 16px; gap: 12px; border: 0; border-top: 1px solid #f0f3f7; border-radius: 0; background: #fff; box-shadow: none; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item > span:nth-child(2) { flex: 1; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item > span:nth-child(2) strong { color: #2c425e; font-size: 13px; font-weight: 600; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item > span:nth-child(2) small { margin-top: 4px; color: #75859a; font-size: 11px; line-height: 1.5; white-space: normal; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-icon { flex-shrink: 0; width: 36px; height: 36px; border-radius: 9px; background: #f0f5ff; color: #376acd; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-icon svg { width: 19px; height: 19px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item > svg { position: static; width: 16px; height: 16px; flex-shrink: 0; color: #91a0b4; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] > div { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 10px 12px; gap: 6px; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 110px; padding: 12px 4px; border: 1px solid #e5ecf7; border-radius: 8px; text-align: center; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item > svg,
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item small { display: none; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item strong { font-size: 11px; line-height: 1.4; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item:nth-child(2) .gac-menu-icon { color: #24785b; background: #ecf7f1; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item:nth-child(3) .gac-menu-icon { color: #a54b6c; background: #fceff4; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="2"] .gac-menu-item { min-height: 74px; padding: 14px 16px; border: 0; border-top: 1px solid #f0f3f7; border-radius: 0; }
.gac-app.gac-route-profile .gac-account-dashboard [data-account-group="2"] .gac-menu-icon { width: 36px; background: #f5f7fa; color: #728299; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-card { margin: 0; padding: 22px; border: 1px solid #dbe6f6; border-radius: 10px; background: #eef4fd; color: #345373; box-shadow: none; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-card::after { display: none; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-card h2 { color: #294868; font-size: 21px; line-height: 1.3; letter-spacing: -.4px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-card :is(p, .gac-consult-services, .gac-consult-services > span) { color: #586f89; font-size: 11px; line-height: 1.7; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-services svg { color: #3d71b4; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-consult-email { max-width: 100%; overflow-wrap: anywhere; color: #2458c9; background: #fff; border-color: #dce6f7; border-radius: 6px; }
.gac-app.gac-route-profile .gac-profile.gac-account-dashboard > [data-action="logout"] { width: 100%; min-height: 48px; padding: 10px 16px; border: 1px solid #e6e9ef; border-radius: 8px; background: #fff; color: #b0444e; box-shadow: none; font-size: 13px; }
.gac-app.gac-route-profile .gac-account-dashboard .gac-developer { margin: 0; padding: 4px 0; color: #8492a5; font-size: 10px; text-align: center; }
@media (hover: hover) {
    .gac-app.gac-route-profile .gac-account-dashboard .gac-menu-item:hover { background: #f7faff; box-shadow: none; transform: none; }
}
@media (min-width: 1024px) {
    .gac-app.gac-route-profile .gac-profile.gac-account-dashboard { grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 20px 24px; padding: 28px 32px 52px; }
    .gac-app.gac-route-profile .gac-account-dashboard > .gac-account-intro { grid-column: 1 / -1; margin: 0 0 4px; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-account-intro h2 { font-size: 27px; margin: 8px 0; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero { position: sticky; top: 164px; grid-column: 1; grid-row: 2 / span 3; grid-template-columns: minmax(0, 1fr); align-items: start; padding: 24px; border-top: 3px solid #2868e9; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-profile-hero .gac-avatar { width: 64px; height: 64px; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-account-note { grid-column: 1 / -1; margin: 0; color: #728199; font-size: 11px; line-height: 1.6; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-menu-section > h2 { padding: 20px 20px 14px; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-menu-section > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] > div { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0 20px 20px; gap: 12px; }
    .gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item { align-items: flex-start; min-height: 142px; padding: 16px; text-align: left; }
    .gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item strong { font-size: 13px; }
    .gac-app.gac-route-profile .gac-account-dashboard [data-account-group="0"] .gac-menu-item small { display: block; }
    .gac-app.gac-route-profile .gac-profile.gac-account-dashboard > [data-action="logout"] { justify-self: start; width: auto; min-width: 140px; }
    .gac-app.gac-route-profile .gac-account-dashboard .gac-developer { text-align: left; }
}

/* Enquiry completion: shared mobile/desktop treatment, separate from order confirmation. */
.gac-app.gac-route-home .gac-d-enquiry-form[data-complete="true"] { background: linear-gradient(155deg, #f2f7ff 0%, #fff 44%); border-color: #d9e6fa; }
.gac-app.gac-route-home .gac-d-enquiry-form[data-complete="true"] > :not([data-enquiry-result]) { display: none; }
.gac-app.gac-route-home .gac-d-enquiry-form[data-complete="true"] > [data-enquiry-result][data-state="success"] { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #17324d; }
.gac-app.gac-route-home .gac-d-enquiry-form .gac-enquiry-thanks { display: flex; flex-direction: column; align-items: center; max-width: 450px; min-width: 0; margin: 0 auto; padding: 24px 0 10px; text-align: center; }
.gac-app.gac-route-home .gac-enquiry-thanks-mark { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 0 28px; border: 7px solid #e5efff; border-radius: 50%; background: #0055f5; color: #fff; box-shadow: 0 0 0 8px #f4f8ff; }
.gac-app.gac-route-home .gac-enquiry-thanks-mark svg { width: 28px; height: 28px; stroke-width: 2.4; }
.gac-app.gac-route-home .gac-enquiry-thanks-eyebrow { color: #0055f5; font-size: 10px; font-weight: 750; letter-spacing: 2px; }
.gac-app.gac-route-home .gac-d-enquiry-form .gac-enquiry-thanks h3 { margin: 13px 0 16px; color: #15304c; font-size: clamp(25px, 2.2vw, 33px); font-weight: 750; line-height: 1.2; letter-spacing: -1px; outline: none; }
.gac-app.gac-route-home .gac-enquiry-thanks h3 span { color: #0055f5; }
.gac-app.gac-route-home .gac-d-enquiry-form .gac-enquiry-thanks-copy { max-width: 355px; margin: 0; color: #61768d; font-size: 13px; line-height: 1.8; }
.gac-app.gac-route-home .gac-enquiry-thanks-next { width: 100%; box-sizing: border-box; margin: 25px 0 22px; padding: 19px; border: 1px solid #e1eaf7; border-radius: 13px; background: #f7faff; text-align: left; }
.gac-app.gac-route-home .gac-enquiry-thanks-next > span { display: block; margin-bottom: 14px; color: #75869c; font-size: 9px; font-weight: 750; letter-spacing: 1.3px; }
.gac-app.gac-route-home .gac-enquiry-thanks-next > div { display: flex; align-items: flex-start; gap: 13px; }
.gac-app.gac-route-home .gac-enquiry-thanks-next svg { flex-shrink: 0; width: 21px; height: 21px; color: #0055f5; }
.gac-app.gac-route-home .gac-d-enquiry-form .gac-enquiry-thanks-next p { margin: 0; }
.gac-app.gac-route-home .gac-enquiry-thanks-next strong { display: block; color: #17324d; font-size: 12px; line-height: 1.6; }
.gac-app.gac-route-home .gac-enquiry-thanks-next small { display: block; margin-top: 5px; color: #637a92; font-size: 12px; line-height: 1.75; }
.gac-app.gac-route-home .gac-d-enquiry-form .gac-enquiry-thanks > .gac-btn { display: flex; justify-content: center; width: 100%; min-height: 48px; padding: 13px 16px; border-radius: 10px; background: #0055f5; color: #fff; font-size: 13px; gap: 12px; }
.gac-app.gac-route-home .gac-enquiry-again { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; margin-top: 7px; border: 0; background: transparent; color: #536e8b; font: inherit; font-size: 12px; cursor: pointer; }
.gac-app.gac-route-home .gac-enquiry-again svg { width: 15px; height: 15px; }
.gac-app.gac-route-home .gac-enquiry-again:hover { color: #0055f5; }
.gac-app.gac-route-home .gac-enquiry-thanks-signoff { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; width: 100%; margin-top: 18px; padding-top: 19px; border-top: 1px solid #e8eef7; color: #5d7795; font-size: 11px; font-weight: 650; }
.gac-app.gac-route-home .gac-enquiry-thanks-signoff svg { width: 15px; height: 15px; color: #0055f5; }
.gac-app.gac-route-home .gac-enquiry-thanks-signoff span { flex-basis: 100%; color: #8595a9; font-size: 10px; font-weight: 400; }
.gac-app.gac-route-home .gac-enquiry-thanks button:focus-visible { outline: 2px solid #0055f5; outline-offset: 4px; }
@media (prefers-reduced-motion: no-preference) {
    .gac-app .gac-enquiry-thanks { animation: gac-enquiry-confirm-in .35s ease-out both; }
    @keyframes gac-enquiry-confirm-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}
