/* ============================================================================
   APPLE PRODUCT: карточка товара (секция APPLE PRODUCT V2)
   Вынесено из user.css 11.08.2026: грузилось на каждой странице, а нужно только тут:
   карточка товара — product.html.
   Подключается из head.html по глобалу, который выставляет соответствующий шаблон.
   Порядок важен: файл идёт ПОСЛЕ user.css — как эта секция шла в исходном файле.
   ============================================================================ */

/* ==================== APPLE PRODUCT V2 (карточка товара, 02.08.2026) ==================== */

/* --- П1. Фото товара: серая подложка, скругление видно на любых фото --- */
.product-cart-form__container-image .product-images__images-container {
    background: #f5f5f7;
    border-radius: 20px;
    overflow: hidden;
}
.product-cart-form__container-image .product-images__image .image-box { background: transparent; }
.product-cart-form__container-image .product-images__image img {
    object-fit: contain !important;
    padding: 22px;
    box-sizing: border-box;
    background: transparent;
}
.product-cart-form__container-image .product-images__thumb .image-box,
.product-cart-form__container-image .product-images__video-thumb .image-box { background: #f5f5f7; }
.product-cart-form__container-image .product-images__thumb img {
    object-fit: contain !important;
    padding: 2px;
    box-sizing: border-box;
}
@media (max-width: 760px) {
    .product-cart-form__container-image .product-images__image img { padding: 12px; }
}

/* --- П2. Блок покупки: компактная карточка --- */
.product-cart-form .product-add-to-cart:not(.product-add-to-cart_mobile-modal) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid #e8e8ed;
    border-radius: 22px;
    padding: 18px 18px 16px;
}
.product-cart-form .product-add-to-cart:not(.product-add-to-cart_mobile-modal) > * {
    width: 100%;
    flex: 0 0 100%;
    margin: 0 !important;
}
/* строка-шапка: наличие · срок доставки · бонусы */
.product-cart-form .product-add-to-cart__skus-stocks,
.product-cart-form .product-add-to-cart__estdelivery,
.product-cart-form .product-add-to-cart__bonuses {
    width: auto !important;
    flex: 0 0 auto !important;
}
.product-cart-form .product-add-to-cart__estdelivery .shop-estdelivery-plugin,
.product-cart-form .product-add-to-cart__estdelivery .shop-estdelivery-plugin-placeholder {
    background: #f5f5f7;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 13px;
    line-height: 18px;
    display: inline-block;
    color: #3a3a3e;
}
.product-cart-form .product-add-to-cart__estdelivery .shop-estdelivery-plugin-placeholder {
    background: transparent;
    padding: 0;
}
.product-cart-form .product-add-to-cart__bonuses .bonus-block {
    background: #f5f5f7;
    border-radius: 999px;
    padding: 4px 12px 4px 8px;
    font-size: 13px;
}
.product-cart-form .product-add-to-cart__skus-stocks .product-skus-stocks__sku-stock-available { font-size: 13.5px; }

/* цена */
.product-cart-form .product-add-to-cart__prices { margin-top: 4px !important; }
.product-cart-form .product-add-to-cart__price {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -.5px;
    line-height: 1.15;
}
.product-cart-form .product-add-to-cart__price-text {
    font-size: 13px;
    color: #6E6E73;
    margin-right: 6px;
}
.product-cart-form .product-add-to-cart__compare-price { font-size: 16px; color: #6E6E73; }

/* кнопки */
.product-cart-form .product-add-to-cart__controls { margin-top: 2px !important; }
.product-cart-form .product-add-to-cart__buy-one-click { margin-top: 0 !important; }
.product-cart-form .product-add-to-cart__pricedown { text-align: center; font-size: 13px; }

/* пустые служебные блоки не должны раздувать карточку */
.product-cart-form .product-add-to-cart > div:empty,
.product-cart-form .product-add-to-cart__ecommerce,
.product-cart-form .product-add-to-cart__flexdiscount:not(:has(.flexdiscount-price-block:not(.flexdiscount-hide))) {
    display: none;
}

/* --- Сплит: сворачиваемая карточка --- */
.product-cart-form .product-add-to-cart__yandexsplitinfo {
    width: 100% !important;
    flex: 0 0 100% !important;
    border-top: 1px solid #f0f0f3;
    padding-top: 10px;
}
.ahp-split__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: #f5f5f7;
    border: 0;
    border-radius: 14px;
    padding: 10px 14px;
    font: inherit;
    font-size: 13.5px;
    font-weight: 600;
    color: #1d1d1f;
    cursor: pointer;
    text-align: left;
    transition: background .2s ease;
}
.ahp-split__toggle:hover { background: #ececef; }
.ahp-split__toggle::after {
    content: '';
    margin-left: auto;
    width: 8px; height: 8px;
    border-right: 2px solid #86868b;
    border-bottom: 2px solid #86868b;
    transform: rotate(45deg) translate(-2px, -2px);
    transition: transform .2s ease;
}
.ahp-split_open .ahp-split__toggle::after { transform: rotate(-135deg) translate(-2px, -2px); }
.ahp-split__badge {
    background: #c8f169;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 11.5px;
    font-weight: 600;
}
.ahp-split__body { display: none; padding-top: 10px; }
.ahp-split_open .ahp-split__body { display: block; }
.ahp-split__body .ya-pay-widget,
.ahp-split__body iframe { max-width: 100%; }

/* --- П3. Блок преимуществ: карточки-ссылки с иконкой --- */
.product-cart-form .advantages,
.content .advantages {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
.advantages__item { background: none; padding: 0 !important; border-radius: 0; }
.advantages__item .advantage {
    /* иконка и заголовок — одной строкой, описание и ссылка ниже во всю ширину:
       столбиком карточка была на ~55px выше (13.08.2026) */
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    column-gap: 12px;
    row-gap: 8px;
    height: 100%;
    background: #f5f5f7;
    border-radius: 20px;
    padding: 18px 18px 16px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
a.advantage { color: inherit !important; text-decoration: none !important; }
a.advantage:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(0,0,0,.08);
}
.advantages__item .advantage__icon-box {
    width: 38px; height: 38px;
    border-radius: 12px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    margin: 0;
}
a.advantage:hover .advantage__icon-box { background: #f5f5f7; }
.advantages__item .advantage__icon-box .image-box { width: 22px; height: 22px; }
/* иконки — lazy-image остаётся с opacity:0, если наблюдатель не отработал: показываем принудительно */
.advantages__item .advantage__icon-box img { width: 22px; height: 22px; object-fit: contain; opacity: 1 !important; }
.advantages__item .advantage__title {
    flex: 1 1 0;
    min-width: 0;
    font-size: 15.5px;
    font-weight: 600;
    line-height: 1.25;
    margin: 0;
}
.advantages__item .advantage__content { width: 100%; }
.advantages__item .advantage__body {
    width: 100%;
    font-size: 13px;
    line-height: 1.45;
    color: #6e6e73;
}
.advantage__more {
    width: 100%;
    margin-top: auto;
    padding-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #006BD7;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.advantage__more::after { content: '→'; transition: transform .2s ease; }
a.advantage:hover .advantage__more::after { transform: translateX(3px); }
@media (max-width: 1000px) { .product-cart-form .advantages, .content .advantages { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .product-cart-form .advantages, .content .advantages { grid-template-columns: 1fr; } }
/* ==================== /APPLE PRODUCT V2 ==================== */

/* ==================== APPLE DP COLLAPSE ====================
   Блок доставки в карточке (плагин «Доставка и оплата», шаблон темы
   dp_plugin_product.html) свёрнут по умолчанию — и на ПК, и на мобиле.
   В шапке остаётся заголовок «Доставка» и выбор города; раскрывает шеврон
   или клик по шапке (клик по ссылке города сворачиванием не считается —
   это отсекает скрипт в самом шаблоне). */
/* !important — потому что базовые отступы и линия шапки заданы с !important
   в секции «Блок Доставка» user.css */
.dp-product_collapsible > .ap-dp-head {
    position: relative;
    padding: 0 34px !important;
    margin: 0 !important;
    cursor: pointer;
    user-select: none;
    border-bottom: 0 !important;
    transition: margin .2s ease, padding .2s ease;
}
.dp-product_collapsible.is-open > .ap-dp-head {
    padding-bottom: 12px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px solid rgba(0, 0, 0, .07) !important;
}
.page_dp .product-cart-form__dp-container .dp-product_collapsible > .ap-dp-head:focus-visible {
    outline: 2px solid #006BD7;
    outline-offset: -2px;
    border-radius: 12px;
}
.ap-dp-chevron {
    position: absolute;
    top: 6px;
    right: 4px;
    width: 12px;
    height: 12px;
    border-right: 2px solid #86868b;
    border-bottom: 2px solid #86868b;
    border-radius: 1px;
    transform: rotate(45deg);
    transform-origin: 60% 60%;
    transition: transform .2s ease, border-color .2s ease;
    pointer-events: none;
}
.dp-product_collapsible.is-open .ap-dp-chevron {
    transform: rotate(-135deg);
}
.dp-product_collapsible > .ap-dp-head:hover .ap-dp-chevron {
    border-color: #1d1d1f;
}
/* свёрнутое состояние */
.dp-product_collapsible > .dp-product__content {
    display: none;
}
.dp-product_collapsible.is-open > .dp-product__content {
    display: block;
    animation: ap-dp-reveal .22s ease both;
}
@keyframes ap-dp-reveal {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    .dp-product_collapsible.is-open > .dp-product__content { animation: none; }
    .ap-dp-chevron { transition: none; }
}
/* мобильная: шапка чуть плотнее, шеврон выше */
@media (max-width: 760px) {
    .dp-product_collapsible > .ap-dp-head { padding: 0 30px !important; }
    .ap-dp-chevron { top: 5px; right: 2px; }
}

/* раскрытый блок: убираем воздух между шапкой и первой группой */
.dp-product_collapsible.is-open > .ap-dp-head {
    padding-bottom: 10px !important;
    margin-bottom: 10px !important;
}
/* !important: вендорский `.page_dp … .dp-product__content{padding:15px}` и
   `margin:14px 0 6px !important` у заголовков групп в user.css */
.dp-product_collapsible .dp-product__content {
    padding-top: 4px !important;
    padding-bottom: 0 !important;
}
.dp-product_collapsible .dp-product__service > .dp-product__group-title:first-child {
    margin-top: 0 !important;
}
.dp-product_collapsible .dp-product__group-title { margin-top: 12px !important; }
.dp-product_collapsible .dp-product__service { margin-bottom: 10px; }
.dp-product_collapsible .dp-product__service:last-child { margin-bottom: 0; }
.dp-product_collapsible .dp-product__service-row { margin-bottom: 8px; }
.dp-product_collapsible .dp-product__service-row:last-child { margin-bottom: 0; }

/* услуги с пунктами выдачи (ТК СДЭК, Яндекс.Доставка) открывают карту —
   вендор рисует их как обычный текст, поэтому подсвечиваем как ссылку */
.dp-product_collapsible a.dp-product__service-title_link {
    color: #006BD7 !important;
    border-bottom: 0 !important;
    text-decoration: none !important;
    cursor: pointer;
}
.dp-product_collapsible a.dp-product__service-title_link::after {
    content: 'на карте';
    display: inline-block;
    margin-left: 6px;
    padding: 1px 7px 1px 18px;
    font-size: 10px;
    font-weight: 600;
    line-height: 15px;
    letter-spacing: .01em;
    color: #006BD7;
    background: rgba(0, 113, 227, .09) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%230071e3' stroke-width='2.4' 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") no-repeat 5px 50%;
    border-radius: 20px;
    vertical-align: 1px;
    transition: background-color .15s ease;
}
.dp-product_collapsible a.dp-product__service-title_link:hover::after {
    background-color: rgba(0, 113, 227, .17);
}
/* ==================== /APPLE DP COLLAPSE ==================== */

/* ============================================================================
   APPLE SETS: комплект «В комплекте дешевле» в стилистике клона (14.08.2026)

   Плагин productsets рисует блок своим оформлением из настроек (синяя кнопка,
   красные цены, жёлтая плашка экономии) — здесь он приводится к виду остальных
   блоков карточки: серые карточки, чёрные пилюли, шрифты клона.
   Блок поднят из подвала карточки к блокам преимуществ — см. APPLE SETS в product.html.
   Настройки плагина не трогаем: правки только на нашей витрине, обновление
   плагина их не затронет.

   14.08.2026 блок сжат по высоте: мельче фото и отступы, итог одной строкой
   без вложенной рамки — иначе комплект занимал целый экран.
   ============================================================================ */

.ahp-sets {
    --ahs-gray: #f5f5f7;
    --ahs-mut: #6e6e73;
    --ahs-line: #e8e8ed;
    --ahs-dark: #111114;
    --ahs-green: #1a9d63;
}

/* ---------- контейнер ---------- */
.ahp-sets .productsets-wrap {
    border: 0 !important;
    border-radius: 22px !important;
    background: var(--ahs-gray) !important;
    padding: 20px 22px !important;
    margin: 0 !important;
    box-shadow: none !important;
}
.ahp-sets .productsets-wrap-inner { border: 0 !important; background: transparent !important; }
.ahp-sets .productsets-body { background: transparent !important; padding: 0 !important; }
.ahp-sets .productsets-bundles-wrap { padding: 0 !important; }

/* надзаголовок — мелкой строкой над названием набора */
.ahp-sets .productsets-html-before {
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--ahs-mut);
    margin: 0 0 5px;
}
.ahp-sets .productsets-html-before p { margin: 0; }

/* заголовок набора */
.ahp-sets .productsets-title {
    background: transparent !important;
    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -.4px;
    line-height: 1.25 !important;
    padding: 0 !important;
    margin: 0 0 14px !important;
}
.ahp-sets .productsets-title p { margin: 0; }

/* текст под набором — условия акции */
.ahp-sets .productsets-html-after {
    margin: 12px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--ahs-mut);
}
.ahp-sets .productsets-html-after p { margin: 0; }

/* ---------- карточки товаров набора ----------
   У карточек-слайдеров снизу подпись «1 из 5», у карточки активного товара её
   нет — из-за этого карточки заканчивались на разном уровне. Тянем их до высоты
   самой длинной. */
.ahp-sets .productsets-bundle-wrap { align-items: stretch; }
.ahp-sets .productsets-bundle-item > .productsets-item { height: 100%; box-sizing: border-box; }
/* Держателю со стрелками выбора плагин даёт сверху 35px (место под стрелки) и 0
   снизу, а держателю активного товара — 24px и 24px. Из-за этого карточки
   начинались на разной высоте. Уравниваем: верх у всех 35px, снизу активному —
   место под подпись «1 из 5», чтобы низ карточек тоже совпал. */
@media (min-width: 861px) {
    .ahp-sets .productsets-bundle-item { padding-top: 35px !important; }
    .ahp-sets .productsets-bundle-item:not(.js-productsets-init-alt-slider) { padding-bottom: 2px !important; }
}

.ahp-sets .productsets-item {
    background: #fff;
    border: 1px solid var(--ahs-line);
    border-radius: 16px;
    padding: 12px;
}
/* Плагин держит квадрат фото 120x120, само фото — 84px: 36px пустоты,
   на которых и вырастала высота карточки. Ужимаем коробку под фото. */
.ahp-sets .productsets-item-image {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
}
.ahp-sets .productsets-item-image img {
    border-radius: 10px;
    max-height: 82px;
    max-width: 90px;
    width: auto;
}
.ahp-sets .productsets-item-name,
.ahp-sets .productsets-item-link {
    color: #1d1d1f !important;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none !important;
}
.ahp-sets .productsets-item-sku { color: var(--ahs-mut); font-size: 12px; }

/* Плагин режет длинное название по высоте и закрывает остаток белым градиентом
   (на камере пропадала строка «универсальная») — показываем целиком. */
.ahp-sets .productsets-item-name {
    max-height: none !important;
    overflow: visible !important;
    display: block;
}
.ahp-sets .productsets-item-name:before { display: none !important; }

/* подпись «Активный товар» — служебная, покупателю не нужна */
.ahp-sets .productsets-active-title { display: none !important; }

/* цены */
.ahp-sets .productsets-price {
    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: transparent !important;
    padding: 0 !important;
}
.ahp-sets .productsets-compare-price {
    color: var(--ahs-mut) !important;
    font-size: 12.5px !important;
    text-decoration: line-through;
}
.ahp-sets .productsets-price-wrap { margin-top: 4px; }

/* бейдж скидки */
.ahp-sets .productsets-badge {
    background: var(--ahs-dark) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 2px 8px !important;
    font-size: 11.5px !important;
    font-weight: 600;
}

/* стрелки выбора варианта */
.ahp-sets .productsets-alt-prev,
.ahp-sets .productsets-alt-next {
    color: #1d1d1f !important;
    opacity: .55;
    transition: opacity .18s ease;
}
.ahp-sets .productsets-alt-prev:hover,
.ahp-sets .productsets-alt-next:hover { opacity: 1; }
.ahp-sets .productsets-item-count {
    color: var(--ahs-mut);
    font-size: 11.5px;
    margin-top: 2px;
}

/* Строка итога: цена, экономия и кнопки не должны слипаться, когда
   блоки ужимаются по содержимому (планшетные ширины). */
.ahp-sets .productsets-total-wrap { gap: 10px 18px; }

/* ---------- итоговая строка ----------
   Плагин вкладывает .productsets-total в .productsets-total-wrap; карточку
   рисуем только на внешнем блоке, иначе получается рамка в рамке. */
.ahp-sets .productsets-total-wrap {
    background: #fff !important;
    border: 1px solid var(--ahs-line);
    border-radius: 16px;
    padding: 12px 18px !important;
    margin-top: 12px;
    color: #1d1d1f !important;
}
.ahp-sets .productsets-total {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    color: inherit !important;
}
.ahp-sets .productsets-total-text,
.ahp-sets .productsets-total-discount-text { color: var(--ahs-mut) !important; font-size: 13.5px; }
.ahp-sets .productsets-total-price {
    color: #1d1d1f !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    letter-spacing: -.5px;
    line-height: 1.15 !important;
}
.ahp-sets .productsets-total-compare-price {
    color: var(--ahs-mut) !important;
    font-size: 13px !important;
    text-decoration: line-through;
}
/* экономия — зелёным, как выгода в остальных блоках клона */
.ahp-sets .productsets-total-discount {
    background: rgba(26, 157, 99, .12) !important;
    /* аудит 14.08.2026: --ahs-green (#1a9d63) на этой подложке давал 3.03 при норме 4.5.
       Переменную не трогаем — она используется там, где контраст в норме. */
    color: #0f6b2a !important;
    border-radius: 999px !important;
    padding: 4px 11px !important;
    font-size: 13.5px !important;
    font-weight: 600;
}

/* кнопка */
.ahp-sets .productsets-button,
.ahp-sets .productsets-bundle-buy {
    background: var(--ahs-dark) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 11px 26px !important;
    font-family: inherit !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    white-space: nowrap;
    transition: opacity .18s ease;
}
.ahp-sets .productsets-button:hover,
.ahp-sets .productsets-bundle-buy:hover { background: var(--ahs-dark) !important; opacity: .88; }

/* ==================== APPLE SETS DIALOG ====================
   Всплывающее окно «Создать комплект» (пользовательские наборы) не показывалось:
   тема везёт стили для плагина акций (css/megashop.plugin.shop-promos.css), а там
   есть правило `div.is-full-screen.ig-dialog-wrap:not(.p-loaded) .w-dialog-block
   { display: none }`. Класс p-loaded вешает JS плагина акций; productsets
   пользуется той же библиотекой диалогов (ig-dialog), но такого класса не ставит,
   поэтому его окно оставалось скрытым — подложка темнела, содержимого не было.
   Возвращаем окну видимость точечно, только для диалогов комплектов. */
div.is-full-screen.ig-dialog-wrap:not(.p-loaded) .w-dialog-block.productsets-dialog {
    display: flex;
    flex-direction: column;
    max-height: 100%;
    margin: 8px auto;
}


/* ---------- каркас окна: шапка на месте, список прокручивается ----------
   Плагин отдаёт окно одной длинной простынёй (overflow: visible), поэтому
   всё, что не влезло в экран, просто обрезалось: ни скролла, ни кнопки
   «Купить». Раскладываем колонкой — шапка фиксирована, тело со своей
   прокруткой и видимым ползунком. */
.w-dialog-block.productsets-dialog {
    width: min(1120px, calc(100vw - 32px));
    max-width: 1120px;
    max-height: calc(100vh - 32px);
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
}
.productsets-dialog .productsets-wrap,
.productsets-dialog .productsets-userbundle-wrap {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    border: 0 !important;
    background: #fff !important;
    padding: 0 !important;
}
.productsets-dialog .productsets-userbundle-header {
    flex: 0 0 auto;
    padding: 20px 26px 16px;
    border-bottom: 1px solid #e8e8ed;
    background: #fff;
}
.productsets-dialog .productsets-userbundle-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 26px 26px;
    scrollbar-width: thin;
    scrollbar-color: #c3c3c8 transparent;
}
.productsets-dialog .productsets-userbundle-body::-webkit-scrollbar { width: 12px; }
.productsets-dialog .productsets-userbundle-body::-webkit-scrollbar-track { background: transparent; }
.productsets-dialog .productsets-userbundle-body::-webkit-scrollbar-thumb {
    background-color: #c3c3c8;
    border-radius: 999px;
    border: 4px solid #fff;
}

/* ---------- оформление окна под клон ---------- */
.productsets-dialog .productsets-userbundle-title {
    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: -.2px;
}
.productsets-dialog .productsets-userbundle-wrap-title {
    color: #6e6e73 !important;
    font-size: 13px !important;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.productsets-dialog .productsets-userbundle-count,
.productsets-dialog .productsets-userbundle-saving-wrap { color: #6e6e73 !important; font-size: 14px; }
.productsets-dialog .productsets-userbundle-saving {
    background: rgba(26, 157, 99, .12) !important;
    color: #1a9d63 !important;
    border-radius: 999px !important;
    padding: 3px 10px !important;
    font-weight: 600;
}

/* цены */
.productsets-dialog .productsets-price,
.productsets-dialog .productsets-userbundle-total-price {
    color: #1d1d1f !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    background: transparent !important;
    padding: 0 !important;
}
.productsets-dialog .productsets-userbundle-total-price { font-size: 20px !important; letter-spacing: -.4px; }
.productsets-dialog .productsets-compare-price,
.productsets-dialog .productsets-total-compare-price {
    color: #6e6e73 !important;
    text-decoration: line-through;
    font-size: 13px !important;
}

/* бейдж скидки */
.productsets-dialog .productsets-badge {
    background: #111114 !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 2px 8px !important;
    font-size: 11.5px !important;
    font-weight: 600;
}

/* блоки-группы («Основные», список аксессуаров) — серые квадраты плагина */
.productsets-dialog .productsets-userbundle-block {
    border: 1px solid #e8e8ed !important;
    border-radius: 18px !important;
    background: #fff !important;
    padding: 16px !important;
    margin-bottom: 14px !important;
}

/* Блок «Основные» повторяет магнитолу, которая и так показана сверху
   в «Вашем наборе» (превью + цена), а занимает целую строку окна. Прячем:
   товар остаётся в DOM, поэтому подсчёт позиций и цены не меняется. */
.productsets-dialog .productsets-userbundle-common { display: none !important; }

/* карточки товаров */
.productsets-dialog .productsets-userbundle-item {
    border: 1px solid #e8e8ed !important;
    border-radius: 16px !important;
    background: #fff !important;
    transition: border-color .18s ease, box-shadow .18s ease;
}
.productsets-dialog .productsets-userbundle-item:hover { box-shadow: 0 10px 26px rgba(0, 0, 0, .07); }
.productsets-dialog .productsets-userbundle-item.is-active { border-color: #111114 !important; }
.productsets-dialog .productsets-userbundle-item-name {
    color: #1d1d1f !important;
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.3;
}
/* внутри карточки плагин обводит рамкой и название, и фото — рамка нужна
   только самой карточке */
.productsets-dialog .productsets-userbundle-item .productsets-item-image,
.productsets-dialog .productsets-userbundle-item .productsets-userbundle-item-name,
.productsets-dialog .productsets-userbundle-item-info { border: 0 !important; }

/* кнопки */
.productsets-dialog .productsets-userbundle-buy,
.productsets-dialog .productsets-button {
    background: #111114 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 11px 26px !important;
    font-family: inherit !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    transition: opacity .18s ease;
}
.productsets-dialog .productsets-userbundle-buy:hover,
.productsets-dialog .productsets-button:hover { opacity: .88; }
.productsets-dialog .productsets-userbundle-add {
    border: 1px solid #e8e8ed;
    border-radius: 999px;
    background: #fff;
    color: #1d1d1f;
    font-size: 13.5px;
    font-weight: 600;
    padding: 7px 14px;
}
.productsets-dialog .productsets-userbundle-item.is-active .productsets-userbundle-add {
    background: #f5f5f7;
    border-color: #f5f5f7;
    color: #6e6e73;
}
.productsets-dialog .productsets-userbundle-add svg { fill: currentColor; }

/* ---------- окно на телефоне ---------- */
@media (max-width: 760px) {
    .w-dialog-block.productsets-dialog {
        width: 100vw;
        max-width: 100vw;
        max-height: 100vh;
        border-radius: 0;
    }
    .productsets-dialog .productsets-userbundle-header { padding: 16px 14px 12px; }
    .productsets-dialog .productsets-userbundle-body { padding: 12px 14px 20px; }
    .productsets-dialog .productsets-userbundle-buy { width: 100%; text-align: center; }
    /* плагин ставит карточки в один столбец — 22 позиции превращались
       в 7 экранов прокрутки; раскладываем в две колонки и ужимаем фото */
    .productsets-dialog .productsets-userbundle-items {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }
    .productsets-dialog .productsets-userbundle-item { width: auto !important; margin: 0 !important; padding: 10px !important; }
    .productsets-dialog .productsets-userbundle-item-name { font-size: 12.5px; }
}

/* «Создать комплект» — вторичное действие рядом с «Добавить комплект»
   (в строку итога кнопку переносит скрипт из product.html) */
.ahp-sets .productsets-total-wrap .productsets-buttons {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    /* Плагин отводит блоку кнопок треть строки — одной кнопке хватало, двум нет,
       и «Добавить комплект» уезжала за край блока (видно на планшетах, 900–1100px).
       Даём блоку ширину по содержимому: не влезает в строку — переносится целиком. */
    width: auto !important;
    flex: 0 0 auto;
    margin-left: auto;
}
/* цена и экономия занимали по трети строки и выдавливали кнопки на второй ряд
   на средних экранах — пусть ужимаются по содержимому */
.ahp-sets .productsets-total-wrap > .productsets-total,
.ahp-sets .productsets-total-wrap > .productsets-total-discount-wrap {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0;
}
.ahp-sets .productsets-button.ahp-sets-create {
    background: #fff !important;
    color: #1d1d1f !important;
    border: 1px solid var(--ahs-line) !important;
    margin: 0 !important;
}
.ahp-sets .productsets-button.ahp-sets-create:hover {
    background: var(--ahs-gray) !important;
    opacity: 1;
}

/* чекбокс «добавить товар в набор» */
.ahp-sets .productsets-checkbox { color: var(--ahs-green) !important; }

/* ==================== APPLE SETS MOBILE: правки узкого экрана ====================
   На телефоне плагин раскладывает набор строками (layout cl-4): бейдж скидки
   позиционируется абсолютно и наезжал на фото, а итоговая цена ужималась
   в узкую колонку и ломалась на две строки. */
@media (max-width: 760px) {
    .ahp-sets .productsets-wrap { padding: 16px 14px !important; border-radius: 18px !important; }
    .ahp-sets .productsets-title { font-size: 18px !important; margin-bottom: 12px !important; }
    /* Раскладку карточки на телефоне (cl-4) плагин собирает сам и цену
       позиционирует отдельно от названия — своей сеткой сюда не лезем,
       только ужимаем отступы. */
    .ahp-sets .productsets-item { padding: 10px; }
    .ahp-sets .productsets-item-image { position: relative; }
    .ahp-sets .productsets-item-image { width: 78px !important; height: 78px !important; min-width: 78px !important; }
    .ahp-sets .productsets-item-image img { max-height: 70px; max-width: 78px; }
    .ahp-sets .productsets-badge {
        top: auto !important;
        bottom: -6px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%);
        white-space: nowrap;
        font-size: 11px !important;
        padding: 2px 7px !important;
    }
    .ahp-sets .productsets-total {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 10px;
    }
    .ahp-sets .productsets-total-wrap { padding: 14px !important; }
    .ahp-sets .productsets-total-price-wrap {
        display: flex;
        align-items: baseline;
        gap: 10px;
        flex-wrap: wrap;
    }
    .ahp-sets .productsets-total-price { font-size: 20px !important; white-space: nowrap; }
    .ahp-sets .productsets-total-compare-price { white-space: nowrap; }
    .ahp-sets .productsets-button,
    .ahp-sets .productsets-bundle-buy { width: 100%; text-align: center; }
    /* на узком экране две кнопки в строку не помещаются — ставим друг под друга,
       главная («Добавить комплект») остаётся сверху */
    .ahp-sets .productsets-total-wrap .productsets-buttons {
        flex-direction: column-reverse;
        width: 100%;
        gap: 8px;
    }
}

/* ==================== APPLE SETS POPUP ====================
   Окошко «Товары были успешно добавлены в корзину», которое плагин показывает
   после кнопки «Добавить комплект». Приводим к виду корзинных окон клона:
   белая карточка со скруглением, тёмный текст, чёрная кнопка-пилюля. */
.productsets-popup.static-popup {
    border: 0 !important;
    border-radius: 22px !important;
    padding: 26px 28px 24px !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .22) !important;
    background: #fff !important;
}
.productsets-popup .productsets-popup-content {
    color: #1d1d1f !important;
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35;
    text-align: center !important;
}
.productsets-popup .static-popup-icon {
    display: block;
    width: 34px !important;
    height: 34px !important;
    margin: 0 auto 12px !important;
    fill: #1a9d63 !important;
}
.productsets-popup .productsets-popup-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 20px;
}
/* «Оформить заказ» */
.productsets-popup .productsets-button {
    background: #111114 !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 12px 26px !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: opacity .18s ease;
}
.productsets-popup .productsets-button:hover { opacity: .88; }
/* «Продолжить покупки» */
.productsets-popup .productsets-popup-buttons > span[data-productsets-close] {
    color: #1d1d1f !important;
    background: #fff !important;
    border: 1px solid #e8e8ed !important;
    border-radius: 999px !important;
    padding: 12px 22px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background .18s ease;
}
.productsets-popup .productsets-popup-buttons > span[data-productsets-close]:hover { background: #f5f5f7 !important; }
/* крестик */
.productsets-popup .productsets-popup-head span[data-productsets-close] { opacity: .45; }
.productsets-popup .productsets-popup-head span[data-productsets-close]:hover { opacity: .9; }

@media (max-width: 760px) {
    .productsets-popup.static-popup { padding: 22px 18px 20px !important; }
    .productsets-popup .productsets-popup-buttons { flex-direction: column-reverse; gap: 10px; }
    .productsets-popup .productsets-popup-buttons > span[data-productsets-close],
    .productsets-popup .productsets-button { width: 100%; text-align: center; }
}

/* ==================== APPLE SETS TABLET ====================
   На планшете тема отдаёт мобильную версию, а плагин раскладывает карточки
   набора колонкой во всю ширину — справа оставалась пустая половина экрана.
   На ширинах от 761px возвращаем их в ряд. */
@media (min-width: 761px) {
    /* Ставить карточки в ряд здесь нельзя: раскладка плагина ужимается и цена
       вылезает за карточку (проверено). Оставляем список, но растягиваем строку —
       название слева, цена прижата к правому краю, пустоты в середине нет. */
    .ahp-sets .productsets-mobile .productsets-item { justify-content: space-between; }
    .ahp-sets .productsets-mobile .productsets-item-info { flex: 1 1 auto; }
    .ahp-sets .productsets-mobile .productsets-price-wrap { margin-left: auto; text-align: right; }
}


/* ==================== APPLE PRODUCT NARROW ====================
   Баг темы (воспроизводится и на боевой витрине): на ширинах примерно
   1000–1279px правая колонка карточки (цена, «В корзину», доставка) имеет
   жёсткий min-width: 330px, а места на неё уже не остаётся — колонка уезжает
   за правый край экрана и появляется горизонтальная прокрутка страницы.
   На этих ширинах разрешаем колонкам переноситься: блок покупки встаёт
   под характеристиками во всю ширину. */
@media (min-width: 861px) and (max-width: 1279px) {
    .product-cart-form__columns { flex-wrap: wrap; }
    .product-cart-form__columns-main,
    .product-cart-form__columns-additional {
        flex: 1 1 100% !important;
        min-width: 0 !important;
        width: 100% !important;
    }
    /* блок покупки поднимаем над характеристиками, чтобы цена и «В корзину»
       остались на первом экране */
    .product-cart-form__columns-additional { order: -1; }
}

/* аудит 15.08.2026: названия товаров в окне комплекта обрезались по высоте контейнера
   ровно посередине строки — у камеры было видно половину слова «универсальная».
   Обрезаем по строкам и добавляем многоточие, чтобы обрыв читался как обрыв. */
.productsets-userbundle-item-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* аудит 15.08.2026: состав набора и правило скидок в окне «Ваш набор»
   (разметку дописывает apple-sets-ux.html). Раньше под миниатюрами была только общая
   сумма, и покупатель не видел, что сколько стоит и по какому правилу считается скидка. */
.ahp-sets-list {
    max-width: 520px;
    margin: 14px auto 0;
    padding: 12px 16px;
    border-radius: 14px;
    background: #f5f5f7;
    font-size: 14px;
    line-height: 1.35;
    text-align: left;
}
.ahp-sets-list__row {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 5px 0;
}
.ahp-sets-list__row + .ahp-sets-list__row { border-top: 1px solid rgba(0,0,0,.06); }
.ahp-sets-list__name { flex: 1 1 auto; color: #1d1d1f; }
.ahp-sets-list__name i { font-style: normal; color: #86868b; font-size: 12px; }
.ahp-sets-list__price { flex: 0 0 auto; font-weight: 600; color: #1d1d1f; white-space: nowrap; }
.ahp-sets-list__rule {
    margin-top: 10px;
    padding-top: 9px;
    border-top: 1px solid rgba(0,0,0,.06);
    color: #6e6e73;
    font-size: 12.5px;
}
.ahp-sets-hint {
    margin: 8px auto 0;
    color: #6e6e73;
    font-size: 13.5px;
    text-align: center;
}
.ahp-sets-summary {
    margin: 10px 0 0;
    color: #6e6e73;
    font-size: 14px;
    text-align: center;
}
@media (max-width: 860px) {
    .ahp-sets-list { margin-left: 12px; margin-right: 12px; font-size: 13.5px; }
}

/* аудит 15.08.2026: кнопка «Добавлено» в окне комплекта приходит от плагина кислотно-зелёной
   (#6ac80e) и выбивается из чёрно-белой темы клона. Приводим к спокойному зелёному, который
   уже используется на сайте для подтверждений. */
.productsets-userbundle-item.added .productsets-userbundle-add,
.w-dialog-block .productsets-userbundle-item.added .productsets-userbundle-add {
    background: #34c759 !important;
    border-color: #34c759 !important;
    color: #fff !important;
}

/* аудит 15.08.2026: варианты аксессуара в блоке комплекта. Под карточкой стояло сухое
   «1 из 5», а стрелки листания — маленькие и без фона, поэтому покупатель не понимал,
   что вариант можно сменить. Подписываем прямо и делаем стрелки похожими на кнопки. */
.productsets-item-count::before { content: "Вариант "; }
.productsets-item-count {
    color: #6e6e73;
    font-size: 12px;
}
.productsets-alt-prev,
.productsets-alt-next {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50%;
    background: #fff;
    border: 1px solid #d2d2d7;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
    transition: border-color .15s ease, background .15s ease;
}
.productsets-alt-prev:hover,
.productsets-alt-next:hover { border-color: #1d1d1f; background: #f5f5f7; }
.productsets-alt-prev.slick-disabled,
.productsets-alt-next.slick-disabled { opacity: .35; }

/* старая цена в составе набора: показываем, что позиция идёт со скидкой */
.ahp-sets-list__price s {
    margin-right: 6px;
    color: #86868b;
    font-weight: 400;
    text-decoration-color: rgba(0,0,0,.35);
}

/* аудит 15.08.2026: шапка окна «Ваш набор» росла вместе с набором — при четырёх позициях
   она занимала 604 px из 800, и список аксессуаров уходил за нижний край: добавить ещё
   один товар было можно только долгой прокруткой. Держим шапку компактной:
   миниатюры в одну строку с горизонтальной прокруткой, состав — со своей вертикальной. */
.productsets-userbundle-thumbs {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px;
    max-height: 82px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    justify-content: flex-start;
}
.productsets-userbundle-thumbs::-webkit-scrollbar { display: none; }
.productsets-userbundle-thumbs > * { flex: 0 0 auto; }
.productsets-userbundle-thumbs img,
.productsets-userbundle-thumbs svg { max-height: 74px; width: auto; }

.ahp-sets-list__scroll {
    max-height: 138px;
    overflow-y: auto;
    scrollbar-width: thin;
}
.ahp-sets-list__scroll::-webkit-scrollbar { width: 4px; }
.ahp-sets-list__scroll::-webkit-scrollbar-thumb { background: rgba(0,0,0,.18); border-radius: 3px; }
@media (max-width: 860px) {
    .ahp-sets-list__scroll { max-height: 118px; }
    .productsets-userbundle-thumbs { max-height: 70px; }
    .productsets-userbundle-thumbs img,
    .productsets-userbundle-thumbs svg { max-height: 62px; }
}

/* аудит 16.08.2026: состав набора — миниатюрами с ценой под каждой. Список строк при пяти-шести
   позициях занимал пол-окна, а прокрутка внутри него на телефоне почти не работала.
   Теперь: ряд миниатюр (прокручивается вбок, если не помещаются), под каждой — цена со скидкой
   и зачёркнутая старая. Штатный ряд миниатюр плагина скрыт, чтобы картинки не дублировались. */
.productsets-userbundle-thumbs.ahp-sets-thumbs_hidden { display: none !important; }

.ahp-sets-thumbs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 14px auto 0;
    max-width: 640px;
}
.ahp-sets-thumb {
    flex: 0 0 auto;
    width: 96px;
    padding: 8px;
    border-radius: 14px;
    background: #f5f5f7;
    text-align: center;
}
.ahp-sets-thumb_main { background: #ececed; }
.ahp-sets-thumb img {
    display: block;
    width: 100%;
    height: 62px;
    object-fit: contain;
    margin-bottom: 6px;
}
.ahp-sets-thumb__empty { display: block; height: 62px; margin-bottom: 6px; }
.ahp-sets-thumb__price { display: block; line-height: 1.25; }
.ahp-sets-thumb__price s { display: block; color: #86868b; font-size: 11px; }
.ahp-sets-thumb__price b { display: block; color: #1d1d1f; font-size: 13px; font-weight: 600; }
.ahp-sets-thumbs__rule {
    flex: 1 1 100%;
    margin-top: 2px;
    color: #6e6e73;
    font-size: 12.5px;
    text-align: center;
}
@media (max-width: 860px) {
    /* 4 миниатюры в ряд на 393 px: 4 x 78 + 3 x 6 = 330 при доступных ~353 */
    .ahp-sets-thumbs { gap: 6px; padding: 0 8px; }
    .ahp-sets-thumb { width: 78px; padding: 6px 4px; }
    .ahp-sets-thumb img, .ahp-sets-thumb__empty { height: 52px; }
    .ahp-sets-thumb__price b { font-size: 12.5px; }
}

/* стрелки выбора варианта: разносим по краям карточки и ставим по центру по высоте —
   вендор кладёт обе в правый верхний угол, и они читались как одна кнопка */
.productsets-bundle-item .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-prev.slick-arrow {
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
}
.productsets-bundle-item .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-next.slick-arrow {
    right: 8px !important;
    left: auto !important;
    top: 50% !important;
}

/* аудит 16.08.2026: у позиции с галкой «взять в набор» стрелка «назад» ложилась прямо на
   галку — обе стоят слева и по вертикали почти совпадают (галка 3,66 размером 25, стрелка
   8,86 размером 30). Галку поднимаем в левый верхний угол карточки, стрелка остаётся по
   центру: теперь оба элемента видны и не перекрываются. */
.productsets-bundle-item .productsets-checkbox {
    top: 6px !important;
    left: 6px !important;
    z-index: 4;
}
/* подстраховка, если галка окажется не позиционированной: тогда сдвигаем саму стрелку */
.productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-prev.slick-arrow {
    left: 42px !important;
}

/* аудит 16.08.2026, доводка стрелок и галки в блоке комплекта.
   1) Стрелка «назад» была почти не видна: вендор даёт ей серый фон #eee и прозрачность 0.55,
      а лежит она поверх фото товара — покупатель считал, что её нет вообще. Делаем обе
      стрелки белыми и непрозрачными, приглушаем только по-настоящему отключённую (первый
      вариант — назад идти некуда).
   2) Галка «взять в набор» стояла лесенкой над бейджем скидки в левом верхнем углу фото.
      Переносим её в правый верхний угол карточки — там пусто, и она не спорит ни с бейджем,
      ни со стрелкой. */
.productsets-bundle-item .productsets-alt-prev.slick-arrow,
.productsets-bundle-item .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-next.slick-arrow {
    background: #fff !important;
    border: 1px solid #d2d2d7 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
    opacity: 1 !important;
}
.productsets-bundle-item .productsets-alt-prev.slick-disabled,
.productsets-bundle-item .productsets-alt-next.slick-disabled,
html.am .productsets-bundle-item .productsets-alt-prev.slick-disabled,
html.am .productsets-bundle-item .productsets-alt-next.slick-disabled {
    opacity: .3 !important;
    box-shadow: none !important;
}

.productsets-bundle-item .productsets-checkbox,
html.am .productsets-bundle-item .productsets-checkbox {
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    z-index: 4;
}
/* галка встала справа — стрелке «назад» больше не нужно уступать место */
.productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-prev.slick-arrow {
    left: 8px !important;
}

/* аудит 16.08.2026, третий подход к стрелкам. Разносить их по краям карточки оказалось
   неудачно: слева карточку занимает фото, и «назад» терялась на картинке, а перенос галки
   в правый угол посадил её на название товара. Ставим обе стрелки рядом у правого края —
   «назад» левее «вперёд», — тогда фото и название свободны, а галка возвращается на своё
   место у фото и ни с чем не спорит. */
.productsets-bundle-item .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-prev.slick-arrow,
.productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-prev.slick-arrow {
    left: auto !important;
    right: 46px !important;
    top: 50% !important;
    z-index: 5;
}
.productsets-bundle-item .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-next.slick-arrow {
    right: 8px !important;
    left: auto !important;
    top: 50% !important;
    z-index: 5;
}
/* галка возвращается к фото: правый верхний угол занят названием товара */
.productsets-bundle-item .productsets-checkbox,
html.am .productsets-bundle-item .productsets-checkbox {
    top: 6px !important;
    left: 6px !important;
    right: auto !important;
    z-index: 6;
}

/* доводка: у позиций с длинным названием стрелки в правом центре ложились прямо на текст.
   Опускаем их к нижнему краю карточки — там свободно, подпись «Вариант N из 5» стоит по
   центру и стрелкам не мешает. */
.productsets-bundle-item .productsets-alt-prev.slick-arrow,
.productsets-bundle-item .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-next.slick-arrow {
    top: auto !important;
    bottom: 8px !important;
    margin-top: 0 !important;
}

/* ФИНАЛЬНОЕ положение стрелок выбора варианта (16.08.2026).
   Предыдущие подходы спорили друг с другом: правило с :has(.productsets-checkbox) было
   специфичнее и возвращало «назад» наверх, из-за чего у одной карточки стрелки стояли на
   разной высоте. Здесь одно правило на все случаи: обе стрелки внизу справа, рядом.
   Подпись «Вариант N из 5» уводим влево, чтобы стрелки её не перекрывали. */
.productsets-bundle-item .productsets-alt-prev.slick-arrow,
.productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-prev.slick-arrow,
html.am .productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-prev.slick-arrow {
    left: auto !important;
    right: 46px !important;
    top: auto !important;
    bottom: 8px !important;
    margin-top: 0 !important;
}
.productsets-bundle-item .productsets-alt-next.slick-arrow,
.productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item .productsets-alt-next.slick-arrow,
html.am .productsets-bundle-item:has(.productsets-checkbox) .productsets-alt-next.slick-arrow {
    left: auto !important;
    right: 8px !important;
    top: auto !important;
    bottom: 8px !important;
    margin-top: 0 !important;
}
.productsets-bundle-item .productsets-item-count {
    display: block;
    text-align: left;
    padding-left: 4px;
    padding-right: 92px;
}

/* аудит 16.08.2026: зелёная галка обрезалась сверху. Она позиционируется не от карточки,
   а от внутреннего .productsets-item, который начинается на 35 px ниже её верхней границы,
   поэтому top: 6px выводил галку за пределы блока — и её подрезал slick-list с
   overflow: hidden. Сдвигаем внутрь. */
.productsets-bundle-item .productsets-checkbox,
html.am .productsets-bundle-item .productsets-checkbox {
    /* левее бейджа скидки: галка 25 px шириной, бейдж начинается в 31 px от края карточки,
       поэтому держим галку в пределах первых 30 px */
    top: 10px !important;
    left: 2px !important;
    right: auto !important;
}

/* 21.08.2026: у Яндекс.Доставки карта в dp пустая (пунктов Яндекса у плагина нет),
   кликабельность заголовка погашена в apple-desktop/mobile.css — здесь убираем
   наш же чип «на карте» и ссылочный вид, чтобы строка не обещала карту. */
.dp-product_collapsible a.dp-product__service-title_link[data-id="47"] {
    color: inherit !important;
    cursor: default;
}
.dp-product_collapsible a.dp-product__service-title_link[data-id="47"]::after {
    content: none;
}

/* 22.08.2026: экономия лимита Яндекс.Карт (JS API — всего 100 показов/сутки на
   бесплатном тарифе, расходовалось 380–560). Карту пунктов выдачи на КАРТОЧКЕ
   товара отключаем — сроки и цены остаются, а выбор ПВЗ на карте живёт в чекауте,
   где он реально нужен. Гасим клик у всех служб блока dp и убираем чип «на карте».
   Откат: удалить этот блок. Правило перекрывает частные [data-id] выше. */
.dp-product_collapsible a.dp-product__service-title_link {
    pointer-events: none;
    color: inherit !important;
    cursor: default;
    text-decoration: none !important;
}
.dp-product_collapsible a.dp-product__service-title_link::after {
    content: none !important;
}

/* ===== КРАТКОЕ ОПИСАНИЕ В КАРТОЧКЕ (01.09.2026): капсула в стиле остальных блоков ===== */
.ahp-summary {
    background: #f5f5f7;
    border-radius: 14px;
    padding: 14px 18px;
    font-size: 14px;
    line-height: 1.65;
    color: #424245;
    text-wrap: pretty;
    margin-bottom: 14px;
}
