/* Final purchase-journey layer. Loaded after store.css so legacy desktop rules
   cannot leak into the dedicated mobile cart and checkout layouts. */
.store-toast {
    position: fixed;
    inset: auto auto 24px 24px;
    z-index: 1200;
    max-width: min(360px, calc(100vw - 32px));
    padding: 13px 17px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    background: var(--surface);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

/* TL_MOBILE_PRODUCT_COMPACT_CART_OVERVIEW_V1_20260914 */
@media (max-width: 840px) {
    body.storefront-body.product-detail-route .product-info > .product-brand,
    body.storefront-body.product-detail-route .product-info > .product-meta--compact {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-desktop {
        display: grid !important;
        gap: 8px !important;
        min-width: 0 !important;
        margin-top: 4px !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        border: 1px solid var(--line) !important;
        border-radius: 12px !important;
        background: var(--surface-soft) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item {
        min-width: 0 !important;
        min-height: 50px !important;
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 7px !important;
        padding: 7px 9px !important;
        border-inline-start: 1px solid var(--line) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:nth-child(2) {
        border-inline-start: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:nth-child(3) {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon,
    body.storefront-body.product-detail-route .product-overview-dispatch__icon,
    body.storefront-body.product-detail-route .product-overview-free-shipping__icon {
        width: 30px !important;
        height: 30px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 9px !important;
        color: var(--primary) !important;
        background: color-mix(in srgb, var(--primary) 7%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon.is-success,
    body.storefront-body.product-detail-route .product-overview-dispatch__icon.is-success {
        color: #16824b !important;
        background: rgba(22, 130, 75, .08) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon svg,
    body.storefront-body.product-detail-route .product-overview-dispatch__icon svg,
    body.storefront-body.product-detail-route .product-overview-free-shipping__icon svg {
        width: 17px !important;
        height: 17px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy,
    body.storefront-body.product-detail-route .product-overview-dispatch__copy,
    body.storefront-body.product-detail-route .product-overview-free-shipping__copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 2px !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy small,
    body.storefront-body.product-detail-route .product-overview-dispatch__copy span,
    body.storefront-body.product-detail-route .product-overview-free-shipping__copy span {
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        line-height: 1.55 !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy strong,
    body.storefront-body.product-detail-route .product-overview-quick-copy a,
    body.storefront-body.product-detail-route .product-overview-dispatch__copy strong,
    body.storefront-body.product-detail-route .product-overview-free-shipping__copy strong {
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 880 !important;
        line-height: 1.45 !important;
        text-decoration: none !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy strong.is-success {
        color: #16824b !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch,
    body.storefront-body.product-detail-route .product-overview-free-shipping {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 30px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 8px 10px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 17%, var(--line)) !important;
        border-radius: 12px !important;
        background: color-mix(in srgb, var(--primary) 4%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__action,
    body.storefront-body.product-detail-route .product-overview-free-shipping__badge {
        min-height: 27px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 4px 8px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--line)) !important;
        border-radius: 8px !important;
        color: var(--primary) !important;
        background: color-mix(in srgb, var(--primary) 6%, var(--surface)) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-features {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefits {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        min-width: 0 !important;
        overflow: hidden !important;
        border: 1px solid var(--line) !important;
        border-radius: 12px !important;
        background: var(--surface-soft) !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit {
        min-width: 0 !important;
        min-height: 48px !important;
        display: grid !important;
        place-items: center !important;
        gap: 3px !important;
        padding: 6px 3px !important;
        border-inline-start: 1px solid var(--line) !important;
        text-align: center !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit:last-child {
        border-inline-start: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit > span {
        width: 20px !important;
        height: 20px !important;
        display: grid !important;
        place-items: center !important;
        color: var(--primary) !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit svg {
        width: 18px !important;
        height: 18px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit div {
        min-width: 0 !important;
        display: block !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit strong {
        display: block !important;
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 850 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit small {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-card {
        min-width: 0 !important;
        min-height: 48px !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) 18px !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 7px 10px !important;
        border: 1px solid var(--line) !important;
        border-radius: 12px !important;
        color: inherit !important;
        background: var(--surface) !important;
        text-decoration: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-mark {
        max-width: 92px !important;
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-500) !important;
        font-weight: 930 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 1px !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy strong {
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-200) !important;
        font-weight: 850 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy small {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-arrow {
        color: var(--primary) !important;
        font-size: var(--tl-type-700) !important;
        line-height: 1 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-add.is-added,
    body.storefront-body.product-detail-route .product-sticky-add.is-cart-link {
        color: #fff !important;
        background: var(--primary) !important;
    }
}

/* Products are fetched only after the shopper reaches the end of the current
   twelve-item batch. This element deliberately has no prefetch margin. */
.catalog-lazy-sentinel {
    display: grid;
    min-height: 28px;
    place-items: center;
    margin: 14px 0 4px;
    color: var(--muted, #718096);
    font: inherit;
    font-size: var(--tl-type-400);
}

.catalog-lazy-sentinel:not(.is-loading) > span {
    visibility: hidden;
}

/* Focused checkout: no storefront chrome, direct address-book selection. */
.storefront-body.checkout-route .site-header,
.storefront-body.checkout-route .site-footer,
.storefront-body.checkout-route .site-ambient,
.storefront-body.checkout-route .mobile-navigation,
.storefront-body.checkout-route .mobile-nav-backdrop,
.storefront-body.checkout-route .mobile-bottom-nav {
    display: none !important;
}

.storefront-body.checkout-route {
    min-height: 100vh;
    padding-bottom: 0 !important;
}

.storefront-body.checkout-route #main-content { padding-top: 0; }
.storefront-body.checkout-route .checkout-page { padding-top: 22px; }

.checkout-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.checkout-card .checkout-card-heading h2 { margin: 0; }
.checkout-card-heading p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: var(--tl-type-200);
}

.checkout-new-address {
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--line));
    border-radius: 10px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 7%, var(--surface));
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-200);
    font-weight: 800;
    white-space: nowrap;
}

.checkout-address-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.checkout-address-option {
    position: relative;
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid var(--line);
    border-radius: 12px;
    color: var(--text);
    background: color-mix(in srgb, var(--surface-strong) 88%, var(--bg));
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.checkout-address-option > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-address-option.selected {
    border-color: color-mix(in srgb, var(--primary) 58%, var(--line));
    background: color-mix(in srgb, var(--primary) 8%, var(--surface));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 12%, transparent);
}

.checkout-address-option__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.checkout-address-option__top strong { font-size: var(--tl-type-300); }
.checkout-address-option__top small {
    padding: 2px 7px;
    border-radius: 999px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 10%, transparent);
    font-size: var(--tl-type-100);
    font-weight: 800;
}

.checkout-address-option > span:not(.checkout-address-option__top) {
    overflow: hidden;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-address-editor {
    padding-top: 14px;
    border-top: 1px solid var(--line);
}

.checkout-address-list + .checkout-address-editor { padding-top: 14px; }
.checkout-address-editor__label {
    margin: 0 0 12px;
    color: var(--muted);
    font-size: var(--tl-type-100);
}

html[data-theme="dark"] .checkout-route .checkout-card,
html[data-theme="dark"] .checkout-route .checkout-summary,
html[data-theme="dark"] .checkout-route .checkout-field input,
html[data-theme="dark"] .checkout-route .checkout-field textarea {
    color: var(--text);
    border-color: var(--line);
    background: var(--surface);
}

html[data-theme="dark"] .checkout-route .checkout-field label,
html[data-theme="dark"] .checkout-route .checkout-check { color: var(--muted); }

@media (max-width: 840px) {
    .storefront-body.checkout-route .checkout-page {
        width: 100%;
        padding: 10px 10px 98px;
    }

    .checkout-route .checkout-heading {
        align-items: center;
        margin-bottom: 10px;
    }

    .checkout-route .checkout-heading h1 { font-size: var(--tl-type-800); }
    .checkout-route .checkout-heading p { font-size: var(--tl-type-100); }
    .checkout-route .checkout-heading > .btn { display: inline-flex; min-height: 34px; padding: 6px 10px; font-size: var(--tl-type-100); }
    .checkout-route .checkout-card { margin-bottom: 9px; padding: 14px 12px; border-radius: 14px; }
    .checkout-route .checkout-card-heading { align-items: flex-start; margin-bottom: 12px; }
    .checkout-route .checkout-address-list { grid-template-columns: 1fr; gap: 7px; }
    .checkout-route .checkout-address-option { padding: 10px 11px; }
    .checkout-route .checkout-mobile-action { right: 10px; left: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); }
}

.store-toast.is-visible { opacity: 1; transform: translateY(0); }
.store-toast.is-error { border-color: rgba(192, 55, 55, .55); }

.cart-quantity-stepper {
    display: inline-grid;
    grid-template-columns: 38px minmax(48px, 62px) 38px;
    align-items: center;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface);
}

.cart-quantity-stepper button,
.cart-quantity-stepper input {
    min-height: 38px;
    border: 0;
    color: var(--text);
    background: transparent;
    text-align: center;
    font: inherit;
}

.cart-quantity-stepper button { cursor: pointer; font-size: var(--tl-type-800); }
.cart-quantity-stepper button:hover { background: var(--surface-soft); }
.cart-quantity-stepper input { width: 100%; border-inline: 1px solid var(--line); }

.cart-mobile-checkout,
.checkout-mobile-action { display: none; }

.checkout-layout.is-quoting .checkout-summary { opacity: .72; }
.checkout-layout[data-submitting="true"] { cursor: progress; }

/* Product-card actions */
.product-card {
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease, background-color .24s ease;
}

.product-card::before {
    inset: 0;
    width: auto;
    height: auto;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(245, 200, 76, .10), transparent 38%, rgba(75, 169, 217, .11));
    filter: none;
    opacity: 0;
    transition: opacity .24s ease;
}

.product-card:hover {
    transform: translateY(-3px);
    border-color: rgba(75, 169, 217, .34);
    box-shadow: 0 19px 44px rgba(11, 17, 29, .12), 0 0 0 3px rgba(75, 169, 217, .055);
}

.product-card:hover::before { opacity: 1; }
.product-card:hover .product-image img { transform: scale(1.015); }
.product-image-shine { display: none !important; }

.wishlist-inline-button,
html[data-theme="dark"] .wishlist-inline-button {
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    color: #647084;
    backdrop-filter: none;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, .12));
}

.wishlist-inline-button svg { width: 23px; transition: transform .2s ease, fill .2s ease, color .2s ease; }
.wishlist-inline-button:hover { background: transparent; color: #df4251; transform: none; }
.wishlist-inline-button:hover svg { transform: scale(1.12); }
.wishlist-inline-form.is-active .wishlist-inline-button { color: #df3048; }
.wishlist-inline-form.is-active .wishlist-inline-button svg {
    fill: currentColor;
    stroke: #fff;
    transform: scale(1.08);
    filter: drop-shadow(0 3px 7px rgba(223, 48, 72, .3));
}

.product-card-cart-form { margin: 0; }
.product-card-add {
    min-width: 78px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid rgba(19, 45, 77, .18);
    border-radius: 8px;
    color: #fff;
    background: var(--primary);
    box-shadow: 0 8px 18px rgba(19, 45, 77, .14);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 800;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.product-card-add span { font-size: var(--tl-type-600); font-weight: 600; line-height: .8; }
.product-card-add:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 11px 24px rgba(19, 45, 77, .22); }
.product-card-add.disabled { color: var(--muted); background: var(--surface-soft); box-shadow: none; cursor: not-allowed; }
.product-card-cart-form.is-added .product-card-add {
    border-color: rgba(24, 139, 91, .42);
    color: #0f6140;
    background: linear-gradient(135deg, rgba(49, 190, 125, .20), rgba(34, 143, 105, .12));
    box-shadow: 0 5px 14px rgba(24, 139, 91, .10), inset 0 1px 0 rgba(255,255,255,.35);
}

/* Horizontal cart cards: image at the physical left, content at the right. */
.cart-page .cart-item {
    direction: ltr;
    display: grid;
    grid-template-columns: 124px 140px minmax(0, 1fr);
    grid-template-rows: 1fr auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 0;
    padding: 13px;
    min-height: 132px;
    overflow: hidden;
}

.cart-page .cart-items { display: grid; gap: 5px; }

.cart-page .cart-item > * { direction: rtl; }
.cart-page .cart-item-image { grid-column: 1; grid-row: 1 / 3; width: 124px; height: 110px; }
.cart-page .cart-item-price { grid-column: 2; grid-row: 1 / 3; align-self: center; text-align: center; }
.cart-page .cart-item-info { grid-column: 3; grid-row: 1; min-width: 0; }
.cart-page .cart-item-quantity { grid-column: 3; grid-row: 2; }
.cart-page .cart-item-title { display: block; margin-bottom: 5px; }
.cart-page .cart-item-price {
    display: grid;
    gap: 6px;
    margin-top: 0;
    font-size: var(--tl-type-400);
    font-weight: 850;
}

.cart-page .cart-price-part {
    display: grid;
    gap: 2px;
    padding: 7px 8px;
    border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
    border-radius: 9px;
    background: color-mix(in srgb, var(--surface-soft) 82%, transparent);
}

.cart-page .cart-price-part small {
    display: block;
    margin: 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
    font-weight: 650;
}

.cart-page .cart-price-part strong { color: var(--text); font-weight: 900; white-space: nowrap; }
.cart-page .cart-price-part em { color: var(--muted); font-size: var(--tl-type-100); font-style: normal; font-weight: 650; }
.cart-page .cart-line-price {
    border-color: rgba(75, 169, 217, .24);
    background: linear-gradient(135deg, rgba(75, 169, 217, .10), rgba(19, 45, 77, .055));
}

.product-cart-flyer {
    position: fixed;
    z-index: 2000;
    object-fit: contain;
    padding: 4px;
    border: 1px solid var(--line);
    background: #fff;
    box-shadow: 0 15px 40px rgba(5, 12, 24, .22);
    pointer-events: none;
}

html[data-theme="dark"] .product-card:hover {
    border-color: rgba(75, 169, 217, .42);
    box-shadow: 0 20px 46px rgba(0, 0, 0, .34), 0 0 0 3px rgba(75, 169, 217, .08);
}

html[data-theme="dark"] .wishlist-inline-button { color: #a8b3c4; }
html[data-theme="dark"] .wishlist-inline-form.is-active .wishlist-inline-button { color: #ff5368; }
html[data-theme="dark"] .product-card-cart-form.is-added .product-card-add { color: #74d7a8; background: rgba(45, 173, 112, .12); }

/* Product details: storefront-native recommendation rails and a focused mobile view. */
.product-suggestion-rail {
    margin-top: 22px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: color-mix(in srgb, var(--surface) 92%, var(--bg));
}

.product-suggestion-rail__heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.product-suggestion-rail__heading span {
    display: block;
    color: var(--muted);
    font-size: var(--tl-type-100);
}

.product-suggestion-rail__heading h2 { margin: 3px 0 0; font-size: var(--tl-type-700); }
.product-suggestion-rail__heading > a {
    color: var(--primary);
    font-size: var(--tl-type-200);
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

.product-suggestion-rail__items {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(155px, 190px);
    gap: 9px;
    overflow-x: auto;
    padding: 1px 1px 6px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
}

.product-suggestion-card {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 76px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--line) 88%, transparent);
    border-radius: 11px;
    color: var(--text);
    background: var(--surface-soft);
    scroll-snap-align: start;
    text-decoration: none;
}

.product-suggestion-card__image {
    display: grid;
    width: 66px;
    height: 62px;
    place-items: center;
    overflow: hidden;
    border-radius: 8px;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface-strong) 78%, var(--bg));
    font-size: var(--tl-type-100);
}

.product-suggestion-card__image img { width: 100%; height: 100%; object-fit: contain; }
.product-suggestion-card__copy { display: grid; min-width: 0; gap: 6px; }
.product-suggestion-card__copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 760;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.product-suggestion-card__copy b { color: var(--primary); font-size: var(--tl-type-100); font-weight: 900; white-space: nowrap; }

.product-description-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
}
.product-description-disclosure > summary::-webkit-details-marker { display: none; }
.product-description-disclosure > summary span { color: var(--primary); font-size: var(--tl-type-200); font-weight: 800; }
.product-description-disclosure[open] > summary { padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.product-description-disclosure[open] > summary span { font-size: 0; }
.product-description-disclosure[open] > summary span::after { content: "بستن"; font-size: var(--tl-type-200); }

.product-detail-toolbar {
    position: sticky;
    top: 10px;
    z-index: 55;
    direction: rtl;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    margin-bottom: 12px;
    padding: 6px;
    border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--line));
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    box-shadow: 0 10px 28px rgba(19, 45, 77, .12);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
}

.product-detail-toolbar__button {
    display: inline-grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--primary);
    background: var(--surface);
    cursor: pointer;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.product-detail-toolbar__button:hover { transform: translateY(-1px); border-color: var(--accent); }
.product-detail-toolbar__button svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.product-detail-toolbar__identity { min-width: 0; text-align: center; }
.product-detail-toolbar__identity strong { display: block; color: var(--text); font-size: var(--tl-type-400); font-weight: 850; }
.product-detail-toolbar__identity span { display: block; overflow: hidden; margin-top: 1px; color: var(--muted); font-size: var(--tl-type-100); white-space: nowrap; text-overflow: ellipsis; }
.product-detail-toolbar__actions { direction: ltr; display: flex; gap: 6px; }
.product-detail-bookmark-form { display: contents; }
.product-detail-bookmark-form.is-active .product-detail-toolbar__bookmark { border-color: rgba(240, 183, 47, .55); color: #102b49; background: #ffd45e; }
.product-detail-bookmark-form.is-active .product-detail-toolbar__bookmark svg { fill: currentColor; }
.product-detail-toolbar__button.is-copied { color: #fff; background: #198958; }

html[data-theme="dark"] .product-detail-toolbar {
    border-color: #314155;
    background: rgba(15, 25, 39, .9);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .32);
}
html[data-theme="dark"] .product-detail-toolbar__button { color: #dbe7f7; background: #172438; }
html[data-theme="dark"] .product-detail-bookmark-form.is-active .product-detail-toolbar__bookmark { color: #14263d; background: #ffd45e; }

.product-content-tabs { margin-top: 14px; }
.product-content-tabs__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--surface-soft);
}
.product-content-tabs__list button {
    min-height: 42px;
    border: 0;
    border-radius: 9px;
    color: var(--muted);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-300);
    font-weight: 800;
}
.product-content-tabs__list button.is-active { color: #fff; background: var(--primary); box-shadow: 0 7px 18px rgba(19, 45, 77, .18); }
.product-content-tabs__panel { margin-top: 7px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.product-content-tabs__panel[hidden] { display: none; }
.product-content-tabs__panel .product-reviews { margin: 0; padding: 0; border: 0; }

.product-sticky-purchase { display: none; }

@media (max-width: 840px) {
    .storefront-body.product-detail-route {
        padding-bottom: calc(88px + env(safe-area-inset-bottom));
    }

    .storefront-body.product-detail-route .site-header,
    .storefront-body.product-detail-route .site-footer,
    .storefront-body.product-detail-route .site-ambient,
    .storefront-body.product-detail-route .mobile-navigation,
    .storefront-body.product-detail-route .mobile-nav-backdrop,
    .storefront-body.product-detail-route .mobile-bottom-nav {
        display: none !important;
    }

    .storefront-body.product-detail-route #main-content { padding-top: 0; }
    .storefront-body.product-detail-route .product-page { padding: 76px 0 16px; }
    .storefront-body.product-detail-route .breadcrumb { display: none; }

    .storefront-body.product-detail-route .product-detail-toolbar {
        position: fixed;
        top: max(6px, env(safe-area-inset-top));
        right: max(8px, env(safe-area-inset-right));
        left: max(8px, env(safe-area-inset-left));
        min-height: 56px;
        margin: 0;
    }

    .storefront-body.product-detail-route .product-detail-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .storefront-body.product-detail-route .gallery-shell {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .storefront-body.product-detail-route .gallery-main {
        min-height: min(56vw, 265px);
        border-radius: 14px;
        background: var(--surface);
    }

    .storefront-body.product-detail-route .gallery-main img { max-height: min(56vw, 265px); }
    .storefront-body.product-detail-route .gallery-thumbnails { gap: 5px; padding: 0 1px; }
    .storefront-body.product-detail-route .gallery-thumbnail { width: 43px; height: 43px; }

    .storefront-body.product-detail-route .product-info {
        display: grid;
        gap: 9px;
        padding: 12px;
        border: 1px solid var(--line);
        border-radius: 14px;
        background: var(--surface);
    }

    .storefront-body.product-detail-route .product-brand { font-size: var(--tl-type-100); }
    .storefront-body.product-detail-route .product-info h1 { margin: 0; font-size: var(--tl-type-700); line-height: 1.85; }
    .storefront-body.product-detail-route .product-meta--compact { gap: 7px; font-size: var(--tl-type-100); }
    .storefront-body.product-detail-route .product-meta--compact span { padding: 3px 6px; border-radius: 7px; background: var(--surface-soft); }

    .storefront-body.product-detail-route .detail-price {
        display: flex;
        align-items: center;
        gap: 9px;
        margin: 0;
        padding: 9px 0;
    }
    .storefront-body.product-detail-route .detail-price .old-price { font-size: var(--tl-type-100); }
    .storefront-body.product-detail-route .detail-price .current-price { font-size: var(--tl-type-700); font-weight: 900; }
    .storefront-body.product-detail-route .short-description { margin: 0; font-size: var(--tl-type-200); line-height: 1.85; }

    .storefront-body.product-detail-route .variant-box { margin: 0; padding: 10px; border-radius: 10px; background: var(--surface-soft); }
    .storefront-body.product-detail-route .variant-row { grid-template-columns: minmax(0, 1fr) auto; gap: 6px; font-size: var(--tl-type-100); }
    .storefront-body.product-detail-route .variant-row span:last-child { display: none; }

    .storefront-body.product-detail-route .purchase-box { margin: 0; padding: 10px; border-radius: 11px; background: var(--surface-soft); }
    .storefront-body.product-detail-route .purchase-actions { gap: 8px; }
    .storefront-body.product-detail-route .purchase-actions .btn { min-height: 38px; flex: 1; }

    .storefront-body.product-detail-route .product-purchase-component .purchase-actions { display: none; }

    .product-sticky-purchase {
        position: fixed;
        right: max(8px, env(safe-area-inset-right));
        bottom: calc(8px + env(safe-area-inset-bottom));
        left: max(8px, env(safe-area-inset-left));
        z-index: 56;
        direction: rtl;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(132px, auto);
        align-items: center;
        gap: 7px;
        min-height: 58px;
        padding: 7px;
        border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--line));
        border-radius: 14px;
        background: color-mix(in srgb, var(--surface) 94%, transparent);
        box-shadow: 0 -10px 30px rgba(19, 45, 77, .17);
        backdrop-filter: blur(18px) saturate(150%);
        -webkit-backdrop-filter: blur(18px) saturate(150%);
    }
    .product-sticky-purchase__price { min-width: 0; display: grid; gap: 1px; }
    .product-sticky-purchase__price span { color: var(--muted); font-size: var(--tl-type-100); }
    .product-sticky-purchase__price strong { overflow: hidden; color: var(--primary); font-size: var(--tl-type-300); font-weight: 900; white-space: nowrap; text-overflow: ellipsis; }
    .product-sticky-add { min-width: 132px; min-height: 38px; padding: 0 14px; border: 0; border-radius: 10px; color: #fff; background: var(--primary); cursor: pointer; font: inherit; font-size: var(--tl-type-100); font-weight: 850; white-space: nowrap; }
    .product-sticky-add:disabled { cursor: not-allowed; opacity: .5; }
    .product-sticky-add.is-added { color: #164f39; background: #bcebd4; opacity: 1; cursor: pointer; }
    .product-purchase-component form.is-added .cart-primary.is-cart-link { color: #164f39; background: #bcebd4; }

    .storefront-body.product-detail-route .product-content-tabs { margin-top: 10px; }
    .storefront-body.product-detail-route .product-content-tabs__list { position: sticky; top: 70px; z-index: 20; }
    .storefront-body.product-detail-route .product-content-tabs__panel { max-height: min(58vh, 520px); overflow:auto; padding: 12px; }

    .storefront-body.product-detail-route .product-suggestion-rail { margin-top: 10px; padding: 12px; border-radius: 14px; }
    .storefront-body.product-detail-route .product-suggestion-rail__heading { margin-bottom: 9px; }
    .storefront-body.product-detail-route .product-suggestion-rail__heading h2 { font-size: var(--tl-type-500); }
    .storefront-body.product-detail-route .product-suggestion-rail__items { grid-auto-columns: minmax(166px, 72vw); }

    .storefront-body.product-detail-route .description-box { margin-top: 10px; padding: 13px; border-radius: 13px; background: var(--surface); }
    .storefront-body.product-detail-route .legacy-product-text { font-size: var(--tl-type-200); line-height: 1.95; }

    html[data-theme="dark"] .storefront-body.product-detail-route .gallery-main,
    html[data-theme="dark"] .storefront-body.product-detail-route .product-info,
    html[data-theme="dark"] .storefront-body.product-detail-route .product-suggestion-rail,
    html[data-theme="dark"] .storefront-body.product-detail-route .description-box {
        border-color: var(--line);
        background: var(--surface);
    }
    html[data-theme="dark"] .product-sticky-purchase { border-color: #314155; background: rgba(15, 25, 39, .94); }
    html[data-theme="dark"] .product-sticky-add.is-added { color: #bdf5d8; background: #174d38; }
}

.site-logo .logo-mark.has-image {
    width: auto;
    min-width: 48px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

.site-logo .logo-mark img {
    width: auto !important;
    max-width: 150px;
    height: 48px !important;
    padding: 0 !important;
    object-fit: contain;
}

/* Section wrappers preserve the established desktop discovery grid. */
.catalog-mobile-panel { display: contents; }

@media (max-width: 840px) {
    .storefront-body:has(.cart-page),
    .storefront-body:has(.checkout-page) { padding-bottom: 92px; }

    .cart-page,
    .checkout-page { padding-bottom: 94px; }

    .storefront-body.cart-route .site-header,
    .storefront-body.cart-route .site-footer,
    .storefront-body.cart-route .site-ambient,
    .storefront-body.cart-route .mobile-navigation,
    .storefront-body.cart-route .mobile-nav-backdrop { display: none !important; }

    .storefront-body.cart-route #main-content { padding-top: 8px; }
    .storefront-body.cart-route .cart-mobile-checkout { display: none !important; }

    .header-actions .cart-link { display: none !important; }

    .storefront-body.home-route .mobile-menu-toggle,
    .storefront-body.home-route .site-logo,
    .storefront-body.home-route .header-actions,
    .storefront-body.home-route .main-nav-wrap { display: none !important; }

    .storefront-body.home-route .header-main {
        display: block;
        padding: 9px 12px;
    }

    .storefront-body.home-route .header-search {
        display: flex;
        width: 100%;
        max-width: none;
        margin: 0;
    }

    /* The mobile catalog keeps only its global search and three-part tool row. */
    .storefront-body.products-route .mobile-menu-button,
    .storefront-body.products-route .header-row > .site-logo,
    .storefront-body.products-route .header-actions,
    .storefront-body.products-route .main-nav-wrap,
    .storefront-body.products-route .catalog-top {
        display: none !important;
    }

    .storefront-body.products-route .header-row {
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: 44px;
        gap: 0;
        padding: 6px 0 5px;
    }

    .storefront-body.products-route .header-search {
        grid-column: 1;
        grid-row: 1;
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .storefront-body.products-route .catalog-page { padding-top: 7px; }
    .storefront-body.products-route .site-footer { display: none !important; }

    .storefront-body.products-route .catalog-mobile-tools {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        margin: 0 0 7px;
        overflow: hidden;
        border: 1px solid rgba(75, 169, 217, .22);
        border-radius: 13px;
        background: rgba(255, 255, 255, .84);
        box-shadow: 0 8px 22px rgba(17, 46, 80, .08);
    }

    .storefront-body.products-route .catalog-mobile-tools button {
        min-width: 0;
        min-height: 43px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 7px 5px;
        border: 0;
        border-left: 1px solid rgba(75, 169, 217, .18);
        color: #173f69;
        background: transparent;
        font: inherit;
        font-size: var(--tl-type-100);
        font-weight: 800;
        cursor: pointer;
        transition: color .18s ease, background .18s ease;
    }

    .storefront-body.products-route .catalog-mobile-tools button:last-child {
        border-left: 0;
    }

    .storefront-body.products-route .catalog-mobile-tools button svg {
        width: 16px;
        height: 16px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .storefront-body.products-route .catalog-mobile-tools button.is-active {
        color: #fff;
        background: linear-gradient(145deg, #1b527f, #132d4d);
    }

    .storefront-body.products-route .catalog-discovery-form {
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 0 0 7px;
        padding: 9px;
        border-radius: 13px;
    }

    .storefront-body.products-route .catalog-desktop-only-field {
        display: none !important;
    }

    .storefront-body.products-route .catalog-desktop-filter-control {
        display: none !important;
    }

    .storefront-body.products-route .catalog-mobile-panel {
        display: none;
    }

    .storefront-body.products-route .catalog-mobile-panel.is-active {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .storefront-body.products-route .catalog-advanced-panel.is-active {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .storefront-body.products-route .catalog-direct-options {
        grid-column: 1 / -1;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
        max-height: min(43vh, 360px);
        overflow: auto;
        padding: 1px;
        scrollbar-width: thin;
    }

    .storefront-body.products-route .catalog-direct-option {
        position: relative;
        min-width: 0;
        color: inherit;
        text-decoration: none;
        cursor: pointer;
    }

    .storefront-body.products-route .catalog-direct-option input {
        position: absolute;
        opacity: 0;
        pointer-events: none;
    }

    .storefront-body.products-route .catalog-direct-option span {
        min-height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 6px 7px;
        border: 1px solid rgba(75, 169, 217, .18);
        border-radius: 8px;
        color: #273b55;
        background: rgba(241, 246, 251, .84);
        font-size: var(--tl-type-100);
        font-weight: 700;
        line-height: 1.55;
        text-align: center;
        transition: border-color .16s ease, color .16s ease, background .16s ease;
    }

    .storefront-body.products-route .catalog-direct-option input:checked + span,
    .storefront-body.products-route .catalog-direct-option.is-selected span {
        border-color: #1b527f;
        color: #fff;
        background: linear-gradient(145deg, #1b527f, #132d4d);
        box-shadow: 0 5px 14px rgba(19, 45, 77, .18);
    }

    .storefront-body.products-route .catalog-direct-option input:focus-visible + span {
        outline: 2px solid #f5c84c;
        outline-offset: 1px;
    }

    .storefront-body.products-route .catalog-sort-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none;
    }

    .storefront-body.products-route .catalog-panel-heading,
    .storefront-body.products-route .catalog-filter-actions {
        grid-column: 1 / -1;
    }

    .storefront-body.products-route .catalog-panel-heading {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        padding: 2px 1px 5px;
    }

    .storefront-body.products-route .catalog-panel-heading strong {
        color: #173f69;
        font-size: var(--tl-type-200);
    }

    .storefront-body.products-route .catalog-panel-heading span {
        color: #738096;
        font-size: var(--tl-type-100);
    }

    .storefront-body.products-route .catalog-panel-apply {
        width: 100%;
        min-height: 36px;
        margin-top: 1px;
        border-radius: 9px;
        font-size: var(--tl-type-100);
    }

    .storefront-body.products-route .catalog-filter-actions {
        display: grid;
        grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
        gap: 6px;
    }

    .storefront-body.products-route .catalog-apply-filters {
        width: 100%;
        min-height: 36px;
        border-radius: 8px;
        color: #fff;
        background: linear-gradient(145deg, #1b527f, #132d4d);
        font-size: var(--tl-type-100);
        font-weight: 900;
        box-shadow: 0 6px 15px rgba(19, 45, 77, .2);
    }

    .storefront-body.products-route .catalog-clear-filters {
        width: 100%;
        min-height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        color: #884029;
        background: rgba(242, 130, 85, .08);
        font-size: var(--tl-type-100);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-mobile-tools {
        border-color: rgba(141, 184, 224, .2);
        background: rgba(16, 29, 47, .94);
        box-shadow: 0 10px 25px rgba(0, 0, 0, .24);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-mobile-tools button {
        border-left-color: rgba(141, 184, 224, .16);
        color: #d8e4f2;
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-mobile-tools button.is-active {
        color: #0c1624;
        background: linear-gradient(145deg, #f5c84c, #efad2f);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-panel-heading strong {
        color: #edf4fc;
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-panel-heading span {
        color: #94a4b9;
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-direct-option span {
        border-color: rgba(141, 184, 224, .16);
        color: #d8e4f2;
        background: rgba(255, 255, 255, .045);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-direct-option input:checked + span,
    html[data-theme="dark"] .storefront-body.products-route .catalog-direct-option.is-selected span {
        border-color: #f5c84c;
        color: #101b2a;
        background: linear-gradient(145deg, #f5c84c, #efad2f);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-clear-filters {
        color: #ffb098;
        border-color: rgba(255, 176, 152, .18);
        background: rgba(242, 130, 85, .08);
    }

    html[data-theme="dark"] .storefront-body.products-route .catalog-apply-filters {
        color: #101b2a;
        background: linear-gradient(145deg, #f5c84c, #efad2f);
        box-shadow: 0 6px 16px rgba(239, 173, 47, .18);
    }

    .site-logo .logo-mark img { max-width: 118px; height: 42px !important; }

    .mobile-bottom-nav .mobile-checkout-nav {
        min-width: 64px;
        height: 54px;
        margin: -12px 2px 0;
        padding: 4px 6px;
        border: 1px solid rgba(75, 169, 217, .32);
        border-radius: 16px;
        color: #fff !important;
        background: linear-gradient(145deg, #1a507f, #112e50);
        box-shadow: 0 10px 25px rgba(17, 46, 80, .32), 0 0 0 3px rgba(245, 200, 76, .18);
        font-weight: 900;
    }

    .mobile-bottom-nav .mobile-checkout-nav .mobile-cart-icon {
        width: 34px;
        height: 30px;
        border: 0;
        border-radius: 10px;
        color: #132d4d;
        background: linear-gradient(145deg, #ffe077, #f5b933);
        box-shadow: 0 5px 12px rgba(245, 185, 51, .24);
    }

    .mobile-bottom-nav .mobile-checkout-nav svg { width: 18px; height: 18px; stroke-width: 2.3; }
    .mobile-bottom-nav .mobile-checkout-nav > span:last-child { color: #fff; font-size: var(--tl-type-100); line-height: 1; }

    .cart-page .cart-heading { display: none; }

    .store-toast {
        inset: auto 16px calc(82px + env(safe-area-inset-bottom)) 16px;
        max-width: none;
        text-align: center;
    }

    .cart-page .cart-layout,
    .checkout-page .checkout-layout {
        display: block;
    }

    .cart-page .cart-summary,
    .checkout-page .checkout-summary {
        position: static;
        width: 100%;
        margin-top: 16px;
    }

    .cart-page .cart-item {
        display: grid;
        direction: ltr;
        grid-template-columns: 56px 88px minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) 27px;
        gap: 4px;
        width: 100%;
        height: clamp(74px, calc((100vw - 40px) / 4.6), 84px);
        min-height: 0;
        margin-bottom: 0;
        padding: 5px 6px;
        border-radius: 14px;
        overflow: hidden;
    }

    .cart-page .cart-item > * { direction: rtl; }
    .cart-page .cart-item-image {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 52px;
        height: 52px;
        aspect-ratio: 1 / 1;
        align-self: center;
        border-radius: 8px;
    }
    .cart-page .cart-item-info { grid-column: 3; grid-row: 1; min-width: 0; align-self: center; }
    .cart-page .cart-item-title {
        min-height: 0;
        overflow: hidden;
        overflow-wrap: anywhere;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        margin: 0;
        font-size: var(--tl-type-100);
        line-height: 1.4;
    }
    .cart-page .cart-item-meta { display: none; }
    .cart-page .cart-item-price {
        grid-column: 2;
        grid-row: 1 / 3;
        align-self: center;
        display: grid;
        gap: 2px;
        margin: 0;
        font-size: var(--tl-type-100);
        line-height: 1.1;
        text-align: center;
    }
    .cart-page .cart-price-part {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 3px;
        min-height: 24px;
        padding: 3px 4px;
        border-radius: 7px;
    }
    .cart-page .cart-price-part small { margin: 0; font-size: var(--tl-type-100); white-space: nowrap; }
    .cart-page .cart-price-part strong { font-size: var(--tl-type-100); }
    .cart-page .cart-price-part em { display: block; font-size: var(--tl-type-100); }
    .cart-page .cart-item-quantity {
        grid-column: 3;
        grid-row: 2;
        width: auto;
        height: 30px;
        align-self: end;
        justify-self: end;
    }
    .cart-page .cart-item-quantity form { display: flex; align-items: center; justify-content: flex-end; }
    .cart-page .cart-item-quantity label,
    .cart-page .cart-item-quantity small { display: none; }

    .cart-page .quantity-row {
        direction: ltr;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 1px;
        width: 102px;
        height: 30px;
        padding: 2px 4px;
        border: 1px solid rgba(68, 142, 201, .28);
        border-radius: 15px;
        color: #fff;
        background: linear-gradient(135deg, #173f69, #132642);
        box-shadow: 0 6px 15px rgba(19, 45, 77, .22), inset 0 1px 0 rgba(255,255,255,.12);
        box-sizing: border-box;
        overflow: hidden;
    }

    .cart-page .quantity-row .quantity-step {
        flex: 0 0 29px;
        width: 29px;
        height: 25px;
        border: 0;
        border-radius: 7px;
        color: #fff;
        font-size: var(--tl-type-600);
        font-weight: 900;
        padding: 0;
        background: transparent;
    }

    .cart-page .quantity-row .quantity-step:disabled { color: rgba(255,255,255,.34); opacity: 1; }
    .cart-page .quantity-row .quantity-step:not(:disabled):active { background: rgba(255,255,255,.16); transform: scale(.92); }
    .cart-page .quantity-row [data-quantity-step="1"] { color: #ffd65a; }
    .cart-page .quantity-row [data-quantity-step="1"]:disabled { color: rgba(255,255,255,.34); }
    .cart-page .quantity-row .quantity-minus.is-remove-action { color: #ffb1a8; }
    .cart-page .quantity-row .quantity-remove-icon {
        display: block;
        width: 16px;
        height: 16px;
        margin: auto;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .cart-page .quantity-row input {
        flex: 0 0 32px;
        width: 32px;
        height: 24px;
        min-height: 24px;
        padding: 0;
        border: 0;
        border-radius: 12px;
        color: #102a48;
        background: #eef7ff;
        box-shadow: inset 0 0 0 1px rgba(75,169,217,.18);
        font-size: var(--tl-type-100);
        font-weight: 900;
        line-height: 24px;
    }
    .cart-page .clear-cart-form { display: none; }

    .cart-page .cart-items { display: grid; gap: 1px; }
    .cart-page { padding-bottom: 126px; }

    .cart-mobile-total {
        position: fixed;
        z-index: 1095;
        right: 8px;
        bottom: calc(70px + env(safe-area-inset-bottom));
        left: 8px;
        height: 44px;
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 9px;
        padding: 7px 15px;
        border: 1px solid rgba(255,255,255,.15);
        border-bottom: 0;
        border-radius: 14px 14px 0 0;
        color: rgba(255,255,255,.76);
        background: linear-gradient(135deg, #173f69, #10243f);
        box-shadow: 0 -9px 24px rgba(19, 45, 77, .22);
        font-size: var(--tl-type-200);
    }

    .cart-mobile-total::before { content: ""; width: 4px; height: 22px; border-radius: 4px; background: #ffd044; box-shadow: 0 0 12px rgba(255,208,68,.38); }
    .cart-mobile-total strong { color: #fff; font-size: var(--tl-type-500); font-weight: 900; }

    .cart-mobile-checkout,
    .checkout-mobile-action {
        position: fixed;
        inset: auto 0 0 0;
        z-index: 1100;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--line);
        background: var(--surface);
        box-shadow: 0 -14px 36px rgba(5, 12, 24, .14);
    }

    .cart-mobile-checkout .btn,
    .checkout-mobile-action .btn { min-width: 46%; }

    .checkout-page .checkout-heading { align-items: flex-start; }
    .checkout-page .checkout-heading > .btn { display: none; }
    .checkout-page .checkout-card { padding: 18px 14px; border-radius: 16px; }
    .checkout-page .checkout-fields { display: grid; grid-template-columns: 1fr; }
    .checkout-page .checkout-field.span-2 { grid-column: auto; }

    .checkout-page .shipping-list { display: grid; grid-template-columns: 1fr; }
    .checkout-page .shipping-option {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 14px;
    }

    .checkout-page .shipping-price {
        grid-column: 2;
        justify-self: start;
    }

    .product-card:hover { transform: none; }
    .product-card .price-row {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        gap: 5px;
        min-height: 0;
        padding-top: 8px;
    }
    .product-card .price-row > div { justify-items: center; }
    .product-card .product-card-cart-form { display: flex; justify-content: center; width: 100%; }
    .product-card-add {
        width: auto;
        min-width: 62px;
        min-height: 24px;
        padding: 2px 7px;
        border-radius: 6px;
        font-size: var(--tl-type-100);
        line-height: 1;
        white-space: nowrap;
    }
    .product-card-add span { font-size: var(--tl-type-300); }
    .wishlist-inline-button,
    html[data-theme="dark"] .wishlist-inline-button { width: 34px; height: 34px; }
}

@media (max-width: 430px) {
    .cart-page .cart-item { grid-template-columns: 52px 84px minmax(0, 1fr); }
    .cart-page .cart-item-image { width: 48px; height: 48px; }
    .cart-page .cart-item-quantity { width: auto; }
    .cart-quantity-stepper { grid-template-columns: 36px 46px 36px; }
    .cart-mobile-checkout,
    .checkout-mobile-action { padding-inline: 12px; }
}

.product-card .wishlist-inline-form {
    display: none !important;
}

.product-card .product-badges .product-badge:not(.discount-badge) {
    display: none !important;
}

.catalog-main .product-badges {
    top: 4px;
    right: auto;
    left: 4px;
    gap: 0;
}

.catalog-main .product-badge,
.catalog-main .discount-badge,
html[data-theme="dark"] .catalog-main .product-badge,
html[data-theme="dark"] .catalog-main .discount-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 20px;
    padding: 3px 7px;
    border: 1px solid rgba(255, 255, 255, .88);
    border-radius: 9px;
    background: linear-gradient(135deg, #ff9a3d, #ff4d6d);
    box-shadow: 0 7px 18px rgba(255, 77, 109, .24);
    color: #fff;
    font-size: var(--tl-type-100);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .18);
    white-space: nowrap;
}

/* Configurable product-card presentation on the mobile catalog page. */
@media (max-width: 840px) {
    .mobile-product-cards-grid .catalog-main .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .mobile-product-cards-grid .catalog-main .product-card {
        border-radius: 15px;
    }

    .mobile-product-cards-grid .catalog-main .product-image {
        aspect-ratio: 1 / 1;
    }

    .mobile-product-cards-grid .catalog-main .product-body {
        padding: 9px;
    }

    .mobile-product-cards-grid .catalog-main .product-title {
        min-height: 42px;
        margin-top: 5px;
        font-size: var(--tl-type-100);
        line-height: 2.05;
    }

    .mobile-product-cards-grid .catalog-main .price-row {
        display: grid;
        grid-template-columns: 1fr;
        justify-items: stretch;
        gap: 6px;
        min-height: 0;
        padding-top: 8px;
    }

    .mobile-product-cards-grid .catalog-main .price-row > div {
        justify-items: center;
    }

    .mobile-product-cards-grid .catalog-main .product-card-cart-form {
        width: 100%;
    }

    .mobile-product-cards-grid .catalog-main .product-card-add {
        width: 100%;
        min-width: 0;
        min-height: 28px;
        padding: 3px 7px;
        border-radius: 7px;
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-grid .catalog-main .product-badges {
        top: 3px;
        right: auto;
        left: 3px;
    }

    .mobile-product-cards-grid .catalog-main .product-badge,
    .mobile-product-cards-grid .catalog-main .discount-badge,
    html[data-theme="dark"] .mobile-product-cards-grid .catalog-main .product-badge,
    html[data-theme="dark"] .mobile-product-cards-grid .catalog-main .discount-badge {
        min-height: 18px;
        padding: 2px 6px;
        border-radius: 8px;
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-list .catalog-main .product-grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .mobile-product-cards-list .catalog-main .product-card {
        display: grid;
        grid-template-columns: 100px minmax(0, 1fr);
        direction: ltr;
        min-height: 100px;
        border-radius: 14px;
        overflow: hidden;
    }

    .mobile-product-cards-list .catalog-main .product-image {
        grid-column: 1;
        grid-row: 1;
        width: 100px;
        height: 100px;
        aspect-ratio: 1 / 1;
        border-left: 1px solid var(--line);
        direction: rtl;
    }

    .mobile-product-cards-list .catalog-main .product-image img {
        padding: 8px;
    }

    .mobile-product-cards-list .catalog-main .product-image::after {
        inset: auto 17% 6% 17%;
    }

    .mobile-product-cards-list .catalog-main .product-body {
        display: grid;
        grid-template-rows: auto auto 1fr auto;
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        padding: 7px 9px 6px;
        direction: rtl;
    }

    .mobile-product-cards-list .catalog-main .product-card-meta {
        grid-row: 2;
        min-height: 12px;
        margin: 0;
        justify-content: flex-start;
    }

    .mobile-product-cards-list .catalog-main :is(.product-brand, .product-stock) {
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-list .catalog-main .product-brand {
        display: none;
    }

    .mobile-product-cards-list .catalog-main .product-title {
        grid-row: 1;
        min-height: 0;
        margin: 0;
        font-size: var(--tl-type-200);
        line-height: 1.7;
    }

    .mobile-product-cards-list .catalog-main .product-code {
        display: none;
    }

    .mobile-product-cards-list .catalog-main .price-row {
        grid-row: 4;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        gap: 6px;
        direction: rtl;
        min-height: 0;
        margin-top: auto;
        padding-top: 5px;
    }

    .mobile-product-cards-list .catalog-main .price-row > div {
        grid-column: 2;
        justify-items: end;
        justify-self: end;
    }

    .mobile-product-cards-list .catalog-main .current-price {
        font-size: var(--tl-type-400);
    }

    .mobile-product-cards-list .catalog-main .old-price {
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-list .catalog-main .product-card-cart-form {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
        width: auto;
    }

    .mobile-product-cards-list .catalog-main .product-card-add {
        width: auto;
        min-width: 76px;
        min-height: 27px;
        padding: 3px 8px;
        border-radius: 7px;
        border-color: rgba(245, 200, 76, .55);
        color: #fff;
        background: linear-gradient(135deg, #132d4d, #1e5684);
        box-shadow: 0 6px 14px rgba(19, 45, 77, .22);
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-list .catalog-main .wishlist-inline-form {
        top: 7px;
        right: auto;
        left: 7px;
    }

    .mobile-product-cards-list .catalog-main .wishlist-inline-button,
    html[data-theme="dark"] .mobile-product-cards-list .catalog-main .wishlist-inline-button {
        width: 30px;
        height: 30px;
    }

    .mobile-product-cards-list .catalog-main .product-badges {
        top: 3px;
        right: auto;
        bottom: auto;
        left: 3px;
    }

    .mobile-product-cards-list .catalog-main .product-badge,
    .mobile-product-cards-list .catalog-main .discount-badge,
    html[data-theme="dark"] .mobile-product-cards-list .catalog-main .product-badge,
    html[data-theme="dark"] .mobile-product-cards-list .catalog-main .discount-badge {
        min-height: 18px;
        padding: 2px 6px;
        border-radius: 8px;
        font-size: var(--tl-type-100);
    }
}

/* Final checkout cascade guard. */
@media (max-width: 840px) {
    .storefront-body.checkout-route .checkout-page { padding: 10px 10px 98px; }
    .storefront-body.checkout-route .checkout-heading > .btn { display: inline-flex; }
    .storefront-body.checkout-route .checkout-mobile-action {
        right: 10px;
        left: 10px;
        bottom: calc(10px + env(safe-area-inset-bottom));
    }
}

/* Stable product-card review, price and action geometry. */
.product-card-meta:empty { display: none; }

.product-card-rating {
    min-height: 19px;
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 3px;
    margin-top: 4px;
    color: var(--muted);
    text-decoration: none;
    font-size: var(--tl-type-100);
    line-height: 1;
    white-space: nowrap;
}

.product-card-rating__star {
    color: var(--accent-strong);
    font-size: var(--tl-type-400);
    filter: drop-shadow(0 2px 4px rgba(231, 173, 32, .2));
}

.product-card-rating strong {
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.product-card-rating__count { color: var(--muted); }

.product-price-stack,
.price-row > .product-price-stack {
    min-height: 39px;
    display: grid;
    grid-template-rows: 14px 25px;
    align-content: end;
    justify-items: start;
}

.product-price-stack .old-price {
    min-height: 14px;
    line-height: 14px;
}

.product-price-stack .current-price {
    min-height: 25px;
    line-height: 25px;
}

.product-price-stack .price-placeholder { visibility: hidden; }

.product-card .price-row {
    align-items: flex-end;
}

.product-card .price-row > :is(.product-card-add, .product-card-cart-form) {
    align-self: end;
}

html[data-theme="dark"] .product-card-rating strong { color: var(--text); }

@media (max-width: 840px) {
    .product-card-rating {
        min-height: 16px;
        margin-top: 2px;
        font-size: var(--tl-type-100);
    }

    .product-card-rating__star { font-size: var(--tl-type-200); }
    .product-card-rating strong { font-size: var(--tl-type-100); }

    .mobile-product-cards-grid .catalog-main .price-row {
        min-height: 70px;
        grid-template-rows: 36px 28px;
        align-content: end;
    }

    .mobile-product-cards-grid .catalog-main .product-price-stack {
        min-height: 36px;
        grid-template-rows: 12px 24px;
    }

    .mobile-product-cards-grid .catalog-main .product-price-stack .old-price {
        min-height: 12px;
        line-height: 12px;
    }

    .mobile-product-cards-grid .catalog-main .product-price-stack .current-price {
        min-height: 24px;
        line-height: 24px;
    }

    .mobile-product-cards-list .catalog-main .product-body {
        position: relative;
        grid-template-rows: 36px 16px minmax(0, 1fr) 34px;
    }

    .mobile-product-cards-list .catalog-main .product-card-meta {
        grid-row: 2;
        align-self: center;
        justify-content: flex-start;
    }

    .mobile-product-cards-list .catalog-main .product-card-rating {
        grid-row: 2;
        align-self: center;
        justify-self: end;
        min-height: 14px;
        margin: 0;
    }

    .mobile-product-cards-list .catalog-main .price-row {
        height: 34px;
        min-height: 34px;
        grid-template-columns: minmax(0, 1fr) auto;
        direction: ltr;
        padding-top: 2px;
    }

    .mobile-product-cards-list .catalog-main .price-row > .product-price-stack {
        /* IMAGE_ALIGNED_PRICE_RAIL: anchored to product-body, not price-row. */
        position: absolute;
        left: 9px;
        bottom: 6px;
        grid-column: 1;
        justify-self: start;
        justify-items: start;
        inline-size: max-content;
        min-inline-size: 86px;
        min-height: 30px;
        grid-template-rows: 11px 19px;
        direction: ltr;
        transform: none;
    }

    .mobile-product-cards-list .catalog-main .price-row > :is(.product-card-add, .product-card-cart-form) {
        grid-column: 2;
        justify-self: end;
        direction: rtl;
    }

    .mobile-product-cards-list .catalog-main .product-price-stack .old-price {
        inline-size: 100%;
        min-height: 11px;
        line-height: 11px;
        text-align: left;
        white-space: nowrap;
    }

    .mobile-product-cards-list .catalog-main .product-price-stack .current-price {
        inline-size: max-content;
        min-inline-size: 86px;
        min-height: 19px;
        line-height: 19px;
        justify-content: flex-start;
        direction: ltr;
        white-space: nowrap;
    }

    .mobile-product-cards-list .catalog-main .product-price-stack .price-amount {
        direction: rtl;
        unicode-bidi: isolate;
        font-variant-numeric: tabular-nums;
    }
}

/* Unified catalog palette: desktop follows the mobile navy/accent language.
   Kept at the end of the cascade so configured grid/list mobile layouts only
   inherit colors and their geometry remains unchanged. */
.product-card {
    border-color: color-mix(in srgb, var(--primary) 18%, var(--line));
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--surface-solid) 96%, var(--primary) 4%),
        color-mix(in srgb, var(--surface-solid) 98%, var(--accent) 2%));
}

.product-card .product-card-add {
    border-color: color-mix(in srgb, var(--accent) 58%, var(--primary));
    color: #fff;
    background: linear-gradient(135deg, #132d4d, #1e5684);
    box-shadow: 0 6px 14px rgba(19, 45, 77, .22);
}

.product-card .product-card-add:hover {
    color: #fff;
    background: linear-gradient(135deg, #17395f, #256795);
}

.product-card .product-card-cart-form.is-added .product-card-add {
    border-color: rgba(31, 142, 96, .56);
    color: #0d5d3d;
    background: linear-gradient(135deg, #dff4e9, #c8ead9);
    box-shadow: 0 5px 14px rgba(24, 139, 91, .13), inset 0 1px 0 rgba(255,255,255,.62);
}

html[data-theme="dark"] .product-card {
    border-color: rgba(89, 153, 210, .22);
    background: linear-gradient(145deg, #101d2e, #0d1827);
}

html[data-theme="dark"] .product-card .product-card-cart-form.is-added .product-card-add {
    border-color: rgba(83, 202, 145, .46);
    color: #c4f5dc;
    background: linear-gradient(135deg, #1b5943, #174635);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255,255,255,.08);
}

.catalog-attribute-filters { display: grid; grid-column: 1 / -1; gap: 10px; }
.catalog-attribute-filter { min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
.catalog-attribute-filter legend { padding: 0 6px; color: var(--text); font-size: var(--tl-type-300); font-weight: 850; }
.catalog-attribute-values { display: flex; flex-wrap: wrap; gap: 7px; }
.catalog-attribute-value { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--text); background: var(--surface-soft); cursor: pointer; }
.catalog-attribute-value:has(input:checked) { border-color: color-mix(in srgb, var(--primary) 58%, var(--line)); background: color-mix(in srgb, var(--primary) 12%, var(--surface-solid)); }
.catalog-attribute-value small { color: var(--muted); font-size: var(--tl-type-100); }
.catalog-attribute-value input { accent-color: var(--accent-strong); }

html[data-theme="dark"] .catalog-attribute-filter { border-color: rgba(255,255,255,.11); background: rgba(255,255,255,.025); }
html[data-theme="dark"] .catalog-attribute-value { border-color: rgba(255,255,255,.10); background: rgba(255,255,255,.055); }

@media (max-width: 840px) {
    .catalog-attribute-filters { gap: 8px; }
    .catalog-attribute-filter { padding: 9px; }
    .catalog-attribute-values { gap: 6px; }
    .catalog-attribute-value { flex: 1 1 calc(50% - 6px); justify-content: space-between; font-size: var(--tl-type-200); }
}

/* Mobile product gallery: a fixed vertical thumbnail rail on the physical
   right of the primary image. Extra thumbnails scroll inside the rail. */
@media (max-width: 840px) {
    .storefront-body.product-detail-route .gallery-shell {
        direction: ltr;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: clamp(230px, 68vw, 320px);
        gap: 6px;
        align-items: stretch;
    }

    .storefront-body.product-detail-route .gallery-shell.has-thumbnails {
        grid-template-columns: minmax(0, 1fr) 50px;
    }

    .storefront-body.product-detail-route .gallery-shell.single-image .gallery-main {
        grid-column: 1 / -1;
    }

    .storefront-body.product-detail-route .gallery-main {
        grid-column: 1;
        grid-row: 1;
        display: grid;
        place-items: center;
        position: relative;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        padding: 0;
        box-sizing: border-box;
        overflow: hidden;
    }

    .storefront-body.product-detail-route .gallery-main > img[data-product-gallery-main] {
        display: block !important;
        position: absolute !important;
        top: 10px !important;
        right: auto !important;
        bottom: auto !important;
        left: 10px !important;
        width: calc(100% - 20px) !important;
        height: calc(100% - 20px) !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: none !important;
        max-height: none !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        object-fit: contain !important;
        object-position: 50% 50% !important;
        transform: none !important;
        clip-path: none !important;
    }

    .storefront-body.product-detail-route .gallery-thumbnails {
        grid-column: 2;
        grid-row: 1;
        display: grid;
        grid-auto-rows: 46px;
        grid-template-columns: 1fr;
        align-content: start;
        gap: 5px;
        width: 50px;
        height: 100%;
        padding: 1px 2px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scroll-snap-type: y proximity;
    }

    .storefront-body.product-detail-route .gallery-thumbnail {
        width: 46px;
        height: 46px;
        min-width: 46px;
        padding: 2px;
        scroll-snap-align: start;
    }
}

/* CHECKOUT_FLOW_3_STEP_REDESIGN_20260826 */
.storefront-body.checkout-route .checkout-flow-page {
    width: min(1080px, calc(100% - 28px));
    padding: 18px 0 42px;
}

.checkout-flow-head {
    display: flex;
    justify-content: center;
    margin-bottom: 18px;
    padding: 8px 4px 16px;
    border-bottom: 1px solid var(--line);
}

.checkout-flow-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: max-content;
    color: var(--text);
    text-decoration: none;
}

.checkout-flow-brand__mark {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--primary) 32%, var(--line));
    border-radius: 12px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 8%, var(--surface));
    font-size: var(--tl-type-100);
    font-weight: 950;
    letter-spacing: -.03em;
}

.checkout-flow-brand > span:last-child {
    display: grid;
    gap: 2px;
}

.checkout-flow-brand strong { font-size: var(--tl-type-400); }
.checkout-flow-brand small { color: var(--muted); font-size: var(--tl-type-100); }

.checkout-flow-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    width: min(620px, 100%);
    direction: rtl;
}

.checkout-flow-step {
    position: relative;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    min-width: 0;
    padding: 0 6px;
    border: 0;
    color: var(--muted);
    background: transparent;
    text-decoration: none;
    text-align: right;
    cursor: pointer;
    font: inherit;
}

.checkout-flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 13px;
    right: calc(100% - 3px);
    width: calc(100% - 26px);
    height: 1px;
    background: var(--line);
}

.checkout-flow-step > span {
    position: relative;
    z-index: 1;
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-flow-step b {
    overflow: hidden;
    font-size: var(--tl-type-100);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-flow-step.is-active { color: var(--text); }
.checkout-flow-step.is-active > span {
    border-color: color-mix(in srgb, var(--primary) 72%, var(--line));
    color: #fff;
    background: var(--primary);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 12%, transparent);
}

.checkout-flow-step.is-done { color: var(--primary); }
.checkout-flow-step.is-done > span {
    border-color: color-mix(in srgb, var(--primary) 35%, var(--line));
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 8%, var(--surface));
}

.checkout-flow-panel { min-width: 0; }
.checkout-flow-panel[hidden] { display: none !important; }

.checkout-flow-panel__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding: 4px 2px 8px;
}

.checkout-flow-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: var(--primary);
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-flow-panel__heading h1 {
    margin: 0;
    font-size: var(--tl-type-fluid-title);
    line-height: 1.45;
}

.checkout-flow-panel__heading p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.8;
}

.checkout-flow-back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 7px 11px;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--text);
    background: var(--surface);
    text-decoration: none;
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 800;
    white-space: nowrap;
}

.checkout-flow-back-button { appearance: none; }
.checkout-flow-back-link:hover { border-color: color-mix(in srgb, var(--primary) 32%, var(--line)); }

.checkout-flow-section {
    margin-bottom: 12px;
    padding: 17px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: var(--surface);
    box-shadow: 0 8px 25px rgba(11, 17, 29, .035);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.checkout-flow-section.needs-attention {
    border-color: color-mix(in srgb, var(--danger) 58%, var(--line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 10%, transparent);
}

.checkout-flow-section__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.checkout-flow-section__head > div:first-child {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.checkout-flow-section__index {
    display: grid;
    flex: 0 0 auto;
    width: 25px;
    height: 25px;
    place-items: center;
    border-radius: 8px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 9%, var(--surface));
    font-size: var(--tl-type-100);
    font-weight: 950;
}

.checkout-flow-section__head h2 {
    margin: 0;
    font-size: var(--tl-type-500);
}

.checkout-flow-section__head p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.7;
}

.checkout-address-add {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--line));
    border-radius: 10px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--surface));
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 850;
    white-space: nowrap;
}

.checkout-address-add span { font-size: var(--tl-type-400); line-height: 1; }

.checkout-address-list--compact {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.checkout-address-mini {
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
    min-height: 96px;
    padding: 10px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface-strong) 92%, var(--bg));
}

.checkout-address-mini.is-new {
    border-style: dashed;
}

.checkout-address-mini__check {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    margin-top: 1px;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: transparent;
    background: var(--surface);
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-address-mini.selected .checkout-address-mini__check {
    border-color: var(--primary);
    color: #fff;
    background: var(--primary);
}

.checkout-address-mini__body {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.checkout-address-mini .checkout-address-option__top strong {
    overflow: hidden;
    font-size: var(--tl-type-100);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-address-mini .checkout-address-option__top small {
    padding: 2px 5px;
    font-size: var(--tl-type-100);
}

.checkout-address-mini__person,
.checkout-address-mini__line {
    display: block;
    overflow: hidden;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.7;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-address-empty {
    padding: 12px;
    border: 1px dashed var(--line);
    border-radius: 11px;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface-soft) 75%, transparent);
    font-size: var(--tl-type-100);
    text-align: center;
}

.checkout-address-editor--flow {
    display: none;
    margin-top: 12px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--primary) 20%, var(--line));
    border-radius: 13px;
    background: color-mix(in srgb, var(--primary) 2.5%, var(--surface));
}

.checkout-address-editor--flow.is-open { display: block; }
.checkout-address-list--compact:empty + .checkout-address-empty + .checkout-address-editor--flow { margin-top: 9px; }

.checkout-address-editor__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.checkout-address-editor__head > div {
    display: grid;
    gap: 2px;
}

.checkout-address-editor__head strong { font-size: var(--tl-type-200); }
.checkout-address-editor__head small { color: var(--muted); font-size: var(--tl-type-100); }

.checkout-address-editor__close {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    background: var(--surface);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-600);
}

.checkout-address-form-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.checkout-address-form-grid .checkout-field--title { grid-column: span 1; }
.checkout-address-form-grid .span-2 { grid-column: span 2; }

.checkout-flow .checkout-field {
    gap: 5px;
}

.checkout-flow .checkout-field label {
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 750;
}

.checkout-flow .checkout-field label em {
    color: var(--danger);
    font-style: normal;
}

.checkout-flow .checkout-field label small {
    color: var(--muted);
    font-size: var(--tl-type-100);
    font-weight: 500;
}

.checkout-flow .checkout-field input,
.checkout-flow .checkout-field textarea {
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--text);
    background: var(--surface-strong);
    font: inherit;
    font-size: var(--tl-type-100);
    transition: border-color .18s ease, box-shadow .18s ease;
}

.checkout-flow .checkout-field textarea {
    min-height: 76px;
    resize: vertical;
    line-height: 1.8;
}

.checkout-flow .checkout-field input:focus,
.checkout-flow .checkout-field textarea:focus {
    border-color: color-mix(in srgb, var(--primary) 58%, var(--line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 8%, transparent);
}

.checkout-flow .checkout-field.is-invalid input,
.checkout-flow .checkout-field.is-invalid textarea {
    border-color: color-mix(in srgb, var(--danger) 62%, var(--line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger) 8%, transparent);
}

.checkout-address-editor__actions {
    display: flex;
    justify-content: flex-end;
    gap: 7px;
    margin-top: 11px;
}

.checkout-address-editor__actions .btn {
    min-height: 34px;
    padding: 6px 12px;
    font-size: var(--tl-type-100);
}

.checkout-address-cancel {
    border-color: var(--line);
    color: var(--text);
    background: var(--surface);
}

.checkout-address-form-error {
    min-height: 14px;
    margin: 7px 0 0;
    color: var(--danger);
    font-size: var(--tl-type-100);
}

.shipping-list--flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.shipping-option--flow {
    position: relative;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 70px;
    padding: 10px 11px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface-strong) 92%, var(--bg));
}

.shipping-option--flow > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.shipping-option__radio {
    display: grid;
    width: 17px;
    height: 17px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--surface);
}

.shipping-option--flow:has(input:checked) {
    border-color: color-mix(in srgb, var(--primary) 58%, var(--line));
    background: color-mix(in srgb, var(--primary) 6%, var(--surface));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 9%, transparent);
}

.shipping-option--flow:has(input:checked) .shipping-option__radio {
    border: 5px solid var(--primary);
}

.shipping-option--flow .shipping-copy strong { font-size: var(--tl-type-100); }
.shipping-option--flow .shipping-copy small { font-size: var(--tl-type-100); line-height: 1.6; }
.shipping-option--flow .shipping-price { color: var(--primary); font-size: var(--tl-type-100); }

.checkout-flow-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid var(--line);
}

.checkout-flow-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    min-width: 132px;
    padding: 8px 16px;
    border-radius: 11px;
    font-size: var(--tl-type-100);
    font-weight: 850;
}

.checkout-flow-secondary {
    border: 1px solid var(--line);
    color: var(--text);
    background: var(--surface);
}

.checkout-flow-primary { box-shadow: 0 8px 20px color-mix(in srgb, var(--primary) 18%, transparent); }

.checkout-payment-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 315px;
    align-items: start;
    gap: 12px;
}

.checkout-payment-main { min-width: 0; }

.checkout-coupon-entry {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(220px, .85fr);
    gap: 10px;
    align-items: stretch;
}

.checkout-coupon-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 6px;
}

.checkout-coupon-apply {
    min-height: 39px;
    padding: 7px 13px;
    border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--line));
    border-radius: 9px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 7%, var(--surface));
    font-size: var(--tl-type-100);
    font-weight: 850;
}

.checkout-coupon-entry [data-coupon-live] {
    min-height: 15px;
    margin-top: 2px;
    font-size: var(--tl-type-100);
}

.checkout-my-coupons {
    padding: 10px 11px;
    border: 1px dashed var(--line);
    border-radius: 11px;
    background: color-mix(in srgb, var(--surface-soft) 75%, transparent);
}

.checkout-my-coupons__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.checkout-my-coupons__head strong { font-size: var(--tl-type-100); }
.checkout-my-coupons__head span {
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 7px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 9%, transparent);
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-my-coupons p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.8;
}

.checkout-payment-methods { display: grid; gap: 8px; }

.checkout-payment-method {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 20px;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: color-mix(in srgb, var(--surface-strong) 92%, var(--bg));
    cursor: pointer;
}

.checkout-payment-method > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-payment-method.selected {
    border-color: color-mix(in srgb, var(--primary) 58%, var(--line));
    background: color-mix(in srgb, var(--primary) 6%, var(--surface));
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 8%, transparent);
}

.checkout-payment-method.disabled { opacity: .58; cursor: not-allowed; }

.checkout-payment-method__icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 9%, transparent);
}

.checkout-payment-method__icon svg {
    width: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.checkout-payment-method__copy {
    display: grid;
    gap: 2px;
}

.checkout-payment-method__copy strong { font-size: var(--tl-type-100); }
.checkout-payment-method__copy small { color: var(--muted); font-size: var(--tl-type-100); }

.checkout-payment-method__check {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: transparent;
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-payment-method.selected .checkout-payment-method__check {
    border-color: var(--primary);
    color: #fff;
    background: var(--primary);
}

.checkout-note-section .checkout-field textarea { min-height: 82px; }

.checkout-summary--flow {
    position: sticky;
    top: 16px;
    padding: 15px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(11, 17, 29, .055);
}

.checkout-summary__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.checkout-summary__head > div {
    display: grid;
    gap: 2px;
}

.checkout-summary__head span { color: var(--muted); font-size: var(--tl-type-100); }
.checkout-summary__head strong { font-size: var(--tl-type-200); }
.checkout-summary__head a { color: var(--primary); font-size: var(--tl-type-100); font-weight: 800; text-decoration: none; }

.checkout-summary--flow .summary-row {
    min-height: 34px;
    font-size: var(--tl-type-100);
}

.checkout-summary--flow .summary-row span { color: var(--muted); }
.checkout-summary--flow .summary-row strong { font-size: var(--tl-type-100); }
.checkout-summary--flow .summary-row small { display: block; color: var(--muted); font-size: var(--tl-type-100); }

.summary-total--flow {
    margin-top: 7px;
    padding: 12px 0 7px;
    border-top: 1px solid var(--line);
}

.summary-total--flow span { font-size: var(--tl-type-100); }
.summary-total--flow strong { color: var(--primary); font-size: var(--tl-type-700); }
.summary-total--flow strong small { font-size: var(--tl-type-100); }

.checkout-pay-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-height: 43px;
    margin-top: 10px;
    padding: 8px 12px;
    border-radius: 11px;
    font-size: var(--tl-type-100);
}

.checkout-pay-button strong { font-size: var(--tl-type-100); font-weight: 700; }
.checkout-payment-warning { margin: 9px 0 0; padding: 8px 9px; font-size: var(--tl-type-100); }
.checkout-payment-note { margin-top: 8px; font-size: var(--tl-type-100); line-height: 1.7; text-align: center; }
.checkout-flow-actions--step3 { display: none; }
.checkout-flow.is-quoting .checkout-summary--flow { opacity: .7; transition: opacity .15s ease; }
.checkout-flow[data-submitting="true"] { cursor: progress; }

html[data-theme="dark"] .checkout-flow-section,
html[data-theme="dark"] .checkout-address-editor--flow,
html[data-theme="dark"] .checkout-summary--flow,
html[data-theme="dark"] .checkout-address-mini,
html[data-theme="dark"] .shipping-option--flow,
html[data-theme="dark"] .checkout-payment-method,
html[data-theme="dark"] .checkout-flow .checkout-field input,
html[data-theme="dark"] .checkout-flow .checkout-field textarea,
html[data-theme="dark"] .checkout-flow-back-link,
html[data-theme="dark"] .checkout-flow-secondary,
html[data-theme="dark"] .checkout-address-editor__close {
    color: var(--text);
    border-color: var(--line);
    background: var(--surface);
}

html[data-theme="dark"] .checkout-address-mini.selected,
html[data-theme="dark"] .shipping-option--flow:has(input:checked),
html[data-theme="dark"] .checkout-payment-method.selected {
    border-color: color-mix(in srgb, var(--primary) 55%, var(--line));
    background: color-mix(in srgb, var(--primary) 9%, var(--surface));
}

@media (max-width: 900px) {
    .checkout-payment-layout { grid-template-columns: minmax(0, 1fr); }
    .checkout-summary--flow { position: static; }
    .checkout-address-list--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .checkout-address-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .checkout-address-form-grid .span-2 { grid-column: 1 / -1; }
    .checkout-coupon-entry { grid-template-columns: 1fr; }
    .checkout-flow-actions--step3 { display: flex; }
    .checkout-summary--flow .checkout-pay-button { display: none; }
}

@media (max-width: 620px) {
    .storefront-body.checkout-route .checkout-flow-page {
        width: 100%;
        padding: 8px 9px 92px;
    }

    .checkout-flow-head {
        position: sticky;
        z-index: 20;
        top: 0;
        margin: 0 -9px 12px;
        padding: 9px 9px 10px;
        border-bottom: 1px solid var(--line);
        background: color-mix(in srgb, var(--bg) 92%, transparent);
        backdrop-filter: blur(16px);
    }

    .checkout-flow-step {
        grid-template-columns: 24px minmax(0, 1fr);
        gap: 5px;
        padding: 0 2px;
    }

    .checkout-flow-step > span {
        width: 24px;
        height: 24px;
        font-size: var(--tl-type-100);
    }

    .checkout-flow-step:not(:last-child)::after {
        top: 11px;
        right: calc(100% - 2px);
        width: calc(100% - 20px);
    }

    .checkout-flow-step b { font-size: var(--tl-type-100); }

    .checkout-flow-panel__heading {
        align-items: center;
        margin-bottom: 9px;
        padding: 0 1px;
    }

    .checkout-flow-panel__heading h1 { font-size: var(--tl-type-700); }
    .checkout-flow-panel__heading p { font-size: var(--tl-type-100); }
    .checkout-flow-eyebrow { font-size: var(--tl-type-100); }
    .checkout-flow-back-link { min-height: 31px; padding: 5px 8px; border-radius: 8px; font-size: var(--tl-type-100); }

    .checkout-flow-section {
        margin-bottom: 8px;
        padding: 12px 10px;
        border-radius: 13px;
        box-shadow: none;
    }

    .checkout-flow-section__head { margin-bottom: 10px; }
    .checkout-flow-section__index { width: 22px; height: 22px; border-radius: 7px; font-size: var(--tl-type-100); }
    .checkout-flow-section__head h2 { font-size: var(--tl-type-200); }
    .checkout-flow-section__head p { font-size: var(--tl-type-100); }
    .checkout-address-add { min-height: 30px; padding: 5px 8px; border-radius: 8px; font-size: var(--tl-type-100); }

    .checkout-address-list--compact {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .checkout-address-mini {
        min-height: 76px;
        padding: 8px;
        border-radius: 10px;
    }

    .checkout-address-mini .checkout-address-option__top strong { font-size: var(--tl-type-100); }
    .checkout-address-mini__person,
    .checkout-address-mini__line { font-size: var(--tl-type-100); }

    .checkout-address-editor--flow {
        margin-top: 8px;
        padding: 10px;
        border-radius: 11px;
    }

    .checkout-address-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .checkout-address-form-grid .checkout-field--title,
    .checkout-address-form-grid .span-2 {
        grid-column: 1 / -1;
    }

    .checkout-flow .checkout-field label { font-size: var(--tl-type-100); }
    .checkout-flow .checkout-field input,
    .checkout-flow .checkout-field textarea {
        min-height: 36px;
        padding: 7px 8px;
        border-radius: 8px;
        font-size: var(--tl-type-100);
    }

    .checkout-flow .checkout-field textarea { min-height: 64px; }
    .checkout-address-editor__actions .btn { min-height: 32px; padding: 5px 10px; font-size: var(--tl-type-100); }

    .shipping-list--flow { grid-template-columns: 1fr; gap: 6px; }
    .shipping-option--flow { min-height: 60px; padding: 8px 9px; border-radius: 10px; }
    .shipping-option--flow .shipping-copy strong { font-size: var(--tl-type-100); }
    .shipping-option--flow .shipping-copy small { font-size: var(--tl-type-100); }
    .shipping-option--flow .shipping-price { font-size: var(--tl-type-100); }

    .checkout-flow-actions {
        position: fixed;
        z-index: 55;
        right: 9px;
        bottom: calc(9px + env(safe-area-inset-bottom));
        left: 9px;
        margin: 0;
        padding: 7px;
        border: 1px solid var(--line);
        border-radius: 13px;
        background: color-mix(in srgb, var(--surface) 94%, transparent);
        box-shadow: 0 12px 34px rgba(0, 0, 0, .15);
        backdrop-filter: blur(16px);
    }

    .checkout-flow-actions .btn {
        flex: 1;
        min-width: 0;
        min-height: 39px;
        padding: 7px 10px;
        border-radius: 9px;
        font-size: var(--tl-type-100);
    }

    .checkout-coupon-control { grid-template-columns: minmax(0, 1fr) 76px; }
    .checkout-coupon-apply { min-height: 36px; padding: 5px 8px; font-size: var(--tl-type-100); }
    .checkout-my-coupons { padding: 9px; }

    .checkout-payment-method {
        grid-template-columns: 34px minmax(0, 1fr) 18px;
        min-height: 58px;
        padding: 8px 9px;
        border-radius: 10px;
    }

    .checkout-payment-method__icon { width: 34px; height: 34px; border-radius: 9px; }
    .checkout-payment-method__copy strong { font-size: var(--tl-type-100); }
    .checkout-payment-method__copy small { font-size: var(--tl-type-100); }

    .checkout-summary--flow { padding: 12px; border-radius: 13px; }
    .summary-total--flow strong { font-size: var(--tl-type-600); }
}


/* CHECKOUT_FLOW_3_STEP_REFINEMENT_20260826B */
.storefront-body.checkout-route .checkout-flow-page {
    width: min(1040px, calc(100% - 24px));
}

.checkout-flow-head {
    margin-bottom: 14px;
    padding-bottom: 14px;
}

.checkout-flow-step b {
    font-size: var(--tl-type-200);
    font-weight: 900;
}

.checkout-flow-panel__heading {
    margin-bottom: 10px;
    padding: 0 2px;
}

.checkout-flow-eyebrow,
.checkout-flow-panel__heading p,
.checkout-flow-section__head p,
.checkout-flow-section__index,
.checkout-summary__head a,
.checkout-pay-button,
.checkout-payment-note,
.checkout-address-option__top small {
    display: none !important;
}

.checkout-flow-panel__heading h1 {
    font-size: var(--tl-type-fluid-title);
}

.checkout-flow-section,
.checkout-summary--flow {
    border-color: rgba(68, 142, 201, .16);
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, #f8fbff), color-mix(in srgb, var(--surface) 99%, #ffffff));
    box-shadow: 0 12px 32px rgba(19, 45, 77, .05);
}

.checkout-address-mini,
.shipping-option--flow,
.checkout-payment-method,
.checkout-my-coupons,
.checkout-flow .checkout-field input,
.checkout-flow .checkout-field select,
.checkout-flow .checkout-field textarea,
.checkout-flow-back-link,
.checkout-flow-secondary,
.checkout-address-editor--flow,
.checkout-address-editor__close {
    border-color: rgba(68, 142, 201, .18);
    background: color-mix(in srgb, var(--surface-strong) 90%, #f3f8ff);
}

.checkout-flow .checkout-field select {
    min-height: 39px;
    padding: 8px 34px 8px 10px;
    color: var(--text);
    appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--primary) 50%),
        linear-gradient(135deg, var(--primary) 50%, transparent 50%);
    background-position:
        calc(14px) calc(50% - 2px),
        calc(9px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.checkout-flow .checkout-field select:disabled {
    opacity: .65;
    cursor: not-allowed;
}

.checkout-address-list--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.checkout-address-mini,
.shipping-option--flow,
.checkout-payment-method {
    border-radius: 14px;
}

.checkout-address-mini.selected,
.shipping-option--flow:has(input:checked),
.checkout-payment-method.selected {
    border-color: rgba(19, 63, 105, .48);
    background: linear-gradient(180deg, rgba(23, 63, 105, .08), rgba(19, 38, 66, .015));
    box-shadow: 0 0 0 2px rgba(19, 63, 105, .08);
}

.checkout-address-mini__check,
.shipping-option__radio,
.checkout-payment-method__check {
    border-color: rgba(68, 142, 201, .28);
}

.checkout-address-add,
.checkout-coupon-apply {
    border-color: rgba(19, 63, 105, .22);
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 5%, #ffffff);
}

.checkout-flow-actions {
    margin-top: 14px;
    padding-top: 14px;
}

.checkout-flow-actions--step3 {
    display: flex;
}

.checkout-summary--flow {
    position: static;
}

.checkout-payment-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.checkout-summary__head {
    margin-bottom: 12px;
}

.checkout-summary__head strong {
    font-size: var(--tl-type-400);
}

.checkout-summary--flow .summary-row {
    min-height: 40px;
    font-size: var(--tl-type-100);
}

.summary-total--flow strong {
    font-size: var(--tl-type-800);
}

.shipping-option--flow .shipping-price {
    color: #173f69;
    font-weight: 900;
}

.checkout-payment-method__icon {
    color: #173f69;
    background: rgba(23, 63, 105, .08);
}

@media (max-width: 900px) {
    .checkout-payment-layout { grid-template-columns: minmax(0, 1fr); }
    .checkout-address-list--compact { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .storefront-body.checkout-route .checkout-flow-page {
        width: 100%;
        padding: 8px 8px 94px;
    }

    .checkout-flow-head {
        margin: 0 -8px 10px;
        padding: 10px 8px 10px;
    }

    .checkout-flow-step b {
        font-size: var(--tl-type-100);
    }

    .checkout-flow-panel__heading h1 {
        font-size: var(--tl-type-700);
    }

    .checkout-flow-section,
    .checkout-summary--flow {
        padding: 12px 10px;
        border-radius: 14px;
        box-shadow: none;
    }

    .checkout-address-add,
    .checkout-flow-actions .btn,
    .checkout-address-editor__actions .btn,
    .checkout-coupon-apply {
        font-weight: 900;
    }

    .checkout-flow .checkout-field input,
    .checkout-flow .checkout-field select,
    .checkout-flow .checkout-field textarea {
        font-size: var(--tl-type-100);
    }

    .checkout-flow .checkout-field select {
        min-height: 36px;
        padding-right: 28px;
        background-position:
            calc(12px) calc(50% - 2px),
            calc(7px) calc(50% - 2px);
    }

    .checkout-flow-actions {
        right: 8px;
        left: 8px;
        bottom: calc(8px + env(safe-area-inset-bottom));
    }
}

/* CHECKOUT_CART_VISUAL_CONTINUITY_20260826C */
.checkout-flow-page {
    --checkout-shell: color-mix(in srgb, var(--surface-strong) 92%, var(--bg));
    --checkout-card: color-mix(in srgb, var(--surface-strong) 94%, #eef5fb);
    --checkout-card-strong: color-mix(in srgb, var(--surface-strong) 96%, #e7f1fa);
    --checkout-border: rgba(68, 142, 201, .18);
    --checkout-border-strong: rgba(23, 63, 105, .32);
    --checkout-accent: var(--accent);
    --checkout-blue: #173f69;
    --checkout-blue-deep: #10243f;
    --checkout-shadow: 0 16px 42px rgba(19, 45, 77, .08);
}

.checkout-flow-head {
    position: relative;
    overflow: hidden;
    padding: 13px 16px;
    border: 1px solid var(--checkout-border);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(23, 63, 105, .08), transparent 55%),
        var(--checkout-shell);
    box-shadow: var(--checkout-shadow);
}

.checkout-flow-head::after {
    content: "";
    position: absolute;
    right: 18px;
    bottom: 0;
    left: 18px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--checkout-accent), var(--accent-blue), transparent);
    opacity: .75;
}

.checkout-flow-step {
    min-height: 42px;
}

.checkout-flow-step > span {
    width: 30px;
    height: 30px;
    border-color: rgba(68, 142, 201, .28);
    background: color-mix(in srgb, var(--surface-strong) 90%, #edf5fb);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.checkout-flow-step.is-done > span {
    border-color: rgba(23, 63, 105, .36);
    color: #fff;
    background: linear-gradient(145deg, #244f79, #173f69);
}

.checkout-flow-step.is-active {
    color: var(--text);
}

.checkout-flow-step.is-active > span {
    border-color: rgba(245, 200, 76, .78);
    color: #111827;
    background: linear-gradient(145deg, #ffe38b, var(--accent));
    box-shadow:
        0 0 0 4px rgba(245, 200, 76, .13),
        0 7px 18px rgba(231, 173, 32, .22);
}

.checkout-flow-panel__heading {
    position: relative;
    margin: 18px 0 12px;
    padding: 4px 0 9px;
}

.checkout-flow-panel__heading::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 46px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--accent), var(--accent-strong));
}

.checkout-flow-panel__heading h1 {
    font-weight: 950;
    letter-spacing: -.03em;
}

.checkout-flow-section,
.checkout-summary--flow {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--checkout-border);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(75,169,217,.035), transparent 42%),
        var(--checkout-card);
    box-shadow: var(--checkout-shadow);
}

.checkout-flow-section::before,
.checkout-summary--flow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 18px;
    width: 72px;
    height: 3px;
    border-radius: 0 0 8px 8px;
    background: linear-gradient(90deg, var(--accent), #ffe27a);
    opacity: .92;
}

.checkout-flow-section__head h2 {
    font-size: var(--tl-type-500);
    font-weight: 950;
    letter-spacing: -.02em;
}

.checkout-address-add,
.checkout-coupon-apply {
    border: 1px solid rgba(68, 142, 201, .28);
    color: #fff;
    background: linear-gradient(135deg, #244f79, #173f69);
    box-shadow: 0 7px 16px rgba(19,45,77,.16), inset 0 1px 0 rgba(255,255,255,.12);
}

.checkout-address-add:hover,
.checkout-coupon-apply:hover {
    color: #fff;
    background: linear-gradient(135deg, #2b5e8f, #173f69);
    transform: translateY(-1px);
}

.checkout-address-list--compact {
    gap: 9px;
}

.checkout-address-mini,
.shipping-option--flow,
.checkout-payment-method {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(68, 142, 201, .20);
    background:
        linear-gradient(135deg, rgba(75,169,217,.045), transparent 55%),
        var(--checkout-card-strong);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.62);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.checkout-address-mini:hover,
.shipping-option--flow:not(.disabled):hover,
.checkout-payment-method:not(.disabled):hover {
    transform: translateY(-1px);
    border-color: rgba(68,142,201,.36);
    box-shadow: 0 10px 24px rgba(19,45,77,.08);
}

.checkout-address-mini::after,
.shipping-option--flow::after,
.checkout-payment-method::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 0;
    bottom: 12px;
    width: 3px;
    border-radius: 3px 0 0 3px;
    background: transparent;
}

.checkout-address-mini.selected,
.shipping-option--flow:has(input:checked),
.checkout-payment-method.selected {
    border-color: rgba(231, 173, 32, .72);
    background:
        linear-gradient(135deg, rgba(245,200,76,.11), transparent 46%),
        var(--checkout-card-strong);
    box-shadow:
        0 0 0 2px rgba(245, 200, 76, .08),
        0 11px 28px rgba(19,45,77,.09);
}

.checkout-address-mini.selected::after,
.shipping-option--flow:has(input:checked)::after,
.checkout-payment-method.selected::after {
    background: linear-gradient(180deg, #ffe383, var(--accent-strong));
}

.checkout-address-mini__check,
.shipping-option__radio,
.checkout-payment-method__check {
    border-color: rgba(68,142,201,.30);
    background: var(--surface-strong);
}

.checkout-address-mini.selected .checkout-address-mini__check,
.checkout-payment-method.selected .checkout-payment-method__check {
    border-color: var(--accent-strong);
    color: #101624;
    background: linear-gradient(145deg, #ffe38b, var(--accent));
}

.shipping-option--flow:has(input:checked) .shipping-option__radio {
    border: 5px solid var(--accent-strong);
    background: #fff;
}

.checkout-address-mini .checkout-address-option__top strong,
.shipping-option--flow .shipping-copy strong,
.checkout-payment-method__copy strong {
    font-weight: 950;
}

.shipping-option--flow .shipping-price {
    padding: 4px 7px;
    border: 1px solid rgba(245,200,76,.32);
    border-radius: 8px;
    color: #173f69;
    background: rgba(245,200,76,.10);
    font-weight: 900;
}

.checkout-address-editor--flow {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(68, 142, 201, .23);
    background:
        linear-gradient(135deg, rgba(75,169,217,.055), transparent 48%),
        var(--checkout-card-strong);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}

.checkout-address-editor--flow::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--accent-blue), var(--accent), var(--accent-blue));
    opacity: .9;
}

.checkout-address-editor__head strong {
    font-weight: 950;
}

.checkout-flow .checkout-field input,
.checkout-flow .checkout-field select,
.checkout-flow .checkout-field textarea {
    border: 1px solid rgba(68,142,201,.22);
    background: color-mix(in srgb, var(--surface-strong) 96%, #eef6fc);
    box-shadow: inset 0 1px 2px rgba(19,45,77,.025);
}

.checkout-flow .checkout-field input:focus,
.checkout-flow .checkout-field select:focus,
.checkout-flow .checkout-field textarea:focus {
    border-color: rgba(231,173,32,.72);
    box-shadow: 0 0 0 3px rgba(245,200,76,.10);
}

.checkout-address-editor__close,
.checkout-address-cancel,
.checkout-flow-secondary {
    border-color: rgba(68,142,201,.24);
    color: var(--text);
    background: color-mix(in srgb, var(--surface-strong) 94%, #edf5fb);
}

.checkout-address-save,
.checkout-flow-primary {
    border-color: rgba(255,255,255,.08);
    color: #fff;
    background: linear-gradient(135deg, #173f69, #10243f);
    box-shadow: 0 9px 22px rgba(19,45,77,.20), inset 0 1px 0 rgba(255,255,255,.11);
}

.checkout-address-save:hover,
.checkout-flow-primary:hover {
    color: #fff;
    background: linear-gradient(135deg, #214f7b, #10243f);
}

.checkout-my-coupons {
    border: 1px dashed rgba(68,142,201,.30);
    background:
        linear-gradient(135deg, rgba(75,169,217,.06), transparent 60%),
        color-mix(in srgb, var(--surface-strong) 94%, #eef6fc);
}

.checkout-my-coupons__head span {
    color: #101624;
    background: linear-gradient(145deg, #ffe28b, var(--accent));
}

.checkout-summary--flow {
    padding-top: 18px;
}

.checkout-summary__head {
    padding-bottom: 12px;
}

.checkout-summary--flow .summary-row {
    border-bottom-color: rgba(68,142,201,.12);
}

.summary-total--flow {
    position: relative;
    margin-top: 8px;
    padding: 14px 12px 12px;
    border: 1px solid rgba(245,200,76,.28);
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(245,200,76,.10), rgba(75,169,217,.04));
}

.summary-total--flow strong {
    color: var(--accent-strong);
    font-weight: 950;
}

.checkout-flow-actions {
    border-top: 0;
}

@media (max-width: 620px) {
    .checkout-flow-head {
        border-right: 0;
        border-left: 0;
        border-radius: 0;
        box-shadow: 0 9px 28px rgba(19,45,77,.07);
    }

    .checkout-flow-step > span {
        width: 27px;
        height: 27px;
    }

    .checkout-flow-section,
    .checkout-summary--flow {
        border-radius: 15px;
    }

    .checkout-address-mini,
    .shipping-option--flow,
    .checkout-payment-method {
        border-radius: 13px;
    }

    .checkout-flow-actions {
        border: 1px solid rgba(68,142,201,.24);
        border-radius: 14px;
        background: rgba(255,255,255,.92);
        box-shadow: 0 -10px 30px rgba(19,45,77,.12);
    }

    .checkout-flow-actions .checkout-flow-primary {
        color: #fff;
        background: linear-gradient(135deg, #173f69, #10243f);
    }
}

html[data-theme="dark"] .checkout-flow-page {
    --checkout-shell: rgba(13, 24, 39, .90);
    --checkout-card: rgba(15, 28, 46, .92);
    --checkout-card-strong: rgba(17, 33, 54, .96);
    --checkout-border: rgba(93, 167, 218, .18);
    --checkout-border-strong: rgba(93, 167, 218, .34);
    --checkout-shadow: 0 18px 46px rgba(0,0,0,.25);
}

html[data-theme="dark"] .checkout-flow-head {
    border-color: rgba(255,255,255,.085);
    background:
        linear-gradient(135deg, rgba(75,169,217,.09), transparent 52%),
        linear-gradient(180deg, rgba(17,31,51,.96), rgba(10,20,34,.94));
    box-shadow: 0 16px 42px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04);
}

html[data-theme="dark"] .checkout-flow-step {
    color: #98a7bb;
}

html[data-theme="dark"] .checkout-flow-step > span {
    border-color: rgba(255,255,255,.13);
    color: #b9c5d5;
    background: #101d30;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

html[data-theme="dark"] .checkout-flow-step.is-done {
    color: #c9d5e4;
}

html[data-theme="dark"] .checkout-flow-step.is-done > span {
    border-color: rgba(75,169,217,.42);
    color: #dff4ff;
    background: linear-gradient(145deg, #214f7b, #142d4d);
}

html[data-theme="dark"] .checkout-flow-step.is-active {
    color: #fff;
}

html[data-theme="dark"] .checkout-flow-step.is-active > span {
    border-color: rgba(245,200,76,.88);
    color: #0b111d;
    background: linear-gradient(145deg, #ffe38b, var(--accent));
}

html[data-theme="dark"] .checkout-flow-section,
html[data-theme="dark"] .checkout-summary--flow,
html[data-theme="dark"] .checkout-address-editor--flow {
    border-color: rgba(255,255,255,.085);
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(75,169,217,.055), transparent 44%),
        linear-gradient(180deg, #101c2d, #0d1828);
    box-shadow: 0 18px 46px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
}

html[data-theme="dark"] .checkout-address-mini,
html[data-theme="dark"] .shipping-option--flow,
html[data-theme="dark"] .checkout-payment-method,
html[data-theme="dark"] .checkout-my-coupons {
    border-color: rgba(255,255,255,.095);
    color: var(--text);
    background:
        linear-gradient(135deg, rgba(75,169,217,.055), transparent 52%),
        linear-gradient(180deg, #14243a, #101d30);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

html[data-theme="dark"] .checkout-address-mini.selected,
html[data-theme="dark"] .shipping-option--flow:has(input:checked),
html[data-theme="dark"] .checkout-payment-method.selected {
    border-color: rgba(245,200,76,.62);
    background:
        linear-gradient(135deg, rgba(245,200,76,.10), transparent 45%),
        linear-gradient(180deg, #16263b, #101c2d);
    box-shadow: 0 0 0 2px rgba(245,200,76,.07), 0 14px 30px rgba(0,0,0,.20);
}

html[data-theme="dark"] .checkout-address-mini__check,
html[data-theme="dark"] .shipping-option__radio,
html[data-theme="dark"] .checkout-payment-method__check {
    border-color: rgba(255,255,255,.16);
    background: #0c1726;
}

html[data-theme="dark"] .checkout-flow .checkout-field input,
html[data-theme="dark"] .checkout-flow .checkout-field select,
html[data-theme="dark"] .checkout-flow .checkout-field textarea {
    border-color: rgba(255,255,255,.10);
    color: #eef4fc;
    background-color: #0c1726;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}

html[data-theme="dark"] .checkout-flow .checkout-field input::placeholder,
html[data-theme="dark"] .checkout-flow .checkout-field textarea::placeholder {
    color: #718097;
}

html[data-theme="dark"] .checkout-flow .checkout-field input:focus,
html[data-theme="dark"] .checkout-flow .checkout-field select:focus,
html[data-theme="dark"] .checkout-flow .checkout-field textarea:focus {
    border-color: rgba(245,200,76,.65);
    box-shadow: 0 0 0 3px rgba(245,200,76,.08);
}

html[data-theme="dark"] .checkout-address-add,
html[data-theme="dark"] .checkout-coupon-apply,
html[data-theme="dark"] .checkout-address-save,
html[data-theme="dark"] .checkout-flow-primary {
    border-color: rgba(245,200,76,.68);
    color: #0b111d;
    background: linear-gradient(145deg, #ffe28b, var(--accent));
    box-shadow: 0 9px 22px rgba(245,200,76,.13), inset 0 1px 0 rgba(255,255,255,.28);
}

html[data-theme="dark"] .checkout-address-add:hover,
html[data-theme="dark"] .checkout-coupon-apply:hover,
html[data-theme="dark"] .checkout-address-save:hover,
html[data-theme="dark"] .checkout-flow-primary:hover {
    color: #0b111d;
    background: linear-gradient(145deg, #ffe99f, #ffd45e);
}

html[data-theme="dark"] .checkout-address-editor__close,
html[data-theme="dark"] .checkout-address-cancel,
html[data-theme="dark"] .checkout-flow-secondary {
    border-color: rgba(255,255,255,.11);
    color: #d9e3f0;
    background: #111f33;
}

html[data-theme="dark"] .shipping-option--flow .shipping-price {
    border-color: rgba(245,200,76,.26);
    color: #f8d872;
    background: rgba(245,200,76,.075);
}

html[data-theme="dark"] .checkout-payment-method__icon {
    color: #7fd2f7;
    background: rgba(75,169,217,.10);
}

html[data-theme="dark"] .checkout-my-coupons__head span {
    color: #0b111d;
    background: linear-gradient(145deg, #ffe28b, var(--accent));
}

html[data-theme="dark"] .checkout-summary--flow .summary-row {
    border-bottom-color: rgba(255,255,255,.075);
}

html[data-theme="dark"] .summary-total--flow {
    border-color: rgba(245,200,76,.24);
    background: linear-gradient(135deg, rgba(245,200,76,.09), rgba(75,169,217,.05));
}

html[data-theme="dark"] .summary-total--flow strong {
    color: #f8d872;
}

@media (max-width: 620px) {
    html[data-theme="dark"] .checkout-flow-actions {
        border-color: rgba(255,255,255,.10);
        background: linear-gradient(180deg, rgba(16,29,48,.97), rgba(10,19,32,.98));
        box-shadow: 0 -14px 34px rgba(0,0,0,.34);
    }

    html[data-theme="dark"] .checkout-flow-actions .checkout-flow-primary {
        color: #0b111d;
        background: linear-gradient(145deg, #ffe28b, var(--accent));
    }
}


/* CART_FOCUSED_NAVIGATION_20260826 */
.storefront-body.cart-route .site-header,
.storefront-body.cart-route .mobile-navigation,
.storefront-body.cart-route .mobile-nav-backdrop,
.storefront-body.cart-route .mobile-bottom-nav {
    display: none !important;
}

.storefront-body.cart-route {
    min-height: 100vh;
    padding-bottom: 0;
}

.storefront-body.cart-route #main-content {
    padding-top: 0;
}

.cart-page-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 16px 2px 14px;
    border-bottom: 1px solid var(--line);
}

.cart-page-toolbar > div {
    min-width: 0;
}

.cart-page-toolbar h1 {
    margin: 0;
    color: var(--text);
    font-size: var(--tl-type-fluid-title);
    line-height: 1.35;
}

.cart-page-toolbar p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
}

.cart-products-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 7px 13px;
    border: 1px solid rgba(68, 142, 201, .28);
    border-radius: 11px;
    color: var(--text);
    background: color-mix(in srgb, var(--surface) 94%, #f3f8ff);
    box-shadow: 0 7px 20px rgba(19, 45, 77, .06);
    text-decoration: none;
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.cart-products-back:hover {
    border-color: rgba(245, 200, 76, .58);
    color: var(--text);
    background: color-mix(in srgb, #f5c84c 9%, var(--surface));
}

.cart-products-back span {
    color: #d19b16;
    font-size: var(--tl-type-500);
    line-height: 1;
}

html[data-theme="dark"] .cart-products-back {
    border-color: rgba(75, 169, 217, .24);
    color: #edf4ff;
    background: linear-gradient(135deg, #173f69, #132642);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
}

html[data-theme="dark"] .cart-products-back:hover {
    border-color: rgba(245, 200, 76, .62);
    background: linear-gradient(135deg, #1d4d7e, #17304f);
}

@media (max-width: 840px) {
    .storefront-body.cart-route {
        padding-bottom: 0 !important;
    }

    .storefront-body.cart-route #main-content {
        padding-top: 0;
    }

    .cart-page-toolbar {
        margin-bottom: 8px;
        padding: 9px 1px 9px;
    }

    .cart-page-toolbar h1 {
        font-size: var(--tl-type-700);
    }

    .cart-page-toolbar p {
        font-size: var(--tl-type-100);
    }

    .cart-products-back {
        min-height: 32px;
        padding: 5px 9px;
        border-radius: 9px;
        font-size: var(--tl-type-100);
    }
}

/* PURCHASE_FLOW_FIXED_DOCK_20260826 */
.storefront-body.cart-route .cart-page,
.storefront-body.checkout-route .checkout-flow-page {
    padding-bottom: 116px;
}

.cart-flow-head .checkout-flow-step {
    cursor: default;
}

.purchase-flow-dock,
.checkout-flow-actions {
    position: fixed;
    z-index: 1150;
    right: auto;
    bottom: calc(12px + env(safe-area-inset-bottom));
    left: 50%;
    width: min(1040px, calc(100% - 24px));
    margin: 0;
    transform: translateX(-50%);
    border: 1px solid rgba(68, 142, 201, .24);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(75,169,217,.06), transparent 42%),
        color-mix(in srgb, var(--surface) 96%, #f6faff);
    box-shadow: 0 16px 42px rgba(19,45,77,.18), inset 0 1px 0 rgba(255,255,255,.7);
    backdrop-filter: blur(18px);
}

.purchase-flow-dock {
    display: grid;
    grid-template-columns: minmax(190px, .8fr) minmax(320px, 1.2fr);
    align-items: center;
    gap: 14px;
    padding: 10px 12px;
}

.cart-flow-dock__total {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    padding: 7px 14px;
    border: 1px solid rgba(68,142,201,.18);
    border-radius: 13px;
    background: linear-gradient(135deg, #173f69, #10243f);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.10);
}

.cart-flow-dock__total::before {
    content: "";
    width: 4px;
    height: 25px;
    border-radius: 99px;
    background: #ffd044;
    box-shadow: 0 0 12px rgba(255,208,68,.34);
}

.cart-flow-dock__total small {
    color: rgba(255,255,255,.72);
    font-size: var(--tl-type-100);
    font-weight: 750;
}

.cart-flow-dock__total strong {
    color: #fff;
    font-size: var(--tl-type-600);
    font-weight: 950;
    white-space: nowrap;
}

.cart-flow-dock__total em {
    color: rgba(255,255,255,.72);
    font-size: var(--tl-type-100);
    font-style: normal;
    font-weight: 700;
}

.purchase-flow-dock__actions {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 8px;
}

.purchase-flow-dock__actions .btn,
.checkout-flow-actions .btn {
    min-width: 0;
    min-height: 46px;
    border-radius: 13px;
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.purchase-flow-back,
.checkout-flow-secondary {
    border: 1px solid rgba(68,142,201,.24);
    color: #173f69;
    background: color-mix(in srgb, var(--surface) 96%, #edf6ff);
    box-shadow: none;
}

.purchase-flow-next,
.checkout-flow-primary {
    border: 1px solid rgba(19,63,105,.36);
    color: #fff;
    background: linear-gradient(135deg, #173f69, #10243f);
    box-shadow: 0 9px 22px rgba(19,45,77,.20);
}

.purchase-flow-next:hover,
.checkout-flow-primary:hover {
    color: #fff;
    background: linear-gradient(135deg, #1d4d7e, #17304f);
}

.checkout-flow-actions {
    display: grid !important;
    grid-template-columns: 1fr 1.35fr;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-top: 1px solid rgba(68,142,201,.24);
}

.checkout-flow-actions--step2,
.checkout-flow-actions--step3 {
    display: grid !important;
}

/* The fixed dock is the only cart navigation/checkout CTA. */
.cart-page .cart-summary .checkout-btn,
.cart-page .cart-summary .summary-note,
.cart-mobile-checkout,
.cart-mobile-total {
    display: none !important;
}

html[data-theme="dark"] .purchase-flow-dock,
html[data-theme="dark"] .checkout-flow-actions {
    border-color: rgba(255,255,255,.10);
    background:
        linear-gradient(135deg, rgba(75,169,217,.07), transparent 42%),
        linear-gradient(180deg, rgba(16,29,48,.98), rgba(10,19,32,.99));
    box-shadow: 0 18px 48px rgba(0,0,0,.40), inset 0 1px 0 rgba(255,255,255,.04);
}

html[data-theme="dark"] .purchase-flow-back,
html[data-theme="dark"] .checkout-flow-secondary {
    border-color: rgba(255,255,255,.12);
    color: #e3edf8;
    background: #12223a;
}

html[data-theme="dark"] .purchase-flow-next,
html[data-theme="dark"] .checkout-flow-primary {
    border-color: rgba(245,200,76,.70);
    color: #0b111d;
    background: linear-gradient(145deg, #ffe38b, var(--accent));
    box-shadow: 0 10px 26px rgba(245,200,76,.15), inset 0 1px 0 rgba(255,255,255,.28);
}

html[data-theme="dark"] .purchase-flow-next:hover,
html[data-theme="dark"] .checkout-flow-primary:hover {
    color: #0b111d;
    background: linear-gradient(145deg, #ffe99f, #ffd45e);
}

@media (max-width: 840px) {
    .storefront-body.cart-route,
    .storefront-body.checkout-route {
        padding-bottom: 0 !important;
    }

    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-bottom: 132px !important;
    }

    .purchase-flow-dock {
        grid-template-columns: 1fr;
        gap: 7px;
        width: calc(100% - 16px);
        bottom: calc(8px + env(safe-area-inset-bottom));
        padding: 7px;
        border-radius: 15px;
    }

    .cart-flow-dock__total {
        min-height: 38px;
        padding: 5px 10px;
        border-radius: 10px;
    }

    .cart-flow-dock__total::before {
        height: 20px;
    }

    .cart-flow-dock__total small { font-size: var(--tl-type-100); }
    .cart-flow-dock__total strong { font-size: var(--tl-type-400); }

    .purchase-flow-dock__actions,
    .checkout-flow-actions {
        grid-template-columns: 1fr 1.35fr;
        gap: 7px;
    }

    .purchase-flow-dock__actions .btn,
    .checkout-flow-actions .btn {
        min-height: 42px;
        padding: 7px 10px;
        border-radius: 10px;
        font-size: var(--tl-type-100);
    }

    .checkout-flow-actions {
        right: auto;
        bottom: calc(8px + env(safe-area-inset-bottom));
        left: 50%;
        width: calc(100% - 16px);
        padding: 7px;
        transform: translateX(-50%);
        border-radius: 15px;
    }

    .cart-flow-head {
        position: sticky;
        z-index: 20;
        top: 0;
        margin: 0 -1px 9px;
        padding: 9px 2px 10px;
        background: color-mix(in srgb, var(--bg) 94%, transparent);
        backdrop-filter: blur(16px);
    }
}

@media (max-width: 430px) {
    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-bottom: 128px !important;
    }

    .purchase-flow-dock,
    .checkout-flow-actions {
        width: calc(100% - 12px);
        bottom: calc(6px + env(safe-area-inset-bottom));
    }
}


/* CART_FLOW_FORCE_VISIBLE_20260826D */
.cart-page {
    --checkout-shell: color-mix(in srgb, var(--surface-strong) 92%, var(--bg));
    --checkout-border: rgba(68, 142, 201, .18);
    --checkout-shadow: 0 12px 32px rgba(19,45,77,.08);
}

.storefront-body.cart-route .cart-flow-head {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: sticky;
    z-index: 1200;
    top: 0;
    justify-content: center;
    width: 100%;
    margin: 0 0 10px;
    padding: 10px 8px;
    border: 1px solid rgba(68,142,201,.20);
    border-radius: 14px;
    background: color-mix(in srgb, var(--surface) 96%, #eef6ff);
    box-shadow: 0 8px 24px rgba(19,45,77,.08);
}

.storefront-body.cart-route .cart-flow-head .checkout-flow-steps {
    width: min(620px, 100%);
}

.storefront-body.cart-route .purchase-flow-dock {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    z-index: 5000 !important;
    right: auto !important;
    left: 50% !important;
    bottom: calc(8px + env(safe-area-inset-bottom)) !important;
    width: min(1040px, calc(100% - 16px)) !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
}

.storefront-body.cart-route .cart-summary {
    display: none !important;
}

.storefront-body.cart-route .cart-page {
    padding-top: 8px !important;
    padding-bottom: 150px !important;
}

@media (max-width: 840px) {
    .storefront-body.cart-route .cart-flow-head {
        margin: 0 0 8px !important;
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .storefront-body.cart-route .purchase-flow-dock {
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        padding: 7px !important;
        border-radius: 15px !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total {
        display: flex !important;
        min-height: 40px;
    }

    .storefront-body.cart-route .purchase-flow-dock__actions {
        display: grid !important;
        grid-template-columns: 1fr 1.35fr !important;
    }
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head {
    border-color: rgba(255,255,255,.09);
    background: linear-gradient(180deg, rgba(17,31,51,.97), rgba(10,20,34,.96));
    box-shadow: 0 10px 28px rgba(0,0,0,.30);
}


/* PURCHASE_FLOW_COMPACT_FIXED_HEADER_20260826 */
.storefront-body.cart-route .cart-page,
.storefront-body.checkout-route .checkout-flow-page {
    padding-top: 82px !important;
}

html .storefront-body.cart-route .cart-flow-head,
html .storefront-body.checkout-route .checkout-flow-head {
    position: fixed !important;
    top: 8px !important;
    right: 50% !important;
    left: auto !important;
    transform: translateX(50%) !important;
    z-index: 4100 !important;
    width: min(560px, calc(100% - 16px)) !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(68, 142, 201, .20) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(246,250,255,.95)) !important;
    backdrop-filter: blur(14px);
    box-shadow: 0 10px 26px rgba(19,45,77,.10) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
    width: 100% !important;
    max-width: none !important;
    gap: 0 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-height: 34px;
    padding: 0 4px !important;
    color: #6b7d93 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step:not(:last-child)::after,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step:not(:last-child)::after {
    top: 11px !important;
    right: calc(100% - 2px) !important;
    width: calc(100% - 20px) !important;
    height: 1px !important;
    background: linear-gradient(90deg, rgba(68,142,201,.12), rgba(68,142,201,.26), rgba(68,142,201,.12)) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    width: 22px !important;
    height: 22px !important;
    border: 1px solid rgba(68, 142, 201, .26) !important;
    background: linear-gradient(180deg, #ffffff, #edf5ff) !important;
    color: #5d728b !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
    box-shadow: 0 2px 6px rgba(19,45,77,.06);
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
    font-size: var(--tl-type-100) !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: inherit !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    color: #11243a !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(255, 193, 45, .68) !important;
    background: linear-gradient(180deg, #ffe9a3, #ffc92d) !important;
    color: #1d2c43 !important;
    box-shadow: 0 0 0 4px rgba(255, 201, 45, .18), 0 6px 14px rgba(255, 201, 45, .28) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #173f69 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done > span {
    border-color: rgba(23,63,105,.24) !important;
    background: linear-gradient(180deg, #f5fbff, #dcecff) !important;
    color: #173f69 !important;
}

@media (max-width: 640px) {
    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-top: 74px !important;
    }

    html .storefront-body.cart-route .cart-flow-head,
    html .storefront-body.checkout-route .checkout-flow-head {
        top: 6px !important;
        width: calc(100% - 12px) !important;
        padding: 7px 10px !important;
        border-radius: 16px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 4px !important;
        min-height: 28px;
        padding: 0 2px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
        width: 20px !important;
        height: 20px !important;
        font-size: var(--tl-type-100) !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
        font-size: var(--tl-type-100) !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step:not(:last-child)::after,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step:not(:last-child)::after {
        top: 10px !important;
        width: calc(100% - 18px) !important;
    }
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head {
    border-color: rgba(255,255,255,.08) !important;
    background: linear-gradient(180deg, rgba(10,20,34,.92), rgba(14,28,46,.95)) !important;
    box-shadow: 0 14px 28px rgba(0,0,0,.30) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    color: rgba(225,236,248,.72) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    border-color: rgba(255,255,255,.10) !important;
    background: linear-gradient(180deg, rgba(21,41,67,.98), rgba(14,30,50,.98)) !important;
    color: #d7e6f7 !important;
    box-shadow: 0 4px 10px rgba(0,0,0,.18);
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    color: #fff4d0 !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #9bc2ea !important;
}


/* PURCHASE_FLOW_ULTRA_COMPACT_HEADER_AND_CART_DOCK_20260826 */
.storefront-body.cart-route .cart-page,
.storefront-body.checkout-route .checkout-flow-page {
    padding-top: 56px !important;
}

html .storefront-body.cart-route .cart-flow-head,
html .storefront-body.checkout-route .checkout-flow-head {
    top: 5px !important;
    width: min(500px, calc(100% - 12px)) !important;
    min-height: 40px !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(62,126,184,.16) !important;
    border-radius: 14px !important;
    background:
        radial-gradient(circle at 84% 50%, rgba(255,205,64,.10), transparent 21%),
        linear-gradient(135deg, rgba(255,255,255,.97), rgba(241,248,255,.95)) !important;
    box-shadow: 0 7px 20px rgba(19,45,77,.09), inset 0 1px 0 rgba(255,255,255,.9) !important;
    backdrop-filter: blur(14px) saturate(130%);
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
    position: relative;
    isolation: isolate;
    height: 32px !important;
    padding: 2px !important;
    border: 1px solid rgba(68,142,201,.11);
    border-radius: 11px;
    background: linear-gradient(180deg, rgba(222,238,251,.40), rgba(248,251,255,.72));
    overflow: hidden;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps::before,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    right: 10%;
    left: 10%;
    height: 2px;
    transform: translateY(-50%);
    border-radius: 99px;
    background: linear-gradient(90deg, rgba(68,142,201,.10), rgba(68,142,201,.34), rgba(255,205,64,.44));
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-height: 28px !important;
    padding: 2px 5px !important;
    border-radius: 9px !important;
    color: #718398 !important;
    background: transparent !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step:not(:last-child)::after,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step:not(:last-child)::after {
    display: none !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    flex: 0 0 auto;
    width: 19px !important;
    height: 19px !important;
    border: 1px solid rgba(64,126,180,.24) !important;
    border-radius: 7px !important;
    background: linear-gradient(145deg, #fff, #eaf4ff) !important;
    color: #45627f !important;
    font-size: var(--tl-type-100) !important;
    box-shadow: 0 2px 6px rgba(20,54,88,.07) !important;
    line-height: 19px !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
    font-size: var(--tl-type-100) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    color: #142b45 !important;
    background: linear-gradient(135deg, rgba(255,211,75,.11), rgba(255,245,210,.50)) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(232,174,21,.65) !important;
    background: linear-gradient(145deg, #ffe68a, #ffc82f) !important;
    color: #16283d !important;
    box-shadow: 0 0 0 3px rgba(255,202,47,.14), 0 4px 10px rgba(220,161,15,.25) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #24517c !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done > span {
    border-color: rgba(36,81,124,.28) !important;
    background: linear-gradient(145deg, #f5fbff, #d7eaff) !important;
    color: #24517c !important;
}

/* Cart dock: products right, total center, continue left — one compact row. */
.storefront-body.cart-route .cart-page {
    padding-bottom: 78px !important;
}

.storefront-body.cart-route .purchase-flow-dock {
    display: grid !important;
    grid-template-columns: minmax(108px, .9fr) minmax(145px, 1fr) minmax(108px, .9fr) !important;
    grid-template-areas: "next total back" !important;
    align-items: center !important;
    gap: 7px !important;
    width: min(760px, calc(100% - 14px)) !important;
    min-height: 54px !important;
    bottom: calc(6px + env(safe-area-inset-bottom)) !important;
    padding: 6px !important;
    border-radius: 15px !important;
}

.storefront-body.cart-route .purchase-flow-dock__actions {
    display: contents !important;
}

.storefront-body.cart-route .purchase-flow-back {
    grid-area: back !important;
}

.storefront-body.cart-route .purchase-flow-next {
    grid-area: next !important;
}

.storefront-body.cart-route .cart-flow-dock__total {
    grid-area: total !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    min-width: 0 !important;
    min-height: 40px !important;
    padding: 4px 8px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: linear-gradient(135deg, rgba(23,63,105,.07), rgba(75,169,217,.08)) !important;
    box-shadow: inset 0 0 0 1px rgba(68,142,201,.14) !important;
}

.storefront-body.cart-route .cart-flow-dock__total::before {
    display: none !important;
}

.storefront-body.cart-route .cart-flow-dock__total small {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1 !important;
}

.storefront-body.cart-route .cart-flow-dock__total strong {
    color: var(--text) !important;
    font-size: var(--tl-type-300) !important;
    line-height: 1.15 !important;
}

.storefront-body.cart-route .cart-flow-dock__total em {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
}

.storefront-body.cart-route .purchase-flow-dock .btn {
    min-height: 40px !important;
    padding: 6px 10px !important;
    border-radius: 11px !important;
    font-size: var(--tl-type-100) !important;
}

@media (max-width: 640px) {
    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-top: 50px !important;
    }

    html .storefront-body.cart-route .cart-flow-head,
    html .storefront-body.checkout-route .checkout-flow-head {
        top: 4px !important;
        width: calc(100% - 8px) !important;
        min-height: 36px !important;
        padding: 3px 5px !important;
        border-radius: 12px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
        height: 29px !important;
        border-radius: 9px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
        min-height: 25px !important;
        gap: 3px !important;
        padding: 1px 2px !important;
        border-radius: 7px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
        width: 17px !important;
        height: 17px !important;
        line-height: 17px !important;
        border-radius: 6px !important;
        font-size: var(--tl-type-100) !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
        font-size: var(--tl-type-100) !important;
    }

    .storefront-body.cart-route .cart-page {
        padding-bottom: 68px !important;
    }

    .storefront-body.cart-route .purchase-flow-dock {
        grid-template-columns: minmax(82px, .88fr) minmax(116px, 1.15fr) minmax(82px, .88fr) !important;
        grid-template-areas: "next total back" !important;
        gap: 5px !important;
        width: calc(100% - 10px) !important;
        min-height: 50px !important;
        bottom: calc(5px + env(safe-area-inset-bottom)) !important;
        padding: 5px !important;
        border-radius: 13px !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total {
        min-height: 38px !important;
        padding: 3px 5px !important;
        border-radius: 9px !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total small {
        font-size: var(--tl-type-100) !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total strong {
        font-size: var(--tl-type-200) !important;
    }

    .storefront-body.cart-route .purchase-flow-dock .btn {
        min-height: 38px !important;
        padding: 5px 7px !important;
        border-radius: 9px !important;
        font-size: var(--tl-type-100) !important;
    }
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head {
    background:
        radial-gradient(circle at 84% 50%, rgba(255,205,64,.08), transparent 22%),
        linear-gradient(135deg, rgba(11,24,40,.96), rgba(16,37,61,.95)) !important;
    border-color: rgba(132,178,221,.12) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
    border-color: rgba(255,255,255,.06);
    background: linear-gradient(180deg, rgba(27,55,88,.44), rgba(11,25,42,.58));
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-dock__total {
    background: linear-gradient(135deg, rgba(25,66,108,.48), rgba(14,34,56,.72)) !important;
    box-shadow: inset 0 0 0 1px rgba(116,172,222,.12) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-dock__total strong {
    color: #fff !important;
}


/* PURCHASE_FLOW_HEADER_DOCK_FIX_20260826 */
/* One compact, fixed progress header shared by cart + checkout. */
.storefront-body.cart-route .cart-page,
.storefront-body.checkout-route .checkout-flow-page {
    padding-top: 46px !important;
}

html .storefront-body.cart-route .cart-flow-head,
html .storefront-body.checkout-route .checkout-flow-head {
    position: fixed !important;
    z-index: 5200 !important;
    top: 0 !important;
    right: 50% !important;
    left: auto !important;
    transform: translateX(50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: min(1080px, 100%) !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 3px 8px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(68,142,201,.18) !important;
    border-radius: 0 0 12px 12px !important;
    background:
        radial-gradient(circle at 86% 25%, rgba(255,204,49,.13), transparent 22%),
        linear-gradient(180deg, rgba(251,253,255,.99), rgba(243,249,255,.985)) !important;
    box-shadow: 0 5px 16px rgba(19,45,77,.08) !important;
    backdrop-filter: blur(16px);
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
    position: relative !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    align-items: start !important;
    width: min(520px, 100%) !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 4px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
}

/* The connector lives only on the circle row, so it never crosses labels. */
html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps::before,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 8px !important;
    right: 17% !important;
    left: 17% !important;
    height: 1.5px !important;
    transform: none !important;
    border-radius: 99px !important;
    background: linear-gradient(90deg, rgba(66,130,185,.18), rgba(73,151,208,.45), rgba(255,196,42,.52)) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-rows: 17px 11px !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;
    gap: 1px !important;
    min-height: 29px !important;
    padding: 0 2px !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: #6d8095 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step:not(:last-child)::after,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step:not(:last-child)::after {
    display: none !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    width: 17px !important;
    height: 17px !important;
    place-items: center !important;
    margin: 0 !important;
    border: 1px solid rgba(65,126,180,.26) !important;
    border-radius: 50% !important;
    color: #49657f !important;
    background: linear-gradient(145deg, #fff, #e7f3ff) !important;
    box-shadow: 0 2px 5px rgba(19,45,77,.08) !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 950 !important;
    line-height: 1 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    overflow: visible !important;
    max-width: 100% !important;
    color: inherit !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 850 !important;
    line-height: 10px !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    color: #172c43 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(231,172,17,.72) !important;
    color: #17283b !important;
    background: linear-gradient(145deg, #ffe88c, #ffc529) !important;
    box-shadow: 0 0 0 3px rgba(255,198,39,.13), 0 3px 8px rgba(220,161,15,.23) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #24527d !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done > span {
    border-color: rgba(36,82,125,.27) !important;
    color: #24527d !important;
    background: linear-gradient(145deg, #f7fbff, #d7eaff) !important;
}

/* Cart bottom dock: products right | total center | continue left. */
.storefront-body.cart-route .cart-page {
    padding-bottom: 62px !important;
}

.storefront-body.cart-route .purchase-flow-dock.cart-flow-dock {
    position: fixed !important;
    z-index: 5100 !important;
    right: 50% !important;
    left: auto !important;
    bottom: calc(5px + env(safe-area-inset-bottom)) !important;
    transform: translateX(50%) !important;
    direction: ltr !important;
    display: grid !important;
    grid-template-columns: minmax(92px, 1fr) minmax(126px, 1.08fr) minmax(92px, 1fr) !important;
    grid-template-areas: "next total products" !important;
    align-items: center !important;
    gap: 5px !important;
    width: min(720px, calc(100% - 10px)) !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 4px !important;
    border: 1px solid rgba(68,142,201,.20) !important;
    border-radius: 13px !important;
    background: rgba(247,251,255,.96) !important;
    box-shadow: 0 9px 24px rgba(19,45,77,.16) !important;
    backdrop-filter: blur(16px);
}

.storefront-body.cart-route .cart-flow-products {
    grid-area: products !important;
    direction: rtl !important;
}

.storefront-body.cart-route .cart-flow-continue {
    grid-area: next !important;
    direction: rtl !important;
}

.storefront-body.cart-route .cart-flow-dock__total {
    grid-area: total !important;
    direction: rtl !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1px !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: 3px 6px !important;
    border: 1px solid rgba(68,142,201,.14) !important;
    border-radius: 9px !important;
    background: linear-gradient(135deg, rgba(23,63,105,.055), rgba(75,169,217,.075)) !important;
    box-shadow: none !important;
}

.storefront-body.cart-route .cart-flow-dock__total::before {
    display: none !important;
}

.storefront-body.cart-route .cart-flow-dock__total small {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1 !important;
}

.storefront-body.cart-route .cart-flow-dock__total strong {
    color: var(--text) !important;
    font-size: var(--tl-type-300) !important;
    font-weight: 950 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.storefront-body.cart-route .cart-flow-dock__total em {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
    font-style: normal !important;
}

.storefront-body.cart-route .purchase-flow-dock.cart-flow-dock .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-width: 0 !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border-radius: 9px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-top: 42px !important;
    }

    html .storefront-body.cart-route .cart-flow-head,
    html .storefront-body.checkout-route .checkout-flow-head {
        min-height: 35px !important;
        padding: 2px 5px 3px !important;
        border-radius: 0 0 10px 10px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
        width: 100% !important;
        height: 28px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
        grid-template-rows: 16px 10px !important;
        min-height: 27px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
        width: 16px !important;
        height: 16px !important;
        font-size: var(--tl-type-100) !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
        font-size: var(--tl-type-100) !important;
        line-height: 9px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps::before,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps::before {
        top: 7.5px !important;
    }

    .storefront-body.cart-route .cart-page {
        padding-bottom: 57px !important;
    }

    .storefront-body.cart-route .purchase-flow-dock.cart-flow-dock {
        grid-template-columns: minmax(78px, .95fr) minmax(108px, 1.1fr) minmax(78px, .95fr) !important;
        gap: 4px !important;
        width: calc(100% - 8px) !important;
        min-height: 46px !important;
        bottom: calc(4px + env(safe-area-inset-bottom)) !important;
        padding: 4px !important;
        border-radius: 11px !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total {
        min-height: 36px !important;
        padding: 2px 4px !important;
        border-radius: 8px !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total small {
        font-size: var(--tl-type-100) !important;
    }

    .storefront-body.cart-route .cart-flow-dock__total strong {
        font-size: var(--tl-type-200) !important;
    }

    .storefront-body.cart-route .purchase-flow-dock.cart-flow-dock .btn {
        min-height: 36px !important;
        padding: 4px 6px !important;
        border-radius: 8px !important;
        font-size: var(--tl-type-100) !important;
    }
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head {
    border-bottom-color: rgba(255,255,255,.075) !important;
    background:
        radial-gradient(circle at 86% 25%, rgba(255,205,64,.09), transparent 24%),
        linear-gradient(180deg, rgba(10,21,35,.995), rgba(14,31,51,.99)) !important;
    box-shadow: 0 6px 18px rgba(0,0,0,.30) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .purchase-flow-dock.cart-flow-dock {
    border-color: rgba(255,255,255,.08) !important;
    background: linear-gradient(180deg, rgba(13,29,48,.97), rgba(9,21,36,.97)) !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.34) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-dock__total {
    border-color: rgba(116,172,222,.11) !important;
    background: linear-gradient(135deg, rgba(25,66,108,.42), rgba(14,34,56,.64)) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-dock__total strong {
    color: #fff !important;
}

/* CHECKOUT_ADDRESS_NESHAN_PICKER_20260826 */
.checkout-address-section > .checkout-flow-section__head {
    margin-bottom: 10px;
}

.checkout-address-section .checkout-flow-section__head h2,
.checkout-shipping-section .checkout-flow-section__head h2 {
    font-size: var(--tl-type-400);
    font-weight: 900;
}

.checkout-address-add {
    min-height: 32px;
    padding: 5px 10px;
}

.checkout-address-selection-error {
    min-height: 0;
    margin: 7px 2px 0;
    color: var(--danger);
    font-size: var(--tl-type-100);
    font-weight: 750;
}

.checkout-address-selection-error:empty {
    display: none;
}

.checkout-address-editor--flow {
    margin-top: 10px;
    padding: 12px;
    overflow: hidden;
}

.checkout-address-editor__head {
    align-items: center;
    margin-bottom: 9px;
}

.checkout-address-editor__head strong {
    font-size: var(--tl-type-300);
    font-weight: 950;
}

.checkout-location-picker {
    display: grid;
    gap: 8px;
    margin-bottom: 12px;
    padding: 9px;
    border: 1px solid rgba(68, 142, 201, .18);
    border-radius: 13px;
    background: color-mix(in srgb, var(--surface-strong) 92%, #edf6ff);
}

.checkout-location-picker__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.checkout-location-picker__toolbar > div {
    display: grid;
    gap: 2px;
}

.checkout-location-picker__toolbar strong {
    font-size: var(--tl-type-100);
    font-weight: 900;
}

.checkout-location-picker__toolbar small {
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.6;
}

.checkout-location-current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 31px;
    padding: 5px 9px;
    border: 1px solid rgba(23, 63, 105, .20);
    border-radius: 9px;
    color: #173f69;
    background: color-mix(in srgb, var(--surface) 92%, #eaf4ff);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 900;
    white-space: nowrap;
}

.checkout-location-current svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
}

.checkout-location-current:disabled {
    cursor: wait;
    opacity: .58;
}

.checkout-location-map-wrap {
    position: relative;
    height: clamp(190px, 28vw, 270px);
    overflow: hidden;
    border: 1px solid rgba(68, 142, 201, .16);
    border-radius: 11px;
    background: #e7eef6;
}

.checkout-location-map {
    width: 100%;
    height: 100%;
}

.checkout-location-pin {
    position: absolute;
    z-index: 6;
    top: 50%;
    left: 50%;
    width: 28px;
    height: 34px;
    pointer-events: none;
    transform: translate(-50%, -100%);
    filter: drop-shadow(0 5px 8px rgba(10, 30, 52, .28));
}

.checkout-location-pin::before {
    content: "";
    position: absolute;
    inset: 0 2px 6px;
    border: 2px solid rgba(255,255,255,.95);
    border-radius: 50% 50% 50% 6px;
    background: linear-gradient(145deg, #173f69, #0e2d50);
    transform: rotate(-45deg);
}

.checkout-location-pin span {
    position: absolute;
    z-index: 1;
    top: 8px;
    left: 10px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ffd85a;
    box-shadow: 0 0 0 2px rgba(255,255,255,.78);
}

.checkout-location-loading {
    position: absolute;
    z-index: 5;
    inset: 0;
    display: grid;
    place-items: center;
    color: #47627e;
    background: rgba(238, 246, 255, .92);
    font-size: var(--tl-type-100);
    font-weight: 800;
}

.checkout-location-loading[hidden] {
    display: none !important;
}

.checkout-location-result {
    min-height: 17px;
    padding: 0 2px;
    color: var(--muted);
    font-size: var(--tl-type-100);
    line-height: 1.7;
}

.checkout-location-result.is-success {
    color: color-mix(in srgb, #1e7a4c 78%, var(--text));
}

.checkout-location-result.is-error {
    color: var(--danger);
}

.checkout-shipping-section {
    position: relative;
    transition: opacity .18s ease, filter .18s ease, border-color .18s ease;
}

.checkout-shipping-section.is-locked {
    opacity: .56;
    filter: saturate(.65);
}

.checkout-shipping-section.is-locked .shipping-list--flow {
    pointer-events: none;
    user-select: none;
}

.checkout-shipping-lock-hint {
    display: block;
    margin-top: 2px;
    color: var(--muted);
    font-size: var(--tl-type-100);
    font-weight: 650;
}

.checkout-shipping-lock-hint[hidden] {
    display: none !important;
}

html[data-theme="dark"] .checkout-location-picker {
    border-color: rgba(255,255,255,.08);
    background: linear-gradient(180deg, rgba(18,37,61,.92), rgba(12,27,47,.92));
}

html[data-theme="dark"] .checkout-location-current {
    border-color: rgba(255,255,255,.10);
    color: #a9cff5;
    background: rgba(24,52,83,.76);
}

html[data-theme="dark"] .checkout-location-map-wrap {
    border-color: rgba(255,255,255,.08);
    background: #10243a;
}

html[data-theme="dark"] .checkout-location-loading {
    color: #c7d9ec;
    background: rgba(10, 24, 41, .92);
}

@media (max-width: 620px) {
    .checkout-address-editor--flow {
        padding: 9px;
    }

    .checkout-location-picker {
        gap: 6px;
        padding: 7px;
        border-radius: 11px;
    }

    .checkout-location-picker__toolbar strong {
        font-size: var(--tl-type-100);
    }

    .checkout-location-picker__toolbar small {
        display: none;
    }

    .checkout-location-current {
        min-height: 29px;
        padding: 4px 7px;
        font-size: var(--tl-type-100);
    }

    .checkout-location-map-wrap {
        height: 205px;
        border-radius: 9px;
    }

    .checkout-location-result {
        font-size: var(--tl-type-100);
    }
}

/* CHECKOUT_ADDRESS_VISUAL_REFINEMENT_20260826 */
.storefront-body.cart-route .cart-page,
.storefront-body.checkout-route .checkout-flow-page {
    padding-top: 38px !important;
}

html .storefront-body.cart-route .cart-flow-head,
html .storefront-body.checkout-route .checkout-flow-head {
    top: 0 !important;
    right: 50% !important;
    left: auto !important;
    transform: translateX(50%) !important;
    width: min(520px, 100%) !important;
    min-height: 31px !important;
    margin: 0 !important;
    padding: 3px 5px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(71, 126, 177, .20) !important;
    border-radius: 0 0 10px 10px !important;
    background: rgba(247, 251, 255, .96) !important;
    box-shadow: 0 5px 14px rgba(17, 42, 70, .07) !important;
    backdrop-filter: blur(12px);
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 3px !important;
    width: 100% !important;
    height: 24px !important;
    padding: 0 !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps::before,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps::before,
html .storefront-body.cart-route .cart-flow-head .checkout-flow-step::after,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step::after {
    display: none !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-height: 24px !important;
    padding: 2px 5px !important;
    border: 1px solid transparent !important;
    border-radius: 7px !important;
    color: #60758d !important;
    background: transparent !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    border: 1px solid rgba(59, 116, 166, .24) !important;
    border-radius: 50% !important;
    color: #496a8c !important;
    background: #edf6ff !important;
    box-shadow: none !important;
    font-size: var(--tl-type-100) !important;
    line-height: 15px !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
    max-width: 52px !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    border-color: rgba(255, 198, 43, .28) !important;
    color: #20314a !important;
    background: linear-gradient(135deg, rgba(255, 225, 126, .72), rgba(255, 197, 44, .22)) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(255, 194, 37, .78) !important;
    color: #17283e !important;
    background: linear-gradient(180deg, #ffe896, #ffc62d) !important;
    box-shadow: 0 0 0 2px rgba(255, 202, 51, .15) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #315f8d !important;
}

.checkout-address-section,
.checkout-shipping-section {
    border-color: rgba(79, 145, 202, .28) !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 84%, #e7f3ff), color-mix(in srgb, var(--surface) 96%, #dfeeff)) !important;
    box-shadow: 0 10px 26px rgba(18, 52, 86, .08) !important;
}

.checkout-address-section {
    border-top-color: rgba(255, 198, 54, .42) !important;
}

.checkout-shipping-section {
    border-top-color: rgba(83, 158, 218, .46) !important;
}

.checkout-address-add-row {
    display: flex;
    justify-content: center;
    margin: 11px -2px -3px;
    padding-top: 10px;
    border-top: 1px solid rgba(76, 137, 190, .14);
}

.checkout-address-add-row [hidden] {
    display: none !important;
}

.checkout-address-add {
    min-width: min(240px, 76%);
    min-height: 38px;
    justify-content: center;
    border-color: rgba(255, 193, 39, .52) !important;
    border-radius: 11px !important;
    color: #17283f !important;
    background: linear-gradient(135deg, #ffe697, #ffc93f) !important;
    box-shadow: 0 8px 20px rgba(255, 196, 41, .16);
    font-size: var(--tl-type-100) !important;
    font-weight: 950 !important;
}

.checkout-address-editor--flow {
    border-color: rgba(81, 151, 210, .25) !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--surface) 82%, #edf7ff), color-mix(in srgb, var(--surface) 96%, #e7f2fd)) !important;
}

.checkout-location-picker {
    gap: 6px !important;
    margin-bottom: 10px !important;
    padding: 7px !important;
    border-color: rgba(72, 139, 198, .24) !important;
    border-radius: 12px !important;
    background: color-mix(in srgb, var(--surface-strong) 87%, #e6f3ff) !important;
}

.checkout-location-picker__toolbar {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 0 2px !important;
}

.checkout-location-picker__toolbar strong {
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
}

.checkout-location-picker__toolbar small {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
}

.checkout-location-map-wrap {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2.25 / 1 !important;
    min-height: 150px !important;
    max-height: 205px !important;
    border: 1px solid rgba(61, 125, 180, .22) !important;
    border-radius: 11px !important;
    background: #dfeaf5 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.30);
}

.checkout-location-current {
    position: absolute !important;
    z-index: 12 !important;
    right: 8px !important;
    bottom: 8px !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    border-radius: 9px !important;
    color: #14385d !important;
    background: rgba(247,252,255,.92) !important;
    box-shadow: 0 5px 14px rgba(15,43,73,.14) !important;
    backdrop-filter: blur(8px);
    font-size: var(--tl-type-100) !important;
}

.checkout-neshan-marker {
    position: relative;
    width: 22px;
    height: 22px;
    border: 3px solid rgba(255,255,255,.96);
    border-radius: 50% 50% 50% 4px;
    background: linear-gradient(135deg, #173f69, #0c2948);
    box-shadow: 0 5px 12px rgba(8,28,49,.28);
    transform: rotate(-45deg);
    cursor: grab;
}

.checkout-neshan-marker::after {
    content: "";
    position: absolute;
    top: 5px;
    left: 5px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #ffd447;
}

.checkout-neshan-marker:active {
    cursor: grabbing;
}

.checkout-location-map-wrap .mapboxgl-ctrl-attrib {
    max-width: 55% !important;
    padding: 0 3px !important;
    font-size: var(--tl-type-100) !important;
    line-height: 12px !important;
    opacity: .72;
}

.checkout-location-map-wrap .mapboxgl-ctrl-attrib a {
    font-size: inherit !important;
}

.checkout-location-map-wrap .mapboxgl-ctrl-bottom-left,
.checkout-location-map-wrap .mapboxgl-ctrl-bottom-right {
    transform: scale(.86);
    transform-origin: bottom right;
}

.checkout-location-result {
    min-height: 15px !important;
    padding: 1px 3px 0 !important;
    font-size: var(--tl-type-100) !important;
}

.checkout-shipping-section.is-locked {
    opacity: 1 !important;
    filter: none !important;
}

.checkout-shipping-section.is-locked .shipping-list--flow {
    opacity: .46;
    filter: saturate(.6);
}

.checkout-shipping-section.is-locked .checkout-flow-section__head {
    opacity: .72;
}

html[data-theme="dark"] .checkout-address-section {
    border-color: rgba(83, 151, 211, .24) !important;
    border-top-color: rgba(255, 205, 72, .48) !important;
    background: linear-gradient(180deg, #102a43, #0d2238) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.22) !important;
}

html[data-theme="dark"] .checkout-shipping-section {
    border-color: rgba(83, 151, 211, .24) !important;
    border-top-color: rgba(90, 171, 235, .48) !important;
    background: linear-gradient(180deg, #10263d, #0b1d31) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.20) !important;
}

html[data-theme="dark"] .checkout-address-editor--flow,
html[data-theme="dark"] .checkout-location-picker {
    border-color: rgba(108, 178, 236, .16) !important;
    background: linear-gradient(180deg, #16324f, #102740) !important;
}

html[data-theme="dark"] .checkout-location-map-wrap {
    border-color: rgba(112, 184, 239, .18) !important;
    background: #10243a !important;
}

html[data-theme="dark"] .checkout-location-current {
    border-color: rgba(255,255,255,.14) !important;
    color: #d8eafd !important;
    background: rgba(13,35,57,.90) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head {
    border-bottom-color: rgba(255,255,255,.07) !important;
    background: rgba(7,18,31,.97) !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.26) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
    color: rgba(206,224,243,.70) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
    border-color: rgba(117,172,221,.22) !important;
    color: #b8d8f5 !important;
    background: #10283f !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    border-color: rgba(255, 204, 61, .24) !important;
    color: #fff2c2 !important;
    background: linear-gradient(135deg, rgba(255,212,83,.18), rgba(255,192,32,.07)) !important;
}

@media (max-width: 620px) {
    .storefront-body.cart-route .cart-page,
    .storefront-body.checkout-route .checkout-flow-page {
        padding-top: 35px !important;
    }

    html .storefront-body.cart-route .cart-flow-head,
    html .storefront-body.checkout-route .checkout-flow-head {
        min-height: 29px !important;
        padding: 2px 4px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-steps,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-steps {
        height: 23px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step {
        min-height: 23px !important;
        padding: 2px 3px !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step > span,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step > span {
        width: 14px !important;
        height: 14px !important;
        flex-basis: 14px !important;
        font-size: var(--tl-type-100) !important;
    }

    html .storefront-body.cart-route .cart-flow-head .checkout-flow-step b,
    html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step b {
        font-size: var(--tl-type-100) !important;
    }

    .checkout-address-add {
        min-width: min(220px, 82%);
        min-height: 36px;
        font-size: var(--tl-type-100) !important;
    }

    .checkout-location-map-wrap {
        aspect-ratio: 2 / 1 !important;
        min-height: 145px !important;
        max-height: 180px !important;
    }

    .checkout-location-picker__toolbar small {
        display: inline !important;
        font-size: var(--tl-type-100) !important;
    }
}

/* CHECKOUT_ADDRESS_UNIFIED_SCREEN_20260826 */
html .storefront-body.checkout-route .checkout-flow-head::after,
html .storefront-body.checkout-route .checkout-address-section::before {
    display: none !important;
}

html .storefront-body.checkout-route .checkout-address-section {
    border-top-color: rgba(79, 145, 202, .28) !important;
}

html.checkout-address-editor-open,
html.checkout-address-editor-open body,
body.checkout-address-editor-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

html.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow-actions,
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-add-row {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow {
    display: none !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow.is-open {
    position: fixed !important;
    z-index: 4200 !important;
    top: 31px !important;
    right: 50% !important;
    bottom: 0 !important;
    left: auto !important;
    display: block !important;
    width: min(720px, 100%) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 10px 12px 84px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translateX(50%) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 90% 0, rgba(75,169,217,.08), transparent 22rem),
        var(--bg) !important;
    box-shadow: 0 -6px 24px rgba(10, 29, 49, .08) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head {
    position: sticky !important;
    z-index: 20 !important;
    top: -10px !important;
    display: flex !important;
    align-items: center !important;
    min-height: 44px !important;
    margin: -10px -12px 10px !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid rgba(78, 141, 196, .16) !important;
    background: color-mix(in srgb, var(--bg) 94%, transparent) !important;
    backdrop-filter: blur(14px);
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head > div {
    display: grid !important;
    gap: 2px !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head strong {
    font-size: var(--tl-type-300) !important;
    font-weight: 950 !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head small {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-picker {
    display: grid !important;
    gap: 7px !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-picker__toolbar {
    min-height: 26px !important;
    padding: 0 2px !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-picker__toolbar strong {
    font-size: var(--tl-type-100) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-picker__toolbar small {
    font-size: var(--tl-type-100) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-map-wrap {
    width: 100% !important;
    aspect-ratio: 2.35 / 1 !important;
    min-height: 160px !important;
    max-height: 235px !important;
    overflow: hidden !important;
    border: 1px solid rgba(74, 139, 197, .28) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 26px rgba(14, 43, 72, .10) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-result {
    min-height: 24px !important;
    padding: 5px 7px !important;
    border: 1px solid rgba(74, 139, 197, .14) !important;
    border-radius: 8px !important;
    background: color-mix(in srgb, var(--surface) 78%, transparent) !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1.7 !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-grid {
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid rgba(74, 139, 197, .18) !important;
    border-radius: 14px !important;
    background: color-mix(in srgb, var(--surface) 88%, #edf6ff) !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__actions {
    position: fixed !important;
    z-index: 4300 !important;
    right: 50% !important;
    bottom: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(92px, .85fr) minmax(150px, 1.45fr) !important;
    gap: 8px !important;
    width: min(720px, 100%) !important;
    margin: 0 !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    transform: translateX(50%) !important;
    border-top: 1px solid rgba(75, 139, 196, .18) !important;
    background: color-mix(in srgb, var(--surface) 94%, transparent) !important;
    box-shadow: 0 -10px 28px rgba(9, 30, 52, .12) !important;
    backdrop-filter: blur(16px);
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__actions .btn {
    min-height: 42px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 950 !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-error {
    margin-bottom: 2px !important;
    padding: 0 4px !important;
}

html[data-theme="dark"] .storefront-body.checkout-route .checkout-address-editor--flow.is-open {
    background:
        radial-gradient(circle at 88% 0, rgba(59,132,192,.10), transparent 22rem),
        #071522 !important;
}

html[data-theme="dark"] .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__actions {
    border-color: rgba(112, 177, 229, .12) !important;
    background: rgba(8, 24, 39, .94) !important;
}

html[data-theme="dark"] .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-grid {
    border-color: rgba(101, 170, 226, .15) !important;
    background: linear-gradient(180deg, #102a43, #0c2238) !important;
}

html[data-theme="dark"] .storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-result {
    border-color: rgba(102, 171, 227, .14) !important;
    background: rgba(18, 46, 72, .78) !important;
}

@media (max-width: 620px) {
    .storefront-body.checkout-route .checkout-address-editor--flow.is-open {
        top: 29px !important;
        padding: 8px 8px 78px !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__head {
        top: -8px !important;
        min-height: 40px !important;
        margin: -8px -8px 8px !important;
        padding: 7px 9px !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-location-map-wrap {
        aspect-ratio: 2.15 / 1 !important;
        min-height: 145px !important;
        max-height: 185px !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 7px !important;
        padding: 8px !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-grid .checkout-field--title,
    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-form-grid .span-2 {
        grid-column: 1 / -1 !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__actions {
        grid-template-columns: minmax(86px, .85fr) minmax(145px, 1.45fr) !important;
        gap: 7px !important;
        padding: 7px 8px calc(7px + env(safe-area-inset-bottom)) !important;
    }

    .storefront-body.checkout-route .checkout-address-editor--flow .checkout-address-editor__actions .btn {
        min-height: 39px !important;
    }
}

/* ADDRESS_CAPTURE_SINGLE_SCREEN_20260826 */
html.checkout-address-editor-open,
body.checkout-address-editor-open {
    overflow: hidden !important;
    height: 100% !important;
}

html.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow-head,
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow-actions,
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-add-row,
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-shipping-section {
    visibility: hidden !important;
    pointer-events: none !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow {
    display: none !important;
}

.storefront-body.checkout-route .checkout-address-editor--flow.is-open {
    position: fixed !important;
    z-index: 6000 !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-rows: 44px minmax(0, 1fr) 54px !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--bg) !important;
    box-shadow: none !important;
}

.address-capture-header {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 14px;
    border-bottom: 1px solid color-mix(in srgb, var(--primary) 22%, var(--line));
    background: color-mix(in srgb, var(--surface) 96%, var(--primary) 4%);
    box-shadow: 0 4px 14px rgba(19,45,77,.06);
}

.address-capture-header strong {
    color: var(--text);
    font-size: var(--tl-type-500);
    font-weight: 950;
}

.address-capture-body {
    display: grid;
    grid-template-rows: minmax(126px, 29vh) minmax(0, 1fr);
    gap: 7px;
    width: min(760px, 100%);
    min-height: 0;
    margin: 0 auto;
    padding: 7px 10px 6px;
    overflow: hidden;
}

.address-capture-map-section,
.address-capture-fields,
.checkout-location-picker {
    min-height: 0;
}

.address-capture-map-section {
    display: grid;
}

.address-capture-map-section .checkout-location-picker {
    display: grid;
    grid-template-rows: minmax(0, 1fr) 34px;
    gap: 5px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.address-capture-map-section .checkout-location-map-wrap {
    position: relative;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--line));
    border-radius: 12px;
    background: var(--surface-strong);
}

.address-capture-map-section .checkout-location-map {
    width: 100%;
    height: 100% !important;
    min-height: 0 !important;
}

/* Keep the required attribution, but remove map controls that compete with our UI. */
.address-capture-map-section .checkout-location-map .mapboxgl-ctrl:not(.mapboxgl-ctrl-attrib),
.address-capture-map-section .checkout-location-map .mapboxgl-ctrl-group,
.address-capture-map-section .checkout-location-map [class*="map-type"],
.address-capture-map-section .checkout-location-map [class*="mapType"] {
    display: none !important;
}

.address-capture-map-section .checkout-location-map .mapboxgl-ctrl-attrib {
    max-width: 72% !important;
    padding: 1px 4px !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1.2 !important;
    opacity: .72;
}

.checkout-location-current {
    position: absolute !important;
    z-index: 8 !important;
    top: 8px !important;
    right: 8px !important;
    bottom: auto !important;
    left: auto !important;
    min-height: 30px !important;
    padding: 5px 9px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 10px !important;
    color: #fff !important;
    background: rgba(16,39,65,.90) !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.20) !important;
    backdrop-filter: blur(8px);
    font-size: var(--tl-type-100) !important;
    font-weight: 850 !important;
}

.checkout-location-current svg {
    width: 15px !important;
    height: 15px !important;
}

.address-capture-map-action-row {
    display: grid;
    grid-template-columns: minmax(155px, .42fr) minmax(0, 1fr);
    gap: 6px;
    align-items: center;
    min-height: 0;
}

.address-location-confirm {
    min-height: 32px !important;
    padding: 5px 9px !important;
    border: 1px solid color-mix(in srgb, var(--primary) 40%, var(--line)) !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #173f69, #1e5684) !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
}

.address-location-confirm:disabled {
    color: #0d5d3d !important;
    border-color: rgba(31,142,96,.40) !important;
    background: linear-gradient(135deg, #dff4e9, #c8ead9) !important;
    opacity: 1 !important;
}

.address-capture-map-action-row .checkout-location-result {
    display: flex;
    align-items: center;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 4px 7px !important;
    overflow: hidden;
    border-radius: 9px !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1.45 !important;
}

.address-capture-fields {
    display: grid;
    align-content: start;
    min-height: 0;
    padding: 7px 9px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--primary) 22%, var(--line));
    border-radius: 13px;
    background: color-mix(in srgb, var(--surface) 95%, var(--primary) 5%);
}

.checkout-address-form-grid.address-capture-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 5px 7px !important;
    min-height: 0;
}

.address-capture-grid .address-capture-address-field {
    grid-column: 1 / -1 !important;
}

.address-capture-grid .address-capture-postal-field {
    grid-column: 1 / -1 !important;
    width: 50%;
    justify-self: end;
}

.address-capture-receiver-row {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.address-capture-grid .checkout-field {
    gap: 2px !important;
    min-width: 0;
}

.address-capture-grid .checkout-field label {
    font-size: var(--tl-type-100) !important;
    line-height: 1.25 !important;
}

.address-capture-grid .checkout-field input,
.address-capture-grid .checkout-field select,
.address-capture-grid .checkout-field textarea {
    min-height: 32px !important;
    height: 32px !important;
    padding: 5px 8px !important;
    border-radius: 9px !important;
    font-size: var(--tl-type-100) !important;
}

.address-capture-grid .checkout-field textarea {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    resize: none !important;
    line-height: 1.45 !important;
}

.address-capture-grid .field-validation-error,
.address-capture-grid .field-validation-valid {
    display: none !important;
}

.address-capture-actions {
    position: static !important;
    z-index: 5;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    width: min(760px, calc(100% - 20px));
    height: 54px;
    margin: 0 auto !important;
    padding: 6px 0 !important;
    border: 0 !important;
    background: var(--bg) !important;
}

.address-capture-actions .btn {
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
}

.address-capture-save,
.address-title-modal__confirm {
    border: 1px solid rgba(31,142,96,.52) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #198958, #14764b) !important;
    box-shadow: 0 7px 18px rgba(25,137,88,.18) !important;
}

.address-capture-cancel {
    border: 1px solid rgba(245,200,76,.46) !important;
    color: #273b55 !important;
    background: linear-gradient(145deg, #ffe077, #f5c84c) !important;
}

.checkout-address-form-error {
    position: fixed !important;
    z-index: 6010 !important;
    right: 50% !important;
    bottom: 56px !important;
    width: min(740px, calc(100% - 28px)) !important;
    margin: 0 !important;
    transform: translateX(50%);
    pointer-events: none;
    text-align: center;
    font-size: var(--tl-type-100) !important;
}

.address-title-modal[hidden] {
    display: none !important;
}

.address-title-modal {
    position: fixed;
    z-index: 7000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 18px;
}

.address-title-modal__glass {
    position: absolute;
    inset: 0;
    background: rgba(8,18,31,.48);
    backdrop-filter: blur(13px) saturate(.85);
}

.address-title-modal__dialog {
    position: relative;
    display: grid;
    gap: 9px;
    width: min(360px, 100%);
    padding: 18px;
    border: 1px solid color-mix(in srgb, var(--primary) 28%, var(--line));
    border-radius: 16px;
    color: var(--text);
    background: var(--surface);
    box-shadow: 0 24px 80px rgba(0,0,0,.28);
}

.address-title-modal__dialog > strong {
    font-size: var(--tl-type-600);
    font-weight: 950;
}

.address-title-modal__dialog > p {
    margin: 0;
    color: var(--muted);
    font-size: var(--tl-type-100);
}

.address-title-modal__dialog input {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--text);
    background: var(--surface-strong);
    font: inherit;
    font-size: var(--tl-type-100);
}

.address-title-modal__error {
    min-height: 12px;
    color: var(--danger);
    font-size: var(--tl-type-100);
}

.address-title-modal__confirm {
    min-height: 40px !important;
    border-radius: 10px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
}

html[data-theme="dark"] .address-capture-header,
html[data-theme="dark"] .address-capture-fields,
html[data-theme="dark"] .address-title-modal__dialog {
    border-color: rgba(89,153,210,.20) !important;
    background: linear-gradient(145deg, #101d2e, #0d1827) !important;
}

html[data-theme="dark"] .address-capture-map-section .checkout-location-map-wrap {
    border-color: rgba(89,153,210,.26) !important;
    background: #0d1827 !important;
}

html[data-theme="dark"] .address-capture-cancel {
    color: #101b2a !important;
    background: linear-gradient(145deg, #ffe077, #f5b933) !important;
}

html[data-theme="dark"] .address-capture-save,
html[data-theme="dark"] .address-title-modal__confirm {
    border-color: rgba(83,202,145,.46) !important;
    color: #eafff3 !important;
    background: linear-gradient(135deg, #1b7b57, #175f46) !important;
}

@media (max-width: 620px) {
    .storefront-body.checkout-route .checkout-address-editor--flow.is-open {
        grid-template-rows: 40px minmax(0, 1fr) 52px !important;
    }

    .address-capture-header {
        min-height: 40px;
    }

    .address-capture-header strong { font-size: var(--tl-type-300); }

    .address-capture-body {
        grid-template-rows: minmax(120px, 27vh) minmax(0, 1fr);
        gap: 5px;
        padding: 5px 7px 4px;
    }

    .address-capture-map-section .checkout-location-picker {
        grid-template-rows: minmax(0, 1fr) 31px;
        gap: 4px;
    }

    .address-capture-map-action-row {
        grid-template-columns: minmax(142px, .48fr) minmax(0, 1fr);
        gap: 4px;
    }

    .address-location-confirm { min-height: 29px !important; font-size: var(--tl-type-100) !important; }
    .address-capture-map-action-row .checkout-location-result { min-height: 29px !important; font-size: var(--tl-type-100) !important; }

    .address-capture-fields { padding: 5px 6px; border-radius: 11px; }
    .checkout-address-form-grid.address-capture-grid { gap: 3px 5px !important; }
    .address-capture-receiver-row { gap: 5px; }
    .address-capture-grid .checkout-field label { font-size: var(--tl-type-100) !important; }
    .address-capture-grid .checkout-field input,
    .address-capture-grid .checkout-field select { min-height: 29px !important; height: 29px !important; padding: 4px 6px !important; font-size: var(--tl-type-100) !important; }
    .address-capture-grid .checkout-field textarea { min-height: 38px !important; height: 38px !important; max-height: 38px !important; font-size: var(--tl-type-100) !important; }
    .address-capture-actions { width: calc(100% - 14px); height: 52px; gap: 6px !important; padding: 5px 0 !important; }
    .address-capture-actions .btn { min-height: 42px !important; height: 42px !important; font-size: var(--tl-type-100) !important; }
}

@media (max-height: 700px) {
    .address-capture-body {
        grid-template-rows: minmax(104px, 23vh) minmax(0, 1fr);
    }

    .address-capture-grid .checkout-field input,
    .address-capture-grid .checkout-field select {
        min-height: 27px !important;
        height: 27px !important;
    }

    .address-capture-grid .checkout-field textarea {
        min-height: 34px !important;
        height: 34px !important;
        max-height: 34px !important;
    }
}

/* CUSTOMER_ADDRESS_CAPTURE_SINGLE_SCREEN_20260826 */
body:has(.customer-address-capture-page) .site-header,
body:has(.customer-address-capture-page) .site-footer,
body:has(.customer-address-capture-page) .site-ambient,
body:has(.customer-address-capture-page) .mobile-navigation,
body:has(.customer-address-capture-page) .mobile-nav-backdrop,
body:has(.customer-address-capture-page) .mobile-bottom-nav {
    display: none !important;
}

body:has(.customer-address-capture-page) {
    overflow: hidden !important;
}

.customer-address-capture-page {
    position: fixed;
    z-index: 5000;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    overflow: hidden;
    background: var(--bg);
}

.customer-address-capture-form {
    display: grid;
    grid-template-rows: 44px minmax(0, 1fr) 54px;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.customer-address-capture-body {
    width: min(760px, 100%);
}

.customer-address-capture-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px 7px;
    min-height: 0;
}

.customer-address-capture-grid .auth-field {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.customer-address-capture-grid .auth-field label {
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 800;
}

.customer-address-capture-grid .auth-field input,
.customer-address-capture-grid .auth-field select,
.customer-address-capture-grid .auth-field textarea {
    width: 100%;
    min-height: 32px;
    height: 32px;
    padding: 5px 8px;
    border: 1px solid var(--line);
    border-radius: 9px;
    color: var(--text);
    background: var(--surface-strong);
    font: inherit;
    font-size: var(--tl-type-100);
}

.customer-address-capture-grid .auth-field textarea {
    min-height: 44px;
    height: 44px;
    max-height: 44px;
    resize: none;
    line-height: 1.45;
}

.customer-address-capture-grid .auth-field > span,
.customer-address-capture-grid .field-validation-error,
.customer-address-capture-grid .field-validation-valid,
.address-capture-validation:empty {
    display: none !important;
}

.customer-address-capture-grid .address-capture-address-field {
    grid-column: 1 / -1;
}

.customer-address-capture-grid .address-capture-postal-field {
    grid-column: 1 / -1;
    width: 50%;
    justify-self: end;
}

.customer-address-capture-actions {
    width: min(760px, calc(100% - 20px));
}

.customer-address-capture-actions .address-capture-cancel {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.customer-address-capture-error {
    bottom: 56px !important;
}

html[data-theme="dark"] .customer-address-capture-page {
    background: #081522;
}

@media (max-width: 620px) {
    .customer-address-capture-form {
        grid-template-rows: 40px minmax(0, 1fr) 52px;
    }

    .customer-address-capture-grid {
        gap: 3px 5px;
    }

    .customer-address-capture-grid .auth-field label { font-size: var(--tl-type-100); }
    .customer-address-capture-grid .auth-field input,
    .customer-address-capture-grid .auth-field select { min-height: 29px; height: 29px; padding: 4px 6px; font-size: var(--tl-type-100); }
    .customer-address-capture-grid .auth-field textarea { min-height: 38px; height: 38px; max-height: 38px; font-size: var(--tl-type-100); }
    .customer-address-capture-actions { width: calc(100% - 14px); }
}


/* ADDRESS_CAPTURE_VIEWPORT_ALIGNMENT_FIX_20260826 */
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-editor--flow.is-open,
body.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-editor--flow.is-open {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

html.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow-page,
body.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow-page,
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow,
body.checkout-address-editor-open .storefront-body.checkout-route .checkout-flow {
    transform: none !important;
}

html.checkout-address-editor-open .address-capture-header,
html.checkout-address-editor-open .address-capture-body,
html.checkout-address-editor-open .address-capture-actions {
    position: relative;
    right: auto !important;
    left: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

html.checkout-address-editor-open .address-capture-header {
    width: 100% !important;
    max-width: none !important;
}

html.checkout-address-editor-open .address-capture-body {
    width: min(760px, 100%) !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

html.checkout-address-editor-open .address-capture-actions {
    width: min(760px, calc(100% - 14px)) !important;
    max-width: calc(100% - 14px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

html.checkout-address-editor-open .address-capture-actions .btn {
    min-width: 0 !important;
    width: 100% !important;
}

html.checkout-address-editor-open .address-capture-map-section,
html.checkout-address-editor-open .address-capture-fields,
html.checkout-address-editor-open .checkout-address-form-grid.address-capture-grid,
html.checkout-address-editor-open .address-capture-receiver-row,
html.checkout-address-editor-open .checkout-field,
html.checkout-address-editor-open .checkout-location-picker,
html.checkout-address-editor-open .checkout-location-map-wrap {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

html.checkout-address-editor-open,
html.checkout-address-editor-open body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Apply the same viewport hardening to the account address capture screen. */
.customer-address-capture-page {
    inset: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* ADDRESS_CAPTURE_PROPORTION_AND_ACTIONS_20260826 */
html.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-editor--flow.is-open {
    grid-template-rows: 48px minmax(0, 1fr) 60px !important;
}

html.checkout-address-editor-open .address-capture-header,
.customer-address-capture-header {
    min-height: 48px !important;
    padding: 0 16px !important;
}

html.checkout-address-editor-open .address-capture-header strong,
.customer-address-capture-header strong {
    font-size: var(--tl-type-600) !important;
    letter-spacing: -.02em;
}

html.checkout-address-editor-open .address-capture-body,
.customer-address-capture-body {
    grid-template-rows: clamp(275px, 39vh, 360px) auto !important;
    align-content: start !important;
    gap: 8px !important;
    width: min(820px, 100%) !important;
    padding: 8px 10px 7px !important;
    overflow: hidden !important;
}

.address-capture-map-section .checkout-location-picker {
    grid-template-rows: minmax(0, 1fr) auto !important;
    gap: 6px !important;
}

.address-capture-map-section .checkout-location-map-wrap {
    border-radius: 14px !important;
}

.checkout-location-current {
    top: auto !important;
    right: 10px !important;
    bottom: 10px !important;
    left: auto !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: var(--tl-type-100) !important;
}

.address-capture-map-action-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 40px minmax(18px, auto) !important;
    gap: 4px !important;
    width: 100% !important;
}

.address-location-confirm {
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 7px 12px !important;
    border-radius: 11px !important;
    font-size: var(--tl-type-100) !important;
}

.address-capture-map-action-row .checkout-location-result {
    justify-content: center !important;
    min-height: 18px !important;
    padding: 1px 7px !important;
    border: 0 !important;
    background: transparent !important;
    font-size: var(--tl-type-100) !important;
    text-align: center !important;
}

.address-capture-fields {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 11px !important;
    overflow: visible !important;
    border-radius: 14px !important;
}

.checkout-address-form-grid.address-capture-grid,
.customer-address-capture-grid {
    gap: 7px 9px !important;
}

.address-capture-grid .checkout-field,
.customer-address-capture-grid .auth-field {
    gap: 3px !important;
}

.address-capture-grid .checkout-field label,
.customer-address-capture-grid .auth-field label {
    font-size: var(--tl-type-100) !important;
    line-height: 1.25 !important;
}

.address-capture-grid .checkout-field label small,
.customer-address-capture-grid .auth-field label small {
    color: var(--muted) !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 600 !important;
}

.address-capture-grid .checkout-field input,
.address-capture-grid .checkout-field select,
.customer-address-capture-grid .auth-field input,
.customer-address-capture-grid .auth-field select {
    min-height: 38px !important;
    height: 38px !important;
    padding: 6px 9px !important;
    border-radius: 10px !important;
    font-size: var(--tl-type-100) !important;
}

.address-capture-grid .checkout-field textarea,
.customer-address-capture-grid .auth-field textarea {
    min-height: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
    padding: 7px 9px !important;
    border-radius: 10px !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1.55 !important;
}

.address-capture-grid .address-capture-postal-field,
.customer-address-capture-grid .address-capture-postal-field {
    width: 50% !important;
    min-width: 180px !important;
}

.address-capture-receiver-row {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

html.checkout-address-editor-open .address-capture-actions,
.customer-address-capture-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(820px, calc(100% - 20px)) !important;
    height: 60px !important;
    padding: 6px 0 !important;
}

html.checkout-address-editor-open .address-capture-actions .btn,
.customer-address-capture-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 8px 14px !important;
    border-radius: 12px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
}

.address-capture-save,
.address-title-modal__confirm {
    border-color: color-mix(in srgb, var(--success) 72%, transparent) !important;
    color: #fff !important;
    background: var(--success) !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--success) 22%, transparent) !important;
}

.address-capture-cancel {
    border: 1px solid rgba(48, 93, 138, .34) !important;
    color: #fff !important;
    background: linear-gradient(135deg, #173f69, #10243f) !important;
    box-shadow: 0 6px 16px rgba(19,45,77,.16) !important;
}

html[data-theme="dark"] .address-capture-cancel {
    border-color: rgba(124,176,225,.24) !important;
    color: #eef6ff !important;
    background: linear-gradient(135deg, #173f69, #10243f) !important;
}

.customer-address-capture-form {
    grid-template-rows: 48px minmax(0, 1fr) 60px !important;
}

@media (max-width: 620px) {
    html.checkout-address-editor-open .storefront-body.checkout-route .checkout-address-editor--flow.is-open,
    .customer-address-capture-form {
        grid-template-rows: 46px minmax(0, 1fr) 58px !important;
    }

    html.checkout-address-editor-open .address-capture-header,
    .customer-address-capture-header {
        min-height: 46px !important;
    }

    html.checkout-address-editor-open .address-capture-header strong,
    .customer-address-capture-header strong {
        font-size: var(--tl-type-500) !important;
    }

    html.checkout-address-editor-open .address-capture-body,
    .customer-address-capture-body {
        grid-template-rows: clamp(250px, 37vh, 330px) auto !important;
        gap: 7px !important;
        padding: 7px 8px 6px !important;
    }

    .checkout-location-current {
        right: 8px !important;
        bottom: 8px !important;
        min-height: 31px !important;
        font-size: var(--tl-type-100) !important;
    }

    .address-capture-map-action-row {
        grid-template-rows: 38px minmax(17px, auto) !important;
    }

    .address-location-confirm {
        min-height: 38px !important;
        height: 38px !important;
        font-size: var(--tl-type-100) !important;
    }

    .address-capture-fields {
        padding: 8px 9px !important;
    }

    .checkout-address-form-grid.address-capture-grid,
    .customer-address-capture-grid {
        gap: 6px 7px !important;
    }

    .address-capture-grid .checkout-field label,
    .customer-address-capture-grid .auth-field label {
        font-size: var(--tl-type-100) !important;
    }

    .address-capture-grid .checkout-field input,
    .address-capture-grid .checkout-field select,
    .customer-address-capture-grid .auth-field input,
    .customer-address-capture-grid .auth-field select {
        min-height: 36px !important;
        height: 36px !important;
        font-size: var(--tl-type-100) !important;
    }

    .address-capture-grid .checkout-field textarea,
    .customer-address-capture-grid .auth-field textarea {
        min-height: 48px !important;
        height: 48px !important;
        max-height: 48px !important;
        font-size: var(--tl-type-100) !important;
    }

    .address-capture-grid .address-capture-postal-field,
    .customer-address-capture-grid .address-capture-postal-field {
        width: 100% !important;
        min-width: 0 !important;
    }

    .address-capture-receiver-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px 7px !important;
    }

    html.checkout-address-editor-open .address-capture-actions,
    .customer-address-capture-actions {
        width: calc(100% - 16px) !important;
        height: 58px !important;
        gap: 8px !important;
        padding: 5px 0 !important;
    }

    html.checkout-address-editor-open .address-capture-actions .btn,
    .customer-address-capture-actions .btn {
        min-height: 48px !important;
        height: 48px !important;
        font-size: var(--tl-type-100) !important;
    }
}

@media (max-height: 720px) {
    html.checkout-address-editor-open .address-capture-body,
    .customer-address-capture-body {
        grid-template-rows: clamp(205px, 31vh, 250px) auto !important;
        gap: 5px !important;
        padding-top: 5px !important;
    }

    .address-capture-fields { padding: 6px 8px !important; }

    .address-capture-grid .checkout-field input,
    .address-capture-grid .checkout-field select,
    .customer-address-capture-grid .auth-field input,
    .customer-address-capture-grid .auth-field select {
        min-height: 32px !important;
        height: 32px !important;
    }

    .address-capture-grid .checkout-field textarea,
    .customer-address-capture-grid .auth-field textarea {
        min-height: 40px !important;
        height: 40px !important;
        max-height: 40px !important;
    }
}

/* ADDRESS_CAPTURE_LAYOUT_FINISH_20260826 */
html.checkout-address-editor-open .address-capture-map-section .checkout-location-picker {
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    min-height: 0 !important;
    overflow: visible !important;
}

html.checkout-address-editor-open .address-capture-map-section .checkout-location-map-wrap {
    position: relative !important;
    z-index: 1 !important;
    flex: 1 1 auto !important;
    min-height: 150px !important;
    margin: 0 !important;
}

html.checkout-address-editor-open .address-capture-map-action-row {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 38px minmax(16px, auto) !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: transparent !important;
}

html.checkout-address-editor-open .address-location-confirm {
    position: relative !important;
    inset: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    font-size: var(--tl-type-100) !important;
    line-height: 1 !important;
}

html.checkout-address-editor-open .address-capture-map-action-row .checkout-location-result {
    position: static !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    line-height: 1.45 !important;
}

/* Compact, project-styled province chooser instead of the very tall native popup. */
html.checkout-address-editor-open .address-province-native-select {
    position: absolute !important;
    width: 1px !important;
    min-width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.address-province-combobox {
    position: relative;
    z-index: 30;
    width: 100%;
    min-width: 0;
}

.address-province-combobox__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 36px;
    height: 36px;
    padding: 6px 10px;
    border: 1px solid var(--line);
    border-radius: 10px;
    color: var(--muted);
    background: var(--surface-strong);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 750;
    text-align: right;
}

.address-province-combobox__button::after {
    content: "⌄";
    flex: 0 0 auto;
    margin-right: 8px;
    color: var(--primary);
    font-size: var(--tl-type-300);
    line-height: 1;
    transition: transform .16s ease;
}

.address-province-combobox.is-open .address-province-combobox__button::after {
    transform: rotate(180deg);
}

.address-province-combobox__button.has-value {
    color: var(--text);
}

.address-province-combobox__list {
    position: absolute;
    z-index: 6900;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    display: none;
    max-height: 178px;
    padding: 4px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid color-mix(in srgb, var(--primary) 26%, var(--line));
    border-radius: 10px;
    background: var(--surface);
    box-shadow: 0 14px 30px rgba(9, 30, 52, .18);
}

.address-province-combobox.is-open .address-province-combobox__list {
    display: grid;
}

.address-province-combobox__option {
    width: 100%;
    min-height: 28px;
    padding: 5px 8px;
    border: 0;
    border-radius: 7px;
    color: var(--text);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 700;
    text-align: right;
}

.address-province-combobox__option:hover,
.address-province-combobox__option[aria-selected="true"] {
    color: var(--text);
    background: color-mix(in srgb, var(--primary) 10%, var(--surface));
}

/* Match the standard purchase-flow action sizing and keep both buttons identical. */
html.checkout-address-editor-open .address-capture-actions,
.customer-address-capture-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: min(720px, calc(100% - 20px)) !important;
    height: 54px !important;
    padding: 7px 0 !important;
}

html.checkout-address-editor-open .address-capture-actions .btn,
.customer-address-capture-actions .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 6px 12px !important;
    border-radius: 11px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

html[data-theme="dark"] .address-province-combobox__button,
html[data-theme="dark"] .address-province-combobox__list {
    border-color: rgba(112, 177, 229, .16);
    color: #eaf4ff;
    background: #0d2238;
}

html[data-theme="dark"] .address-province-combobox__option {
    color: #dceafb;
}

html[data-theme="dark"] .address-province-combobox__option:hover,
html[data-theme="dark"] .address-province-combobox__option[aria-selected="true"] {
    background: rgba(75, 169, 217, .13);
}

@media (max-width: 620px) {
    html.checkout-address-editor-open .address-capture-map-section .checkout-location-picker {
        gap: 6px !important;
    }

    html.checkout-address-editor-open .address-capture-map-action-row {
        grid-template-rows: 36px minmax(15px, auto) !important;
    }

    html.checkout-address-editor-open .address-location-confirm {
        min-height: 36px !important;
        height: 36px !important;
        font-size: var(--tl-type-100) !important;
    }

    .address-province-combobox__button {
        min-height: 34px;
        height: 34px;
        font-size: var(--tl-type-100);
    }

    .address-province-combobox__list {
        max-height: 164px;
    }

    .address-province-combobox__option {
        min-height: 27px;
        font-size: var(--tl-type-100);
    }

    html.checkout-address-editor-open .address-capture-actions,
    .customer-address-capture-actions {
        width: calc(100% - 16px) !important;
        height: 52px !important;
        gap: 8px !important;
        padding: 6px 0 !important;
    }

    html.checkout-address-editor-open .address-capture-actions .btn,
    .customer-address-capture-actions .btn {
        min-height: 40px !important;
        height: 40px !important;
        font-size: var(--tl-type-100) !important;
    }
}


/* ADDRESS_CAPTURE_DROPDOWN_LOCATION_TUNE_20260826 */
html.checkout-address-editor-open .address-province-combobox__list,
.customer-address-capture-form .address-province-combobox__list {
    max-height: 230px !important;
    padding: 4px !important;
}

html.checkout-address-editor-open .address-province-combobox__option,
.customer-address-capture-form .address-province-combobox__option {
    min-height: 29px !important;
    padding: 5px 8px !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

html.checkout-address-editor-open .address-province-combobox__button,
.customer-address-capture-form .address-province-combobox__button {
    font-size: var(--tl-type-100) !important;
    font-weight: 800 !important;
}

html.checkout-address-editor-open .checkout-location-current,
.customer-address-capture-form .checkout-location-current {
    top: auto !important;
    right: 8px !important;
    bottom: 28px !important;
    left: auto !important;
}

@media (max-width: 620px) {
    html.checkout-address-editor-open .address-province-combobox__list,
    .customer-address-capture-form .address-province-combobox__list {
        max-height: 220px !important;
    }

    html.checkout-address-editor-open .address-province-combobox__option,
    .customer-address-capture-form .address-province-combobox__option {
        min-height: 28px !important;
        font-size: var(--tl-type-100) !important;
        line-height: 1.35 !important;
    }

    html.checkout-address-editor-open .checkout-location-current,
    .customer-address-capture-form .checkout-location-current {
        bottom: 28px !important;
    }
}

/* PURCHASE_FLOW_SELECTION_COLOR_RULE_20260826 */
/* Design rule: selected/current states in the purchase flow use navy or success green; never yellow. */
html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    border-color: rgba(23, 63, 105, .42) !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #173f69, #102b49) !important;
    box-shadow: 0 4px 12px rgba(23, 63, 105, .16) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(23, 63, 105, .72) !important;
    color: #ffffff !important;
    background: #173f69 !important;
    box-shadow: 0 0 0 2px rgba(23, 63, 105, .12) !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done {
    color: #16734d !important;
}

html .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-done > span,
html .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-done > span {
    border-color: rgba(25, 137, 88, .45) !important;
    color: #ffffff !important;
    background: #198958 !important;
}

.checkout-address-option.selected,
.checkout-address-mini.selected {
    border-color: rgba(23, 63, 105, .72) !important;
    background: color-mix(in srgb, #173f69 9%, var(--surface)) !important;
    box-shadow: 0 0 0 2px rgba(23, 63, 105, .10) !important;
}

.checkout-address-option.selected::after,
.checkout-address-mini.selected::after {
    background: #173f69 !important;
}

.checkout-address-mini.selected .checkout-address-mini__check {
    border-color: #198958 !important;
    color: #ffffff !important;
    background: #198958 !important;
    box-shadow: 0 0 0 2px rgba(25, 137, 88, .10) !important;
}

.shipping-option--flow:has(input:checked),
.checkout-payment-method.selected,
.checkout-payment-method:has(input:checked) {
    border-color: rgba(23, 63, 105, .72) !important;
    background: color-mix(in srgb, #173f69 9%, var(--surface)) !important;
    box-shadow: 0 0 0 2px rgba(23, 63, 105, .10) !important;
}

.shipping-option--flow:has(input:checked)::after,
.checkout-payment-method.selected::after,
.checkout-payment-method:has(input:checked)::after {
    background: #173f69 !important;
}

.shipping-option--flow:has(input:checked) .shipping-option__radio {
    border-color: #173f69 !important;
    background: #173f69 !important;
    box-shadow: inset 0 0 0 4px #ffffff !important;
}

.checkout-payment-method.selected .checkout-payment-method__check,
.checkout-payment-method:has(input:checked) .checkout-payment-method__check {
    border-color: #198958 !important;
    color: #ffffff !important;
    background: #198958 !important;
}

.address-province-combobox__option[aria-selected="true"] {
    color: #ffffff !important;
    background: #173f69 !important;
}

.address-province-combobox__option[aria-selected="true"]:hover {
    color: #ffffff !important;
    background: #173f69 !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active {
    border-color: rgba(75, 169, 217, .46) !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #184d79, #123858) !important;
}

html[data-theme="dark"] .storefront-body.cart-route .cart-flow-head .checkout-flow-step.is-active > span,
html[data-theme="dark"] .storefront-body.checkout-route .checkout-flow-head .checkout-flow-step.is-active > span {
    border-color: rgba(108, 188, 235, .56) !important;
    color: #ffffff !important;
    background: #1a5685 !important;
}

html[data-theme="dark"] .checkout-address-option.selected,
html[data-theme="dark"] .checkout-address-mini.selected,
html[data-theme="dark"] .shipping-option--flow:has(input:checked),
html[data-theme="dark"] .checkout-payment-method.selected,
html[data-theme="dark"] .checkout-payment-method:has(input:checked) {
    border-color: rgba(75, 169, 217, .56) !important;
    background: #102e4b !important;
    box-shadow: 0 0 0 2px rgba(75, 169, 217, .10) !important;
}

html[data-theme="dark"] .address-province-combobox__option[aria-selected="true"],
html[data-theme="dark"] .address-province-combobox__option[aria-selected="true"]:hover {
    color: #ffffff !important;
    background: #174d78 !important;
}

/* CHECKOUT_SHIPPING_CARDS_COMPACT_20260827 */
.checkout-shipping-section .checkout-flow-section__head h2 {
    font-size: var(--tl-type-600);
}

.checkout-shipping-section .checkout-shipping-lock-hint {
    font-size: var(--tl-type-100);
}

.checkout-shipping-list {
    display: grid;
    gap: 8px;
}

.checkout-shipping-card[hidden] {
    display: none !important;
}

.checkout-shipping-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(68, 142, 201, .24);
    border-radius: 13px;
    background: color-mix(in srgb, var(--surface-strong) 94%, #f4f9ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.checkout-shipping-card__select {
    position: relative;
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 60px;
    align-items: center;
    gap: 9px;
    min-height: 64px;
    padding: 7px 9px;
    cursor: pointer;
}

.checkout-shipping-card__select > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-shipping-card__check {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 1px solid rgba(68, 142, 201, .34);
    border-radius: 50%;
    color: transparent;
    background: var(--surface);
    font-size: var(--tl-type-100);
    font-weight: 950;
    line-height: 1;
}

.checkout-shipping-card:has(input:checked) {
    border-color: rgba(23, 63, 105, .68);
    background: color-mix(in srgb, #173f69 7%, var(--surface-strong));
    box-shadow: 0 0 0 2px rgba(23, 63, 105, .08);
}

.checkout-shipping-card:has(input:checked) .checkout-shipping-card__check {
    border-color: #198958;
    color: #ffffff;
    background: #198958;
    box-shadow: 0 0 0 2px rgba(25, 137, 88, .10);
}

.checkout-shipping-card__content {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.checkout-shipping-card__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.checkout-shipping-card__title-row strong {
    overflow: hidden;
    color: var(--text);
    font-size: var(--tl-type-300);
    font-weight: 900;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-shipping-card__price {
    flex: 0 0 auto;
    padding: 3px 6px;
    border: 1px solid rgba(23, 63, 105, .18);
    border-radius: 7px;
    color: #173f69;
    background: rgba(23, 63, 105, .055);
    font-size: var(--tl-type-100);
    font-weight: 850;
    white-space: nowrap;
}

.checkout-shipping-card__eta {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    min-height: 23px;
    padding: 3px 7px;
    border: 1px solid rgba(25, 137, 88, .18);
    border-radius: 8px;
    color: #147247;
    background: rgba(25, 137, 88, .075);
    font-size: var(--tl-type-200);
    font-weight: 900;
    line-height: 1.4;
}

.checkout-shipping-card__eta[hidden] {
    display: none !important;
}

.checkout-shipping-card__image {
    display: block;
    width: 60px;
    height: 50px;
    overflow: hidden;
    border: 1px solid rgba(68, 142, 201, .16);
    border-radius: 9px;
    background: color-mix(in srgb, var(--surface-soft) 86%, #eef6ff);
}

.checkout-shipping-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.checkout-shipping-card__details {
    border-top: 1px solid rgba(68, 142, 201, .12);
}

.checkout-shipping-card__details > summary {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    min-height: 24px;
    padding: 3px 9px;
    color: var(--muted);
    cursor: pointer;
    list-style: none;
    font-size: var(--tl-type-100);
    font-weight: 750;
}

.checkout-shipping-card__details > summary::-webkit-details-marker {
    display: none;
}

.checkout-shipping-card__chevron {
    display: inline-block;
    font-size: var(--tl-type-200);
    transition: transform .15s ease;
}

.checkout-shipping-card__details[open] .checkout-shipping-card__chevron {
    transform: rotate(180deg);
}

.checkout-shipping-card__details p {
    margin: 0;
    padding: 7px 9px 9px;
    border-top: 1px dashed rgba(68, 142, 201, .12);
    color: var(--muted);
    font-size: var(--tl-type-200);
    line-height: 1.8;
}

.checkout-shipping-empty {
    padding: 11px 12px;
    border: 1px dashed rgba(68, 142, 201, .24);
    border-radius: 11px;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface-soft) 88%, transparent);
    font-size: var(--tl-type-200);
    text-align: center;
}

.checkout-shipping-empty[hidden] {
    display: none !important;
}

html[data-theme="dark"] .checkout-shipping-card {
    border-color: rgba(100, 169, 224, .18);
    background: #10253b;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}

html[data-theme="dark"] .checkout-shipping-card:has(input:checked) {
    border-color: rgba(75, 169, 217, .58);
    background: #10304d;
    box-shadow: 0 0 0 2px rgba(75, 169, 217, .08);
}

html[data-theme="dark"] .checkout-shipping-card:has(input:checked) .checkout-shipping-card__check {
    border-color: #2aa56f;
    color: #ffffff;
    background: #198958;
}

html[data-theme="dark"] .checkout-shipping-card__check {
    border-color: rgba(255, 255, 255, .16);
    background: #0b1929;
}

html[data-theme="dark"] .checkout-shipping-card__price {
    border-color: rgba(106, 181, 235, .18);
    color: #abd8f4;
    background: rgba(75, 169, 217, .08);
}

html[data-theme="dark"] .checkout-shipping-card__eta {
    border-color: rgba(55, 181, 124, .24);
    color: #72d8a7;
    background: rgba(25, 137, 88, .12);
}

html[data-theme="dark"] .checkout-shipping-card__image {
    border-color: rgba(255, 255, 255, .08);
    background: #0b1b2c;
}

html[data-theme="dark"] .checkout-shipping-card__details,
html[data-theme="dark"] .checkout-shipping-card__details p {
    border-color: rgba(255, 255, 255, .07);
}

@media (max-width: 620px) {
    .checkout-shipping-list {
        gap: 7px;
    }

    .checkout-shipping-card__select {
        grid-template-columns: 18px minmax(0, 1fr) 56px;
        gap: 8px;
        min-height: 61px;
        padding: 6px 8px;
    }

    .checkout-shipping-card__title-row strong {
        font-size: var(--tl-type-300);
    }

    .checkout-shipping-card__price {
        font-size: var(--tl-type-100);
    }

    .checkout-shipping-card__eta {
        min-height: 22px;
        font-size: var(--tl-type-100);
    }

    .checkout-shipping-card__image {
        width: 56px;
        height: 47px;
    }

    .checkout-shipping-card__details > summary {
        min-height: 23px;
        font-size: var(--tl-type-100);
    }

    .checkout-shipping-card__details p {
        font-size: var(--tl-type-100);
    }
}


/* CHECKOUT_SHIPPING_CARD_COST_V2_20260827 */
.checkout-address-mini .checkout-address-option__top strong {
    font-size: var(--tl-type-300);
    line-height: 1.35;
}

.checkout-address-mini__person,
.checkout-address-mini__line {
    font-size: var(--tl-type-100);
    line-height: 1.55;
}

.checkout-shipping-card__select {
    grid-template-columns: 20px minmax(0, 1fr) 60px;
    min-height: 56px;
    padding: 6px 9px 5px;
}

.checkout-shipping-card__content {
    gap: 3px;
}

.checkout-shipping-card__title-row strong {
    font-size: var(--tl-type-400);
    line-height: 1.35;
}

.checkout-shipping-card__eta {
    min-height: 21px;
    padding: 2px 7px;
    font-size: var(--tl-type-200);
}

.checkout-shipping-card__image {
    width: 60px;
    height: 46px;
}

.checkout-shipping-card__cost {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 1px;
    min-height: 34px;
    margin: 0 8px 6px;
    padding: 5px 8px;
    border: 1px solid rgba(68, 142, 201, .15);
    border-radius: 8px;
    color: var(--muted);
    background: color-mix(in srgb, var(--surface-soft) 88%, transparent);
}

.checkout-shipping-card__cost strong {
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 900;
    white-space: nowrap;
}

.checkout-shipping-card__cost span {
    display: -webkit-box;
    overflow: hidden;
    font-size: var(--tl-type-100);
    line-height: 1.45;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.checkout-shipping-card__details {
    margin-top: 0;
}

html[data-theme="dark"] .checkout-shipping-card__cost {
    border-color: rgba(100, 169, 224, .11);
    background: rgba(8, 24, 40, .34);
}

html[data-theme="dark"] .checkout-shipping-card__cost strong {
    color: #eaf4ff;
}

@media (max-width: 620px) {
    .checkout-address-mini .checkout-address-option__top strong {
        font-size: var(--tl-type-200);
    }

    .checkout-address-mini__person,
    .checkout-address-mini__line {
        font-size: var(--tl-type-100);
    }

    .checkout-shipping-card__select {
        grid-template-columns: 18px minmax(0, 1fr) 56px;
        min-height: 54px;
        padding: 5px 8px 4px;
    }

    .checkout-shipping-card__title-row strong {
        font-size: var(--tl-type-300);
    }

    .checkout-shipping-card__image {
        width: 56px;
        height: 43px;
    }

    .checkout-shipping-card__cost {
        min-height: 33px;
        margin: 0 7px 5px;
        padding: 4px 7px;
    }

    .checkout-shipping-card__cost strong {
        font-size: var(--tl-type-100);
    }

    .checkout-shipping-card__cost span {
        font-size: var(--tl-type-100);
    }
}

/* CHECKOUT_STAGE3_1_0_9 */
.checkout-payment-stage {
    --checkout-stage3-primary: #173f69;
    --checkout-stage3-border: rgba(68, 142, 201, .18);
}

/* Stage 3 has no decorative yellow rules. */
.checkout-payment-stage .checkout-flow-section::before,
.checkout-payment-stage .checkout-flow-section::after,
.checkout-payment-stage .checkout-summary--flow::before,
.checkout-payment-stage .checkout-summary--flow::after,
.checkout-payment-stage > .checkout-secondary-header::before,
.checkout-payment-stage > .checkout-secondary-header::after {
    content: none !important;
    display: none !important;
}

.checkout-payment-stage .checkout-flow-section,
.checkout-payment-stage .checkout-summary--flow {
    border-color: var(--checkout-stage3-border) !important;
    background: color-mix(in srgb, var(--surface-strong) 97%, #f4f8fc) !important;
    box-shadow: none;
}

.checkout-payment-stage .checkout-payment-layout {
    align-items: start;
    gap: 10px;
}

.checkout-payment-stage .checkout-payment-main {
    display: grid;
    gap: 9px;
}

.checkout-payment-stage .checkout-coupon-entry,
.checkout-payment-stage .checkout-coupon-input {
    display: grid;
    gap: 7px;
}

.checkout-payment-stage .checkout-coupon-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 7px;
}

.checkout-payment-stage .checkout-coupon-control input {
    width: 100%;
    min-height: 38px;
    box-sizing: border-box;
    padding: 7px 10px;
    border: 1px solid rgba(68, 142, 201, .24);
    border-radius: 9px;
    color: var(--text);
    background: var(--surface-strong);
    font: inherit;
    font-size: var(--tl-type-100);
    outline: 0;
}

.checkout-payment-stage .checkout-coupon-control input:focus {
    border-color: rgba(23, 63, 105, .58);
    box-shadow: 0 0 0 3px rgba(23, 63, 105, .08);
}

.checkout-payment-stage .checkout-coupon-apply {
    min-height: 38px;
    padding: 6px 10px;
    border: 1px solid rgba(23, 63, 105, .30) !important;
    border-radius: 9px;
    color: #fff !important;
    background: var(--checkout-stage3-primary) !important;
    box-shadow: none !important;
    font-size: var(--tl-type-100) !important;
    font-weight: 850 !important;
    line-height: 1.4;
    white-space: nowrap;
}

.checkout-payment-stage [data-coupon-live] {
    min-height: 14px;
    margin: 0 2px;
    font-size: var(--tl-type-100);
    line-height: 1.7;
}

.checkout-payment-stage .checkout-coupon-list {
    display: grid;
    gap: 6px;
}

/* RTL grid: title right, expiry center, tappable code left. */
.checkout-payment-stage .checkout-coupon-ticket {
    direction: rtl;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(104px, 126px) minmax(104px, 118px);
    align-items: center;
    gap: 8px;
    min-height: 46px;
    padding: 7px 9px;
    border: 1px solid var(--checkout-stage3-border);
    border-radius: 10px;
    background: color-mix(in srgb, var(--surface-strong) 98%, #eef5fb);
}

.checkout-payment-stage .checkout-coupon-ticket__title {
    grid-column: 1;
    overflow: hidden;
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 850;
    text-align: right;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.checkout-payment-stage .checkout-coupon-ticket__expiry {
    grid-column: 2;
    display: grid;
    gap: 1px;
    justify-items: center;
    color: var(--muted);
    font-size: var(--tl-type-100);
    text-align: center;
}

.checkout-payment-stage .checkout-coupon-ticket__expiry strong {
    color: var(--text);
    font-size: var(--tl-type-100);
    font-weight: 800;
    white-space: nowrap;
}

.checkout-payment-stage .checkout-coupon-ticket__code {
    grid-column: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 30px;
    padding: 5px 8px;
    border: 1px dashed rgba(23, 63, 105, .34);
    border-radius: 8px;
    color: var(--checkout-stage3-primary);
    background: rgba(23, 63, 105, .05);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 900;
    touch-action: manipulation;
}

.checkout-payment-stage .checkout-coupon-ticket__code small {
    color: var(--muted);
    font-size: var(--tl-type-100);
    font-weight: 700;
}

.checkout-payment-stage .checkout-coupon-empty {
    margin: 0;
    padding: 8px 9px;
    border: 1px dashed var(--checkout-stage3-border);
    border-radius: 9px;
    color: var(--muted);
    background: rgba(68, 142, 201, .025);
    font-size: var(--tl-type-100);
}

.checkout-payment-stage .checkout-payment-method.selected,
.checkout-payment-stage .checkout-payment-method:has(input:checked) {
    border-color: rgba(23, 63, 105, .62) !important;
    background: color-mix(in srgb, var(--checkout-stage3-primary) 8%, var(--surface)) !important;
    box-shadow: 0 0 0 2px rgba(23, 63, 105, .08) !important;
}

.checkout-payment-stage .checkout-payment-method.selected::after,
.checkout-payment-stage .checkout-payment-method:has(input:checked)::after {
    background: var(--checkout-stage3-primary) !important;
}

/* One full-width expandable order-note row; the textarea saves with checkout. */
.checkout-payment-stage .checkout-note-section {
    width: 100%;
    padding: 0 !important;
    overflow: hidden;
}

.checkout-payment-stage .checkout-note-toggle {
    display: flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 12px;
    border: 0;
    color: var(--text);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-100);
    font-weight: 900;
    text-align: right;
}

.checkout-payment-stage .checkout-note-toggle__plus {
    display: grid;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    place-items: center;
    border: 1px solid rgba(23, 63, 105, .22);
    border-radius: 8px;
    color: var(--checkout-stage3-primary);
    background: rgba(23, 63, 105, .05);
    font-size: var(--tl-type-700);
    font-weight: 500;
    line-height: 1;
    transition: transform .18s ease;
}

.checkout-payment-stage .checkout-note-toggle[aria-expanded="true"] .checkout-note-toggle__plus {
    transform: rotate(45deg);
}

.checkout-payment-stage .checkout-note-body {
    padding: 0 12px 12px;
}

.checkout-payment-stage .checkout-note-body textarea {
    width: 100%;
    min-height: 74px;
    box-sizing: border-box;
    padding: 9px 10px;
    border: 1px solid rgba(68, 142, 201, .22);
    border-radius: 9px;
    color: var(--text);
    background: var(--surface-strong);
    font: inherit;
    font-size: var(--tl-type-100);
    line-height: 1.8;
    resize: vertical;
    outline: 0;
}

.checkout-payment-stage .checkout-note-body textarea:focus {
    border-color: rgba(23, 63, 105, .58);
    box-shadow: 0 0 0 3px rgba(23, 63, 105, .08);
}

.checkout-payment-stage .checkout-summary__head {
    margin-bottom: 3px;
    padding-bottom: 7px;
    border-bottom: 0 !important;
}

.checkout-payment-stage .checkout-summary__head > strong {
    font-size: var(--tl-type-300);
    font-weight: 950;
}

.checkout-payment-stage .checkout-summary--flow .summary-row {
    min-height: 35px;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

.checkout-payment-stage .summary-total--flow {
    margin-top: 5px;
    border-color: rgba(23, 63, 105, .20) !important;
    background: color-mix(in srgb, var(--checkout-stage3-primary) 6%, var(--surface)) !important;
}

.checkout-payment-stage .summary-total--flow strong {
    color: var(--checkout-stage3-primary) !important;
}


.checkout-payment-stage .checkout-wallet-method {
    min-height: 54px;
}

.checkout-payment-stage .checkout-wallet-method__icon svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.checkout-payment-stage .checkout-wallet-method [data-wallet-status] {
    display: block;
    margin-top: 2px;
    line-height: 1.65;
}

.checkout-payment-stage .checkout-wallet-method.disabled {
    opacity: .72;
}

.checkout-payment-stage .checkout-wallet-method.disabled .checkout-payment-method__copy strong {
    color: var(--text);
}

.checkout-payment-stage .checkout-wallet-method.disabled [data-wallet-status] {
    color: var(--muted);
}

html[data-theme="dark"] .checkout-payment-stage .checkout-flow-section,
html[data-theme="dark"] .checkout-payment-stage .checkout-summary--flow {
    border-color: rgba(75, 169, 217, .20) !important;
    background: #10263d !important;
}

html[data-theme="dark"] .checkout-payment-stage .checkout-coupon-ticket {
    border-color: rgba(75, 169, 217, .18);
    background: #0f2237;
}

html[data-theme="dark"] .checkout-payment-stage .checkout-coupon-control input,
html[data-theme="dark"] .checkout-payment-stage .checkout-note-body textarea {
    border-color: rgba(75, 169, 217, .20);
    color: #eef4fc;
    background: #0c1c2e;
}

html[data-theme="dark"] .checkout-payment-stage .checkout-coupon-ticket__code,
html[data-theme="dark"] .checkout-payment-stage .checkout-note-toggle__plus {
    border-color: rgba(75, 169, 217, .30);
    color: #8fd5f6;
    background: rgba(75, 169, 217, .08);
}

html[data-theme="dark"] .checkout-payment-stage .summary-total--flow {
    border-color: rgba(75, 169, 217, .22) !important;
    background: rgba(23, 63, 105, .24) !important;
}

html[data-theme="dark"] .checkout-payment-stage .summary-total--flow strong {
    color: #fff !important;
}

@media (max-width: 620px) {
    .checkout-payment-stage .checkout-coupon-control {
        grid-template-columns: minmax(0, 1fr) 94px;
    }

    .checkout-payment-stage .checkout-coupon-ticket {
        grid-template-columns: minmax(0, 1fr) 88px 92px;
        gap: 5px;
        padding: 7px;
    }

    .checkout-payment-stage .checkout-coupon-ticket__title {
        font-size: var(--tl-type-100);
    }

    .checkout-payment-stage .checkout-coupon-ticket__expiry strong,
    .checkout-payment-stage .checkout-coupon-ticket__code {
        font-size: var(--tl-type-100);
    }
}

/* =========================================================
   PRODUCT MINIMUM ORDER QUANTITY — v1.0.18
   Product cards disclose the rule without changing the primary action,
   while product detail keeps it inside the compact sticky price label.
   ========================================================= */
.product-min-order-note {
    align-self: flex-start;
    margin-top: 3px;
    color: var(--muted);
    font-size: var(--tl-type-100);
    font-weight: 750;
    line-height: 1.35;
    white-space: nowrap;
}

.product-min-order-note strong {
    color: var(--primary);
    font-size: inherit;
    font-weight: 900;
}

.product-sticky-purchase__price > span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-sticky-purchase__price > span em {
    padding-inline-start: 5px;
    border-inline-start: 1px solid var(--line);
    color: var(--primary);
    font-style: normal;
    font-size: var(--tl-type-100);
    font-weight: 850;
    white-space: nowrap;
}

.cart-min-order-note {
    color: var(--primary) !important;
    font-weight: 800;
}

@media (max-width: 840px) {
    .mobile-product-cards-list .catalog-main .product-min-order-note {
        grid-row: 3;
        align-self: center;
        margin: 0;
        font-size: var(--tl-type-100);
    }

    .mobile-product-cards-grid .catalog-main .product-min-order-note {
        margin-top: 2px;
        font-size: var(--tl-type-100);
    }
}


/* =========================================================
   PRODUCT DETAIL PURCHASE BAR — v1.0.21
   Action/discount on the right, pricing/minimum on the left,
   plus a full-width back-in-stock action for unavailable items.
   ========================================================= */
.product-stock-notify-form {
    width: 100%;
    margin: 0;
}

.product-stock-notify-button {
    width: 100%;
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: var(--primary);
    box-shadow: 0 9px 22px color-mix(in srgb, var(--primary) 20%, transparent);
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-400);
    font-weight: 900;
    text-decoration: none;
}

.product-stock-notify-button:hover {
    color: #fff;
    transform: translateY(-1px);
}

.product-stock-notify-desktop {
    margin-top: 10px;
}

@media (max-width: 840px) {
    .storefront-body.product-detail-route .product-stock-notify-desktop {
        display: none;
    }

    .storefront-body.product-detail-route .product-sticky-purchase {
        grid-template-columns: minmax(128px, 37%) minmax(0, 1fr);
        align-items: stretch;
        gap: 10px;
        min-height: 82px;
        padding: 8px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase--notify {
        display: block;
        min-height: 0;
    }

    .storefront-body.product-detail-route .product-sticky-purchase--notify .product-stock-notify-button {
        min-height: 54px;
        border-radius: 11px;
        font-size: var(--tl-type-400);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__pricing {
        min-width: 0;
        display: grid;
        grid-template-rows: auto auto;
        border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--line));
        border-radius: 12px;
        background: color-mix(in srgb, var(--primary) 3%, var(--surface));
        overflow: hidden;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__pricing-top {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 9px 11px 7px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__pricing-bottom {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 6px 11px 7px;
        border-top: 1px solid color-mix(in srgb, var(--primary) 10%, var(--line));
    }

    .storefront-body.product-detail-route .product-sticky-purchase__action {
        min-width: 0;
        display: grid;
        align-content: start;
        justify-items: stretch;
        gap: 6px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__discount {
        direction: rtl;
        justify-self: center;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        min-width: 92px;
        min-height: 24px;
        padding: 3px 10px;
        border: 1px solid color-mix(in srgb, var(--danger) 22%, transparent);
        border-radius: 999px;
        color: #fff;
        background: var(--danger);
        box-shadow: 0 4px 12px color-mix(in srgb, var(--danger) 18%, transparent);
        font-size: var(--tl-type-100);
        font-weight: 900;
        line-height: 1;
        white-space: nowrap;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__discount span,
    .storefront-body.product-detail-route .product-sticky-purchase__discount bdi {
        color: inherit;
        font: inherit;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__discount bdi {
        direction: ltr;
        unicode-bidi: isolate;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__discount[hidden] {
        display: none !important;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__compare {
        display: inline-flex;
        align-items: baseline;
        gap: 3px;
        flex-shrink: 0;
        color: var(--muted);
        font-size: var(--tl-type-100);
        font-weight: 800;
        line-height: 1.2;
        text-decoration-thickness: 1px;
        text-decoration-color: color-mix(in srgb, var(--muted) 70%, transparent);
        white-space: nowrap;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__compare[hidden] {
        display: none !important;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__compare small {
        color: inherit;
        font-size: var(--tl-type-100);
        font-weight: 800;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__current {
        min-width: 0;
        display: inline-flex;
        align-items: baseline;
        gap: 5px;
        color: var(--primary);
        line-height: 1.15;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__current strong {
        overflow: hidden;
        max-width: 100%;
        color: var(--primary);
        font-size: var(--tl-type-700);
        font-weight: 950;
        letter-spacing: -.25px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__current small {
        color: var(--primary);
        font-size: var(--tl-type-100);
        font-weight: 950;
        white-space: nowrap;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__minimum {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 100%;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        color: var(--text);
        background: transparent;
        font-size: var(--tl-type-100);
        font-weight: 880;
        line-height: 1.2;
        white-space: nowrap;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__minimum strong {
        color: var(--primary);
        font-size: var(--tl-type-100);
        font-weight: 950;
    }

    .storefront-body.product-detail-route .product-sticky-add {
        align-self: end;
        min-width: 0;
        min-height: 39px;
        height: 39px;
        padding: 0 12px;
        border-radius: 11px;
        font-size: var(--tl-type-300);
        font-weight: 900;
    }

    html[data-theme="dark"] .storefront-body.product-detail-route .product-sticky-purchase__pricing {
        background: color-mix(in srgb, var(--primary) 8%, var(--surface));
        border-color: color-mix(in srgb, var(--primary) 16%, var(--line));
    }

    html[data-theme="dark"] .storefront-body.product-detail-route .product-sticky-purchase__pricing-bottom {
        border-top-color: color-mix(in srgb, var(--primary) 18%, var(--line));
    }
}

.stock-alert-account-page .stock-alert-product-grid {
    align-items: stretch;
}

.stock-alert-account-page .stock-alert-product-item,
.stock-alert-account-page .stock-alert-product-item > .product-card {
    min-width: 0;
    height: 100%;
}

@media (max-width: 840px) {
    .stock-alert-account-page .stock-alert-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
}

@media (max-width: 360px) {
    .storefront-body.product-detail-route .product-sticky-purchase {
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 7px;
        padding: 7px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase--notify {
        display: block;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__pricing-top {
        padding-inline: 9px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__pricing-bottom {
        padding-inline: 9px;
    }

    .storefront-body.product-detail-route .product-sticky-purchase__current strong {
        font-size: var(--tl-type-600);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__current small {
        font-size: var(--tl-type-100);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__compare {
        font-size: var(--tl-type-100);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__minimum {
        font-size: var(--tl-type-100);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__minimum strong {
        font-size: var(--tl-type-100);
    }

    .storefront-body.product-detail-route .product-sticky-add {
        min-height: 37px;
        height: 37px;
        font-size: var(--tl-type-200);
    }

    .storefront-body.product-detail-route .product-sticky-purchase__discount {
        min-width: 86px;
        font-size: var(--tl-type-100);
    }
}

/* TL_PRODUCT_DETAIL_DESKTOP_DOCK_V1_20260903
   Desktop-only fixed purchase dock. Mobile purchase bar remains unchanged. */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route { padding-bottom: 96px !important; }
    body.storefront-body.product-detail-route .product-page { padding-bottom: 108px !important; }

    body.storefront-body.product-detail-route .product-info > .detail-price,
    body.storefront-body.product-detail-route .product-info > .product-meta--compact,
    body.storefront-body.product-detail-route .product-purchase-component .purchase-actions,
    body.storefront-body.product-detail-route .product-stock-notify-desktop { display: none !important; }

    body.storefront-body.product-detail-route .product-purchase-component--simple { display: none !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase {
        position: fixed !important;
        z-index: 90000 !important;
        right: 50% !important;
        left: auto !important;
        bottom: 10px !important;
        width: min(1180px, calc(100% - 32px)) !important;
        max-width: 1180px !important;
        min-height: 72px !important;
        height: 72px !important;
        margin: 0 !important;
        padding: 8px !important;
        transform: translateX(50%) !important;
        direction: rtl !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--line)) !important;
        border-radius: 15px !important;
        background: color-mix(in srgb, var(--surface) 97%, transparent) !important;
        box-shadow: 0 14px 38px rgba(17, 37, 63, .15) !important;
        backdrop-filter: blur(14px) saturate(135%) !important;
        -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__pricing,
    body.storefront-body.product-detail-route .product-sticky-purchase__pricing-bottom { display: contents !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase__pricing-top {
        order: 1 !important;
        flex: 1 1 360px !important;
        min-width: 240px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;
        padding: 0 14px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 10%, var(--line)) !important;
        border-radius: 11px !important;
        background: color-mix(in srgb, var(--primary) 3%, var(--surface)) !important;
        box-sizing: border-box !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__minimum,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory {
        flex: 0 0 148px !important;
        min-width: 0 !important;
        display: grid !important;
        place-content: center !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 7px 12px !important;
        border: 1px solid var(--line) !important;
        border-radius: 11px !important;
        background: var(--surface-soft) !important;
        text-align: center !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__minimum { order: 2 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory { order: 3 !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase__minimum span,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory span {
        color: var(--muted) !important; font-size: var(--tl-type-100) !important; font-weight: 750 !important; line-height: 1.2 !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__minimum strong,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory strong {
        color: var(--text) !important; font-size: var(--tl-type-300) !important; font-weight: 900 !important; line-height: 1.2 !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory.is-in strong { color: #168b4e !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory.is-out strong { color: var(--danger) !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase__action {
        order: 4 !important;
        flex: 0 0 min(290px, 25vw) !important;
        min-width: 230px !important;
        display: flex !important;
        align-items: stretch !important;
        gap: 6px !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__discount { display: none !important; }

    body.storefront-body.product-detail-route .product-sticky-add,
    body.storefront-body.product-detail-route .product-sticky-purchase--notify .product-stock-notify-form,
    body.storefront-body.product-detail-route .product-sticky-purchase--notify .product-stock-notify-button {
        width: 100% !important; min-width: 0 !important; height: 100% !important; min-height: 54px !important;
        margin: 0 !important; border-radius: 11px !important; box-sizing: border-box !important;
    }

    body.storefront-body.product-detail-route .product-sticky-add {
        padding: 0 18px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 72%, white 10%) !important;
        color: #fff !important;
        background: linear-gradient(145deg, var(--primary), color-mix(in srgb, var(--primary) 78%, #061b32)) !important;
        box-shadow: 0 9px 22px color-mix(in srgb, var(--primary) 20%, transparent) !important;
        font-size: var(--tl-type-400) !important; font-weight: 900 !important;
    }
    body.storefront-body.product-detail-route .product-sticky-add.is-added {
        border-color: #179653 !important; color: #fff !important;
        background: linear-gradient(145deg, #22ad63, #168b4e) !important;
        box-shadow: 0 10px 22px rgba(18, 138, 76, .24) !important; opacity: 1 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__current {
        display: inline-flex !important; align-items: baseline !important; gap: 6px !important;
        color: var(--primary) !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__current strong {
        color: var(--primary) !important; font-size: var(--tl-type-900) !important; font-weight: 950 !important; line-height: 1 !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__current small {
        color: var(--primary) !important; font-size: var(--tl-type-100) !important; font-weight: 900 !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__compare {
        display: inline-flex !important; align-items: baseline !important; gap: 4px !important;
        color: var(--muted) !important; font-size: var(--tl-type-200) !important; font-weight: 750 !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__compare[hidden] { display: none !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase--notify .product-stock-notify-button {
        display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 18px !important;
    }

    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase {
        border-color: #314155 !important;
        background: color-mix(in srgb, var(--surface) 97%, transparent) !important;
        box-shadow: 0 14px 38px rgba(0, 0, 0, .34) !important;
    }
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__pricing-top,
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__minimum,
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__inventory {
        border-color: color-mix(in srgb, var(--primary) 16%, var(--line)) !important;
        background: color-mix(in srgb, var(--primary) 7%, var(--surface)) !important;
    }
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__inventory.is-in strong { color: #69dca0 !important; }
}


/* Mobile visual parity guard for the desktop dock additions. */
@media (max-width: 840px) {
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase--notify .product-sticky-purchase__pricing {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase--notify .product-sticky-purchase__action {
        display: block !important;
    }
}

/* TL_PRODUCT_DETAIL_DESKTOP_DOCK_V2_20260903
   Desktop-only dock order/scale and product directory alignment. */
.product-detail-directory-actions { display: none; }

@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-detail-toolbar { display: none !important; }

    body.storefront-body.product-detail-route .product-detail-directory-row {
        width: 100% !important; min-height: 40px !important; display: flex !important; align-items: center !important;
        justify-content: space-between !important; gap: 16px !important; margin: 12px 0 8px !important; direction: rtl !important;
    }
    body.storefront-body.product-detail-route .product-detail-directory-row .breadcrumb {
        flex: 1 1 auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important;
    }
    body.storefront-body.product-detail-route .product-detail-directory-actions {
        flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 7px !important; direction: ltr !important;
    }
    body.storefront-body.product-detail-route .product-detail-directory-actions .product-detail-toolbar__button {
        width: 36px !important; height: 36px !important; min-width: 36px !important; min-height: 36px !important; border-radius: 10px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase {
        z-index: 2147483000 !important; width: min(1220px, calc(100% - 32px)) !important; max-width: 1220px !important;
        min-height: 76px !important; height: 76px !important; isolation: isolate !important; overflow: visible !important;
        display: flex !important; flex-direction: row !important; align-items: stretch !important; direction: rtl !important; gap: 8px !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__pricing,
    body.storefront-body.product-detail-route .product-sticky-purchase__pricing-top,
    body.storefront-body.product-detail-route .product-sticky-purchase__pricing-bottom { display: contents !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase__action {
        order: 1 !important; flex: 0 0 250px !important; min-width: 220px !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__current {
        order: 2 !important; flex: 1 1 250px !important; min-width: 210px !important; display: flex !important; align-items: center !important;
        justify-content: center !important; gap: 7px !important; margin: 0 !important; padding: 8px 14px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--line)) !important; border-radius: 11px !important;
        background: color-mix(in srgb, var(--primary) 4%, var(--surface)) !important; box-sizing: border-box !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__compare {
        order: 3 !important; flex: 0 0 190px !important; min-width: 0 !important; display: flex !important; align-items: center !important;
        justify-content: center !important; gap: 5px !important; margin: 0 !important; padding: 8px 12px !important; border: 1px solid var(--line) !important;
        border-radius: 11px !important; background: var(--surface-soft) !important; color: var(--muted) !important; font-size: var(--tl-type-600) !important;
        font-weight: 800 !important; line-height: 1 !important; box-sizing: border-box !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__compare small { font-size: var(--tl-type-200) !important; font-weight: 800 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__compare[hidden] { display: none !important; }

    body.storefront-body.product-detail-route .product-sticky-purchase__minimum,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory {
        flex: 0 0 170px !important; min-width: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important;
        gap: 7px !important; margin: 0 !important; padding: 8px 11px !important; text-align: center !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-sticky-purchase__minimum { order: 4 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory { order: 5 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__minimum span,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory span { font-size: var(--tl-type-300) !important; font-weight: 800 !important; line-height: 1.2 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__minimum strong,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory strong { font-size: var(--tl-type-600) !important; font-weight: 950 !important; line-height: 1.2 !important; }
    body.storefront-body.product-detail-route .product-sticky-purchase__current strong { font-size: var(--tl-type-900) !important; }

    body.storefront-body.product-detail-route .product-sticky-add.is-added {
        color: #fff !important; border-color: #179653 !important; background: linear-gradient(145deg, #22ad63, #168b4e) !important;
        box-shadow: 0 10px 22px rgba(18, 138, 76, .26) !important;
    }
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__current,
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-purchase__compare {
        border-color: color-mix(in srgb, var(--primary) 18%, var(--line)) !important; background: color-mix(in srgb, var(--primary) 7%, var(--surface)) !important;
    }
}

@media (max-width: 840px) {
    body.storefront-body.product-detail-route .product-detail-directory-actions { display: none !important; }
}


/* TL_PRODUCT_DETAIL_SECONDARY_HEADER_V3_20260903
   Desktop-only: turn breadcrumb + share/save row into the official secondary header shell. */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-detail-directory-row {
        position: relative !important;
        z-index: 60 !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 58px !important;
        height: 58px !important;
        margin: 8px 0 14px !important;
        padding: 7px 12px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 14px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        border: 1px solid color-mix(in srgb, var(--primary) 18%, var(--line)) !important;
        border-radius: 15px !important;
        background: color-mix(in srgb, var(--surface) 96%, transparent) !important;
        box-shadow: 0 9px 24px rgba(19, 45, 77, .08) !important;
        backdrop-filter: blur(14px) saturate(135%) !important;
        -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-row .breadcrumb {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 2px !important;
        overflow: hidden !important;
        color: var(--muted) !important;
        font-size: var(--tl-type-300) !important;
        line-height: 1.55 !important;
        white-space: nowrap !important;
        text-overflow: ellipsis !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-row .breadcrumb a {
        color: var(--primary) !important;
        font-weight: 750 !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-row .breadcrumb span {
        color: var(--muted) !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-actions {
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        direction: ltr !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-actions .product-detail-toolbar__button {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        border-radius: 10px !important;
        background: var(--surface) !important;
        box-shadow: none !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-actions .product-detail-toolbar__button svg {
        width: 20px !important;
        height: 20px !important;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-detail-directory-row {
    border-color: color-mix(in srgb, var(--primary) 28%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 97%, transparent) !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .22) !important;
}


/* TL_PRODUCT_DETAIL_HEADER_LAYOUT_V4_20260903
   Desktop-only category/title header, action feedback, and left-gallery/right-info layout. */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-detail-directory-row {
        min-height: 70px !important;
        height: 70px !important;
        padding: 7px 12px !important;
        display: grid !important;
        grid-template-columns: minmax(240px, 1fr) minmax(340px, 1.55fr) minmax(240px, 1fr) !important;
        align-items: center !important;
        gap: 18px !important;
        direction: ltr !important;
        overflow: visible !important;
    }
    body.storefront-body.product-detail-route .product-detail-category-path {
        grid-column: 3 !important; min-width: 0 !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 8px !important; overflow: hidden !important; direction: rtl !important; color: var(--muted) !important; font-size: var(--tl-type-500) !important; font-weight: 760 !important; line-height: 1.45 !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-detail-category-path a { min-width: 0 !important; overflow: hidden !important; color: var(--primary) !important; text-decoration: none !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
    body.storefront-body.product-detail-route .product-detail-category-path__separator { flex: 0 0 auto !important; color: color-mix(in srgb, var(--muted) 58%, transparent) !important; font-weight: 700 !important; }
    body.storefront-body.product-detail-route .product-detail-header-title {
        grid-column: 2 !important; min-width: 0 !important; margin: 0 !important; overflow: hidden !important; color: var(--text) !important; font-size: var(--tl-type-700) !important; font-weight: 950 !important; line-height: 1.45 !important; letter-spacing: -.015em !important; text-align: center !important; text-overflow: ellipsis !important; white-space: nowrap !important;
    }
    body.storefront-body.product-detail-route .product-detail-directory-actions { grid-column: 1 !important; min-width: 0 !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; direction: ltr !important; }
    body.storefront-body.product-detail-route .product-detail-directory-action-item { position: relative !important; min-width: 104px !important; height: 56px !important; margin: 0 !important; display: grid !important; grid-template-rows: 38px 14px !important; align-items: center !important; justify-items: center !important; gap: 2px !important; }
    body.storefront-body.product-detail-route .product-detail-directory-action-item.product-detail-bookmark-form { padding: 0 !important; border: 0 !important; background: transparent !important; }
    body.storefront-body.product-detail-route .product-detail-action-feedback { width: 100% !important; min-height: 14px !important; overflow: hidden !important; color: var(--muted) !important; font-size: var(--tl-type-100) !important; font-weight: 760 !important; line-height: 14px !important; text-align: center !important; text-overflow: ellipsis !important; white-space: nowrap !important; opacity: 0 !important; visibility: hidden !important; transform: translateY(-2px) !important; transition: opacity .16s ease, transform .16s ease !important; }
    body.storefront-body.product-detail-route .product-detail-action-feedback.is-visible { opacity: 1 !important; visibility: visible !important; transform: translateY(0) !important; }
    body.storefront-body.product-detail-route .product-info-title { display: none !important; }
    body.storefront-body.product-detail-route .product-detail-grid { direction: ltr !important; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr) !important; gap: 34px !important; }
    body.storefront-body.product-detail-route .product-detail-grid > section:first-child { grid-column: 1 !important; direction: rtl !important; }
    body.storefront-body.product-detail-route .product-detail-grid > .product-info { grid-column: 2 !important; direction: rtl !important; }
}
@media (min-width: 841px) and (max-width: 1080px) {
    body.storefront-body.product-detail-route .product-detail-directory-row { grid-template-columns: minmax(190px, 1fr) minmax(280px, 1.35fr) minmax(190px, 1fr) !important; gap: 12px !important; }
    body.storefront-body.product-detail-route .product-detail-header-title { font-size: var(--tl-type-600) !important; }
    body.storefront-body.product-detail-route .product-detail-category-path { font-size: var(--tl-type-400) !important; }
    body.storefront-body.product-detail-route .product-detail-directory-action-item { min-width: 88px !important; }
    body.storefront-body.product-detail-route .product-detail-action-feedback { font-size: var(--tl-type-100) !important; }
}
@media (max-width: 840px) {
    body.storefront-body.product-detail-route .product-detail-directory-row { display: none !important; }
}
html[data-theme="dark"] body.storefront-body.product-detail-route .product-detail-header-title { color: var(--text) !important; }
html[data-theme="dark"] body.storefront-body.product-detail-route .product-detail-action-feedback { color: color-mix(in srgb, var(--muted) 86%, white 14%) !important; }

/* =========================================================
   TL_PRODUCT_DETAIL_HEADER_LAYOUT_V4R_20260903
   Desktop-only corrective pass for the V4 secondary header.
   Keeps View / Controller / JS and mobile behavior untouched.
   ========================================================= */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-detail-directory-row {
        position: relative !important;
        width: 100% !important;
        min-height: 72px !important;
        height: 72px !important;
        margin: 10px 0 14px !important;
        padding: 8px 14px !important;
        display: grid !important;
        grid-template-columns: minmax(220px, 1fr) minmax(340px, 1.45fr) minmax(220px, 1fr) !important;
        grid-template-areas: "actions title categories" !important;
        align-items: center !important;
        column-gap: 20px !important;
        direction: ltr !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    body.storefront-body.product-detail-route .product-detail-category-path {
        grid-area: categories !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 7px !important;
        overflow: hidden !important;
        direction: rtl !important;
        unicode-bidi: plaintext !important;
        color: var(--muted) !important;
        font-size: var(--tl-type-500) !important;
        font-weight: 780 !important;
        line-height: 1.45 !important;
        white-space: nowrap !important;
        text-align: right !important;
    }

    body.storefront-body.product-detail-route .product-detail-category-path a {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-detail-header-title {
        grid-area: title !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 8px !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        white-space: normal !important;
        text-overflow: ellipsis !important;
        color: var(--text) !important;
        font-size: var(--tl-type-700) !important;
        font-weight: 950 !important;
        line-height: 1.45 !important;
        letter-spacing: -.012em !important;
        text-align: center !important;
        direction: rtl !important;
        unicode-bidi: plaintext !important;
        align-self: center !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-actions {
        grid-area: actions !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        direction: ltr !important;
        align-self: center !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-action-item,
    body.storefront-body.product-detail-route .product-detail-directory-action-item.product-detail-bookmark-form {
        position: relative !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    body.storefront-body.product-detail-route .product-detail-directory-actions .product-detail-toolbar__button {
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        border-radius: 11px !important;
        align-self: center !important;
    }

    /* Feedback becomes a small transient caption and no longer reserves
       a second row that can push the toolbar out of the header. */
    body.storefront-body.product-detail-route .product-detail-action-feedback {
        position: absolute !important;
        z-index: 50 !important;
        top: calc(100% + 7px) !important;
        left: 50% !important;
        width: max-content !important;
        max-width: 170px !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 4px 7px !important;
        border: 1px solid var(--line) !important;
        border-radius: 7px !important;
        overflow: hidden !important;
        transform: translate(-50%, -3px) !important;
        color: var(--muted) !important;
        background: var(--surface) !important;
        box-shadow: 0 7px 18px rgba(17, 37, 63, .10) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 760 !important;
        line-height: 1.45 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.storefront-body.product-detail-route .product-detail-action-feedback.is-visible {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate(-50%, 0) !important;
    }
}

@media (min-width: 841px) and (max-width: 1100px) {
    body.storefront-body.product-detail-route .product-detail-directory-row {
        grid-template-columns: minmax(150px, .8fr) minmax(300px, 1.45fr) minmax(170px, .9fr) !important;
        column-gap: 12px !important;
    }

    body.storefront-body.product-detail-route .product-detail-header-title {
        font-size: var(--tl-type-600) !important;
    }

    body.storefront-body.product-detail-route .product-detail-category-path {
        font-size: var(--tl-type-400) !important;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-detail-action-feedback {
    border-color: color-mix(in srgb, var(--line) 84%, white 16%) !important;
    background: var(--surface) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .28) !important;
}

/* =========================================================
   TL_PRODUCT_DETAIL_OVERVIEW_PANEL_V5_20260903
   Desktop-only rich product information panel.
   Mobile product detail remains unchanged.
   ========================================================= */
.product-overview-desktop {
    display: none;
}

@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-detail-grid {
        align-items: start !important;
    }

    body.storefront-body.product-detail-route .product-detail-grid > .product-info {
        align-self: start !important;
        min-width: 0 !important;
        display: grid !important;
        gap: 14px !important;
        padding: 20px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 12%, var(--line)) !important;
        border-radius: 20px !important;
        background: color-mix(in srgb, var(--surface) 98%, transparent) !important;
        box-shadow: 0 16px 38px rgba(17, 37, 63, .075) !important;
    }

    body.storefront-body.product-detail-route .product-info > .product-brand {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-info > .short-description {
        margin: 0 !important;
        padding: 0 2px !important;
        color: color-mix(in srgb, var(--text) 78%, var(--muted)) !important;
        font-size: var(--tl-type-500) !important;
        font-weight: 590 !important;
        line-height: 2 !important;
        text-align: right !important;
    }

    body.storefront-body.product-detail-route .product-overview-desktop {
        display: grid !important;
        gap: 14px !important;
        min-width: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 8px !important;
        min-width: 0 !important;
        padding: 8px !important;
        border: 1px solid var(--line) !important;
        border-radius: 15px !important;
        background: color-mix(in srgb, var(--surface-soft) 72%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item {
        min-width: 0 !important;
        min-height: 64px !important;
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 8px !important;
        border-inline-start: 1px solid color-mix(in srgb, var(--line) 80%, transparent) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:last-child {
        border-inline-start: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon {
        width: 32px !important;
        height: 32px !important;
        display: grid !important;
        place-items: center !important;
        border: 1px solid color-mix(in srgb, var(--primary) 16%, var(--line)) !important;
        border-radius: 10px !important;
        color: var(--primary) !important;
        background: color-mix(in srgb, var(--primary) 6%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon.is-success {
        color: #16824b !important;
        border-color: rgba(22, 130, 75, .18) !important;
        background: rgba(22, 130, 75, .06) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-icon svg {
        width: 18px !important;
        height: 18px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 4px !important;
        text-align: right !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy small {
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy strong,
    body.storefront-body.product-detail-route .product-overview-quick-copy a {
        min-width: 0 !important;
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 860 !important;
        line-height: 1.45 !important;
        text-decoration: none !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy a:hover {
        color: var(--primary) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-copy strong.is-success {
        color: #16824b !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 11px !important;
        padding: 12px 14px !important;
        border: 1px solid rgba(36, 105, 181, .18) !important;
        border-radius: 14px !important;
        background:
            linear-gradient(135deg, rgba(45, 109, 184, .075), rgba(45, 109, 184, .025)),
            var(--surface) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__icon {
        width: 42px !important;
        height: 42px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 13px !important;
        color: #2366a9 !important;
        background: rgba(45, 109, 184, .10) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__icon svg {
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 4px !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__copy strong {
        color: #1b568e !important;
        font-size: var(--tl-type-400) !important;
        font-weight: 900 !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__copy span {
        color: var(--muted) !important;
        font-size: var(--tl-type-200) !important;
        font-weight: 600 !important;
        line-height: 1.75 !important;
    }

    body.storefront-body.product-detail-route .product-overview-features {
        display: grid !important;
        gap: 10px !important;
        min-width: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-section-title {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 12px !important;
        padding: 0 2px !important;
    }

    body.storefront-body.product-detail-route .product-overview-section-title span {
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 760 !important;
    }

    body.storefront-body.product-detail-route .product-overview-section-title strong {
        color: var(--text) !important;
        font-size: var(--tl-type-500) !important;
        font-weight: 930 !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px !important;
        min-width: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card {
        min-width: 0 !important;
        min-height: 86px !important;
        display: grid !important;
        grid-template-columns: 38px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 9px !important;
        padding: 11px !important;
        border: 1px solid var(--line) !important;
        border-radius: 13px !important;
        background: color-mix(in srgb, var(--surface) 92%, var(--surface-soft)) !important;
        transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card:hover {
        transform: translateY(-1px) !important;
        border-color: color-mix(in srgb, var(--primary) 24%, var(--line)) !important;
        box-shadow: 0 8px 18px rgba(17, 37, 63, .055) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-icon {
        width: 38px !important;
        height: 38px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 12px !important;
        color: #ec9513 !important;
        background: rgba(244, 157, 24, .10) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card--measure .product-overview-feature-icon,
    body.storefront-body.product-detail-route .product-overview-feature-card--feature .product-overview-feature-icon {
        color: #315f90 !important;
        background: rgba(49, 95, 144, .09) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card--chip .product-overview-feature-icon,
    body.storefront-body.product-detail-route .product-overview-feature-card--light .product-overview-feature-icon {
        color: #d9910a !important;
        background: rgba(236, 149, 19, .10) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card--eco .product-overview-feature-icon {
        color: #17884c !important;
        background: rgba(23, 136, 76, .09) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-card--use .product-overview-feature-icon {
        color: #275f99 !important;
        background: rgba(39, 95, 153, .09) !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-icon svg {
        width: 21px !important;
        height: 21px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.75 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 4px !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-copy small {
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 720 !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-copy strong {
        min-width: 0 !important;
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 880 !important;
        line-height: 1.55 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefits {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 8px !important;
        padding: 10px !important;
        border: 1px solid var(--line) !important;
        border-radius: 14px !important;
        background: var(--surface-soft) !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 34px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 4px 8px !important;
        border-inline-start: 1px solid var(--line) !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit:last-child {
        border-inline-start: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit > span {
        width: 34px !important;
        height: 34px !important;
        display: grid !important;
        place-items: center !important;
        color: var(--primary) !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit svg {
        width: 22px !important;
        height: 22px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.65 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit div {
        min-width: 0 !important;
        display: grid !important;
        gap: 3px !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit strong {
        color: var(--text) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 880 !important;
    }

    body.storefront-body.product-detail-route .product-overview-benefit small {
        overflow: hidden !important;
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 600 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-card {
        min-width: 0 !important;
        min-height: 70px !important;
        display: grid !important;
        grid-template-columns: minmax(90px, auto) minmax(0, 1fr) 28px !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 14px !important;
        border: 1px solid color-mix(in srgb, var(--primary) 14%, var(--line)) !important;
        border-radius: 14px !important;
        color: inherit !important;
        background: color-mix(in srgb, var(--surface) 96%, var(--primary) 4%) !important;
        text-decoration: none !important;
        transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-card:hover {
        transform: translateY(-1px) !important;
        border-color: color-mix(in srgb, var(--primary) 36%, var(--line)) !important;
        box-shadow: 0 9px 20px rgba(17, 37, 63, .065) !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-mark {
        min-width: 90px !important;
        max-width: 150px !important;
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-900) !important;
        font-weight: 950 !important;
        letter-spacing: .025em !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 4px !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy strong {
        overflow: hidden !important;
        color: var(--text) !important;
        font-size: var(--tl-type-400) !important;
        font-weight: 890 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-copy small {
        color: var(--muted) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 620 !important;
    }

    body.storefront-body.product-detail-route .product-overview-brand-arrow {
        color: var(--primary) !important;
        font-size: var(--tl-type-1000) !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    html[data-theme="dark"] body.storefront-body.product-detail-route .product-detail-grid > .product-info {
        border-color: color-mix(in srgb, var(--primary) 23%, var(--line)) !important;
        background: color-mix(in srgb, var(--surface) 98%, transparent) !important;
        box-shadow: 0 16px 38px rgba(0, 0, 0, .22) !important;
    }

    html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch {
        border-color: rgba(106, 164, 226, .22) !important;
        background: linear-gradient(135deg, rgba(51, 116, 186, .15), rgba(51, 116, 186, .045)), var(--surface) !important;
    }

    html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch__copy strong {
        color: #9bc9fb !important;
    }

    html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-quick-icon.is-success,
    html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-quick-copy strong.is-success {
        color: #63d695 !important;
    }
}

@media (min-width: 841px) and (max-width: 1180px) {
    body.storefront-body.product-detail-route .product-detail-grid > .product-info {
        padding: 16px !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:nth-child(odd) {
        border-inline-start: 0 !important;
    }

    body.storefront-body.product-detail-route .product-overview-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   TL_PRODUCT_DETAIL_PERSONAL_DISPATCH_V5R_20260903
   Desktop-only personalized first-dispatch states.
   ========================================================= */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-overview-quick-item--dispatch.is-ready .product-overview-quick-copy strong,
    body.storefront-body.product-detail-route .product-overview-dispatch.is-ready .product-overview-dispatch__copy > strong {
        color: #16824b !important;
    }

    body.storefront-body.product-detail-route .product-overview-inline-action {
        color: #1f64a7 !important;
        font-weight: 880 !important;
        text-decoration: none !important;
    }

    body.storefront-body.product-detail-route .product-overview-inline-action:hover {
        color: #164f86 !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch.is-guest,
    body.storefront-body.product-detail-route .product-overview-dispatch.is-no-address,
    body.storefront-body.product-detail-route .product-overview-dispatch.is-no-default {
        border-color: rgba(226, 154, 32, .26) !important;
        background:
            linear-gradient(135deg, rgba(244, 176, 52, .085), rgba(45, 109, 184, .025)),
            var(--surface) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch.is-no-shipping,
    body.storefront-body.product-detail-route .product-overview-dispatch.is-no-schedule,
    body.storefront-body.product-detail-route .product-overview-dispatch.is-unavailable {
        border-color: color-mix(in srgb, var(--muted) 24%, var(--line)) !important;
        background: color-mix(in srgb, var(--surface-soft) 74%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__icon.is-success {
        color: #16824b !important;
        background: rgba(22, 130, 75, .08) !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__action {
        width: max-content !important;
        max-width: 100% !important;
        min-height: 30px !important;
        margin-top: 3px !important;
        padding: 5px 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        border: 1px solid rgba(34, 96, 163, .20) !important;
        border-radius: 9px !important;
        color: #1d5e9d !important;
        background: rgba(45, 109, 184, .07) !important;
        font-size: var(--tl-type-200) !important;
        font-weight: 850 !important;
        line-height: 1.35 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-overview-dispatch__action:hover {
        border-color: rgba(34, 96, 163, .32) !important;
        background: rgba(45, 109, 184, .11) !important;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch.is-guest,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch.is-no-address,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch.is-no-default {
    border-color: rgba(234, 178, 70, .24) !important;
    background:
        linear-gradient(135deg, rgba(214, 151, 38, .11), rgba(45, 109, 184, .045)),
        var(--surface) !important;
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-dispatch__action {
    border-color: rgba(118, 174, 237, .24) !important;
    color: #9ecbff !important;
    background: rgba(66, 128, 201, .12) !important;
}


/* =========================================================
   TL_SHIPPING_POLICY_FOUNDATION_V6_20260904
   Desktop product overview: remove duplicated dispatch tile,
   expose product-owned free-shipping offer, preserve mobile.
   ========================================================= */
@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-overview-quick-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping {
        min-width: 0 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 11px !important;
        padding: 12px 14px !important;
        border: 1px solid rgba(20, 142, 79, .24) !important;
        border-radius: 14px !important;
        background:
            linear-gradient(135deg, rgba(24, 157, 87, .09), rgba(24, 157, 87, .025)),
            var(--surface) !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__icon {
        width: 42px !important;
        height: 42px !important;
        display: grid !important;
        place-items: center !important;
        border-radius: 13px !important;
        color: #16824b !important;
        background: rgba(22, 130, 75, .09) !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__icon svg {
        width: 23px !important;
        height: 23px !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.8 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__copy {
        min-width: 0 !important;
        display: grid !important;
        gap: 4px !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__copy strong {
        color: #136f42 !important;
        font-size: var(--tl-type-400) !important;
        font-weight: 920 !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__copy span {
        color: var(--muted) !important;
        font-size: var(--tl-type-200) !important;
        font-weight: 650 !important;
        line-height: 1.75 !important;
    }

    body.storefront-body.product-detail-route .product-overview-free-shipping__badge {
        min-height: 28px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 5px 10px !important;
        border-radius: 999px !important;
        color: #11663d !important;
        background: rgba(22, 130, 75, .10) !important;
        font-size: var(--tl-type-100) !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 841px) and (max-width: 1180px) {
    body.storefront-body.product-detail-route .product-overview-quick-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:nth-child(odd) {
        border-inline-start: 1px solid color-mix(in srgb, var(--line) 80%, transparent) !important;
    }

    body.storefront-body.product-detail-route .product-overview-quick-item:last-child {
        border-inline-start: 0 !important;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-free-shipping {
    border-color: rgba(96, 211, 145, .22) !important;
    background:
        linear-gradient(135deg, rgba(39, 149, 88, .15), rgba(39, 149, 88, .04)),
        var(--surface) !important;
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-free-shipping__copy strong,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-free-shipping__icon,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-overview-free-shipping__badge {
    color: #69dca0 !important;
}

/* =========================================================
   TL_PRODUCT_DETAIL_QUANTITY_RETURN_V7_20260904
   Quantity selector for product detail + desktop sticky dock.
   Address return-context styling remains in account layout.
   ========================================================= */

body.storefront-body.product-detail-route .product-quantity-selector {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 8px 0 0;
    padding: 8px 10px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: var(--surface-soft);
}

body.storefront-body.product-detail-route .product-quantity-selector__label {
    color: var(--muted);
    font-size: var(--tl-type-200);
    font-weight: 800;
    white-space: nowrap;
}

body.storefront-body.product-detail-route .product-quantity-selector__control {
    min-width: 116px;
    display: grid;
    grid-template-columns: 34px minmax(44px, 1fr) 34px;
    align-items: stretch;
    direction: ltr;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--primary) 16%, var(--line));
    border-radius: 10px;
    background: var(--surface);
}

body.storefront-body.product-detail-route .product-quantity-selector__button {
    min-width: 0;
    min-height: 36px;
    padding: 0;
    border: 0;
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 6%, var(--surface));
    cursor: pointer;
    font: inherit;
    font-size: var(--tl-type-700);
    font-weight: 900;
    line-height: 1;
}

body.storefront-body.product-detail-route .product-quantity-selector__button:hover:not(:disabled) {
    background: color-mix(in srgb, var(--primary) 12%, var(--surface));
}

body.storefront-body.product-detail-route .product-quantity-selector__button:disabled {
    color: var(--muted);
    cursor: not-allowed;
    opacity: .42;
}

body.storefront-body.product-detail-route .product-quantity-selector__input {
    min-width: 0;
    width: 100%;
    min-height: 36px;
    padding: 0 4px;
    border: 0;
    border-inline: 1px solid var(--line);
    outline: 0;
    color: var(--text);
    background: var(--surface);
    font: inherit;
    font-size: var(--tl-type-300);
    font-weight: 900;
    line-height: 1;
    text-align: center;
    -moz-appearance: textfield;
}

body.storefront-body.product-detail-route .product-quantity-selector__input::-webkit-outer-spin-button,
body.storefront-body.product-detail-route .product-quantity-selector__input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

body.storefront-body.product-detail-route .product-sticky-quantity {
    display: none;
}

@media (min-width: 841px) {
    body.storefront-body.product-detail-route .product-purchase-component .product-quantity-selector {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__action {
        flex: 0 1 280px !important;
        min-width: 240px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        gap: 7px !important;
        direction: rtl !important;
    }

    body.storefront-body.product-detail-route .product-sticky-add {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity {
        flex: 0 0 98px !important;
        min-width: 98px !important;
        height: 100% !important;
        min-height: 54px !important;
        display: grid !important;
        grid-template-columns: 28px minmax(38px, 1fr) 28px !important;
        align-items: stretch !important;
        direction: ltr !important;
        overflow: hidden !important;
        border: 1px solid color-mix(in srgb, var(--primary) 17%, var(--line)) !important;
        border-radius: 11px !important;
        background: var(--surface-soft) !important;
        box-sizing: border-box !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity[hidden] {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__button {
        min-width: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--primary) !important;
        background: color-mix(in srgb, var(--primary) 6%, var(--surface)) !important;
        cursor: pointer !important;
        font: inherit !important;
        font-size: var(--tl-type-700) !important;
        font-weight: 950 !important;
        line-height: 1 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__button:hover:not(:disabled) {
        background: color-mix(in srgb, var(--primary) 12%, var(--surface)) !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__button:disabled {
        color: var(--muted) !important;
        cursor: not-allowed !important;
        opacity: .38 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__value {
        min-width: 0 !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 2px !important;
        border-inline: 1px solid var(--line) !important;
        color: var(--text) !important;
        background: var(--surface) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
}

@media (min-width: 841px) and (max-width: 1080px) {
    body.storefront-body.product-detail-route .product-sticky-purchase__action {
        flex-basis: 250px !important;
        min-width: 220px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity {
        flex-basis: 90px !important;
        min-width: 90px !important;
        grid-template-columns: 26px minmax(36px, 1fr) 26px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__current {
        min-width: 170px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__compare {
        flex-basis: 150px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__minimum,
    body.storefront-body.product-detail-route .product-sticky-purchase__inventory {
        flex-basis: 140px !important;
    }
}

@media (max-width: 840px) {
    body.storefront-body.product-detail-route .product-sticky-quantity {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-quantity-selector {
        margin-top: 7px;
        padding: 7px 9px;
    }

    body.storefront-body.product-detail-route .product-quantity-selector__control {
        min-width: 112px;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-quantity-selector,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-quantity {
    border-color: color-mix(in srgb, var(--primary) 20%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 92%, var(--surface-soft)) !important;
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-quantity-selector__control,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-quantity-selector__input,
html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-quantity__value {
    background: var(--surface) !important;
}

/* =========================================================
   TL_PRODUCT_DETAIL_STICKY_QUANTITY_V7R_20260904
   Mobile quantity lives in the fixed purchase dock.
   Sticky +/- updates the real cart line if already added.
   ========================================================= */
@media (max-width: 840px) {
    body.storefront-body.product-detail-route
    .product-purchase-component
    .product-quantity-selector {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase {
        min-height: 96px;
        height: auto;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__action {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 5px !important;
    }

    body.storefront-body.product-detail-route .product-sticky-purchase__discount {
        order: 1 !important;
        align-self: center !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity {
        order: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        height: 34px !important;
        min-height: 34px !important;
        display: grid !important;
        grid-template-columns: 30px minmax(38px, 1fr) 30px !important;
        align-items: stretch !important;
        direction: ltr !important;
        overflow: hidden !important;
        border: 1px solid color-mix(in srgb, var(--primary) 17%, var(--line)) !important;
        border-radius: 9px !important;
        background: var(--surface-soft) !important;
        box-sizing: border-box !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity[hidden] {
        display: none !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__button {
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        color: var(--primary) !important;
        background: color-mix(in srgb, var(--primary) 6%, var(--surface)) !important;
        cursor: pointer !important;
        font: inherit !important;
        font-size: var(--tl-type-600) !important;
        font-weight: 950 !important;
        line-height: 1 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__button:disabled {
        color: var(--muted) !important;
        cursor: not-allowed !important;
        opacity: .38 !important;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity__value {
        min-width: 0 !important;
        display: grid !important;
        place-items: center !important;
        padding: 0 2px !important;
        border-inline: 1px solid var(--line) !important;
        color: var(--text) !important;
        background: var(--surface) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.storefront-body.product-detail-route .product-sticky-add {
        order: 3 !important;
        width: 100% !important;
    }
}

@media (max-width: 360px) {
    body.storefront-body.product-detail-route .product-sticky-purchase {
        min-height: 92px;
    }

    body.storefront-body.product-detail-route .product-sticky-quantity {
        height: 32px !important;
        min-height: 32px !important;
        grid-template-columns: 28px minmax(34px, 1fr) 28px !important;
    }
}

html[data-theme="dark"] body.storefront-body.product-detail-route .product-sticky-quantity {
    border-color: color-mix(in srgb, var(--primary) 20%, var(--line)) !important;
    background: color-mix(in srgb, var(--surface) 92%, var(--surface-soft)) !important;
}

/* =========================================================
   TL_PRODUCT_DETAIL_MOBILE_DOCK_CART_QUANTITY_V7R2_20260904
   - Mobile discount badge moves to gallery top-left.
   - Mobile bottom dock becomes shorter.
   - Quantity remains in the fixed dock.
   ========================================================= */
.product-gallery-mobile-discount {
    display: none;
}

@media (max-width: 840px) {
    body.storefront-body.product-detail-route
    .gallery-main
    .product-gallery-mobile-discount {
        position: absolute !important;
        z-index: 12 !important;
        top: 14px !important;
        left: 14px !important;
        min-width: 86px !important;
        min-height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        padding: 5px 12px !important;
        border: 1px solid color-mix(in srgb, var(--danger) 24%, transparent) !important;
        border-radius: 999px !important;
        color: #fff !important;
        background: var(--danger) !important;
        box-shadow: 0 7px 18px color-mix(in srgb, var(--danger) 22%, transparent) !important;
        font-size: var(--tl-type-300) !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        pointer-events: none !important;
        direction: rtl !important;
    }

    body.storefront-body.product-detail-route
    .gallery-main
    .product-gallery-mobile-discount[hidden] {
        display: none !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-purchase__discount {
        display: none !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-purchase {
        min-height: 84px !important;
        height: auto !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-purchase__action {
        gap: 4px !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-quantity {
        order: 1 !important;
        height: 30px !important;
        min-height: 30px !important;
        grid-template-columns: 28px minmax(36px, 1fr) 28px !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-add {
        order: 2 !important;
        min-height: 35px !important;
        height: 35px !important;
        font-size: var(--tl-type-300) !important;
    }
}

@media (max-width: 360px) {
    body.storefront-body.product-detail-route
    .product-sticky-purchase {
        min-height: 82px !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-quantity {
        height: 29px !important;
        min-height: 29px !important;
        grid-template-columns: 27px minmax(34px, 1fr) 27px !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-add {
        min-height: 34px !important;
        height: 34px !important;
        font-size: var(--tl-type-200) !important;
    }
}

/* =========================================================
   TL_PRODUCT_DETAIL_QUANTITY_FEEDBACK_V7R3_20260904
   Visual feedback only. Cart/quantity semantics remain V7R2.
   ========================================================= */
body.storefront-body.product-detail-route
.product-sticky-quantity {
    position: relative;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        box-shadow .16s ease,
        transform .14s ease;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updating {
    border-color:
        color-mix(in srgb, var(--primary) 48%, var(--line)) !important;
    box-shadow:
        0 0 0 3px
        color-mix(in srgb, var(--primary) 9%, transparent) !important;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updating
.product-sticky-quantity__value {
    position: relative;
    color:
        color-mix(in srgb, var(--text) 68%, var(--muted)) !important;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updating
.product-sticky-quantity__value::before {
    width: 12px;
    height: 12px;
    margin-inline-end: 5px;
    display: inline-block;
    border: 2px solid
        color-mix(in srgb, var(--primary) 22%, transparent);
    border-top-color: var(--primary);
    border-radius: 50%;
    content: "";
    animation: tl-product-qty-spin .62s linear infinite;
    box-sizing: border-box;
    vertical-align: -2px;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated {
    border-color:
        color-mix(in srgb, #16a765 64%, var(--line)) !important;
    background:
        color-mix(in srgb, #16a765 8%, var(--surface)) !important;
    box-shadow:
        0 0 0 3px
        color-mix(in srgb, #16a765 10%, transparent) !important;
    transform: scale(1.012);
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated
.product-sticky-quantity__value {
    color: #13884f !important;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated
.product-sticky-quantity__value::before {
    margin-inline-end: 5px;
    color: #16a765;
    content: "✓";
    font-size: var(--tl-type-300);
    font-weight: 950;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-error {
    border-color:
        color-mix(in srgb, var(--danger) 66%, var(--line)) !important;
    background:
        color-mix(in srgb, var(--danger) 6%, var(--surface)) !important;
    animation: tl-product-qty-error .28s ease-in-out 1;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-updating {
    position: relative;
    cursor: wait !important;
    opacity: .84;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-updating::before {
    width: 13px;
    height: 13px;
    margin-inline-end: 7px;
    display: inline-block;
    border: 2px solid rgba(255, 255, 255, .35);
    border-top-color: currentColor;
    border-radius: 50%;
    content: "";
    animation: tl-product-qty-spin .62s linear infinite;
    box-sizing: border-box;
    vertical-align: -2px;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-updated {
    transform: translateY(-1px);
    box-shadow:
        0 8px 22px
        color-mix(in srgb, #16a765 24%, transparent) !important;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-error {
    box-shadow:
        0 7px 20px
        color-mix(in srgb, var(--danger) 24%, transparent) !important;
    animation: tl-product-qty-error .28s ease-in-out 1;
}

@keyframes tl-product-qty-spin {
    to { transform: rotate(360deg); }
}

@keyframes tl-product-qty-error {
    0%, 100% { transform: translateX(0); }
    33% { transform: translateX(-2px); }
    66% { transform: translateX(2px); }
}

@media (prefers-reduced-motion: reduce) {
    body.storefront-body.product-detail-route
    .product-sticky-quantity,
    body.storefront-body.product-detail-route
    .product-sticky-add {
        transition: none !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-quantity.is-updating
    .product-sticky-quantity__value::before,
    body.storefront-body.product-detail-route
    .product-sticky-add.is-cart-updating::before {
        animation-duration: 1.2s !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-quantity.is-error,
    body.storefront-body.product-detail-route
    .product-sticky-add.is-cart-error {
        animation: none !important;
    }
}

/* =========================================================
   TL_PRODUCT_DETAIL_QUANTITY_FEEDBACK_V7R4_20260904
   Success feedback belongs to the cart button, not the number.
   Quantity keeps only pending/error feedback.
   ========================================================= */
body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated,
body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated
.product-sticky-quantity__value {
    border-color: inherit !important;
    background: inherit !important;
    box-shadow: none !important;
    color: inherit !important;
    transform: none !important;
}

body.storefront-body.product-detail-route
.product-sticky-quantity.is-updated
.product-sticky-quantity__value::before {
    display: none !important;
    content: none !important;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-updated {
    position: relative;
    transform: translateY(-1px) scale(1.008);
    filter: saturate(1.05) brightness(1.025);
    box-shadow:
        0 8px 20px
        color-mix(in srgb, #16a765 18%, transparent) !important;
    transition:
        transform .18s ease,
        filter .18s ease,
        box-shadow .18s ease,
        background-color .18s ease;
}

body.storefront-body.product-detail-route
.product-sticky-add.is-cart-updated::after {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(
            110deg,
            transparent 24%,
            rgba(255,255,255,.12) 44%,
            rgba(255,255,255,.22) 50%,
            rgba(255,255,255,.10) 56%,
            transparent 76%);
    content: "";
    pointer-events: none;
    transform: translateX(-115%);
    animation:
        tl-product-cart-button-sheen .72s ease-out 1;
}

@keyframes tl-product-cart-button-sheen {
    to { transform: translateX(115%); }
}

@media (prefers-reduced-motion: reduce) {
    body.storefront-body.product-detail-route
    .product-sticky-add.is-cart-updated {
        transform: none !important;
        filter: none !important;
    }

    body.storefront-body.product-detail-route
    .product-sticky-add.is-cart-updated::after {
        display: none !important;
        animation: none !important;
    }
}

/* TL_PRODUCT_DETAIL_MOBILE_ICONSONLY_NOCHIP_V5_START
   Mobile product-detail dark mode:
   - preserve dark surfaces;
   - keep discount badge close to top-left corner;
   - remove the extra chip/card background behind all small icons;
   - leave only the icon drawing itself, using the main dark page/surface behind it.
*/
@media (max-width: 840px) {
    body.storefront-body.product-detail-route
    .gallery-main > .product-gallery-mobile-discount {
        top: 4px !important;
        left: 4px !important;
        right: auto !important;
        margin: 0 !important;
    }

    html[data-theme="dark"]
    body.storefront-body.product-detail-route
    :is(
        .product-overview-quick-icon,
        .product-overview-dispatch__icon,
        .product-overview-free-shipping__icon,
        .product-overview-benefit > span,
        .product-overview-feature-icon,
        .product-overview-brand-mark
    ) {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        color: #FFFFFF !important;
    }

    html[data-theme="dark"]
    body.storefront-body.product-detail-route
    :is(
        .product-overview-quick-icon svg,
        .product-overview-dispatch__icon svg,
        .product-overview-free-shipping__icon svg,
        .product-overview-benefit > span svg,
        .product-overview-feature-icon svg,
        .product-overview-brand-mark svg
    ) {
        color: #FFFFFF !important;
        stroke: currentColor !important;
        fill: none !important;
        filter: none !important;
    }

    html[data-theme="dark"]
    body.storefront-body.product-detail-route
    :is(
        .product-overview-quick-icon,
        .product-overview-dispatch__icon,
        .product-overview-free-shipping__icon,
        .product-overview-benefit > span,
        .product-overview-feature-icon,
        .product-overview-brand-mark
    ) :is(path, circle, rect, line, polyline, polygon, ellipse) {
        stroke: #FFFFFF !important;
        fill: none !important;
    }

    html[data-theme="dark"]
    body.storefront-body.product-detail-route
    :is(
        .product-overview-quick-icon.is-success,
        .product-overview-dispatch__icon.is-success
    ) {
        background: transparent !important;
        border: 0 !important;
        color: #FFFFFF !important;
    }
}
/* TL_PRODUCT_DETAIL_MOBILE_ICONSONLY_NOCHIP_V5_END */
/* TL_PRODUCT_SUGGESTION_RAIL_CONTROLS_V1_START */
/* Product detail suggestion rails: guaranteed horizontal scrolling with
   transparent arrow controls and desktop/mobile friendly swipe behavior. */
.product-suggestion-rail {
    position: relative;
}

.product-suggestion-rail__items {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.product-suggestion-rail__items::-webkit-scrollbar {
    height: 7px;
}

.product-suggestion-rail__items::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--line) 78%, transparent);
    border-radius: 999px;
}

.product-suggestion-rail__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: none;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    outline: none;
    color: var(--text);
    background: transparent;
    box-shadow: none;
    cursor: pointer;
    transform: translateY(-50%);
    transition: opacity .18s ease, transform .18s ease, color .18s ease;
}

.product-suggestion-rail--has-overflow .product-suggestion-rail__arrow {
    display: inline-grid;
    place-items: center;
}

.product-suggestion-rail__arrow:hover,
.product-suggestion-rail__arrow:focus-visible {
    color: var(--primary);
    transform: translateY(-50%) scale(1.08);
}

.product-suggestion-rail__arrow:focus-visible {
    border-radius: 999px;
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 22%, transparent);
}

.product-suggestion-rail__arrow svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.15;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-suggestion-rail__arrow--prev {
    left: 8px;
}

.product-suggestion-rail__arrow--next {
    right: 8px;
}

html[data-theme="dark"] .product-suggestion-rail__arrow {
    color: var(--tl-readable-text, #fff);
}

html[data-theme="dark"] .product-suggestion-rail__items::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--tl-readable-text, #fff) 22%, transparent);
}

@media (max-width: 768px) {
    .product-suggestion-rail__arrow {
        width: 30px;
        height: 30px;
    }

    .product-suggestion-rail__arrow--prev {
        left: 4px;
    }

    .product-suggestion-rail__arrow--next {
        right: 4px;
    }
}
/* TL_PRODUCT_SUGGESTION_RAIL_CONTROLS_V1_END */
/* TL_PRODUCT_SUGGESTION_RAIL_MOBILE_IMAGE_ONLY_V1_START */
/* v5 probe-backed fix:
   The mobile product-detail selector at max-width:840px had higher specificity:
   .storefront-body.product-detail-route .product-suggestion-rail__items
   and kept each implicit grid track at min 166px.
   Cards were only 96px wide, leaving ~70px empty inside every track.
   Match that specificity here so track width becomes 96px and the real
   visual gap becomes the intended 2px. */
@media (max-width: 768px) {
    .storefront-body.product-detail-route .product-suggestion-rail__items {
        grid-auto-columns: 96px;
        gap: 2px;
        padding-block-end: 8px;
    }

    .storefront-body.product-detail-route .product-suggestion-card {
        width: 96px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        justify-items: center;
        align-content: start;
        gap: 2px;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card__image {
        display: grid;
        place-items: center;
        width: 92px;
        height: 92px;
        padding: 0;
        overflow: visible;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card__image img {
        width: 92px;
        height: 92px;
        object-fit: contain;
    }

    .storefront-body.product-detail-route .product-suggestion-card__copy {
        display: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card::after {
        content: "+";
        display: grid;
        place-items: center;
        width: 92px;
        min-height: 17px;
        border-radius: 8px;
        background: var(--primary);
        color: var(--text-on-primary, #fff);
        font-size: 20px;
        font-weight: 900;
        line-height: 1;
        box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 76%, #ffffff 14%);
    }

    html[data-theme="dark"] .storefront-body.product-detail-route .product-suggestion-card::after {
        color: #ffffff;
    }
}
/* TL_PRODUCT_SUGGESTION_RAIL_MOBILE_IMAGE_ONLY_V1_END */

/* TL_PRODUCT_SUGGESTION_RAIL_STOCK_QUICKADD_V1_START */
.product-suggestion-card {
    position: relative;
}

.product-suggestion-card__image-link {
    position: relative;
    display: block;
    color: inherit;
    text-decoration: none;
}

.product-suggestion-card__stock-badge {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 48px;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 4px 12px rgba(12, 26, 44, .18);
    background: #d93b3b;
}

.product-suggestion-card__quick-add {
    display: none;
    margin: 0;
}

.product-suggestion-card__quick-add-button {
    display: grid;
    place-items: center;
    width: 100%;
    min-height: 17px;
    height: 17px;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: var(--primary);
    color: #fff;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 76%, #ffffff 14%);
}

.product-suggestion-card__quick-add-icon {
    grid-area: 1 / 1;
    display: block;
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.product-suggestion-card__quick-add-icon--check {
    display: none;
}

.product-suggestion-card__quick-add-button.is-added {
    background: #1a9c5a;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #1a9c5a 78%, #ffffff 12%);
}

.product-suggestion-card__quick-add-button.is-added
.product-suggestion-card__quick-add-icon--plus {
    display: none;
}

.product-suggestion-card__quick-add-button.is-added
.product-suggestion-card__quick-add-icon--check {
    display: block;
}

.product-suggestion-card__quick-add-button:disabled {
    opacity: .42;
    cursor: not-allowed;
}

.product-suggestion-card.is-unavailable .product-suggestion-card__image-link,
.product-suggestion-card.is-unavailable .product-suggestion-card__quick-add {
    opacity: .5;
}

.product-suggestion-card.is-unavailable .product-suggestion-card__stock-badge {
    opacity: 1;
}

@media (max-width: 768px) {
    .storefront-body.product-detail-route .product-suggestion-card::after {
        content: none !important;
        display: none !important;
    }

    .storefront-body.product-detail-route .product-suggestion-card {
        width: 96px;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
        justify-items: center;
        align-content: start;
        gap: 2px;
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card__image-link {
        width: 92px;
    }

    .storefront-body.product-detail-route .product-suggestion-card__image {
        display: grid;
        place-items: center;
        width: 92px;
        height: 92px;
        padding: 0;
        overflow: visible;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card__image img {
        width: 92px;
        height: 92px;
        object-fit: contain;
    }

    .storefront-body.product-detail-route .product-suggestion-card__copy {
        display: none;
    }

    .storefront-body.product-detail-route .product-suggestion-card__quick-add {
        display: block;
        width: 92px;
    }

    .storefront-body.product-detail-route .product-suggestion-card__quick-add-button {
        min-height: 17px;
        height: 17px;
        border-radius: 8px;
    }

    .storefront-body.product-detail-route .product-suggestion-card__quick-add-icon {
        width: 14px;
        height: 14px;
    }

    .storefront-body.product-detail-route .product-suggestion-card__stock-badge {
        inset-block-start: 0;
        inset-inline-end: 0;
        min-width: 44px;
        min-height: 19px;
        padding: 0 7px;
        font-size: 10px;
    }
}
/* TL_PRODUCT_SUGGESTION_RAIL_STOCK_QUICKADD_V1_END */
