/* ============================================================================
   APPLE DESKTOP (10.08.2026): стили редизайна, вынесенные из header.html в head,
   чтобы старый дизайн не успевал отрисоваться (FOUC). Классы ah-pill / ah-home
   вешает ранний скрипт APPLE FOUC в head.html — до первого кадра.
   Подключается только для десктопного шаблона (см. head.html).
   После правок бампить edition в theme.xml — файл кэшируется браузером (?v=).
   ============================================================================ */

/* ---------- из блока APPLE PILL HEADER (header.html) ---------- */
@media (min-width: 861px) {
    html.ah-pill .index__header {
        position: relative;
        min-height: 270px;
        padding: 22px 20px 76px;
        box-sizing: border-box;
    }
    /* Фон задаём стилем, а не скриптом: пока его ставил JS, браузер узнавал о картинке
       поздно и до её появления была видна чёрная подложка. Класс ah-pill вешается
       синхронно в начале скрипта шапки, поэтому правило срабатывает сразу.
       На главной фон не нужен — там своя hero-секция. */
    html.ah-pill:not(.ah-home) .index__header {
        background: #0b0b0f url('img/banners/rg-hero-showroom.webp?v=2') center 42% / cover no-repeat;
    }
    /* заголовок и крошки страницы поверх фото */
    .ahp-hero-titles {
        position: relative;
        z-index: 10;
        max-width: 1560px;
        margin: 30px auto 0;
        padding: 0 6px;
    }
    .ahp-hero-titles h1 {
        color: #fff !important;
        font-size: clamp(28px, 3.2vw, 44px);
        line-height: 1.12;
        margin: 10px 0 0 !important;
        text-shadow: 0 4px 30px rgba(0,0,0,.5);
    }
    .ahp-hero-titles .content__breadcrumbs { margin: 0 !important; }
    .ahp-hero-titles .content__breadcrumbs,
    .ahp-hero-titles .content__breadcrumbs a,
    .ahp-hero-titles .content__breadcrumbs span { color: rgba(255,255,255,.88) !important; }
    /* внутри выпадашек крошек панель белая — текст возвращаем тёмным */
    .ahp-hero-titles .content__breadcrumbs .dropdown__dropdown,
    .ahp-hero-titles .content__breadcrumbs .dropdown__dropdown *,
    .ahp-hero-titles .content__breadcrumbs .breadcrumbs__brothers-dropdown,
    .ahp-hero-titles .content__breadcrumbs .breadcrumbs__brothers-dropdown * { color: #1d1d1f !important; }
    .ahp-hero-titles .breadcrumbs__brothers-dropdown {
        border-radius: 16px;
        box-shadow: 0 18px 44px rgba(0,0,0,.22);
        border: 0 !important;
    }
    .ahp-hero-titles .breadcrumbs__brothers-dropdown .breadcrumbs__brother { border-radius: 10px; }
    .ahp-hero-titles .breadcrumbs__brothers-dropdown .breadcrumbs__brother:hover { background: #f5f5f7; }
    /* подкатегории (марки) на фото под заголовком */
    .ahp-hero-titles .category-page__subcategories-wrapper { margin-top: 18px; }
    .ahp-hero-titles .catalog-columns__subcategory { background: rgba(255,255,255,.94) !important; }
    .ahp-hero-titles .categories-mini__footer { margin-top: 10px; }
    .ahp-hero-titles .categories-mini__show-button {
        background: rgba(255,255,255,.14) !important;
        border: 1px solid rgba(255,255,255,.55) !important;
        color: #fff !important;
        border-radius: 999px !important;
    }
    /* страницы без переноса заголовка — полоса пониже */
    html.ah-pill-slim .index__header { min-height: 205px; padding-bottom: 66px; }
    /* контент наезжает на фото скруглённым «листом» — как карточки на главной;
       радиус растёт с шириной экрана, на большом мониторе 28px читается как прямая линия */
    html.ah-pill main.index__content {
        position: relative;
        z-index: 5;
        background: #fff;
        border-radius: clamp(28px, 2.5vw, 44px) clamp(28px, 2.5vw, 44px) 0 0;
        margin-top: -58px;
        padding-top: 26px;
    }
    html.ah-pill .index__header::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.34) 100%);
        pointer-events: none;
    }
    html.ah-pill .header__top-bar,
    html.ah-pill .header__middle-bar,
    html.ah-pill .header__bottom-bar { display: none !important; }
    html.ah-pill .header,
    html.ah-pill .header_with-border { background: transparent !important; border: 0 !important; }
    html.ah-pill .header-dropdown-bar { position: relative; z-index: 40; }

    .ahp-bar {
        position: relative;
        z-index: 30;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        max-width: 1560px;
        margin: 0 auto;
    }
    .ahp-pill {
        display: flex;
        align-items: center;
        min-height: 60px;
        box-sizing: border-box;
        gap: 6px;
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(14px);
        border-radius: 22px;
        padding: 8px 12px;
        box-shadow: 0 10px 34px rgba(0,0,0,.18);
        flex-shrink: 0;
    }
    .ahp-logo { display: flex; align-items: center; }
    .ahp-logo img { height: 42px; width: auto; display: block; }
    /* подпись — первая жертва переливания: на <1600px скрипт прячет её всегда.
       Скрываем сразу медиазапросом, чтобы капсулы не прыгали до отработки скрипта
       (сдвиг двигал кнопку города и давал заметную долю CLS). Скрипт на этих ширинах
       принимает то же решение, конфликта каскада нет: показ = removeProperty. */
    @media (max-width: 1599px) { .ahp-logo-desc { display: none; } }
    .ahp-logo-desc {
        font-size: 11px;
        line-height: 1.35;
        color: #6e6e73;
        max-width: 130px;
        padding-left: 10px;
        margin: 0 10px;
        border-left: 1px solid #e5e5ea;
        white-space: normal;
    }
    .ahp-slot { display: flex; align-items: center; gap: 4px; }

    /* ссылки из верхней полосы */
    .ahp-slot .ahp-linklist { display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; list-style: none; }
    .ahp-slot .ahp-linklist .header-top-bar-links__item { display: inline-flex !important; margin: 0; }
    .ahp-slot .ahp-linklist > .header-top-bar-links__item:last-child { display: none !important; }
    .ahp-slot .ahp-linklist a,
    .ahp-slot .link-box__link,
    .ahp-slot .pseudo-link-box__link { color: #1d1d1f !important; font-size: 15px !important; font-weight: 600 !important; white-space: nowrap; }
    .ahp-slot .ahp-linklist .header-top-bar-links__item a { padding: 8px 8px; border-radius: 12px; }
    .ahp-slot .ahp-linklist .header-top-bar-links__item a:hover { background: #f0f0f3; }

    /* телефон */
    .ahp-slot .header-top-bar-contacts__phone-link { font-size: 15px !important; font-weight: 600 !important; color: #1d1d1f !important; white-space: nowrap; }
    .ahp-static-phone { font-size: 15px !important; font-weight: 600 !important; color: #1d1d1f !important; white-space: nowrap; padding: 8px 6px; text-decoration: none !important; }
    /* всё содержимое пилюль — по одной вертикальной линии */
    .ahp-slot .link-box,
    .ahp-slot .pseudo-link-box,
    .ahp-slot .icon-box,
    .ahp-slot .icon-box__content,
    .ahp-slot .icon-box__icon { display: inline-flex !important; align-items: center !important; }
    #ahp-phone .header-top-bar-contacts__phone { display: flex; align-items: center; }
    .ahp-slot a, .ahp-slot .pseudo-link { line-height: 1.2 !important; }


    /* город (аудит 14.08.2026): на клоне выбор города был недоступен — вендорная верхняя
       панель скрыта пилюлей, а вместе с ней и кнопка региона. Штатный блок
       .header-top-bar__container-region переносится в слот #ahp-city (header.html),
       поэтому попап выбора города плагина regions работает как на боевом сайте. */
    #ahp-city { display: inline-flex; align-items: center; }
    #ahp-city .shop-regions-btn-wrapper { display: inline-flex; align-items: center; }
    #ahp-city .shop-regions-open-window-btn {
        display: inline-flex; align-items: center; gap: 5px;
        font-size: 15px; font-weight: 500; color: #1d1d1f;
        padding: 8px 10px; border-radius: 12px; cursor: pointer;
        white-space: nowrap; border-bottom: 0 !important; text-decoration: none !important;
    }
    #ahp-city .shop-regions-open-window-btn:hover { background: #f0f0f3; }
    /* пин слева от названия города */
    #ahp-city .shop-regions-open-window-btn::before {
        content: ""; width: 15px; height: 15px; flex: 0 0 15px;
        background: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
        opacity: .55;
    }
    /* подтверждение «Ваш город?» — карточка под пилюлей, а не в потоке страницы */
    #ahp-city .shop-regions-confirm-window {
        position: absolute; top: calc(100% + 10px); left: 0; z-index: 60;
        background: #fff; border-radius: 16px; padding: 14px 16px;
        box-shadow: 0 12px 34px rgba(0,0,0,.16); border: 1px solid #ececf0;
        min-width: 250px; text-align: left;
    }
    /* на узких окнах город прячем — в пилюле важнее телефон, поиск и корзина */
    @media (max-width: 1120px) { #ahp-city { display: none; } }

    /* иконки Войти/Сравнение/Избранное/Корзина */
    #ahp-icons .header-middle-bar-shop-links { display: flex; align-items: center; gap: 2px; margin: 0 !important; padding: 0 !important; }
    #ahp-icons .header-middle-bar-shop-links__item { padding: 0 !important; margin: 0 !important; }
    #ahp-icons .link-box__link { display: none; }
    #ahp-icons .header-middle-bar-shop-links__item { margin: 0; }
    #ahp-icons .header-middle-bar-shop-links__item > a { display: inline-flex; padding: 8px 7px; border-radius: 12px; }
    #ahp-icons .header-middle-bar-shop-links__item > a:hover { background: #f0f0f3; }

    /* поиск: лупа в правой пилюле, панель раскрывается вниз */
    .ahp-pill.ahp-right { position: relative; }
    .ahp-search-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px; height: 40px;
        flex: 0 0 40px;
        border: 0;
        background: #111114;
        border-radius: 50%;
        cursor: pointer;
        color: #fff;
        margin: 0 2px 0 12px;
        transition: transform .2s ease;
        align-self: center;
    }
    .ahp-search-btn:hover { transform: scale(1.08); background: #111114; }
    .ahp-search-btn svg { display: block; }
    .ahp-search-pop {
        display: none;
        position: absolute;
        top: calc(100% + 12px);
        right: 0;
        width: min(560px, calc(100vw - 60px));
        background: #fff;
        border-radius: 22px;
        box-shadow: 0 24px 60px rgba(0,0,0,.25);
        padding: 12px 14px;
        z-index: 90;
    }
    .ahp-search-pop.ahp-open { display: block; }
    .ahp-search-pop .header-middle-bar-shop__search-container { margin: 0; width: 100% !important; max-width: none !important; }
    .ahp-search-pop form { margin: 0; display: flex !important; align-items: flex-start; gap: 8px; }
    .ahp-search-pop .input-search__input-container { flex: 1 !important; min-width: 0; width: auto !important; }
    .ahp-search-pop .input-search__input { width: 100% !important; }
    .ahp-search-pop .input-search__button-container { flex: 0 0 auto; align-self: flex-start; }
    .ahp-search-pop form button,
    .ahp-search-pop form [type="submit"] {
        flex: 0 0 auto;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .ahp-search-pop input[type="text"],
    .ahp-search-pop input[type="search"] {
        border: 0 !important;
        outline: 0 !important;
        background: #f5f5f7 !important;
        border-radius: 14px !important;
        box-shadow: none !important;
    }
    .ahp-search-pop button { border-radius: 14px !important; }
    /* подсказки wsearch внутри попапа — списком под полем */
    .ahp-search-pop .wsearch_dropdown_search_wrapper {
        position: static !important;
        width: auto !important;
        border: 0 !important;
        border-top: 1px solid #f0f0f3 !important;
        border-radius: 0 !important;
        margin-top: 10px !important;
        padding: 8px 0 0 !important;
        box-shadow: none !important;
        max-height: 62vh;
        overflow: auto;
        background: #fff;
    }

    /* Пороги видимости пунктов меню собраны в apple-wave1.css, секция APPLE PILL FIT —
       держать их в одном месте, иначе правила спорят друг с другом. */
    /* выпадашки из капсул поверх всего */
    .ahp-bar .dropdown__dropdown { z-index: 80; }

    /* панель каталога капсулой */
    /* вендор на >=1024px даёт .container жёсткий min-width — в диапазоне ~1024-1032px
       он шире окна и добавляет 2px горизонтального скролла (даже у закрытой панели:
       ширина считается в scrollWidth). В капсульной шапке контейнер панели не должен
       быть шире самой панели. */
    html.ah-pill .header-dropdown-bar .container {
        min-width: 0;
        max-width: 100%;
    }
    /* карусели-слайдеры товаров (вендор: margin -40px + padding 40px под тени карточек):
       на 1024-1199px правая пустая padding-зона выступает за окно на 1.5px и даёт
       горизонтальный скролл. Ужимаем правый хвост на 4px — тени не страдают. */
    @media (min-width: 1024px) and (max-width: 1199px) {
        html.ah-pill .products-thumbs_slider {
            margin-right: -36px;
            padding-right: 36px;
        }
    }
    html.ah-pill .header-dropdown-bar .catalog-dropdown {
        border-radius: 24px;
        overflow: hidden;
        margin-top: 10px;
        box-shadow: 0 24px 60px rgba(0,0,0,.25);
    }

    /* плавающая шапка при скролле — капсулой */
    /* главная: шапка поверх собственного hero, без фото-полосы и без «листа» */
    html.ah-home .index__header {
        position: absolute;
        top: 0; left: 0; right: 0;
        min-height: 0;
        padding: 22px 20px 0;
        background: transparent !important;
        z-index: 60;
        pointer-events: none;
    }
    html.ah-home .index__header::before { display: none; }
    html.ah-home .ahp-bar,
    html.ah-home .header-floating,
    html.ah-home .header-dropdown-bar { pointer-events: auto; }
    /* панель каталога — сразу под пилюлей шапки, как на внутренних страницах */
    html.ah-home .header-dropdown-bar { position: relative; top: auto; left: auto; right: auto; margin-top: 10px; z-index: 40; }
    html.ah-home main.index__content {
        margin-top: 0 !important;
        padding-top: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    html.ah-pill .header-floating { background: transparent !important; box-shadow: none !important; border: 0 !important; }
    html.ah-pill .header-floating__inner {
        max-width: min(1560px, calc(100vw - 40px));
        margin: 12px auto !important;
        background: rgba(255,255,255,.97);
        backdrop-filter: blur(14px);
        border-radius: 22px;
        box-shadow: 0 10px 34px rgba(0,0,0,.18);
        padding: 10px 22px !important;
    }
    html.ah-pill .rg-float-phone { margin: 0 14px; flex-shrink: 0; }
    html.ah-pill .rg-float-phone .header-top-bar-contacts__phone-link { font-size: 15px !important; font-weight: 600 !important; color: #1d1d1f !important; }
    html.ah-pill .rg-float-phone .dropdown__dropdown { z-index: 80; }
}

/* ---------- из блока APPLE NO-WA + dp-модалка (header.html) ---------- */
a[href*="wa.me"],
a[href*="api.whatsapp"],
a[href*="whatsapp.com"],
[data-analytic-click="whatsapp"],
[data-analytic-click="whatsapp_product"] { display: none !important; }

/* dp-плагин: диалог «Показать на карте» — модалка (своих стилей у плагина в теме нет) */
.js-dp-dialog-wrapper {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}
.js-dp-dialog-wrapper .dp-dialog__overlay {
    position: absolute;
    inset: 0;
    /* вендорский z-index 9998 клал затемнение ПОВЕРХ модалки: карта и список ПВЗ
       не кликались, любой клик по ним закрывал окно (13.08.2026) */
    z-index: 0;
    background: rgba(0, 0, 0, .55);
}
/* штатный крестик 12px — прячем, закрывает наш .ahp-dp-close */
.js-dp-dialog-wrapper .dp-dialog__close-button { display: none !important; }
.js-dp-dialog-wrapper .dp-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1100px;
    max-height: calc(100vh - 60px);
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, .35);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.js-dp-dialog-wrapper .dp-dialog__container,
.js-dp-dialog-wrapper .dp-dialog__content {
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
}
.js-dp-dialog-wrapper .dp-dialog__header { padding: 18px 22px 10px; font-weight: 700; }
.js-dp-dialog-wrapper .dp-dialog__body {
    overflow-y: auto;
    padding: 0 18px 18px;
    min-height: 0;
}
.ahp-dp-close {
    position: absolute;
    top: 14px;
    right: 16px;
    z-index: 6;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #f5f5f7;
    color: #1d1d1f;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}

/* ---------- APPLE FOUC: главная — TG-лента не мигает на исходном месте ----------
   До переноса скриптом moveTg (home.html) лента спрятана; после переноса в #rg-tg-feed
   селектор перестаёт совпадать. Если JS не отработал — плавно проявится через 1.5 с. */
html.ah-home :not(#rg-tg-feed) > .ewshopvkposts-grid { opacity: 0; animation: ahx-reveal .25s ease 1.5s forwards; }
@keyframes ahx-reveal { to { opacity: 1; } }

/* ---------- APPLE TABS CLOSED (10.08.2026): вкладки карточки закрыты по умолчанию ----------
   Пока ни одна секция не выбрана, пустой контейнер контента не занимает место.
   В браузерах без :has() остаётся небольшой зазор — некритично. */
.content-tabs__contents:not(:has(.content-tabs__content_selected)) { display: none; }

/* ==================== ПОДПИСКА: декоративная иконка на узком десктопе ====================
   .index-subscribe__icon — SVG 127x125 в блоке «Будьте в курсе». На ~1024px она вылезала
   за правый край контейнера (907..1034 при ширине окна 1024). Прокрутки не вызывала
   (родитель прячет), но формально это переполнение. Иконка чисто декоративная,
   поэтому на узких десктопах её просто не показываем. */
@media (max-width: 1100px) {
    .index-subscribe__icon { display: none; }
}
/* ==================== /ПОДПИСКА ==================== */

/* ===== Меню каталога: название марки по центру логотипа =====
   Вендор оставляет .catalog-columns__category-container с align-items:normal,
   поэтому подпись прижата к верху квадрата логотипа 60x60 и выглядит несимметрично. */
.catalog-dropdown .catalog-columns__category-container,
.catalog-dropdown .catalog-columns__category {
    align-items: center;
}
.catalog-dropdown .catalog-columns__content { display: flex; flex-direction: column; justify-content: center; }


/* ==================== APPLE GIFT: поле кода сертификата в корзине (13.08.2026) ====================
   Плагин giftcertificates вставляет блок «У меня есть сертификат» уже после того, как тема
   проинициализировала свои ToggleBlock-компоненты, поэтому кнопка оставалась без обработчика,
   а поле — навсегда скрытым (display: none). Inline-скрипт в cart.html не помогает: корзина
   перерисовывается через innerHTML, и скрипты внутри неё не выполняются.
   Поэтому раскрываем поле сразу — ровно так же, как в теме раскрыт блок купона. */
.cart-coupon__field-box.giftcertificates-decorator { display: block !important; }
.cart-coupon .giftcertificates-form { width: 100%; }
.cart-coupon .giftcertificates-field { display: flex; gap: 8px; align-items: center; }
.cart-coupon .giftcertificates-code-input { flex: 1 1 auto; min-width: 0; }


/* ==================== APPLE GIFT SUCCESS: коды сертификатов на странице «заказ принят» ==================== */
.ahp-gift-success {
    background: #f5f5f7;
    border-radius: 18px;
    padding: 22px 24px;
    margin: 0 0 22px;
    text-align: left;
}
.ahp-gift-success__title { font-size: 17px; font-weight: 700; margin-bottom: 12px; color: #1d1d1f; }
.ahp-gift-success__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background: #fff;
    border: 1px solid #e8e8ed;
    border-radius: 12px;
    padding: 10px 16px;
    margin-bottom: 8px;
}
.ahp-gift-success__code { font-size: 16px; font-weight: 700; letter-spacing: 1px; color: #1d1d1f; }
.ahp-gift-success__sum { font-size: 16px; font-weight: 600; color: #1d1d1f; }
.ahp-gift-success__note { font-size: 14px; line-height: 1.5; color: #6e6e73; margin-top: 12px; }


/* ==================== APPLE GIFT: раздел «Подарочные сертификаты» в личном кабинете ====================
   Тема рисует шапку кабинета и табы сама (см. патч APPLE GIFT MY в main.html), поэтому собственное
   меню плагина здесь лишнее — оно осталось включённым ради боевой темы, где своих табов нет. */
.giftcertificates-my-content .my-nav,
.giftcertificates-my-content ul.menu-h { display: none; }
.giftcertificates-my-content > div > h1 {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.3px;
    margin: 0 0 18px;
}
.giftcertificates-my-content .giftcertificates-right { font-size: 14px; color: #6e6e73; margin-bottom: 10px; }

@media (min-width: 861px) {
    /* аудит 14.08.2026: липкая панель покупки на карточке и плашка cookie занимали одну
       полосу внизу экрана и накладывались. Панель: bottom 16 + высота ~68 = верх на 84. */
    body:has(.ahp-buybar_on) .info-panel-container_open { bottom: 92px !important; }
}

/* ===== АУДИТ 14.08.2026, блок 2: вёрстка ===== */

/* Ряд карточек: если у части товаров есть строка рейтинга, а у соседей нет, цена и кнопки
   съезжали на 21 px вниз и ряд выглядел неровным. Карточка уже flex-колонка, а
   .product-thumb__main тянется — не хватало только прижать группу цены к низу.
   На мобиле такое правило давно есть (apple-mobile.css), на десктопе не было. */
/* аудит 15.08.2026: распорка перенесена с группы цены на строку кнопок. Прижимая к низу
   цену, мы держали ряд ровным, но у товара с названием в две строки (а у соседа в три)
   между названием и ценой оставалась пустая полоса до 27 px. Теперь цена идёт сразу под
   названием, свободная высота уходит вниз — кнопки соседних карточек так же на одной линии. */
@media (min-width: 861px) {
    .product-thumb__main .product-thumb__buttons { margin-top: auto; }
}

/* аудит 14.08.2026: на 1024 px строка кнопок в плитке (172 px) не вмещала кнопку покупки
   и блок сравнения/избранного (92 + 128) — блок вылезал за карточку, у крайней колонки
   уезжал за край экрана, а надпись «В корзину» ломалась на две строки. Ужимаем значки,
   чтобы всё осталось в одну строку (32 px — выше минимума WCAG 24). */
@media (min-width: 861px) and (max-width: 1200px) {
    /* В одну строку не помещается: даже с ужатыми до 32 px значками кнопке остаётся 62 px
       и надпись обрезается. Поэтому значки уходят под кнопку — «В корзину» получает всю
       ширину карточки и перестаёт ломаться на две строки. */
    .product-thumb__buttons { flex-wrap: wrap; min-width: 0; row-gap: 8px; }
    .product-thumb__buttons-main { flex: 1 1 100%; min-width: 0; }
    .product-thumb__buttons-additional { flex: 0 0 auto; max-width: 100%; }
    .product-thumb__additional-buttons { gap: 8px !important; }
    .product-thumb__add-to-cart { white-space: nowrap; }
}

/* аудит 14.08.2026: вендорный контейнер выпадающего каталога держит фиксированную ширину
   992 px + боковые отступы и на окне 1009 px вылезал на 3 px, давая горизонтальную
   прокрутку всей страницы. */
@media (max-width: 1200px) {
    .header-dropdown-bar__container { max-width: 100%; }
}

/* аудит 14.08.2026: со страницы 404 можно было уйти только на главную — добавлены поиск
   по каталогу и ссылки на основные разделы. */
.ahp-404-help { max-width: 680px; margin: 26px auto 0; padding: 0 16px; }
.ahp-404-search { display: flex; gap: 8px; }
.ahp-404-search input {
    flex: 1 1 auto; min-width: 0;
    border: 1px solid #d2d2d7; border-radius: 14px;
    padding: 12px 16px; font-size: 15px; background: #fff; color: #1d1d1f;
}
.ahp-404-search input:focus-visible { outline: 2px solid #006bd7; outline-offset: 2px; }
.ahp-404-search button {
    flex: 0 0 auto; border: 0; cursor: pointer;
    background: #111114; color: #fff; border-radius: 14px;
    padding: 12px 22px; font-size: 15px; font-weight: 600;
}
.ahp-404-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.ahp-404-links a {
    display: inline-flex; align-items: center;
    padding: 8px 14px; border-radius: 999px;
    background: #f5f5f7; color: #1d1d1f; font-size: 14px; text-decoration: none;
}
.ahp-404-links a:hover { background: #ececf0; }

/* аудит 15.08.2026: место под блок «Подберите свой автомобиль» на странице линейки.
   На десктопе блок в одну строку — 148 px. */
@media (min-width: 861px) {
    .abp_reserve { min-height: 148px; }
}

/* аудит 15.08.2026: резерв под три строки названия. Тема вешает на ссылку инлайновый
   height: calc(3em * 1.5) — место под три строки занимается всегда, поэтому у товара с
   названием в две строки между названием и ценой зияла пустая полоса ~26 px. Снимаем
   резерв: название занимает свои строки, цена идёт сразу под ним. Потолок в три строки
   оставляем через max-height, чтобы длинные названия не ломали сетку. Ряд остаётся
   ровным за счёт распорки на строке кнопок (правило выше). */
@media (min-width: 861px) {
    .product-thumb__name {
        height: auto !important;
        max-height: calc(3em * 1.5);
        overflow: hidden;
    }
}

/* аудит 15.08.2026: зазор в строке кнопок плитки. На широких экранах кнопка «В корзину»
   и значки сравнения/избранного стояли вплотную (0 px) и читались одним элементом. */
@media (min-width: 1201px) {
    .product-thumb__buttons { gap: 8px; }
}

/* Пустой блок артикула (товар без артикула в выдаче) сохранял свой верхний отступ и
   добавлял к разрыву между названием и ценой лишние 8 px. */
.product-thumb__sku:empty { display: none; }

/* аудит 15.08.2026: подпись «снят с производства» у линеек, которых больше не выпускают.
   Список линеек приходит из плагина объектами, поэтому штатный бейдж темы к ним не
   применяется — подписываем по адресу ссылки. Актуальные CC4L, CC4 и CC4 Pro стоят первыми
   (порядок задан в header-mobile.html / header.html), остальные помечены здесь.
   При выводе новой линейки из этого списка убрать её адрес. */
.js-r-header-menu__brands a[href*="/brand/cc2-plus/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/cc2l-plus/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/cc3/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/cc3-2k/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/cc3l/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/lux-one/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/tpro2/"] .list-rows__item-name::after,
.js-r-header-menu__brands a[href*="/brand/x1-4g/"] .list-rows__item-name::after {
    content: "снят с производства";
    display: block;
    margin-top: 2px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    color: #86868b;
    letter-spacing: 0;
}

/* аудит 15.08.2026: колонка «Модели» в выпадающем каталоге (пункт заведён в header.html).
   Линейки — не категории каталога, картинок у них тема найти не может и рисует серую
   заглушку «нет фото». Убираем заглушки: остаётся чистый список названий, как в мобильном
   меню. Снятым с производства дорисовываем подпись — тот же список, что в apple-mobile.css. */
.catalog-extend__columns[data-category_id="-2"] .catalog-columns__image-container {
    display: none;
}
.catalog-extend__columns[data-category_id="-2"] .catalog-columns__category-container {
    padding-left: 0;
}

/* пункт «Модели» в левом списке идёт без картинки — выравниваем подпись по остальным */
.catalog-list__item[data-category_id="-2"] .catalog-list__item-content-container {
    margin-left: 45px;
}

.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/cc2-plus/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/cc2l-plus/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/cc3/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/cc3-2k/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/cc3l/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/lux-one/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/tpro2/"]:not(.image-box)::after,
.catalog-extend__columns[data-category_id="-2"] a[href*="/brand/x1-4g/"]:not(.image-box)::after {
    content: "снят с производства";
    display: block;
    margin-top: 2px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.2;
    color: #86868b;
}

/* аудит 15.08.2026: сообщение об успешной регистрации (показывает apple-signup-toast.html).
   Раньше после регистрации покупателя молча уводило на главную. */
.ahp-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 10000;
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: calc(100vw - 32px);
    padding: 14px 16px 14px 20px;
    transform: translateX(-50%);
    border-radius: 16px;
    background: #1d1d1f;
    color: #fff;
    font-size: 15px;
    line-height: 1.3;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .28);
    animation: ahp-toast-in .25s ease;
}
.ahp-toast_out { opacity: 0; transition: opacity .5s ease; }
.ahp-toast__link {
    color: #fff !important;
    text-decoration: underline;
    white-space: nowrap;
}
.ahp-toast__close {
    padding: 0 4px;
    border: 0;
    background: none;
    color: rgba(255, 255, 255, .7);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}
.ahp-toast__close:hover { color: #fff; }
@keyframes ahp-toast-in {
    from { opacity: 0; transform: translate(-50%, 12px); }
    to { opacity: 1; transform: translate(-50%, 0); }
}
@media (max-width: 480px) {
    .ahp-toast { font-size: 14px; gap: 10px; padding: 12px 12px 12px 16px; bottom: 16px; }
}

/* Сообщение о регистрации и плашка cookie занимали одну полосу внизу экрана и
   накладывались — пока плашка видна, поднимаем сообщение над ней. */
body:has(.info-panel-container_open) .ahp-toast { bottom: 104px; }

/* ===== АУДИТ 15.08.2026, третья волна ===== */

/* П.1. Пункты выдачи Яндекс.Доставки на странице «Доставка». Карту здесь рисует плагин dp,
   а пунктов Яндекса у него нет ни одного: dp работает со службой «yandexdelivery», а у нас
   стоит плагин Креатив IT с идентификатором «logistics», и загрузка заканчивается пустым
   списком. В результате открывалась карта без единой метки, хотя рядом написано «434 пункта».
   В оформлении заказа карта Яндекса рисуется его собственным плагином и работает нормально,
   поэтому просто убираем отсюда ссылку на пустую карту. У СДЭК она остаётся.
   Решение владельца 15.08.2026. Понадобится карта — надо импортировать ПВЗ Яндекса в dp. */
.dp-page__service-caption-view-on-map-link[data-id="47"] { display: none !important; }
.dp-page__service-caption-view-on-map:has(.dp-page__service-caption-view-on-map-link[data-id="47"]) {
    display: none !important;
}

/* П.5. Пункт «Модели» в выпадающем каталоге шёл без картинки — у остальных пунктов есть
   иконка категории, и он выглядел незаконченным. Ставим тот же знак-ярлык, что и в
   мобильном меню. */
.catalog-list__item[data-category_id="-2"] .catalog-list__item-content-container {
    position: relative;
    margin-left: 45px;
}
.catalog-list__item[data-category_id="-2"] .catalog-list__item-content-container::before {
    /* аудит 15.08.2026: вместо нарисованного знака-ярлыка ставим настоящий логотип линейки
       CC4 — тот же файл, что на странице линейки и в мобильном меню. */
    content: "";
    position: absolute;
    left: -40px;
    top: 50%;
    width: 28px;
    height: 28px;
    margin-top: -14px;
    border-radius: 6px;
    background: #0d0d16 url("/wa-data/public/shop/plugins/brand/brand_image/cc4pro68c007040356d.png") center / 84% no-repeat;
}

/* П.6. Страница линейки: логотип занимал отдельную строку, под ним шли вкладки
   «Каталог / Презентация / Отзывы», и справа от логотипа оставалась пустая полоса.
   Ставим логотип и вкладки в один ряд. */
@media (min-width: 861px) {
    .brand-header__container {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 18px;
    }
    .brand-header__container .brand-page__image-container { flex: 0 0 auto; margin: 0; }
    .brand-header__container .brand-page__tabs-container { flex: 1 1 auto; margin: 0; }
}

/* П.7. Блок «Информация о доставке» в карточке товара разворачивается по клику, но
   выглядел как обычный заголовок — понять это было нельзя. Добавляем шеврон, который
   разворачивается вместе с блоком. */
.dp-product__header { position: relative; padding-right: 26px; }
.dp-product__header::after {
    content: "";
    position: absolute;
    right: 4px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -6px;
    border-right: 2px solid #86868b;
    border-bottom: 2px solid #86868b;
    transform: rotate(45deg);
    transition: transform .2s ease;
}
.dp-product__header:not(.dp-product__header_hide-content)::after {
    margin-top: -2px;
    transform: rotate(-135deg);
}

/* аудит 15.08.2026: окно «ваш город» после закрытия — см. пояснение в apple-mobile.css */
.shop-regions-confirm-window_closed { display: none !important; }

/* аудит 15.08.2026: заголовок главной стал длиннее — жёсткий перенос из разметки убран,
   строки раскладывает браузер, чтобы они получались примерно равными. */
.rg-title { text-wrap: balance; }

/* аудит 16.08.2026: в блоке «Подберём, привезём и установим» браузер рвал слова дефисами
   («вжи-вую», «настрой-кой», «ра-боты») — при коротких строках это читается как опечатка.
   Переносы по слогам отключаем, строки ломаются по словам. */
.rg-usp-card .rg-tile-text,
.rg-usp-card .rg-tile-name,
.rg-usp-card .rg-card-note,
.rg-tile-text, .rg-tile-name, .rg-card-note {
    hyphens: manual !important;
    -webkit-hyphens: manual !important;
}

/* 21.08.2026: у Яндекс.Доставки окно dp на карточке открывало карту без единого
   пункта — dp не знает ПВЗ Яндекса (стоит служба «logistics» Креатив IT, а dp ждёт
   yandexdelivery; на /delivery/ ссылку карты скрыли ещё 15.08). Гасим кликабельность
   заголовка службы — строка со сроком и ценой остаётся, пустое окно не открывается.
   У СДЭК (data-id 20) окно работает и остаётся кликабельным. */
.dp-product__service-title[data-id="47"] {
    pointer-events: none;
    text-decoration: none !important;
    color: inherit !important;
    cursor: default;
}

/* аудит 24.08.2026: строка кнопок плитки на широких экранах. В карточке 257 px кнопка
   «В корзину» получала 92 px и ломалась на две строки, а блок сравнения/избранного —
   128 px, то есть больше самой кнопки покупки. Причина — двойные отступы: вендор держит
   на каждом значке margin-right: 20px (и margin-right: -20px на контейнере), а правка
   от 15.08 добавила сверху gap: 8px, из-за чего зазор между значками стал 28 px.
   Убираем вендорские margin и оставляем только gap, отступ слева ужимаем 20 → 12 px:
   блок значков 128 → 102 px, освободившиеся 26 px уходят кнопке. */
@media (min-width: 861px) {
    .product-thumb__additional-buttons { margin-right: 0 !important; gap: 10px !important; }
    .product-thumb__additional-button { margin-right: 0 !important; }
    .product-thumb__buttons-additional { padding-left: 12px; }
    .product-thumb__add-to-cart { white-space: nowrap; }
}

    /* ---- APPLE PILL RIGHT: ритм правой капсулы (песочница v2, 29.08.2026) ----
       Дыры в капсуле были от вендорных отступов штатной шапки: контейнер города
       padding-right 32px, контейнер иконок padding-left 60px; корзина — другой
       компонент и была мельче соседей. Здесь: отступы в ноль, группы через 10px
       с тонкими разделителями, все иконки в квадратах 40×40. Только CSS. */
    .ahp-pill.ahp-right { gap: 0; padding: 6px 8px 6px 10px; }
    #ahp-city .header-top-bar__container-region { padding: 0 !important; }
    #ahp-icons .header-middle-bar-shop__links-container { padding: 0 !important; margin: 0 !important; }
    /* разделители между группами: город | телефон | поиск+иконки */
    .ahp-pill.ahp-right > #ahp-phone,
    .ahp-pill.ahp-right > .ahp-search-btn { position: relative; margin-left: 20px; }
    .ahp-pill.ahp-right > #ahp-phone::before,
    .ahp-pill.ahp-right > .ahp-search-btn::before {
        content: ""; position: absolute; left: -10px; top: 50%; transform: translateY(-50%);
        width: 1px; height: 22px; background: #e5e5ea;
    }
    /* если город скрыт (≤1120px) — у телефона разделитель не нужен */
    @media (max-width: 1120px) { .ahp-pill.ahp-right > #ahp-phone { margin-left: 0; } .ahp-pill.ahp-right > #ahp-phone::before { display: none; } }
    .ahp-search-btn { margin: 0; }
    .ahp-search-btn::before { left: -10px !important; }
    #ahp-icons { margin-left: 6px; }
    #ahp-icons .header-middle-bar-shop-links { gap: 2px; }
    /* все иконки — одинаковые квадраты, включая корзину */
    #ahp-icons .header-middle-bar-shop-links__item > a,
    #ahp-icons .cart-popup-container > a,
    #ahp-icons .cart-popup-container .cart-popup__link {
        display: inline-flex !important; align-items: center; justify-content: center;
        width: 40px; height: 40px; padding: 0 !important; box-sizing: border-box; border-radius: 12px;
    }
    #ahp-icons .cart-popup-container > a:hover, #ahp-icons .cart-popup-container .cart-popup__link:hover { background: #f0f0f3; }
    #ahp-icons .header-middle-bar-shop-links__item svg,
    #ahp-icons .header-middle-bar-shop-links__item .icon-box__icon svg { width: 22px; height: 22px; }
    /* ---- /APPLE PILL RIGHT ---- */

    /* ---- APPLE PILL HEIGHT (29.08.2026): обе капсулы строго 60px, а не «не меньше 60» —
       у владельца в Chrome левая капсула выходила выше правой из-за содержимого. ---- */
    .ahp-pill { height: 60px; min-height: 60px; max-height: 60px; overflow: visible; }
    .ahp-pill > .ahp-slot, .ahp-pill > .ahp-logo { max-height: 48px; }
    #ahp-links .ahp-linklist .header-top-bar-links__item a { line-height: 1.2; }
    /* ---- /APPLE PILL HEIGHT ---- */
