/**
 * Основные стили AltAurum Shop
 */

/* Переменные */
:root {
    --primary-color: #198754;
    --primary-hover: #157347;
    --secondary-color: #6c757d;
    --success-color: #198754;
    --danger-color: #dc3545;
    --warning-color: #ffc107;
    --info-color: #0dcaf0;
    --light-color: #f8f9fa;
    --dark-color: #212529;
}

/* Основные стили */
body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

/* Навигация */
.navbar-brand {
    font-weight: 700;
}

.navbar-nav .nav-link {
    font-weight: 500;
    padding: 0.5rem 1rem;
}

.navbar-nav .nav-link:hover {
    color: var(--primary-color);
}

/* Приветственные бонусы для гостей */
.signup-bonus-strip {
    color: #fff;
    background: linear-gradient(100deg, #116b43 0%, #198754 55%, #20a56b 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.signup-bonus-strip__inner {
    display: flex;
    align-items: center;
    gap: .85rem;
    min-height: 64px;
    padding-top: .55rem;
    padding-bottom: .55rem;
}

.signup-bonus-strip__icon {
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    color: #166d46;
    background: #fff;
    font-size: 1.1rem;
}

.signup-bonus-strip__copy {
    display: flex;
    flex: 1;
    align-items: baseline;
    gap: .75rem;
    min-width: 0;
}

.signup-bonus-strip__copy strong {
    font-size: 1.02rem;
}

.signup-bonus-strip__copy span {
    color: rgba(255, 255, 255, .82);
    font-size: .9rem;
}

.signup-bonus-strip__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    flex: 0 0 auto;
    padding: .55rem .85rem;
    border-color: #fff;
    color: #126b43;
    background: #fff;
    font-weight: 700;
    border-radius: 9px;
    text-decoration: none;
}

.signup-bonus-strip__button:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, .72);
    background: rgba(255, 255, 255, .12);
}

.signup-bonus-strip__button-short {
    display: none;
}

.signup-bonus-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid #b9dfc8;
    border-radius: 12px;
    background: linear-gradient(120deg, #edf9f2 0%, #f8fcfa 100%);
}

.signup-bonus-card__icon {
    display: grid;
    place-items: center;
    flex: 0 0 50px;
    width: 50px;
    height: 50px;
    border-radius: 12px;
    color: #fff;
    background: var(--primary-color);
    box-shadow: 0 6px 16px rgba(25, 135, 84, .2);
    font-size: 1.35rem;
}

.signup-bonus-card strong {
    display: block;
    color: #174a33;
    font-size: 1.05rem;
}

.signup-bonus-card strong span {
    color: var(--primary-color);
    font-size: 1.3rem;
}

.signup-bonus-card p {
    margin: .25rem 0 0;
    color: #5c6c63;
    font-size: .88rem;
    line-height: 1.45;
}

/* Карточки товаров */
.product-card {
    transition: all 0.3s ease;
    overflow: hidden;
}

.product-card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
    transform: translateY(-5px);
}

.product-card .card-img-top {
    transition: transform 0.3s ease;
}

.product-card:hover .card-img-top {
    transform: scale(1.05);
}

/* Кнопки */
.btn-success {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-success:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
}

.btn-outline-success {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-outline-success:hover {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Бейджи */
.badge {
    font-weight: 500;
}

/* Формы */
.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

.form-check-input:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Пагинация */
.pagination .page-link {
    color: var(--primary-color);
}

.pagination .page-item.active .page-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

/* Футер */
footer {
    margin-top: auto;
}

footer a:hover {
    color: var(--primary-color) !important;
}

/* Hero секция */
.hero-section {
    min-height: 400px;
    display: flex;
    align-items: center;
}

/* Анимации */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in {
    animation: fadeIn 0.5s ease-out;
}

/* Hover эффекты */
.hover-shadow {
    transition: box-shadow 0.3s ease;
}

.hover-shadow:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

/* Корзина */
.cart-item {
    transition: background-color 0.3s ease;
}

.cart-item:hover {
    background-color: #f8f9fa;
}

/* Админка */
.admin-sidebar {
    min-height: calc(100vh - 56px);
    background-color: #343a40;
}

.admin-sidebar .nav-link {
    color: rgba(255, 255, 255, 0.75);
    padding: 0.75rem 1rem;
}

.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link.active {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
}

/* Статистика */
.stat-card {
    border-left: 4px solid var(--primary-color);
}

.stat-card.success {
    border-left-color: var(--success-color);
}

.stat-card.warning {
    border-left-color: var(--warning-color);
}

.stat-card.danger {
    border-left-color: var(--danger-color);
}

.stat-card.info {
    border-left-color: var(--info-color);
}

/* Таблицы */
.table th {
    font-weight: 600;
    background-color: #f8f9fa;
}

/* Модальные окна */
.modal-header {
    background-color: var(--primary-color);
    color: white;
}

.modal-header .btn-close {
    filter: invert(1);
}

/* Утилиты */
.text-success {
    color: var(--primary-color) !important;
}

.bg-success {
    background-color: var(--primary-color) !important;
}

/* Адаптивность */
@media (max-width: 768px) {
    .signup-bonus-strip__inner {
        min-height: 76px;
        gap: .65rem;
    }

    .signup-bonus-strip__icon {
        flex-basis: 34px;
        width: 34px;
        height: 34px;
    }

    .signup-bonus-strip__copy {
        display: block;
    }

    .signup-bonus-strip__copy strong {
        display: block;
        font-size: .86rem;
        line-height: 1.25;
    }

    .signup-bonus-strip__copy > span {
        display: none;
    }

    .signup-bonus-strip__button {
        padding: .45rem .65rem;
        font-size: .78rem;
    }

    .signup-bonus-strip__button-full {
        display: none;
    }

    .signup-bonus-strip__button-short {
        display: inline;
    }

    .signup-bonus-strip__button i {
        display: none;
    }

    .signup-bonus-card {
        align-items: flex-start;
        padding: .9rem;
    }

    .signup-bonus-card__icon {
        flex-basis: 42px;
        width: 42px;
        height: 42px;
    }

    .hero-section {
        min-height: 300px;
        text-align: center;
    }
    
    .hero-section h1 {
        font-size: 2rem;
    }
    
    .product-card .card-img-top {
        height: 150px;
    }
}

/* Печать */
@media print {
    .no-print,
    .navbar,
    footer,
    .btn {
        display: none !important;
    }
    
    .container {
        width: 100%;
        max-width: none;
    }
}

/* Скроллбар */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Выделение текста */
::selection {
    background-color: rgba(25, 135, 84, 0.3);
}

/* Фокус для доступности */
:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Загрузка */
.loading {
    position: relative;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid #f3f3f3;
    border-top: 2px solid var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.leaflet-bottom.leaflet-right {
    display:none;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ===== УТИЛИТАРНЫЕ КЛАССЫ ===== */
.w-auto {
    width: auto !important;
}

.fs-09rem {
    font-size: 0.9rem;
}

.sticky-top-20 {
    top: 20px;
}

.d-none-js {
    display: none;
}

.city-results-dropdown {
    display: none;
    top: 100%;
    left: 0;
    z-index: 10;
    max-height: 300px;
    overflow-y: auto;
}

.pagination .active .page-link {
    color: var(--bs-pagination-active-color);
}

/* Информационное уведомление об использовании cookie */
.cookie-notice {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 1090;
    width: min(920px, calc(100% - 32px));
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    background: rgba(33, 37, 41, 0.98);
    color: #fff;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
}

.cookie-notice[hidden] {
    display: none !important;
}

.cookie-notice__text {
    font-size: 0.94rem;
    line-height: 1.45;
}

.cookie-notice__text a {
    color: #8ee0ad;
    white-space: nowrap;
}

.cookie-notice__button {
    flex: 0 0 auto;
    min-width: 92px;
}

@media (max-width: 767.98px) {
    .cookie-notice {
        bottom: 82px;
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
        padding: 14px;
    }

    .cookie-notice__button {
        width: 100%;
    }
}

.live-search-wrap {
    min-width: 280px
}

.live-search-results {
    top: calc(100% + 4px);
    z-index: 1060;
    min-width: 360px;
    max-height: 420px;
    overflow: auto
}

.live-dropdown {
    z-index: 1050;
    max-height: 300px;
    overflow: auto
}

.favorite-btn {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center
}

.favorite-btn.active {
    color: #dc3545
}

.checkout-summary {
    top: 90px
}

.object-fit-cover {
    object-fit: cover
}

.product-mobile-actions {
    display: none
}

@media (max-width: 767.98px) {
    .live-search-wrap {
        min-width: 100%
    }

    .live-search-results {
        min-width: 100%
    }

    .product-mobile-actions {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 62px;
        z-index: 1035;
        background: #fff;
        padding: 10px;
        box-shadow: 0 -3px 15px rgba(0, 0, 0, .15)
    }

    body {
        padding-bottom: 130px
    }
}

/* ========================================================================== 
   AltAurum UI refresh — September 2026
   Familiar e-commerce patterns, calmer hierarchy and stronger product focus.
   ========================================================================== */
:root {
    --primary-color: #148255;
    --primary-hover: #0f6d47;
    --primary-soft: #eef8f2;
    --primary-soft-strong: #dff2e7;
    --accent-gold: #c99736;
    --accent-gold-soft: #fff7e5;
    --surface: #ffffff;
    --surface-subtle: #f6f8f7;
    --surface-warm: #fbfaf7;
    --border-color: #e3e9e5;
    --text-main: #1d2a23;
    --text-muted: #66736b;
    --shadow-sm: 0 3px 14px rgba(24, 55, 38, .06);
    --shadow-md: 0 12px 34px rgba(24, 55, 38, .10);
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;
}

body {
    color: var(--text-main);
    background: var(--surface);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { transition: color .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease; }
.btn { border-radius: 10px; font-weight: 650; }
.btn-success { box-shadow: 0 3px 8px rgba(20, 130, 85, .12); }
.form-control, .form-select { border-color: #dce4df; border-radius: 10px; }
.form-control:focus, .form-select:focus { box-shadow: 0 0 0 .2rem rgba(20, 130, 85, .12); }
.breadcrumb { --bs-breadcrumb-divider-color: #a5afa9; font-size: .88rem; }
.breadcrumb a { color: #647169; text-decoration: none; }
.breadcrumb a:hover { color: var(--primary-color); }

/* --- Header -------------------------------------------------------------- */
.site-header { position: relative; z-index: 1035; }
.site-utility-bar { background: #202724; color: #eef3f0; font-size: .79rem; }
.site-utility-bar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.site-city-button, .site-support-link, .site-account-links a {
    display: inline-flex; align-items: center; gap: 6px; border: 0; padding: 0; color: #eef3f0; background: none; text-decoration: none;
}
.site-city-button { max-width: min(52vw, 440px); }
.site-city-button strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 650; }
.site-city-button__caption { color: #aeb9b3; }
.site-city-button__chevron { margin-left: 2px; font-size: .68rem; color: #aeb9b3; }
.site-city-button:hover, .site-support-link:hover, .site-account-links a:hover { color: #fff; }
.site-account-links { display: flex; align-items: center; gap: 16px; white-space: nowrap; }

.site-main-header { z-index: 1028; border-bottom: 1px solid var(--border-color); box-shadow: 0 4px 18px rgba(23, 46, 33, .045); }
.site-main-header__row { min-height: 74px; display: flex; align-items: center; gap: 16px; }
.site-logo { flex: 0 0 auto; color: var(--primary-color); font-size: 1.65rem; line-height: 1; font-weight: 800; letter-spacing: -.045em; text-decoration: none; }
.site-logo:hover { color: var(--primary-hover); }
.site-catalog-button { align-items: center; gap: 8px; padding: 10px 15px; color: #fff; background: var(--primary-color); border-color: var(--primary-color); }
.site-catalog-button:hover { color: #fff; background: var(--primary-hover); border-color: var(--primary-hover); }
.site-search { flex: 1 1 520px; min-width: 220px; margin: 0; }
.site-search__control { position: relative; display: flex; align-items: center; }
.site-search__icon { position: absolute; left: 14px; z-index: 3; color: #7c8981; font-size: 1rem; pointer-events: none; }
.site-search .form-control { min-height: 44px; padding: 9px 82px 9px 42px; border: 1px solid #d8e0db; border-radius: 12px; background: #f8faf9; }
.site-search .form-control:focus { background: #fff; }
.site-search__submit { position: absolute; right: 4px; top: 4px; bottom: 4px; padding: 0 14px; border-radius: 9px; }
.live-search-results { top: calc(100% + 7px); overflow: hidden; border: 1px solid var(--border-color); border-radius: 14px; box-shadow: var(--shadow-md) !important; }
.site-header-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.site-header-action { min-width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 5px 8px; border-radius: 12px; color: #34433a; text-decoration: none; }
.site-header-action:hover { color: var(--primary-color); background: var(--primary-soft); }
.site-header-action__icon { position: relative; display: grid; place-items: center; font-size: 1.38rem; }
.site-header-action__label { font-size: .75rem; line-height: 1.15; }
.site-header-action__label span, .site-header-action__label strong { display: block; }
.site-header-action__label strong { margin-top: 2px; color: var(--text-main); font-size: .82rem; }
.site-action-badge { position: absolute; top: -8px; right: -11px; min-width: 19px; height: 19px; display: grid; place-items: center; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: #dc3545; font-size: .64rem; font-weight: 800; line-height: 1; }
.site-menu-toggle { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 10px; color: var(--text-main); background: #f4f6f5; font-size: 1.55rem; }
.site-mobile-menu { padding-top: 10px; padding-bottom: 18px; }
.site-mobile-city { width: 100%; display: flex; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid var(--border-color); border-radius: 12px; background: #fff; text-align: left; }
.site-mobile-city > i:first-child { color: var(--primary-color); }
.site-mobile-links { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 8px; margin-top: 10px; }
.site-mobile-links a { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 9px; color: #334139; font-weight: 550; text-decoration: none; }
.site-mobile-links a:hover { color: var(--primary-color); background: var(--primary-soft); }
.site-category-nav { border-bottom: 1px solid #e7ece9; background: #fff; }
.site-category-nav__inner { min-height: 42px; display: flex; align-items: center; gap: 26px; }
.site-category-nav a { color: #536159; font-size: .86rem; font-weight: 550; text-decoration: none; }
.site-category-nav a:hover { color: var(--primary-color); }
.site-category-nav__sale { color: #c84343 !important; }
.site-category-nav__spacer { flex: 1; }

.signup-bonus-strip--compact .signup-bonus-strip__inner { min-height: 44px; padding-top: 5px; padding-bottom: 5px; }
.signup-bonus-strip--compact .signup-bonus-strip__icon { width: 30px; height: 30px; flex-basis: 30px; font-size: .9rem; }
.signup-bonus-strip--compact .signup-bonus-strip__copy strong { font-size: .9rem; }
.signup-bonus-strip--compact .signup-bonus-strip__copy span { font-size: .8rem; }
.signup-bonus-strip--compact .signup-bonus-strip__button { padding: .38rem .72rem; font-size: .82rem; }

/* --- City selector ------------------------------------------------------- */
.delivery-city-modal .modal-dialog { max-width: 560px; }
.delivery-city-modal .modal-content { overflow: visible; border: 0; border-radius: 22px; box-shadow: 0 28px 80px rgba(18, 38, 27, .22); }
.delivery-city-modal .modal-header { padding: 26px 26px 18px; color: var(--text-main); background: #fff; border-radius: 22px 22px 0 0; }
.delivery-city-modal .modal-body { padding: 0 26px 26px; }
.delivery-city-modal .modal-footer { padding: 0 26px 24px; }
.delivery-city-modal__eyebrow { display: block; margin-bottom: 5px; color: var(--primary-color); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.delivery-city-search > .bi-search { position: absolute; z-index: 3; top: 50%; left: 16px; transform: translateY(-50%); color: #748078; }
.delivery-city-search .form-control { padding-left: 45px; border-radius: 13px; }
#delivery-city-results { top: calc(100% + 7px); z-index: 1080; max-height: 310px; overflow-y: auto; border: 1px solid var(--border-color); border-radius: 13px; }
.delivery-city-result { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 10px 13px; }
.delivery-city-result__icon { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 38px; border-radius: 10px; color: var(--primary-color); background: var(--primary-soft); }
.delivery-city-result strong, .delivery-city-result small { display: block; }
.delivery-city-result small { margin-top: 2px; color: var(--text-muted); font-size: .76rem; }
.delivery-city-result-state { padding: 18px; color: var(--text-muted); text-align: center; }
.delivery-city-modal__popular .btn { padding: 7px 11px; border-radius: 999px; color: #47554c; font-size: .83rem; font-weight: 550; }
.delivery-city-modal__popular .btn:hover { color: var(--primary-color); border-color: #b8d9c6 !important; background: var(--primary-soft); }

/* --- Product cards ------------------------------------------------------- */
.product-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--border-color); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-sm); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.product-card:hover { transform: translateY(-3px); border-color: #cddbd2; box-shadow: var(--shadow-md) !important; }
.product-card__media { position: relative; overflow: hidden; background: #f7f8f7; }
.product-card__image-link { display: block; }
.product-card .product-img-wrap { aspect-ratio: 4 / 5; overflow: hidden; background: #f6f7f6; }
.product-card .product-img-wrap img { width: 100%; height: 100%; display: block; object-fit: contain; transition: transform .28s ease; }
.product-card:hover .product-img-wrap img { transform: scale(1.025); }
.product-card__favorite { position: absolute; z-index: 3; top: 10px; right: 10px; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(222, 229, 225, .85); border-radius: 50%; color: #4f5d55; background: rgba(255,255,255,.93); box-shadow: 0 3px 12px rgba(32, 50, 40, .08); }
.product-card__favorite:hover, .product-card__favorite.active { color: #d74755; background: #fff; border-color: #f0b5bc; }
.product-card__badges { position: absolute; left: 10px; bottom: 10px; display: flex; flex-wrap: wrap; gap: 5px; }
.product-card__badge { padding: 5px 7px; border-radius: 7px; color: #fff; font-size: .68rem; font-weight: 750; line-height: 1; }
.product-card__badge--new { background: var(--primary-color); }
.product-card__badge--sale { background: #e54855; }
.product-card__body { display: flex; flex: 1; flex-direction: column; padding: 14px; }
.product-card__meta { margin-bottom: 5px; overflow: hidden; color: #849087; font-size: .71rem; white-space: nowrap; text-overflow: ellipsis; }
.product-card__title { min-height: 2.75em; margin: 0 0 9px; display: -webkit-box; overflow: hidden; color: var(--text-main); font-size: .94rem; font-weight: 650; line-height: 1.38; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-card__title a { color: inherit; text-decoration: none; }
.product-card__title a:hover { color: var(--primary-color); }
.product-card__stock { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; color: #66736b; font-size: .72rem; }
.product-card__stock > span { width: 6px; height: 6px; border-radius: 50%; background: #9da8a1; }
.product-card__stock.is-available > span { background: #22a06b; }
.product-card__stock.is-unavailable { color: #9a6267; }
.product-card__stock.is-unavailable > span { background: #d85a64; }
.product-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: auto; }
.product-card__pricing { min-width: 0; display: flex; flex-direction: column; }
.product-card__old-price { height: 17px; color: #919a94; font-size: .72rem; line-height: 1.15; text-decoration: line-through; }
.product-card__price { color: var(--primary-color); font-size: 1.12rem; line-height: 1.18; }
.product-card__bonus { margin-top: 2px; color: #9c762d; font-size: .67rem; }
.product-card__cart { min-width: 102px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 10px; font-size: .78rem; white-space: nowrap; }
.product-card__cart.is-added { background: #0f6d47; }
.product-card__unavailable { max-width: 90px; color: #8b9590; font-size: .7rem; line-height: 1.2; text-align: right; }
.mobile-load-more { display: none; }
.product-card__compare { display: none; }

/* --- Generic content rhythm --------------------------------------------- */
main > .container:first-child, main > section:first-child .container { scroll-margin-top: 100px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.section-heading h2 { margin: 0; font-size: clamp(1.45rem, 2.2vw, 1.9rem); font-weight: 750; letter-spacing: -.025em; }
.section-heading p { margin: 5px 0 0; color: var(--text-muted); }
.section-more { display: inline-flex; align-items: center; gap: 6px; color: var(--primary-color); font-size: .88rem; font-weight: 650; text-decoration: none; white-space: nowrap; }
.section-more:hover { color: var(--primary-hover); }
.section-more i { transition: transform .18s ease; }
.section-more:hover i { transform: translateX(3px); }

footer.bg-dark { background: #202724 !important; }
footer h2, footer h3 { letter-spacing: -.01em; }
footer li { margin-bottom: 7px; }
footer a { color: #dbe3de !important; font-size: .9rem; }
footer a:hover { color: #fff !important; }

@media (max-width: 991.98px) {
    .site-main-header__row { min-height: 64px; gap: 10px; }
    .site-logo { font-size: 1.45rem; }
    .site-search { order: 5; flex-basis: 100%; width: 100%; padding-bottom: 10px; }
    .site-main-header__row { flex-wrap: wrap; }
    .site-search__submit { display: none; }
    .site-search .form-control { padding-right: 15px; }
    .site-header-actions { margin-left: auto; }
}

@media (max-width: 767.98px) {
    .site-utility-bar__inner { min-height: 32px; }
    .site-city-button__caption { display: none; }
    .site-account-links { gap: 10px; }
    .site-main-header__row { padding-top: 8px; }
    .site-search { padding-bottom: 8px; }
    .site-search .form-control { min-height: 42px; }
    .signup-bonus-strip--compact .signup-bonus-strip__inner { min-height: 42px; }
    .signup-bonus-strip--compact .signup-bonus-strip__copy span { display: none; }
    .delivery-city-modal .modal-dialog { margin: 12px; align-items: flex-end; min-height: calc(100% - 24px); }
    .delivery-city-modal .modal-content { border-radius: 20px; }
    .delivery-city-modal .modal-header { padding: 22px 20px 15px; }
    .delivery-city-modal .modal-body { padding: 0 20px 22px; }
    .delivery-city-modal .modal-footer { padding: 0 20px 20px; }

    .product-card { border-radius: 13px; }
    .product-card__body { padding: 10px; }
    .product-card__favorite { top: 7px; right: 7px; width: 34px; height: 34px; }
    .product-card__badges { left: 7px; bottom: 7px; }
    .product-card__title { min-height: 2.7em; margin-bottom: 7px; font-size: .82rem; }
    .product-card__meta { font-size: .65rem; }
    .product-card__stock { margin-bottom: 8px; font-size: .65rem; }
    .product-card__price { font-size: 1rem; }
    .product-card__bonus { display: none; }
    .product-card__cart { min-width: 38px; width: 38px; height: 38px; padding: 0; border-radius: 10px; }
    .product-card__cart span { display: none; }
    .product-card__unavailable { display: none; }
    .section-heading { align-items: center; margin-bottom: 18px; }
    .section-heading h2 { font-size: 1.35rem; }
    .section-heading p { display: none; }
}

/* --- 2026-09-03 UI/UX refresh r2: catalog menu + richer search ----------- */
.site-catalog-dropdown { flex: 0 0 auto; }
.site-catalog-button__chevron { margin-left: 2px; font-size: .68rem; transition: transform .18s ease; }
.site-catalog-dropdown .site-catalog-button[aria-expanded="true"] .site-catalog-button__chevron { transform: rotate(180deg); }
.site-mega-menu { width: min(920px, calc(100vw - 230px)); min-width: 720px; margin-top: 10px !important; padding: 0; overflow: hidden; border: 1px solid #dce5df; border-radius: 17px; background: #fff; box-shadow: 0 24px 62px rgba(24, 47, 33, .17); }
.site-mega-menu__top { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid #e5ebe7; background: #f8faf9; }
.site-mega-menu__top strong, .site-mega-menu__top span { display: block; }
.site-mega-menu__top strong { color: #24352b; font-size: 1rem; }
.site-mega-menu__top span { margin-top: 2px; color: #7b887f; font-size: .74rem; }
.site-mega-menu__top > a { display: inline-flex; align-items: center; gap: 6px; color: var(--primary-color); font-size: .82rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.site-mega-menu__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 8px 10px 12px; }
.site-mega-menu__section { min-width: 0; padding: 12px 10px 14px; }
.site-mega-menu__root { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 7px; color: #293930; font-size: .9rem; font-weight: 750; text-decoration: none; }
.site-mega-menu__root:hover { color: var(--primary-color); }
.site-mega-menu__root small { min-width: 26px; padding: 2px 7px; border-radius: 999px; color: #728078; background: #f0f4f1; font-size: .63rem; font-weight: 700; text-align: center; }
.site-mega-menu__children { display: grid; gap: 1px; }
.site-mega-menu__children a { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 5px 7px; border-radius: 8px; color: #617067; font-size: .77rem; text-decoration: none; }
.site-mega-menu__children a:hover { color: var(--primary-color); background: #edf7f1; }
.site-mega-menu__children a span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.site-mega-menu__children a small { flex: 0 0 auto; color: #98a29c; font-size: .62rem; }
.site-mega-menu__empty { padding: 5px 7px; color: #8b9790; font-size: .73rem; }
.site-mega-menu__footer { display: flex; align-items: center; gap: 6px; padding: 11px 14px; border-top: 1px solid #e5ebe7; background: #fbfcfb; }
.site-mega-menu__footer a { display: inline-flex; align-items: center; gap: 6px; padding: 7px 10px; border-radius: 9px; color: #526158; font-size: .76rem; font-weight: 650; text-decoration: none; }
.site-mega-menu__footer a:hover { color: var(--primary-color); background: #edf7f1; }
.site-mega-menu__footer a:nth-child(2) { color: #bf434b; }

.live-search-results { z-index: 1050; top: calc(100% + 8px); max-height: min(620px, calc(100vh - 150px)); overflow-y: auto; border: 1px solid #dce5df; border-radius: 16px; background: #fff; box-shadow: 0 22px 56px rgba(25, 48, 34, .17) !important; }
.live-search-state { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 64px; padding: 14px; color: #758279; font-size: .83rem; }
.live-search-state--error { color: #b94c54; }
.live-search-section { padding: 7px 8px 8px; border-top: 1px solid #edf0ee; }
.live-search-section:first-child { border-top: 0; }
.live-search-section__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 5px 6px 7px; color: #7d8a82; font-size: .65rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.live-search-result { display: flex; min-width: 0; align-items: center; gap: 10px; padding: 8px; border-radius: 10px; color: #34443a; text-decoration: none; outline: none; }
.live-search-result:hover, .live-search-result.is-active, .live-search-result:focus-visible { color: #26372d; background: #f0f7f3; }
.live-search-result__media { width: 50px; height: 50px; display: grid; place-items: center; flex: 0 0 50px; overflow: hidden; border-radius: 9px; color: var(--primary-color); background: #edf5f0; font-size: 1.1rem; }
.live-search-result__media img { width: 100%; height: 100%; object-fit: cover; }
.live-search-result__body { min-width: 0; flex: 1; }
.live-search-result__title { display: -webkit-box; overflow: hidden; color: #2d3d33; font-size: .8rem; font-weight: 680; line-height: 1.32; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.live-search-result__meta { margin-top: 3px; overflow: hidden; color: #849087; font-size: .66rem; white-space: nowrap; text-overflow: ellipsis; }
.live-search-result__price { flex: 0 0 auto; color: var(--primary-color); font-size: .82rem; font-weight: 750; white-space: nowrap; }
.live-search-result__rating { color: #a37827; }
.live-search-result--compact .live-search-result__media { width: 40px; height: 40px; flex-basis: 40px; }
.live-search-result--text { padding: 9px 10px; }
.live-search-result--text .live-search-result__title { -webkit-line-clamp: 1; }
.live-search-all { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; border-top: 1px solid #e8edea; color: var(--primary-color); background: #fbfcfb; font-size: .79rem; font-weight: 750; text-decoration: none; }
.live-search-all:hover, .live-search-all:focus-visible { color: var(--primary-hover); background: #f2f8f4; }

@media (max-width: 1199.98px) and (min-width: 992px) {
    .site-mega-menu { width: calc(100vw - 210px); min-width: 700px; }
    .site-mega-menu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .live-search-results { position: fixed !important; top: 138px; right: 12px; left: 12px !important; width: auto !important; max-height: calc(100vh - 155px); }
}
@media (max-width: 575.98px) {
    .live-search-results { top: 132px; right: 8px; left: 8px !important; max-height: calc(100vh - 148px); border-radius: 14px; }
    .live-search-result { padding: 7px; }
    .live-search-result__media { width: 44px; height: 44px; flex-basis: 44px; }
    .live-search-result__price { font-size: .76rem; }
}
.product-card__rating { display: flex; align-items: center; gap: 4px; margin: -2px 0 8px; color: #7d6950; font-size: .68rem; }
.product-card__rating i { color: #e2a321; font-size: .72rem; }
.product-card__rating strong { color: #5f5548; font-weight: 750; }
.product-card__rating span { color: #939b96; }
@media (max-width: 767.98px) {
    .product-card__rating { margin-bottom: 6px; font-size: .62rem; }
}

/* --- 2026-09-03 UI/UX refresh r4: unified action feedback -------------- */
.ui-toast-stack {
    position: fixed;
    z-index: 1095;
    top: 18px;
    right: 18px;
    display: grid;
    width: min(390px, calc(100vw - 30px));
    gap: 10px;
    pointer-events: none;
}
.ui-toast {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) 32px;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 10px 10px 10px 12px;
    border: 1px solid #dfe7e2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(24,47,33,.16);
    color: #2c3d33;
    pointer-events: auto;
    animation: ui-toast-enter .2s ease-out both;
}
.ui-toast.is-leaving { animation: ui-toast-leave .18s ease-in both; }
.ui-toast__icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: #eef6f1;
    color: #198754;
    font-size: 1rem;
}
.ui-toast--error .ui-toast__icon { background: #fff0f1; color: #c63f49; }
.ui-toast--warning .ui-toast__icon { background: #fff7e4; color: #b47a00; }
.ui-toast__text { font-size: .85rem; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.ui-toast__close { display: grid; width: 32px; height: 32px; place-items: center; border: 0; border-radius: 9px; background: transparent; color: #7c8981; }
.ui-toast__close:hover { background: #f1f4f2; color: #34443a; }
@keyframes ui-toast-enter { from { opacity: 0; transform: translateY(-8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes ui-toast-leave { to { opacity: 0; transform: translateY(-6px) scale(.98); } }
@media (max-width: 575.98px) {
    .ui-toast-stack { top: auto; right: 10px; bottom: calc(78px + env(safe-area-inset-bottom)); left: 10px; width: auto; }
    .ui-toast { min-height: 54px; border-radius: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .ui-toast, .ui-toast.is-leaving { animation: none; }
}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r6 — mobile-first finishing layer */

/* Accessibility */
.skip-link{position:fixed;z-index:2000;left:12px;top:10px;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#153c29;color:#fff;font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .15s ease}
.skip-link:focus{transform:none;color:#fff}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid rgba(25,135,84,.28);outline-offset:2px}
#main-content:focus{outline:0}
@media(max-width:991.98px){button,a,.btn,.form-check-input{touch-action:manipulation}.btn:not(.btn-sm),button:not(.btn-close):not(.product-gallery__dot){min-height:44px}}

/* Network state */
.network-status{position:fixed;z-index:1300;left:50%;top:max(10px,env(safe-area-inset-top));display:flex;width:min(calc(100% - 24px),720px);align-items:center;gap:10px;padding:11px 14px;border:1px solid #f1d391;border-radius:12px;background:#fff8e8;color:#6e5420;box-shadow:0 12px 32px rgba(50,43,20,.16);font-size:.84rem;line-height:1.35;transform:translate(-50%,-160%);opacity:0;transition:.18s ease;pointer-events:none}
.network-status.is-visible{transform:translate(-50%,0);opacity:1}.network-status i{font-size:1.05rem}

/* Privacy settings */
.privacy-settings-page{max-width:980px}.privacy-settings-shell{overflow:hidden;border:1px solid #dfe7e2;border-radius:22px;background:#fff;box-shadow:0 16px 48px rgba(24,54,35,.07)}
.privacy-settings-head{display:flex;gap:18px;padding:28px 30px;border-bottom:1px solid #e7ece9;background:linear-gradient(135deg,#f3faf6,#fff)}
.privacy-settings-head__icon{display:grid;width:52px;height:52px;place-items:center;flex:0 0 52px;border-radius:16px;background:#e5f5eb;color:#176b45;font-size:1.35rem}.privacy-settings-head h1{margin:0 0 8px;font-size:clamp(1.55rem,3.5vw,2.25rem);letter-spacing:-.035em}.privacy-settings-head p{max-width:720px;margin:0;color:#6e7b73;line-height:1.55}
.privacy-settings-form{padding:8px 30px 26px}.privacy-setting-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid #edf1ee}.privacy-setting-row__icon{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:#f1f6f3;color:#2e6c4d;font-size:1.08rem}.privacy-setting-row__copy strong,.privacy-setting-row__copy span{display:block}.privacy-setting-row__copy strong{color:#26362d}.privacy-setting-row__copy span{margin-top:4px;color:#76827b;font-size:.86rem;line-height:1.45}.privacy-setting-row__status{padding:5px 9px;border-radius:999px;background:#e9f6ee;color:#176b45;font-size:.72rem;font-weight:750}.privacy-setting-row--switch{cursor:pointer}.privacy-setting-row--switch .form-switch{padding-left:0}.privacy-setting-row--switch .form-check-input{width:3rem;height:1.6rem;margin:0;cursor:pointer}.privacy-settings-actions{display:flex;align-items:center;gap:12px;padding-top:22px}.privacy-withdraw{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 30px;border-top:1px solid #f0d8db;background:#fff8f8}.privacy-withdraw h2{margin:0 0 5px;color:#71353a;font-size:1rem}.privacy-withdraw p{max-width:700px;margin:0;color:#85666a;font-size:.82rem;line-height:1.45}

/* Product: one-handed mobile purchase */
.product-gallery__favorite{position:absolute;z-index:5;right:12px;top:12px;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(223,231,226,.96);border-radius:50%;background:rgba(255,255,255,.94);color:#58665e;box-shadow:0 6px 18px rgba(28,49,36,.12);backdrop-filter:blur(8px)}.product-gallery__favorite.active{color:#d54656;border-color:#edc3c8;background:#fff}.product-gallery__favorite i{font-size:1.08rem}
.product-gallery__dots{display:flex;justify-content:center;align-items:center;gap:6px;padding:10px 0 2px}.product-gallery__dot{width:7px;height:7px;min-height:7px!important;padding:0;border:0;border-radius:50%;background:#cbd5cf;transition:width .16s ease,background .16s ease}.product-gallery__dot.active{width:20px;border-radius:99px;background:#198754}
.product-mobile-sticky__qty{display:flex;height:42px;align-items:center;flex:0 0 auto;border:1px solid #dbe4de;border-radius:12px;background:#fff;overflow:hidden}.product-mobile-sticky__qty button{display:grid;width:32px;height:40px;min-height:40px!important;place-items:center;padding:0;border:0;background:#fff;color:#32443a;font-size:1.05rem}.product-mobile-sticky__qty button:disabled{color:#bec6c1}.product-mobile-sticky__qty span{min-width:24px;text-align:center;color:#24372d;font-size:.8rem;font-weight:750}.product-mobile-sticky__cart.is-in-cart{background:#126d45;border-color:#126d45}
@media(max-width:575.98px){.product-gallery__thumbs{display:none!important}.product-gallery__counter{display:none}.product-mobile-sticky{gap:7px}.product-mobile-sticky__price strong{font-size:.98rem}.product-mobile-sticky__price span{font-size:.61rem}.product-mobile-sticky__cart{min-width:108px;padding-inline:10px}.product-mobile-sticky__qty{height:42px}.product-mobile-sticky__qty button{width:29px}.product-gallery__favorite{right:10px;top:10px}}
@media(max-width:365px){.product-mobile-sticky__price{max-width:72px}.product-mobile-sticky__cart{min-width:94px;font-size:.74rem}.product-mobile-sticky__cart i{display:none}.product-mobile-sticky__qty button{width:27px}}

/* Checkout: one-thumb navigation + summary bottom sheet */
.checkout-mobile-actionbar{display:none}.checkout-summary__mobile-close{display:none}.checkout-mobile-overview{cursor:pointer}.checkout-mobile-overview__right{display:flex;align-items:center;gap:8px}.checkout-mobile-overview__chevron{color:#7c8981;font-size:.78rem;transition:transform .16s ease}.checkout-mobile-overview[aria-expanded="true"] .checkout-mobile-overview__chevron{transform:rotate(180deg)}
@media(max-width:991.98px){.checkout-page{padding-bottom:118px!important}.checkout-panel-actions{display:none!important}.checkout-mobile-actionbar{position:fixed;z-index:1035;left:0;right:0;bottom:0;display:block;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid #dce5df;background:rgba(255,255,255,.97);box-shadow:0 -10px 32px rgba(25,47,33,.13);backdrop-filter:blur(12px)}.checkout-mobile-actionbar__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#718078;font-size:.69rem}.checkout-mobile-actionbar__track{height:3px;flex:1;overflow:hidden;border-radius:99px;background:#e7ece9}.checkout-mobile-actionbar__progress{display:block;height:100%;width:25%;border-radius:99px;background:#198754;transition:width .18s ease}.checkout-mobile-actionbar__actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}.checkout-mobile-actionbar__back{min-width:78px}.checkout-mobile-actionbar__primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-weight:750}.checkout-mobile-overview{width:100%;border:1px solid #dfe7e2;text-align:left}.checkout-summary{position:fixed!important;z-index:1061!important;left:0;right:0;bottom:0;top:auto!important;max-height:min(84vh,720px);margin:0!important;border:0!important;border-radius:22px 22px 0 0!important;box-shadow:0 -18px 60px rgba(21,42,29,.24)!important;transform:translateY(105%);visibility:hidden;transition:transform .2s ease,visibility .2s step-end;overflow:auto!important}.checkout-summary.is-mobile-open{transform:none;visibility:visible;transition:transform .2s ease}.checkout-summary .card-header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;padding-top:14px!important;background:#176b45!important}.checkout-summary__mobile-close{display:grid;width:38px;height:38px;min-height:38px!important;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff}.checkout-summary-backdrop{position:fixed;z-index:1060;inset:0;width:100%;height:100%;min-height:0!important;padding:0;border:0;background:rgba(20,31,24,.42);backdrop-filter:blur(2px)}html.checkout-summary-open{overflow:hidden}.checkout-summary .card-body{padding-bottom:max(24px,env(safe-area-inset-bottom))}.checkout-step-feedback{margin-inline:0!important;border-radius:0}.checkout-panel{box-shadow:none!important}.checkout-steps{margin-bottom:12px!important}}
@media(max-width:575.98px){.checkout-page>.breadcrumb{display:none}.checkout-page>h1{font-size:1.35rem!important}.checkout-steps{margin-inline:-6px!important}.checkout-step span{font-size:.61rem}.checkout-panel{margin-inline:-6px!important;border-radius:13px!important}.checkout-panel .card-header{padding:14px 14px 10px!important}.checkout-panel .card-body{padding:14px!important}.checkout-panel .card-header .small{font-size:.74rem}.checkout-mobile-overview{margin-inline:-2px;width:calc(100% + 4px)}.delivery-map{height:min(280px,46vh)!important}.privacy-settings-page{padding-top:16px!important}.privacy-settings-shell{margin-inline:-2px;border-radius:16px}.privacy-settings-head{gap:12px;padding:20px 18px}.privacy-settings-head__icon{width:44px;height:44px;flex-basis:44px}.privacy-settings-head h1{font-size:1.45rem}.privacy-settings-head p{font-size:.84rem}.privacy-settings-form{padding:4px 18px 20px}.privacy-setting-row{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:17px 0}.privacy-setting-row__icon{width:40px;height:40px}.privacy-setting-row__copy span{font-size:.78rem}.privacy-settings-actions{align-items:stretch;flex-direction:column}.privacy-settings-actions .btn{width:100%}.privacy-withdraw{align-items:stretch;flex-direction:column;padding:20px 18px}.privacy-withdraw .btn{width:100%}}

/* Perceived performance: skip layout/render work far below viewport. */
@supports(content-visibility:auto){.cart-recommendations,.recently-viewed,.product-helpful-articles,.homepage-section,.blog-section{content-visibility:auto;contain-intrinsic-size:1px 520px}}

@media(prefers-reduced-motion:reduce){.skip-link,.network-status,.product-gallery__dot,.checkout-mobile-actionbar__progress,.checkout-summary,.checkout-mobile-overview__chevron{transition:none!important}}

@media(max-width:991.98px){html.mobile-keyboard-open .mobile-bottom-nav,html.mobile-keyboard-open .checkout-mobile-actionbar{transform:translateY(120%);opacity:0;pointer-events:none}.mobile-bottom-nav,.checkout-mobile-actionbar{transition:transform .16s ease,opacity .16s ease}}
@media(prefers-reduced-motion:reduce){.mobile-bottom-nav,.checkout-mobile-actionbar{transition:none!important}}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r7 — mobile conversion and interaction polish */

.mini-cart__title-count{color:#7a8880;font-size:.78rem;font-weight:650}
.mini-cart__image{display:block}
.mini-cart__copy{min-width:0}
.mini-cart__row{display:flex;align-items:center;gap:8px;margin-top:7px}
.mini-cart__quantity{display:grid;grid-template-columns:30px 30px 30px;overflow:hidden;border:1px solid #dce5df;border-radius:9px;background:#fff}
.mini-cart__quantity button{display:grid;width:30px;height:30px;place-items:center;padding:0;border:0;background:#f5f8f6;color:#25362c;font-size:1rem;line-height:1}
.mini-cart__quantity button:not(:disabled):hover{background:#e8f5ed;color:var(--primary-color,#198754)}
.mini-cart__quantity button:disabled{opacity:.35}
.mini-cart__quantity span{display:grid;min-width:30px;height:30px;place-items:center;border-right:1px solid #e6ebe8;border-left:1px solid #e6ebe8;font-size:.72rem;font-weight:750}
.mini-cart__unit-price{color:#869189;font-size:.68rem;white-space:nowrap}
.mini-cart__side{display:flex;height:100%;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}
.mini-cart__remove{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:#9aaaa1}
.mini-cart__remove:hover{background:#fff1f2;color:#c84350}
.mini-cart__item.is-updating{opacity:.52;pointer-events:none}
.mini-cart__more{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:11px 12px;border-radius:11px;background:#f5f9f6;color:#345344;font-size:.75rem;font-weight:700;text-decoration:none}
.mini-cart__more:hover{background:#eaf5ee;color:#198754}

.mobile-search-recent,.mobile-search-category{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:10px 4px;border:0;border-bottom:1px solid #edf1ee;background:transparent;color:#27372e;text-align:left;text-decoration:none}
.mobile-search-recent i:first-child{color:#7e8b83}
.mobile-search-recent span,.mobile-search-category span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:620}
.mobile-search-recent i:last-child,.mobile-search-category i{color:#9aa59f;font-size:.8rem}
.mobile-search-clear{padding:4px;border:0;background:transparent;color:#77857d;font-size:.72rem}
.mobile-search-clear:hover{color:#198754}
.mobile-search-sheet .live-search-section__title{display:flex;align-items:center;justify-content:space-between;gap:14px}

.product-card__notify{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:6px;padding:8px 11px;border:1px solid #cfe0d6;border-radius:11px;background:#fff;color:#286441;font-size:.72rem;font-weight:750}
.product-card__notify:hover{border-color:#a9ceb8;background:#f1f8f4;color:#198754}
.product-card__notify i{font-size:.85rem}

.product-gallery__mobile-actions{position:absolute;z-index:4;top:12px;right:12px;display:flex;gap:8px}
.product-gallery__mobile-actions .product-gallery__favorite,
.product-gallery__share{position:static!important;display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid rgba(219,229,223,.9);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 5px 18px rgba(22,45,32,.11);backdrop-filter:blur(10px)}
.product-gallery__share{color:#31443a}
.product-gallery__share:hover{color:#198754}
.product-share-button{min-width:50px}

.checkout-panel h2[tabindex="-1"]:focus{outline:none}
.checkout-panel h2[tabindex="-1"]:focus-visible{outline:3px solid rgba(25,135,84,.2);outline-offset:5px;border-radius:4px}

@media(max-width:767.98px){
  .breadcrumb{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none;white-space:nowrap}
  .breadcrumb::-webkit-scrollbar{display:none}
  .breadcrumb-item{flex:0 0 auto;font-size:.73rem}
  .mini-cart__items{padding:4px 14px}
  .mini-cart__item{grid-template-columns:62px minmax(0,1fr) auto;gap:10px;padding:12px 0}
  .mini-cart__item img{width:62px;height:72px}
  .mini-cart__sum{font-size:.76rem}
  .mini-cart__remove{width:38px;height:38px}
  .mobile-search-sheet__results{padding-bottom:max(26px,env(safe-area-inset-bottom))}
  .product-card__notify{width:42px;height:42px;padding:0}
  .product-card__notify span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:380px){
  .mini-cart__item{grid-template-columns:54px minmax(0,1fr) auto}
  .mini-cart__item img{width:54px;height:64px}
  .mini-cart__quantity{grid-template-columns:28px 28px 28px}
  .mini-cart__quantity button,.mini-cart__quantity span{width:28px;min-width:28px;height:28px}
  .product-gallery__mobile-actions{top:9px;right:9px}
  .product-gallery__mobile-actions .product-gallery__favorite,.product-gallery__share{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  .ui-skeleton:after{animation:none}
}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r8 — mobile performance, weak-network and post-purchase polish */

/* Stable card geometry prevents image reflow while media loads. */
.product-card__media,.product-img-wrap{aspect-ratio:3/4}
.product-card__media{background:#f6f8f6}
.product-img-wrap{display:grid;place-items:center;overflow:hidden}
.product-img-wrap img{width:100%;height:100%;object-fit:contain}
.product-card[data-image-priority="high"] .product-img-wrap{background:#f3f7f4}

/* Marketplace-ready seller slot: currently one merchant, later reusable for offer lists. */
.product-seller-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:11px;align-items:center;margin:0 0 16px;padding:12px 14px;border:1px solid #e0e8e3;border-radius:12px;background:#fbfcfb}
.product-seller-card__icon{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;background:#e9f6ee;color:#18784e;font-size:1.1rem}
.product-seller-card__copy{min-width:0}
.product-seller-card__copy small{display:block;margin-bottom:1px;color:#7b8880;font-size:.7rem}
.product-seller-card__copy strong{display:block;overflow:hidden;color:#26362d;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}
.product-seller-card__copy span{display:block;margin-top:2px;color:#77837b;font-size:.72rem;line-height:1.35}
.product-seller-card__link{color:#26724b;font-size:.72rem;font-weight:700;text-decoration:none;white-space:nowrap}
.product-seller-card__link:hover{color:#145d3a;text-decoration:underline}

/* Category filter chips: compact, removable and thumb-friendly. */
.category-active-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:11px 12px;border:1px solid #e3e9e5;border-radius:12px;background:#fafcfb}
.category-active-filters__label{color:#748078;font-size:.75rem;font-weight:700}
.category-filter-chip{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d8e4dc;border-radius:999px;background:#fff;color:#33483b;font-size:.72rem;font-weight:650;text-decoration:none}
.category-filter-chip:hover{border-color:#a9ceb8;background:#f1f8f4;color:#166b43}
.category-filter-chip i{font-size:.8rem}
.category-active-filters__reset{margin-left:auto;color:#6d7971;font-size:.72rem;font-weight:700;text-decoration:none}
.category-active-filters__reset:hover{color:#198754}

/* Connection-aware checkout messaging. */
.checkout-network-status{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:10px 12px;border:1px solid #efd9aa;border-radius:11px;background:#fff9ec;color:#6d5622;font-size:.78rem}
.checkout-network-status i{font-size:1rem}
.checkout-network-status.is-online{border-color:#cfe7d8;background:#f2faf5;color:#2f6846}
.checkout-network-status[hidden]{display:none!important}
.checkout-retry-delivery{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 9px;border:1px solid #d5e1d9;border-radius:9px;background:#fff;color:#2f6846;font-size:.73rem;font-weight:700}
.checkout-retry-delivery:hover{background:#f1f8f4}
.checkout-page [aria-disabled="true"].btn{pointer-events:none;opacity:.55}

/* Order refresh + mobile post-purchase actions. */
.order-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.order-refresh-button{display:inline-flex;min-height:38px;align-items:center;gap:7px;padding:7px 10px;border:1px solid #dce5df;border-radius:10px;background:#fff;color:#3f5147;font-size:.75rem;font-weight:700}
.order-refresh-button:hover{border-color:#b9d7c5;background:#f3f9f5;color:#1b6f47}
.order-refresh-button.is-loading i{animation:altaurum-spin .8s linear infinite}
.order-updated-at{color:#7d8981;font-size:.7rem}
.order-mobile-actions{display:none}
@keyframes altaurum-spin{to{transform:rotate(360deg)}}

/* Better behavior on narrow devices. */
@media(max-width:767.98px){
  .product-seller-card{grid-template-columns:40px minmax(0,1fr) auto;padding:10px 11px}
  .product-seller-card__icon{width:40px;height:40px}
  .product-seller-card__copy span{display:none}
  .category-active-filters{overflow-x:auto;flex-wrap:nowrap;padding:9px 10px;scrollbar-width:none}
  .category-active-filters::-webkit-scrollbar{display:none}
  .category-active-filters__label{flex:0 0 auto}
  .category-filter-chip{flex:0 0 auto;min-height:38px}
  .category-active-filters__reset{flex:0 0 auto;margin-left:4px}
  .checkout-network-status{position:sticky;z-index:8;top:8px;margin-bottom:10px;box-shadow:0 5px 18px rgba(34,52,42,.07)}
  .order-details{padding-bottom:86px}
  .order-mobile-actions{position:fixed;z-index:1032;right:0;bottom:0;left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid #e0e7e2;background:rgba(255,255,255,.97);box-shadow:0 -8px 26px rgba(30,48,38,.10);backdrop-filter:blur(10px)}
  .order-mobile-actions .btn{min-height:46px;font-weight:700;border-radius:11px}
  .order-mobile-actions .btn-icon{display:grid;width:46px;place-items:center;padding:0}
  .order-details .card{border-radius:14px!important}
  .order-details .card-body{padding:16px!important}
  .order-details .card-header{padding:13px 16px!important}
}

/* Avoid rendering very distant product rails until needed, while keeping stable space. */
@supports(content-visibility:auto){
  .product-related-section,.order-history-section,.category-related-section{content-visibility:auto;contain-intrinsic-size:1px 420px}
}

@media(prefers-reduced-motion:reduce){.order-refresh-button.is-loading i{animation:none}}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r11 — comparison, guest notifications and mobile progressive browsing */

/* Catalog card secondary action: visible on hover on desktop, intentionally hidden on mobile. */
.product-card__compare{position:absolute;z-index:3;right:56px;bottom:10px;display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid #dbe5df;border-radius:11px;background:rgba(255,255,255,.96);color:#425249;box-shadow:0 6px 18px rgba(24,47,33,.10);opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,color .18s ease,background .18s ease}
.product-card:hover .product-card__compare,.product-card__compare:focus-visible,.product-card__compare.is-active{opacity:1;transform:none}
.product-card__compare:hover,.product-card__compare.is-active{border-color:#b8d8c5;background:#eef8f2;color:#167348}

/* Product page: secondary, low-noise actions. */
.product-secondary-actions{display:flex;align-items:center;gap:8px;margin:-2px 0 14px}
.product-secondary-action{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:7px;padding:7px 11px;border:1px solid #dce5df;border-radius:10px;background:#fff;color:#4b5c52;font-size:.75rem;font-weight:700}
.product-secondary-action:hover,.product-secondary-action.is-active,.product-secondary-action.is-subscribed{border-color:#bad8c6;background:#f1f8f4;color:#18784e}
.product-secondary-action i{font-size:.9rem}
.price-subscribe-btn.is-subscribed{border-color:#bad8c6!important;background:#f1f8f4!important;color:#18784e!important}

/* Guest notification modal. */
.subscription-modal .modal-content{overflow:hidden;border:0;border-radius:18px;box-shadow:0 24px 70px rgba(24,47,33,.19)}
.subscription-modal .modal-header{padding:22px 22px 12px}
.subscription-modal .modal-body{padding:0 22px 24px}
.subscription-modal__subtitle{max-width:520px;color:#748078;font-size:.82rem;line-height:1.45}
.subscription-modal .form-control{min-height:50px;border-radius:12px;font-size:16px}
.subscription-modal__privacy{margin:10px 0 15px;color:#7d8981;font-size:.7rem;line-height:1.45}
.subscription-modal__privacy a{color:#537163}
.subscription-modal [aria-busy="true"]{pointer-events:none;opacity:.7}

/* Comparison tray. */
.compare-tray{position:fixed;z-index:1034;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border:1px solid #dbe6df;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 16px 42px rgba(24,47,33,.18);backdrop-filter:blur(12px)}
.compare-tray[hidden]{display:none!important}
.compare-tray__label{display:flex;align-items:center;gap:7px;color:#34473c;font-size:.78rem;font-weight:700}
.compare-tray__label i{color:#198754}
.compare-tray__label strong{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#e9f6ee;color:#157044;font-size:.7rem}
.compare-tray__open{display:inline-flex;min-height:36px;align-items:center;padding:7px 11px;border-radius:9px;background:#198754;color:#fff;font-size:.74rem;font-weight:750;text-decoration:none}
.compare-tray__open:hover{background:#146c43;color:#fff}
.compare-tray__clear{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:9px;background:transparent;color:#839087}
.compare-tray__clear:hover{background:#f2f5f3;color:#526058}

/* Comparison page. */
.compare-page{--compare-col:230px}
.compare-page__head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:8px 0 22px}
.compare-page__head h1{margin:0;color:#203129;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:800;letter-spacing:-.035em}
.compare-page__head p{margin:5px 0 0;color:#77847c}
.compare-page__head-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.compare-differences-toggle{display:flex;min-height:38px;align-items:center;gap:8px;padding:7px 11px;border:1px solid #dce5df;border-radius:10px;background:#fff;color:#43544a;font-size:.75rem;font-weight:700;cursor:pointer}
.compare-differences-toggle input{width:16px;height:16px;accent-color:#198754}
.compare-page__notice{display:flex;align-items:center;gap:9px;margin-bottom:14px;padding:11px 13px;border:1px solid #d8e7dd;border-radius:12px;background:#f4faf6;color:#42564a;font-size:.78rem}
.compare-page__notice i{color:#198754}
.compare-page__notice a{margin-left:auto;color:#198754;font-weight:750;text-decoration:none;white-space:nowrap}
.compare-scroll-hint{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#77847c;font-size:.72rem}
.compare-table-wrap{overflow:auto;border:1px solid #dfe7e2;border-radius:16px;background:#fff;box-shadow:0 7px 26px rgba(27,49,36,.06);scrollbar-width:thin;overscroll-behavior-x:contain}
.compare-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}
.compare-table th,.compare-table td{width:var(--compare-col);min-width:var(--compare-col);padding:14px;border-right:1px solid #e7ece9;border-bottom:1px solid #e7ece9;vertical-align:top;font-size:.8rem;line-height:1.45}
.compare-table tr:last-child th,.compare-table tr:last-child td{border-bottom:0}
.compare-table tr > *:last-child{border-right:0}
.compare-table thead th{background:#fff}
.compare-table__label{position:sticky;z-index:2;left:0;width:170px!important;min-width:170px!important;background:#f8faf9!important;color:#5d6b63;font-size:.72rem!important;font-weight:750}
.compare-table__label--head{z-index:4;vertical-align:middle!important}
.compare-table__empty{color:#a4afa8}
.compare-product{position:relative;padding:14px!important;text-align:left}
.compare-product__remove{position:absolute;z-index:2;top:8px;right:8px;display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.96);color:#7e8a83;box-shadow:0 2px 10px rgba(25,45,34,.08)}
.compare-product__remove:hover{background:#fff0f1;color:#c74450}
.compare-product__image{display:grid;width:100%;aspect-ratio:3/4;place-items:center;overflow:hidden;margin-bottom:10px;border-radius:11px;background:#f6f8f6}
.compare-product__image img{width:100%;height:100%;object-fit:contain}
.compare-product__name{display:-webkit-box;min-height:2.8em;overflow:hidden;color:#27382f;font-size:.85rem;font-weight:750;line-height:1.4;text-decoration:none;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.compare-product__name:hover{color:#198754}
.compare-product__rating{display:flex;align-items:center;gap:4px;margin-top:7px;color:#5d655f;font-size:.7rem}
.compare-product__rating i{color:#e2a526}.compare-product__rating span{color:#8a948e}
.compare-product__price{margin-top:8px;color:#176b44;font-size:1.05rem;font-weight:800}
.compare-product__stock{display:flex;align-items:center;gap:6px;margin-top:5px;color:#67736c;font-size:.68rem}
.compare-product__stock>span{width:6px;height:6px;border-radius:50%;background:#9aa59f}.compare-product__stock.is-available>span{background:#22a06b}.compare-product__stock.is-unavailable>span{background:#d95b66}
.compare-product__cart{display:inline-flex;width:100%;min-height:40px;align-items:center;justify-content:center;gap:6px;margin-top:10px;border-radius:10px;font-size:.74rem;font-weight:750}
.compare-page__footer{display:flex;align-items:center;gap:12px;margin-top:16px}.compare-page__footer small{color:#7e8982}
.compare-empty{max-width:620px;margin:54px auto;padding:42px 26px;text-align:center}
.compare-empty__icon{display:grid;width:70px;height:70px;place-items:center;margin:0 auto 17px;border-radius:22px;background:#edf8f1;color:#198754;font-size:1.55rem}
.compare-empty h2{margin:0 0 7px;color:#26382e;font-size:1.35rem;font-weight:800}.compare-empty p{margin:0 auto 18px;max-width:460px;color:#78847d}

/* Progressive pagination for mobile: keep classic links for desktop/SEO. */
.mobile-load-more{display:none;margin:18px 0 6px;text-align:center}
.mobile-load-more__button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;min-width:220px;padding:10px 18px;border:1px solid #cfe0d6;border-radius:12px;background:#fff;color:#236744;font-size:.83rem;font-weight:750}
.mobile-load-more__button:hover{border-color:#a9ceb8;background:#f2f9f5;color:#198754}
.mobile-load-more__button:disabled{opacity:.65}

@media(max-width:991.98px){
  .product-card__compare{display:none}
  .compare-tray{right:12px;bottom:76px;left:12px;justify-content:space-between;padding:8px 8px 8px 11px;border-radius:13px}
  html.has-commerce-sticky .compare-tray{bottom:148px}
  .compare-tray__label span{font-size:.72rem}
  .compare-tray__open{min-height:38px}
  .compare-page{--compare-col:168px;padding-right:12px!important;padding-left:12px!important}
  .compare-page__head{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:15px}
  .compare-page__head-actions{width:100%;justify-content:space-between}
  .compare-page__head-actions .btn{min-height:40px}
  .compare-table__label{width:112px!important;min-width:112px!important;padding:11px 9px!important}
  .compare-table th,.compare-table td{padding:11px 10px;font-size:.74rem}
  .compare-product{padding:10px!important}
  .compare-product__remove{top:5px;right:5px;width:36px;height:36px}
  .compare-product__name{font-size:.78rem}
  .compare-product__price{font-size:.94rem}
  .compare-product__cart{min-height:42px;padding-inline:8px}
  .compare-page__notice{align-items:flex-start;flex-wrap:wrap}.compare-page__notice a{margin-left:23px}
  .mobile-load-more{display:block}
  .products-container>.pagination-container,.search-products-section>.search-pagination,.product-list-page .pagination-container{display:none}
}

@media(max-width:767.98px){
  .product-secondary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .product-secondary-action{min-height:42px;padding:8px 10px;font-size:.72rem}
  .subscription-modal .modal-dialog{align-items:flex-end;min-height:calc(100% - 16px);margin:8px}
  .subscription-modal .modal-content{border-radius:20px 20px 14px 14px}
  .subscription-modal .modal-header{padding:20px 18px 11px}.subscription-modal .modal-body{padding:0 18px calc(18px + env(safe-area-inset-bottom))}
  .compare-page__footer{align-items:flex-start;flex-direction:column}.compare-page__footer .btn{width:100%;min-height:46px}
}

@media(max-width:380px){
  .compare-tray__label span{display:none}
  .compare-page{--compare-col:156px}
  .compare-table__label{width:100px!important;min-width:100px!important;font-size:.67rem!important}
}

@media(prefers-reduced-motion:reduce){.product-card__compare{transition:none}}

.price-subscribe-btn.is-subscription-pending {
    border-color: #d7a82f;
    color: #765a0a;
    background: #fff9e8;
}

.price-subscribe-btn.is-subscription-pending:hover,
.price-subscribe-btn.is-subscription-pending:focus-visible {
    border-color: #c0911e;
    color: #624900;
    background: #fff5d3;
}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r12 — purchase completion, bundles and mobile continuity */
.product-service-links{display:flex;flex-wrap:wrap;gap:7px 16px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e9e5}.product-service-links a{color:#5f7067;font-size:.73rem;font-weight:650;text-decoration:none}.product-service-links a:hover{color:var(--primary)}
.product-bundle-offers__rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-bundle-offer{display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border:1px solid #e1e8e4;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(27,54,38,.05)}.product-bundle-offer__media{display:block;min-height:150px;background:#f5f8f6}.product-bundle-offer__media img{width:100%;height:100%;object-fit:cover}.product-bundle-offer__body{display:flex;flex-direction:column;align-items:flex-start;padding:16px}.product-bundle-offer__body>small{color:#7a877f;font-size:.68rem}.product-bundle-offer h3{margin:5px 0 10px;font-size:1rem;line-height:1.35;font-weight:780}.product-bundle-offer h3 a{color:#213329;text-decoration:none}.product-bundle-offer__description{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:0 0 10px;color:#708078;font-size:.72rem;line-height:1.4}.product-bundle-offer__body>.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:42px;margin-top:auto;border-radius:11px;font-size:.78rem;font-weight:720}
.product-together__panel{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:18px;border:1px solid #dfe7e2;border-radius:20px;background:#fbfcfb}.product-together__items{display:flex;align-items:stretch;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding-bottom:2px}.product-together__plus{display:grid;place-items:center;flex:0 0 32px;color:#97a39c;font-size:1.25rem;font-weight:400}.product-together__item{position:relative;display:grid;grid-template-columns:92px minmax(120px,1fr);gap:11px;flex:1 0 205px;max-width:285px;min-height:132px;padding:11px;border:1px solid #e2e8e4;border-radius:15px;background:#fff;scroll-snap-align:start;transition:border-color .18s,box-shadow .18s,opacity .18s}.product-together__item:not(.is-selected){opacity:.58}.product-together__item.is-selected{border-color:#a8cfb8;box-shadow:0 0 0 2px rgba(25,135,84,.06)}.product-together__toggle{position:absolute;top:8px;left:8px;z-index:3;display:block;width:23px;height:23px;cursor:pointer}.product-together__item.is-primary .product-together__toggle{cursor:default}.product-together__toggle input{position:absolute;opacity:0;inset:0}.product-together__check{display:grid;place-items:center;width:23px;height:23px;border:1px solid #cbd7d0;border-radius:7px;background:#fff;color:transparent;font-size:.75rem}.product-together__item.is-selected .product-together__check{border-color:#198754;background:#198754;color:#fff}.product-together__image{overflow:hidden;border-radius:10px;background:#f5f7f5}.product-together__image img{width:100%;height:100%;object-fit:cover}.product-together__copy{display:flex;flex-direction:column;min-width:0;padding-top:3px}.product-together__copy small{margin-bottom:5px;color:#78877e;font-size:.62rem}.product-together__copy>a{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#26382e;text-decoration:none;font-size:.76rem;line-height:1.35;font-weight:680}.product-together__copy strong{margin-top:auto;padding-top:8px;color:#17281f;font-size:.92rem}.product-together__summary{display:flex;flex-direction:column;justify-content:center;padding:16px;border-radius:15px;background:#eef7f1}.product-together__summary>span{color:#6d7b73;font-size:.73rem}.product-together__summary>div{margin:8px 0 13px}.product-together__summary>div small,.product-together__summary>div strong{display:block}.product-together__summary>div small{color:#75827a;font-size:.68rem}.product-together__summary>div strong{margin-top:1px;color:#15271d;font-size:1.55rem;letter-spacing:-.035em}.product-together__summary .btn{min-height:46px;border-radius:12px;font-size:.82rem;font-weight:750}.product-together__hint{margin-top:8px;color:#7d8982;font-size:.63rem;line-height:1.4}
.cart-empty__history{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:18px}.cart-empty__history a{padding:7px 10px;border:1px solid #dfe7e2;border-radius:999px;background:#fff;color:#506158;text-decoration:none;font-size:.7rem;font-weight:650}.cart-empty__history a:hover{border-color:#b9d6c4;color:#176b45}.cart-recently-viewed{margin:42px 0 70px}
@media(max-width:991.98px){.product-bundle-offers__rail{display:flex;overflow-x:auto;gap:11px;margin-inline:-12px;padding:2px 12px 8px;scroll-snap-type:x mandatory}.product-bundle-offer{grid-template-columns:118px minmax(0,1fr);flex:0 0 min(88vw,390px);scroll-snap-align:start}.product-bundle-offer__media{min-height:142px}.product-bundle-offer__body{padding:13px}.product-together__panel{grid-template-columns:1fr;padding:14px}.product-together__items{margin-inline:-14px;padding-inline:14px}.product-together__summary{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 12px;padding:12px}.product-together__summary>span{grid-column:1}.product-together__summary>div{grid-column:1;margin:0}.product-together__summary .btn{grid-column:2;grid-row:1/3;min-width:154px}.product-together__hint{display:none}}
@media(max-width:575.98px){.product-service-links{justify-content:space-between}.product-together__heading{margin-bottom:12px}.product-together__panel{margin-inline:-2px;border-radius:16px}.product-together__item{grid-template-columns:76px minmax(108px,1fr);flex-basis:195px;min-height:116px;padding:9px}.product-together__plus{flex-basis:25px}.product-together__toggle{top:6px;left:6px;width:21px;height:21px}.product-together__check{width:21px;height:21px}.product-together__summary{grid-template-columns:1fr 1.1fr}.product-together__summary .btn{min-width:0;width:100%;font-size:.76rem}.product-bundle-offer{flex-basis:88vw}.cart-recently-viewed{margin-top:30px}.cart-empty__history{margin-inline:-8px}}

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* r13 — variants, financially correct bundles, long-spec mobile UX */
.product-variants {
    margin: 0 0 1.25rem;
    padding: 1rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 1rem;
    background: #fff;
}
.product-variants__head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .75rem;
    font-size: .9rem;
}
.product-variants__head > span { color: #6c757d; }
.product-variants__rail { display: flex; flex-wrap: wrap; gap: .55rem; }
.product-variant-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
    padding: .6rem .8rem;
    border: 1px solid #d8dee3;
    border-radius: .75rem;
    color: #20252a;
    background: #fff;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.product-variant-chip:hover { border-color: #198754; color: #146c43; }
.product-variant-chip.is-active { border-color: #198754; box-shadow: 0 0 0 2px rgba(25,135,84,.13); background: #f6fbf8; }
.product-variant-chip.is-unavailable { color: #7b8187; background: #f8f9fa; }
.product-variant-chip small { font-size: .75rem; color: #5e666e; }
.product-variant-chip em { font-size: .7rem; font-style: normal; color: #8a3f46; }

.bundle-total__prices { display: flex; align-items: baseline; gap: .75rem; }
.bundle-total__prices del { color: #8a9299; font-size: 1rem; }
.bundle-total small { display: block; margin-top: .35rem; color: #146c43; }
.bundle-buy-row { display: flex; align-items: stretch; gap: .75rem; }
.bundle-set-stepper {
    display: grid;
    grid-template-columns: 44px 48px 44px;
    min-height: 48px;
    border: 1px solid #d8dee3;
    border-radius: .8rem;
    overflow: hidden;
    background: #fff;
}
.bundle-set-stepper button,
.bundle-set-stepper input {
    border: 0;
    background: transparent;
    text-align: center;
    font: inherit;
}
.bundle-set-stepper button { font-size: 1.25rem; }
.bundle-set-stepper button:disabled { opacity: .35; }
.bundle-set-stepper input { width: 100%; font-weight: 700; appearance: textfield; }
.bundle-set-stepper input::-webkit-inner-spin-button { appearance: none; }
.bundle-buy-total { margin-top: .65rem; color: #687078; font-size: .9rem; }
.bundle-buy-total strong { color: #20252a; }

.cart-bundle-summary { display: flex; flex-wrap: wrap; gap: .35rem; margin: -.15rem 0 .55rem; }
.cart-bundle-summary a,
.cart-bundle-summary span {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .55rem;
    border-radius: 999px;
    background: #f1f8f4;
    color: #146c43;
    font-size: .78rem;
    text-decoration: none;
}
.checkout-bundle-lines { display: flex; flex-wrap: wrap; gap: .35rem; }
.checkout-bundle-lines span { display: inline-flex; gap: .3rem; align-items: center; font-size: .76rem; color: #146c43; background: #f1f8f4; border-radius: 999px; padding: .25rem .5rem; }
.mini-cart__savings { display: grid; gap: .25rem; padding: .65rem 0; border-top: 1px solid #edf0f2; color: #146c43; font-size: .83rem; }
.mini-cart__savings > div { display: flex; justify-content: space-between; gap: 1rem; }

.product-specs-toggle {
    display: none;
    width: 100%;
    min-height: 44px;
    margin-top: .5rem;
    border: 1px solid #d8dee3;
    border-radius: .75rem;
    background: #fff;
    color: #20252a;
    font-weight: 600;
}
.product-specs-toggle i { margin-left: .45rem; }

@media (max-width: 767.98px) {
    .product-variants { margin-inline: -.15rem; padding: .85rem; }
    .product-variants__head { justify-content: flex-start; flex-wrap: wrap; }
    .product-variants__rail {
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-inline: -.85rem;
        padding-inline: .85rem;
        padding-bottom: .2rem;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }
    .product-variants__rail::-webkit-scrollbar { display: none; }
    .product-variant-chip { flex: 0 0 auto; scroll-snap-align: start; min-width: 92px; justify-content: center; flex-direction: column; align-items: flex-start; }

    .product-specs-progressive:not(.is-expanded) .product-specs-extra { display: none; }
    .product-specs-toggle { display: block; }

    .bundle-buy-row { flex-direction: column; }
    .bundle-set-stepper { align-self: stretch; grid-template-columns: 48px 1fr 48px; }
    .bundle-buy-row .btn { width: 100%; min-height: 52px; }
    .bundle-total__prices { flex-wrap: wrap; }

    .cart-bundle-summary { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: .25rem; }
    .cart-bundle-summary::-webkit-scrollbar { display: none; }
    .cart-bundle-summary a, .cart-bundle-summary span { flex: 0 0 auto; }
}
.quick-view__variants { margin: .75rem 0; }
.quick-view__variants > small { display: block; color: #6c757d; margin-bottom: .4rem; }
.quick-view__variants > div { display: flex; gap: .4rem; overflow-x: auto; scrollbar-width: none; }
.quick-view__variants > div::-webkit-scrollbar { display: none; }
.quick-view__variants a { flex: 0 0 auto; padding: .4rem .6rem; border: 1px solid #d8dee3; border-radius: .6rem; color: #20252a; text-decoration: none; font-size: .82rem; }
.quick-view__variants a.is-active { border-color: #198754; background: #f1f8f4; color: #146c43; font-weight: 700; }
.quick-view__variants a.is-unavailable { opacity: .55; }
@media (max-width: 767.98px) {
    .bundle-view .bundle-section .table-responsive { overflow: visible; }
    .bundle-view .bundle-section table,
    .bundle-view .bundle-section tbody,
    .bundle-view .bundle-section tr,
    .bundle-view .bundle-section td { display: block; width: 100%; }
    .bundle-view .bundle-section thead { display: none; }
    .bundle-view .bundle-section tbody { display: grid; gap: .75rem; }
    .bundle-view .bundle-section tr { padding: .8rem; border: 1px solid #e4e9e6; border-radius: .8rem; background: #fff; }
    .bundle-view .bundle-section td { border: 0; padding: .25rem 0; }
    .bundle-view .bundle-section td:not(:first-child) { display: flex; justify-content: space-between; gap: .75rem; font-size: .88rem; }
    .bundle-view .bundle-section td:nth-child(2)::before { content: 'Количество'; color: #6c757d; }
    .bundle-view .bundle-section td:nth-child(3)::before { content: 'Цена'; color: #6c757d; }
    .bundle-view .bundle-section td:nth-child(4)::before { content: 'Сумма'; color: #6c757d; }
}
.order-bundle-snapshot { display: flex; flex-wrap: wrap; gap: .35rem; }
.order-bundle-snapshot span { display: inline-flex; align-items: center; gap: .3rem; padding: .25rem .5rem; border-radius: 999px; background: #f1f8f4; color: #146c43; font-size: .76rem; }
.bundle-card__price { display: flex; align-items: baseline; gap: .55rem; flex-wrap: wrap; }
.bundle-card__price del { color: #8a9299; font-size: .82rem; font-weight: 500; }
.bundle-card__price strong { color: #198754; font-size: inherit; }

/* Consolidated UX rules (legacy iteration source merged in-place) */
/* AltAurum UI/UX r17 — safer mobile commerce details */
.ui-toast__action {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid #b9d9c7;
    border-radius: 9px;
    background: #f2faf5;
    color: #176b45;
    font-size: .76rem;
    font-weight: 750;
    white-space: nowrap;
}
.ui-toast__action:hover,
.ui-toast__action:focus-visible {
    border-color: #8fc2a4;
    background: #e6f6ec;
    color: #115c39;
    outline: 0;
}
.ui-toast__action:disabled { opacity: .55; }
.mobile-favorite-count {
    min-width: 18px;
    height: 18px;
    display: grid;
    place-items: center;
    padding: 0 4px;
    border: 2px solid #fff;
    font-size: 9px;
}
@media (max-width: 991.98px) {
    body:has(.cart-mobile-checkout:not(.is-empty)) .ui-toast-stack,
    body:has(.product-mobile-sticky) .ui-toast-stack {
        bottom: calc(150px + env(safe-area-inset-bottom));
    }
    body:has(.checkout-mobile-actionbar) .ui-toast-stack {
        bottom: calc(112px + env(safe-area-inset-bottom));
    }
}
@media (max-width: 575.98px) {
    .ui-toast { grid-template-columns: 38px minmax(0,1fr) auto auto; gap: 8px; }
    .ui-toast__action { min-height: 36px; padding-inline: 9px; }
}
