/* ==========================================================================
   DELUXE 2026 — страница товара (deluxe27). Подключается только на ней
   (Controller_Index_Catalog::action_index, флаг enabled_product в config/home2026.php).
   Раскладка магазина (v_product.php, style.css, media.css) не меняется: этот файл
   только перекрашивает её в палитру редизайна и меняет шрифты на Manrope/Unbounded.
   Все селекторы начинаются с body.dlx-product, чтобы перебивать style.css по специфичности.
   Цвета — брендбук: красный #DD1D1D, графит #3A3A3A, зелёный #17884C; токены как в home2026.css.
   ========================================================================== */

@font-face {
    font-family: "Manrope";
    src: url("/media/fonts/manrope-cyrillic.woff2") format("woff2");
    font-weight: 400 800;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Manrope";
    src: url("/media/fonts/manrope-latin.woff2") format("woff2");
    font-weight: 400 800;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Unbounded";
    src: url("/media/fonts/unbounded-cyrillic.woff2") format("woff2");
    font-weight: 500 800;
    font-display: swap;
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Unbounded";
    src: url("/media/fonts/unbounded-latin.woff2") format("woff2");
    font-weight: 500 800;
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body.dlx-product {
    --red: #DD1D1D;
    --red-600: #C8171A;
    --red-50: #FDECEC;
    --green: #17884C;
    --green-50: #E7F3EC;
    --ink: #1F1D1E;
    --ink-2: #4A4648;
    --muted: #716C68;
    --muted-2: #9C968F;
    --line: #E8E3DC;
    --line-2: #D9D2C8;
    --cream: #F6F2EC;
    --cream-2: #EEE7DD;
    --photo-bg: #F7F6F4;
    --amber-bg: #FFF1DB;
    --amber: #9A5B00;
    --ff: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    --ff-display: "Unbounded", "Manrope", system-ui, sans-serif;
    --r-sm: 12px;
    --r: 18px;
    --r-lg: 26px;
    --shadow-sm: 0 1px 2px rgba(31, 29, 30, .06), 0 2px 8px rgba(31, 29, 30, .05);
    --shadow: 0 10px 30px -12px rgba(31, 29, 30, .22);
    --ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- Ширина контента ----------
   Шапка и подвал на всю ширину — общие правила (style.css: body без ограничения, header-v2.css: центр шапки 1232 px).
   Здесь — контент страницы товара по той же линии, что логотип в шапке (1232 px) */
@media screen and (min-width: 1280px) {
    body.dlx-product .contentWrapper { box-sizing: border-box; max-width: 1280px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
}

/* ---------- Шрифт и крошки ---------- */
body.dlx-product .itemInfo,
body.dlx-product .breadCrumbs {
    font-family: var(--ff);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
}
body.dlx-product .itemInfo button,
body.dlx-product .itemInfo input,
body.dlx-product .itemInfo textarea { font-family: inherit; }

body.dlx-product .breadCrumbs { margin: 16px 0 4px; }
body.dlx-product .breadCrumbs__list { gap: 6px; font-weight: 600; }
body.dlx-product .breadCrumbs,
body.dlx-product .breadCrumbs__link,
body.dlx-product .breadCrumbs__current,
body.dlx-product .breadCrumbs__label { font-size: 13px !important; }
body.dlx-product .breadCrumbs__link,
body.dlx-product .breadCrumbs__current { color: var(--muted); font-weight: 600; }
body.dlx-product .breadCrumbs__link:hover { color: var(--ink); }
body.dlx-product .breadCrumbs__item.is-current .breadCrumbs__current,
body.dlx-product .breadCrumbs__current { color: var(--ink-2); }
body.dlx-product .breadCrumbs__item + .breadCrumbs__item::before {
    content: "/";
    width: auto; height: auto;
    margin-right: 6px;
    border: 0;
    transform: none;
    opacity: 1;
    color: var(--line-2);
}

/* ---------- Первый экран: карточка с фото и покупкой ---------- */
body.dlx-product .main-view {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
}
body.dlx-product .main-view-container { padding: 10px 0 8px; }

/* Фото: нейтральная подложка, снимки на белом «вырезаются» через multiply — как в карточках главной */
body.dlx-product .itemImg { background: none; }
body.dlx-product .main-swiper { border-radius: var(--r); background: var(--photo-bg); }
body.dlx-product .main-swiper .swiper-wrapper { background: transparent; box-shadow: none; }
body.dlx-product .main-swiper .swiper-slide a { display: block; cursor: zoom-in; }
body.dlx-product .main-swiper img { border-radius: 0; mix-blend-mode: multiply; }
body.dlx-product .itemImgVibir { left: 14px; top: 14px; padding: 5px; border-radius: 14px; box-shadow: var(--shadow-sm); }
body.dlx-product .fav-card--product {
    top: 14px; right: 14px;
    width: 46px; height: 46px;
    background: #fff;
    color: var(--muted);
    box-shadow: var(--shadow-sm);
    transition: color .2s, transform .2s var(--ease);
}
body.dlx-product .fav-card--product:hover { color: var(--red); transform: scale(1.08); }
body.dlx-product .fav-card--product.is-active { color: var(--red); }
body.dlx-product .fav-card--product.is-active .fav-icon { fill: currentColor; }

/* Стрелки и счётчик на главном фото: стрелки появляются при наведении (на телефоне — свайп и счётчик) */
body.dlx-product .main-swiper .gal-nav {
    width: 42px; height: 42px;
    margin-top: -21px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--shadow-sm);
    color: var(--ink);
    opacity: 0;
    transition: opacity .2s, transform .2s var(--ease), background-color .2s;
}
body.dlx-product .main-swiper .swiper-button-prev { left: 14px; }
body.dlx-product .main-swiper .swiper-button-next { right: 14px; }
body.dlx-product .main-swiper .gal-nav::after { font-size: 14px; font-weight: 800; color: var(--ink); }
body.dlx-product .main-swiper:hover .gal-nav,
body.dlx-product .main-swiper .gal-nav:focus-visible { opacity: 1; }
body.dlx-product .main-swiper:hover .gal-nav.swiper-button-disabled { opacity: 0; }
body.dlx-product .main-swiper .gal-nav:hover { background: #fff; transform: scale(1.06); }
body.dlx-product .main-swiper .gal-count {
    left: auto; right: 14px; bottom: 14px;
    width: auto;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    box-shadow: var(--shadow-sm);
    font-size: 12.5px; font-weight: 800;
    line-height: 1.4;
    color: var(--ink-2);
    font-variant-numeric: tabular-nums;
    pointer-events: none;
}
@media (hover: none) {
    body.dlx-product .main-swiper .gal-nav { display: none; }
}

/* Миниатюры: ширину и отступ задаёт Swiper (slidesPerView 4/5) — ряд всегда кончается целой миниатюрой */
body.dlx-product .thumbs-row { position: relative; margin-top: 12px; }
body.dlx-product .thumb-swiper { height: auto; margin: 0; }
body.dlx-product .thumbs-row:has(.swiper-slide:only-child) { display: none; }
body.dlx-product .thumb-swiper .swiper-wrapper { height: auto; align-items: stretch; }
body.dlx-product .thumb-swiper .swiper-slide {
    flex: 0 0 auto;
    height: auto;
    aspect-ratio: 1;
    margin-right: 0;
    border: 2px solid transparent;
    border-radius: 14px;
    background: var(--photo-bg);
    overflow: hidden;
    cursor: pointer;
    transition: border-color .2s;
}
body.dlx-product .thumb-swiper .swiper-slide:hover { border-color: var(--line-2); }
body.dlx-product .thumb-swiper .swiper-slide-thumb-active,
body.dlx-product .thumb-swiper .swiper-slide-thumb-active:hover { border-color: var(--ink); }
body.dlx-product .thumb-swiper .swiper-slide img {
    width: 100%; height: 100%;
    object-fit: contain;
    border-radius: 0;
    padding: 4px;
    box-sizing: border-box;
    mix-blend-mode: multiply;
}
body.dlx-product .thumbs-nav {
    position: absolute; top: 50%; z-index: 3;
    display: flex; align-items: center; justify-content: center;
    width: 32px; height: 32px;
    margin-top: -16px;
    padding: 0;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: #fff;
    box-shadow: var(--shadow-sm);
    color: var(--ink);
    cursor: pointer;
    transition: opacity .2s, background-color .2s;
}
/* .main-view-container обрезает всё за краем (overflow: hidden в разметке) — стрелки лежат поверх крайних миниатюр */
body.dlx-product .thumbs-prev { left: 6px; }
body.dlx-product .thumbs-next { right: 6px; }
body.dlx-product .thumbs-nav:hover { background: var(--cream); }
body.dlx-product .thumbs-nav.swiper-button-disabled { opacity: 0; pointer-events: none; }
body.dlx-product .thumbs-nav.swiper-button-lock { display: none; }
body.dlx-product .real-photo-badge { margin: 10px 0 0 4px; font-size: 12.5px; font-weight: 700; color: var(--muted); }
body.dlx-product .real-photo-badge svg { color: var(--green); }

/* ---------- Название, наличие, отзывы ---------- */
body.dlx-product .itemName {
    margin: 4px 0 12px;
    font-family: var(--ff-display);
    font-weight: 700;
    font-size: clamp(26px, 1.1rem + 1.5vw, 38px);
    line-height: 1.1;
    letter-spacing: -.035em;
    color: var(--ink);
}
body.dlx-product .infop-mob { gap: 8px; margin-top: 0; }
body.dlx-product .available-pr,
body.dlx-product .hit,
body.dlx-product .no_product {
    display: inline-flex; align-items: center; gap: 6px;
    height: 28px; padding: 0 11px;
    border: 0;
    border-radius: 999px;
    font-family: var(--ff);
    font-size: 12.5px; font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    line-height: 1;
}
body.dlx-product .available-pr { background: var(--green-50); color: var(--green); }
body.dlx-product .available-pr.available-pr--low { background: var(--amber-bg); color: var(--amber); }
body.dlx-product .hit { background: var(--cream); color: var(--red); }
body.dlx-product .no_product { background: var(--cream-2); color: var(--ink-2); }
body.dlx-product #product-header-block .action {
    display: inline-flex; align-items: center;
    width: auto; height: 28px;
    margin: 0 0 10px;
    padding: 0 11px;
    border-radius: 999px;
    background: var(--red);
    font-size: 12.5px; font-weight: 800;
}
body.dlx-product .reviews-mob .stars-row { margin-right: 6px; }
body.dlx-product .reviews-mob .stars-row svg { fill: #F2A400; }
body.dlx-product .reviews-mob .reviews-link {
    border-bottom-color: var(--line-2);
    font-size: 14px; font-weight: 600;
    color: var(--muted);
}
body.dlx-product .reviews-mob .reviews-link:hover { color: var(--ink); border-bottom-color: var(--ink); }
body.dlx-product p.originaldesc { margin-top: 14px; font-size: 16px; line-height: 1.55; color: var(--ink-2); }

/* ---------- Фасовки и цена ---------- */
body.dlx-product .pk-label {
    margin: 24px 0 10px;
    font-size: 12px; font-weight: 800;
    letter-spacing: .12em;
    color: var(--muted);
}
body.dlx-product .itemPriceList { gap: 8px; }
body.dlx-product .itemPriceList li {
    min-height: 58px;
    padding: 9px 10px;
    border: 1.5px solid var(--line-2);
    border-radius: 14px;
    transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s;
}
@media (hover: hover) {
    body.dlx-product .itemPriceList li:not(.selected):hover { border-color: var(--ink); }
}
body.dlx-product .itemPriceList li:focus-visible { box-shadow: 0 0 0 3px rgba(221, 29, 29, .35); }
body.dlx-product .weight-amount { font-size: 15.5px; font-weight: 800; color: var(--ink); }
body.dlx-product .weight-price { font-size: 13px; font-weight: 700; color: var(--ink-2); }
body.dlx-product .itemPriceList li.selected { background: var(--ink); border-color: var(--ink); box-shadow: none; }
body.dlx-product .itemPriceList li.selected .weight-amount { color: #fff; }
body.dlx-product .itemPriceList li.selected .weight-price { color: rgba(255, 255, 255, .7); }

body.dlx-product #selectedPrice { margin: 20px 0 16px; justify-content: flex-start; }
body.dlx-product .price-container { align-items: baseline; gap: 12px; }
body.dlx-product .price-actual {
    font-family: var(--ff-display);
    font-size: clamp(28px, 1.4rem + .8vw, 36px);
    font-weight: 700;
    letter-spacing: -.04em;
    color: var(--ink);
}
body.dlx-product .price-container .price-actual { color: var(--red); }
body.dlx-product .price-old { font-family: var(--ff); font-size: 16px; font-weight: 600; color: var(--muted); }
body.dlx-product .discount-badge {
    top: 0;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--red);
    font-family: var(--ff);
    font-size: 12.5px; font-weight: 800;
    letter-spacing: 0;
}

/* ---------- Счётчик, «В корзину», «в 1 клик» ---------- */
body.dlx-product .button-buy-productcart { column-gap: 10px; }
body.dlx-product .quantity_price {
    height: 56px;
    border: 1.5px solid var(--line-2);
    border-radius: 999px;
    overflow: hidden;
}
body.dlx-product .quantity_price .decrease_s,
body.dlx-product .quantity_price .increase_s,
body.dlx-product .quantity_price .quant_order_b {
    height: 100%;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-size: 18px; font-weight: 700;
    color: var(--ink);
    transition: background-color .2s;
}
body.dlx-product .quantity_price .decrease_s,
body.dlx-product .quantity_price .increase_s { width: 44px; }
body.dlx-product .quantity_price .quant_order_b { width: 36px; font-size: 17px; font-weight: 800; }
body.dlx-product .quantity_price .increase_s:hover,
body.dlx-product .quantity_price .decrease_s:hover { background: var(--cream); }

body.dlx-product .a_price button {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    height: 56px;
    border-radius: 999px;
    background: var(--red);
    font-size: 16px; font-weight: 800;
    letter-spacing: -.005em;
    box-shadow: 0 10px 24px -12px rgba(221, 29, 29, .8);
    transition: background-color .2s, box-shadow .25s, transform .2s var(--ease);
}
body.dlx-product .a_price button:hover { background: var(--red-600); box-shadow: 0 14px 30px -12px rgba(221, 29, 29, .9); }
body.dlx-product .a_price button:active { transform: translateY(1px) scale(.99); }
body.dlx-product .a_price button::before { display: none; }
body.dlx-product .a_price button .cart-icon { margin: 0; }

body.dlx-product .one-click-box { margin: 10px 0 18px; }
body.dlx-product #buyOneClick {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    width: 100%; height: 48px;
    padding: 0 16px;
    border: 1.5px solid var(--line-2);
    border-radius: 999px;
    font-size: 14.5px; font-weight: 700;
    color: var(--ink);
    text-decoration: none;
    transition: border-color .2s, background-color .2s;
}
body.dlx-product #buyOneClick:hover { border-color: var(--ink); color: var(--ink); text-decoration: none; }

/* Ожидается: кнопка «Сообщить, когда появится» (v_waitlist_block) */
body.dlx-product .waitlist-block button,
body.dlx-product .waitlist-block .button { border-radius: 999px; font-family: var(--ff); font-weight: 800; }

/* ---------- Доставка и оплата под кнопкой ---------- */
body.dlx-product .delivery-info { border-top: 1px solid var(--line); padding-right: 0; font-size: 14px; line-height: 1.5; color: var(--muted); }
body.dlx-product .delivery-info .info-row { gap: 14px; padding: 16px 0; }
body.dlx-product .delivery-info .info-row + .info-row { border-top: 1px solid var(--line); }
body.dlx-product .delivery-info svg {
    box-sizing: content-box;
    width: 20px; height: 20px;
    margin-top: 0;
    padding: 10px;
    border-radius: 50%;
    background: var(--cream);
    fill: var(--ink);
}
body.dlx-product .delivery-info b { margin-bottom: 2px; font-size: 15px; font-weight: 800; color: var(--ink); }
body.dlx-product .delivery-info a { white-space: nowrap; font-weight: 700; color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--red); }
body.dlx-product .delivery-info a:hover { color: var(--red); }
body.dlx-product .delivery-info .payment-available-icons { margin-top: 10px; }
body.dlx-product .delivery-info .payment-available-icons img { opacity: .75; }

/* ---------- Характеристики (происхождение, срок, код, бренд, состав) ----------
   Блок лежит внутри .main-view (комментарий «/main-view» в v_product.php стоит раньше настоящего закрытия),
   поэтому оформлен не второй рамкой, а кремовой полосой внутри карточки */
body.dlx-product .block-info-product {
    margin: 6px 0 2px;
    padding: 18px 22px;
    border: 0;
    border-radius: var(--r);
    background: var(--cream);
}
body.dlx-product .product-meta-grid { gap: 18px 24px; }
body.dlx-product .product-meta-label {
    margin-bottom: 3px;
    font-size: 12.5px; font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--muted);
}
body.dlx-product .product-meta-value { font-size: 15px; font-weight: 800; color: var(--ink); }
body.dlx-product .block-info-product .nutrients { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line-2); }
body.dlx-product .block-info-product .product-meta-section-title {
    margin-bottom: 4px;
    font-size: 12.5px; font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
    color: var(--muted);
}
body.dlx-product .product-meta-composition-text { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); }

/* ---------- Смотрите также ---------- */
body.dlx-product .also-wrap { margin-top: 10px; padding-top: 10px; }
body.dlx-product .also-head { gap: 14px; }
body.dlx-product .also-head:after { background: var(--line); }
body.dlx-product .also-label { font-size: 12px; font-weight: 800; letter-spacing: .12em; color: var(--muted); }
/* Карточек не больше 4 (get_alsoproduct, LIMIT 4): на десктопе 4 равные колонки, на телефоне 2×2 — без прокрутки вбок
   и без обрезанной карточки у края */
body.dlx-product .also {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
    padding: 0;
    overflow: visible;
}
body.dlx-product .also a {
    gap: 12px;
    min-width: 0;
    min-height: 68px;
    padding: 8px 12px 8px 8px;
    border: 0;
    border-radius: 14px;
    background: var(--cream);
    color: var(--ink);
    transition: background-color .2s;
}
body.dlx-product .also a:hover { background: var(--cream-2); box-shadow: none; transform: none; color: var(--ink); }
body.dlx-product .also-card { flex: none; min-width: 0; }
body.dlx-product .also-card__thumb { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 10px; background: #fff; }
body.dlx-product .also-card__thumb img { object-fit: contain; mix-blend-mode: multiply; }
body.dlx-product .also-card__name { font-size: 14.5px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
body.dlx-product .also-card__arrow { background: #fff; color: var(--muted); }
body.dlx-product .also a:hover .also-card__arrow { background: #fff; color: var(--ink); transform: translateX(3px); }

/* ---------- Табы ---------- */
body.dlx-product #ptab { margin-top: 36px; border-bottom: 1px solid var(--line); }
/* media.css на узких экранах даёт li ширину 45% и поля — вкладки становились одинаково широкими и уезжали за край */
body.dlx-product #ptab > li { width: auto; padding: 0; margin-bottom: -1px; margin-right: 26px; }
body.dlx-product #ptab > li > a {
    padding: 14px 0;
    border-bottom: 2px solid transparent;
    font-size: 15px; font-weight: 700;
    color: var(--ink-2);
}
body.dlx-product #ptab > li > a:hover { color: var(--ink); border-bottom-color: var(--line-2); }
body.dlx-product #ptab > li.active > a,
body.dlx-product #ptab > li.active > a:hover { color: var(--ink); font-weight: 700; border-bottom-color: var(--red); }
body.dlx-product .tab-content { padding-top: 6px; }
body.dlx-product #specifics { margin-top: 32px; }

/* ---------- Описание: типографика ----------
   :where(body.dlx-product) — вес как у правил style.css (.product_description h2), файл подключён позже и их перебивает,
   а своё оформление описания из админки (custom_css: .sp-hero h2 — белый заголовок на тёмном баннере и т. п.) остаётся сильнее.
   С полным весом body.dlx-product заголовок баннера становился тёмным по тёмному и получал чужие отступы. */
:where(body.dlx-product) .product_description { font-size: 16px; line-height: 1.65; color: var(--ink-2); }
:where(body.dlx-product) .product_description p { line-height: 1.65; }
:where(body.dlx-product) .product_description h2,
:where(body.dlx-product) .product_description h3,
:where(body.dlx-product) .product_description h4 { color: var(--ink); }
:where(body.dlx-product) .product_description h2 {
    margin: 44px 0 18px;
    padding: 0;
    border: 0;
    font-family: var(--ff-display);
    font-size: clamp(21px, 1rem + .9vw, 27px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -.03em;
}
:where(body.dlx-product) .product_description h3 { margin: 30px 0 12px; font-family: var(--ff); font-size: 20px; font-weight: 800; line-height: 1.25; }
:where(body.dlx-product) .product_description h4 { font-family: var(--ff); font-weight: 800; }
:where(body.dlx-product) .product_description a { color: var(--red); }
:where(body.dlx-product) .product_description table th { color: var(--ink); }

/* ---------- Отзывы ---------- */
body.dlx-product .reviews-name {
    margin: 10px 0 6px;
    font-family: var(--ff-display);
    font-size: 26px; font-weight: 700;
    letter-spacing: -.03em;
    color: var(--ink);
}
body.dlx-product #articlecomments ul { margin-top: 16px; }
body.dlx-product #articlecomments li,
body.dlx-product #articlecomments li:last-child {
    box-sizing: border-box;
    margin-bottom: 12px;
    padding: 20px 24px;
    border: 1px solid var(--line);
    border-radius: var(--r);
    line-height: 1.5;
}
body.dlx-product .review-header { margin-bottom: 10px; }
body.dlx-product .review-avatar { padding-right: 12px; }
body.dlx-product .review-avatar svg circle:first-child { fill: var(--green); }
body.dlx-product .review-author { font-size: 15.5px; font-weight: 800; color: var(--ink); line-height: 1.3; }
body.dlx-product .review-city { font-weight: 600; color: var(--muted); }
body.dlx-product .review-header-top, body.dlx-product .review-header-bottom { line-height: 1.4; }
body.dlx-product .rev-date { font-size: 13px; font-weight: 600; color: var(--muted); }
body.dlx-product .verified-comment,
body.dlx-product .loyal-comment {
    display: inline-flex; align-items: center;
    height: 24px; padding: 0 10px;
    margin-right: 8px;
    border-radius: 999px;
    font-size: 12px; font-weight: 700;
    line-height: 1;
}
body.dlx-product .verified-comment { background: var(--green-50); color: var(--green); }
body.dlx-product .loyal-comment { background: var(--cream); color: var(--ink); }
body.dlx-product .review-text { font-size: 15px; line-height: 1.65; color: var(--ink-2); }
body.dlx-product .review-text.is-collapsed { max-height: 100px; }
body.dlx-product .review-toggle { border-bottom-color: var(--line-2); color: var(--ink); font-weight: 700; }
body.dlx-product .review-toggle:hover { color: var(--red); border-bottom-color: var(--red); }
body.dlx-product .admin-comment {
    margin-top: 14px;
    padding: 14px 16px;
    border-left: 3px solid var(--red);
    border-radius: 14px;
    background: var(--cream);
}
body.dlx-product .admin-avatar img { width: 22px; height: 22px; filter: none; }
body.dlx-product .admin-answer-name { font-size: 13px; font-weight: 800; color: var(--ink); }
body.dlx-product .admin-comment-text { font-size: 14.5px; line-height: 1.6; color: var(--ink-2); }
body.dlx-product #articlecomments .subcomment { margin: 14px 0 0 40px; padding-top: 14px; border-top: 1px solid var(--line); }
body.dlx-product .commentresult { padding: 10px 14px; border-radius: var(--r-sm); background: var(--green); }

/* Форма отзыва */
body.dlx-product #otziv form {
    box-sizing: border-box;
    width: 100%;
    padding: 24px;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    background: var(--cream);
}
body.dlx-product .head-comment-form { margin: 0 0 16px; font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); }
body.dlx-product .rating-label { margin-bottom: 8px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
body.dlx-product .rating-stars { margin-bottom: 18px; }
body.dlx-product .rating-stars img { width: 32px; height: 32px; margin-right: 4px; cursor: pointer; }
body.dlx-product .formrows { margin: 6px 0; width: 100%; }
body.dlx-product .formrows label { margin-bottom: 6px; font-size: 13.5px; font-weight: 700; color: var(--ink-2); }
body.dlx-product .formrows input,
body.dlx-product .formrows textarea {
    padding: 12px 14px;
    border: 1.5px solid var(--line-2);
    border-radius: var(--r-sm);
    background: #fff;
    font-size: 15px;
    line-height: 1.4;
    color: var(--ink);
    transition: border-color .2s;
}
body.dlx-product .formrows input:focus,
body.dlx-product .formrows textarea:focus { outline: none; border-color: var(--ink); }
body.dlx-product .formrows textarea { min-height: 120px; }
/* style.css держит строку согласия в одну строку (nowrap) — на телефоне ссылка уезжала за край формы */
body.dlx-product .consent-row-label,
body.dlx-product .consent-text { white-space: normal; }
body.dlx-product .consent-text { font-size: 13.5px; color: var(--ink-2); }
body.dlx-product .consent-text a { color: var(--ink); font-weight: 700; border-bottom: 1px solid var(--red); text-decoration: none; }
body.dlx-product .consent-error { color: var(--red); }
body.dlx-product .comment-submit {
    height: 50px;
    margin-top: 16px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--red);
    font-size: 15px; font-weight: 800;
    box-shadow: 0 10px 24px -12px rgba(221, 29, 29, .8);
    transition: background-color .2s, opacity .2s;
}
body.dlx-product .comment-submit:hover { background: var(--red-600); }
body.dlx-product .comment-submit.disabled { opacity: .5; }

/* ---------- Рекомендуем: карточки листинга магазина в палитре 2026 ---------- */
/* Ширина карточек в style.css/media.css посчитана под промежуток 11px (calc((100% - 22px) / 3) и т. п.) —
   рамка входит в ширину (border-box), иначе ряд не влезал и на телефоне карточки шли в один столбец */
body.dlx-product .iGalleryList { gap: 11px; }
body.dlx-product .iGalleryList li {
    box-sizing: border-box;
    border: 1px solid var(--line);
    border-radius: var(--r);
    box-shadow: none;
    transition: box-shadow .25s, transform .25s var(--ease), border-color .25s;
}
body.dlx-product .iGalleryList li:hover { border-color: var(--line-2); box-shadow: var(--shadow); transform: translateY(-3px); }
/* .product_name — фиксированная высота с overflow: hidden: третья строка длинного названия обрезалась пополам,
   поэтому не больше двух строк с многоточием */
body.dlx-product a.product_http {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    font-family: var(--ff); font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; color: var(--ink);
}
body.dlx-product a.product_http:hover { color: var(--red); }
body.dlx-product .badge-stock { border-radius: 999px; padding: 5px 9px; font-family: var(--ff); font-size: 11.5px; font-weight: 800; letter-spacing: 0; }
body.dlx-product .badge-stock--new { background: var(--green); }
body.dlx-product .badge-stock--sale { background: var(--red); }
body.dlx-product .badge-stock--in { background: var(--green-50); color: var(--green); }
body.dlx-product .itemImg_ img { mix-blend-mode: multiply; }
body.dlx-product .prodMiniDesc .itemDescription { font-size: 13.5px; line-height: 1.45; color: var(--muted); }
body.dlx-product .price_pr { font-family: var(--ff); font-size: 18px; font-weight: 800; color: var(--ink); }
body.dlx-product .old_price { color: var(--muted); }
body.dlx-product .uah_pr { color: var(--muted); }
body.dlx-product .iGalleryList li .buyButton,
body.dlx-product .iGalleryList li .buyButton_ua { background-color: var(--red); }
body.dlx-product .iGalleryList li .buyButton:hover,
body.dlx-product .iGalleryList li .buyButton_ua:hover { background-color: var(--red-600); box-shadow: 0 8px 18px -8px rgba(221, 29, 29, .8); }
body.dlx-product .available-mini { border-top-color: var(--line); border-radius: 0 0 var(--r) var(--r); background: var(--green-50); color: var(--green); font-weight: 700; }
body.dlx-product .fav-card.is-active { color: var(--red); }
body.dlx-product .hits {
    margin-top: 12px;
    font-family: var(--ff-display);
    font-size: 26px; font-weight: 700;
    letter-spacing: -.03em;
    color: var(--ink);
}
body.dlx-product .hits::after { width: 44px; background: var(--red); }

/* ---------- Доставка и оплата (таб) ---------- */
body.dlx-product .tems-container {
    padding: 24px 26px;
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    background: #fff;
}
body.dlx-product .tems-container p { font-size: 19px; font-weight: 800; color: var(--ink); }
body.dlx-product .terms ul { margin-top: 14px; }
body.dlx-product .terms ul li { margin-bottom: 10px; padding-left: 18px; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
body.dlx-product .terms ul li:before { top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--red); }
body.dlx-product .terms a { color: var(--ink); font-weight: 700; text-decoration: none; border-bottom: 1px solid var(--red); }
body.dlx-product .terms a:hover { color: var(--red); }
body.dlx-product .terms-free { color: var(--green); font-weight: 800; }

/* ---------- Узкий десктоп: «в 1 клик» под кнопкой не помещается в одну строку — на всю ширину ряда ---------- */
@media screen and (min-width: 1001px) and (max-width: 1180px) {
    body.dlx-product .one-click-box { grid-column: 1 / -1; }
}

/* ---------- Телефон ---------- */
@media screen and (max-width: 770px) {
    body.dlx-product .main-view { padding: 10px; }
    body.dlx-product .itemName { font-size: clamp(22px, .8rem + 3vw, 30px); text-align: center; text-wrap: balance; }
    body.dlx-product p.originaldesc { text-align: center; }
    body.dlx-product .pk-label { text-align: center; }
    body.dlx-product .itemPriceList { justify-content: center; }
    body.dlx-product #selectedPrice { justify-content: center; }
    body.dlx-product .delivery-info { background: var(--cream); border-top: 0; border-radius: var(--r); padding: 2px 14px; }
    body.dlx-product .delivery-info svg { background: #fff; }
    body.dlx-product .also { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Блок фото: style.css держит высоту 660px под десктоп; в одну колонку это давало пустую полосу под миниатюрами */
@media screen and (max-width: 1000px) {
    body.dlx-product .itemImg { height: auto; margin-bottom: 0; }
    body.dlx-product .priceblock { padding-top: 0; }
    body.dlx-product .product-meta-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
}
/* Кружок-стрелка в «Смотрите также» отнимал место у названия — на узких экранах только фото и название */
@media screen and (max-width: 1180px) {
    body.dlx-product .also-card__arrow { display: none; }
}
/* Поля по бокам: у магазина на телефоне контент в 4px от края экрана — карточка товара «прилипала» к краям */
@media screen and (max-width: 600px) {
    body.dlx-product .centerBar { box-sizing: border-box; padding-left: 8px; padding-right: 8px; }
    /* в две колонки названия не помещались — списком, по карточке в строку */
    body.dlx-product .also { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    body.dlx-product .also a { gap: 12px; min-height: 60px; padding: 6px 12px 6px 6px; }
    body.dlx-product .also-card__thumb { flex-basis: 48px; width: 48px; height: 48px; }
    body.dlx-product .also-card__arrow { display: flex; }
    body.dlx-product .product-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
}
@media screen and (max-width: 550px) {
    /* 5–6 фасовок: по три в ряд, неполный ряд по центру (сеткой он прижимался влево) */
    body.dlx-product .itemPriceList[data-count="5"],
    body.dlx-product .itemPriceList[data-count="6"] { display: flex; flex-wrap: wrap; justify-content: center; }
    body.dlx-product .itemPriceList[data-count="5"] li,
    body.dlx-product .itemPriceList[data-count="6"] li { flex: 0 0 calc((100% - 16px) / 3); max-width: 112px; box-sizing: border-box; }
    body.dlx-product .quantity_price .decrease_s,
    body.dlx-product .quantity_price .increase_s,
    body.dlx-product .quantity_price .quant_order_b { height: 100%; }
    body.dlx-product .itemPriceList li { min-height: 56px; padding: 8px 6px; }
    body.dlx-product #articlecomments li,
    body.dlx-product #articlecomments li:last-child { padding: 16px; }
    body.dlx-product #otziv form { padding: 18px; }
    body.dlx-product .tems-container { padding: 18px; }
}

/* Табы-«пилюли» на телефоне (style.css, max-width: 576px): крем / активная графит */
@media screen and (max-width: 576px) {
    body.dlx-product #ptab { padding: 4px 0; }
    body.dlx-product #ptab > li { margin-right: 0; }
    body.dlx-product #ptab > li > a {
        margin-right: 8px;
        padding: 0 16px;
        height: 38px;
        line-height: 38px;
        border: 0;
        border-radius: 999px;
        background: var(--cream);
        color: var(--ink);
        font-size: 14px; font-weight: 700;
    }
    body.dlx-product #ptab > li > a:hover { background: var(--cream-2); color: var(--ink); }
    body.dlx-product #ptab > li.active > a,
    body.dlx-product #ptab > li.active > a:hover { background: var(--ink); color: #fff; font-weight: 700; }
}
