/* Страница товара v2 (28.09.2026) — pages/catalog/item_v2.php. Стиль сайта: фирменный #b74923, скругление 5px, Onest.
   Подключается только на новой странице товара (views/pages/index.php, $pdp_v2). */
.pdp2 {
    --pdp-brand: #b74923;
    --pdp-brand-dark: #9c3d1c;
    --pdp-brand-soft: #fbefe9;
    --pdp-ink: #1c1a19;
    --pdp-muted: #5e5854;
    --pdp-line: #e9e2dd;
    --pdp-soft: #f7f3f0;
    --pdp-ok: #17692a;
    --pdp-ok-bg: #e6f3e9;
    --pdp-no: #a1261c;
    --pdp-no-bg: #fbecea;
    --pdp-top: 90px;
    color: var(--pdp-ink);
    font-variant-numeric: tabular-nums;
}
.pdp2 *, .pdp2 *::before, .pdp2 *::after { box-sizing: border-box; }
.pdp2 button { font: inherit; }
.pdp2 [hidden] { display: none !important; }

/* ── хлебные крошки ───────────────────────────────────────────── */
.pdp2-crumbs.wrapper {
    display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px;
    padding-top: 18px; padding-bottom: 14px; font-size: 14px; color: var(--pdp-muted);
}
.pdp2-crumbs a { color: #3b3633; text-decoration: none; }
.pdp2-crumbs__home { display: inline-flex; color: var(--pdp-brand) !important; }
.pdp2-crumbs span { color: #b1a8a2; }
@media (hover: hover) { .pdp2-crumbs a:hover { color: var(--pdp-brand); text-decoration: underline; } }

/* ── основной блок: фото | покупка ────────────────────────────── */
.pdp2-main.wrapper {
    display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 36px; align-items: start;
    width: calc(100% - 60px); max-width: 1190px; margin: 0 auto; padding: 26px;
    background: #fff; border-radius: 5px;
}
.pdp2-gal { position: sticky; top: calc(var(--pdp-top) + 12px); display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.pdp2-gal__row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: start; }
.pdp2-gal__row > .pdp2-stage:only-child { grid-column: 1 / -1; }
.pdp2-thumbs { display: flex; flex-direction: column; gap: 8px; max-height: 470px; overflow-y: auto; scrollbar-width: thin; }
.pdp2-thumb {
    flex: none; width: 64px; height: 64px; padding: 4px; display: grid; place-items: center;
    background: #fff; border: 1px solid var(--pdp-line); border-radius: 5px; cursor: pointer;
}
.pdp2-thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pdp2-thumb.is-active { border: 2px solid var(--pdp-brand); padding: 3px; }
.pdp2-stage { position: relative; aspect-ratio: 1 / 0.8; max-width: 100%; min-width: 0; }
.pdp2-swiper { width: 100%; height: 100%; overflow: hidden; }
.pdp2-swiper .swiper-slide { display: flex; align-items: center; justify-content: center; height: 100%; }
.pdp2-swiper .swiper-slide a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; cursor: zoom-in; }
.pdp2-swiper .swiper-slide img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.pdp2-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.pdp2-badges { position: absolute; top: 0; left: 0; z-index: 3; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; pointer-events: none; }
.pdp2-badge { display: inline-block; padding: 4px 10px; border-radius: 5px; font-size: 13px; font-weight: 700; color: #fff; line-height: 1.3; }
.pdp2-badge--sale { background: #d7322b; }
.pdp2-badge--top { background: #1f7a3a; }
.pdp2-badge--resealed { background: #5b4b9a; }
.pdp2-nav {
    position: absolute; top: 50%; z-index: 3; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%;
    border: 1px solid var(--pdp-line); background: rgba(255, 255, 255, .92); font-size: 24px; line-height: 1; color: var(--pdp-ink);
    cursor: pointer; display: grid; place-items: center; padding: 0 0 3px;
}
.pdp2-nav--prev { left: 6px; }
.pdp2-nav--next { right: 6px; }
.pdp2-nav:disabled { opacity: 0; pointer-events: none; }
@media (hover: hover) { .pdp2-nav:hover { border-color: var(--pdp-brand); color: var(--pdp-brand); } }
.pdp2-zoom {
    position: absolute; right: 10px; bottom: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border: 0; border-radius: 20px; background: rgba(28, 26, 25, .62); color: #fff !important;
    font-size: 13px; cursor: pointer;
}
.pdp2-zoom b { font-weight: 600; }

/* «Pe scurt» — главные характеристики под фото */
.pdp2-hl { border-top: 1px solid var(--pdp-line); padding-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.pdp2-hl__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.pdp2-hl__head b { font-size: 16px; }
.pdp2-hl__head a { color: var(--pdp-brand); font-weight: 600; font-size: 14px; text-decoration: none; }
.pdp2-hl__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pdp2-tile { background: var(--pdp-soft); border-radius: 5px; padding: 10px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdp2-tile b { font-size: 17px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.pdp2-tile span { font-size: 12.5px; color: var(--pdp-muted); line-height: 1.3; }

/* ── колонка покупки ──────────────────────────────────────────── */
.pdp2-buy { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.pdp2-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 36px; }
.pdp2-brand { display: inline-flex; align-items: center; color: var(--pdp-brand); font-weight: 700; font-size: 15px; text-decoration: none; }
.pdp2-brand img { max-height: 34px; max-width: 150px; width: auto; height: auto; object-fit: contain; }
.pdp2-head__tools { position: relative; display: flex; align-items: center; gap: 4px; }
/* код товара — копируется нажатием */
.pdp2-sku { position: relative; display: inline-flex; align-items: center; gap: 6px; margin-right: 6px; padding: 5px 10px;
    border: 1px solid var(--pdp-line); border-radius: 5px; background: var(--pdp-soft); font-size: 13px; color: var(--pdp-muted);
    white-space: nowrap; cursor: pointer; transition: border-color .15s, background-color .15s; }
.pdp2-sku b { color: var(--pdp-ink); font-weight: 700; letter-spacing: .03em; }
.pdp2-sku__ico { color: #9a8f88; flex: none; }
.pdp2-sku__ok { position: absolute; left: 50%; bottom: calc(100% + 6px); transform: translateX(-50%); padding: 4px 9px; border-radius: 5px;
    background: var(--pdp-ok); color: #fff; font-size: 12.5px; font-weight: 600; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s; }
.pdp2-sku.is-copied { border-color: #7cc68c; background: var(--pdp-ok-bg); }
.pdp2-sku.is-copied .pdp2-sku__ico { color: var(--pdp-ok); }
.pdp2-sku.is-copied .pdp2-sku__ok { opacity: 1; }
@media (hover: hover) { .pdp2-sku:hover { border-color: var(--pdp-brand); background: #fff; } .pdp2-sku:hover .pdp2-sku__ico { color: var(--pdp-brand); } }
.pdp2-icon {
    width: 38px; height: 38px; display: grid; place-items: center; border: 0; background: none; border-radius: 5px;
    color: #4d4643; cursor: pointer; padding: 0;
}
@media (hover: hover) { .pdp2-icon:hover { background: var(--pdp-soft); color: var(--pdp-brand); } }
.pdp2-icon.button__like_active { color: var(--pdp-brand); }
.pdp2-icon.button__like_active path { fill: var(--pdp-brand); }
.pdp2-head__tools .share_social { position: absolute; right: 0; top: 42px; z-index: 20; }
.pdp2-title { margin: 0; font-size: 28px; line-height: 1.22; font-weight: 700; color: var(--pdp-ink); text-wrap: balance; overflow-wrap: anywhere; }

.pdp2-pill { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 6px 12px; border-radius: 5px; font-size: 14px; line-height: 1.35; }
.pdp2-pill i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: none; }
.pdp2-pill b { font-weight: 700; }
.pdp2-pill span { color: #2f5f3a; }
.pdp2-pill a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pdp2-pill--ok { background: var(--pdp-ok-bg); color: var(--pdp-ok); }
.pdp2-pill--no { background: var(--pdp-no-bg); color: var(--pdp-no); }

/* только сотрудникам */
.pdp2-staff { border: 1px dashed #cdb6a7; background: #fffaf6; border-radius: 5px; padding: 10px 12px; font-size: 13.5px; }
.pdp2-staff summary { cursor: pointer; font-weight: 700; color: #7a4a31; display: flex; align-items: center; gap: 6px; list-style: none; }
.pdp2-staff summary::-webkit-details-marker { display: none; }
.pdp2-staff summary::after { content: '▾'; margin-left: auto; color: #a88c7c; }
.pdp2-staff:not([open]) summary::after { content: '▸'; }
.pdp2-staff__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin-top: 10px; }
.pdp2-staff__prices div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.pdp2-staff__prices span { color: var(--pdp-muted); width: 100%; font-size: 12.5px; }
.pdp2-staff__prices small { color: #8a7d75; }
.pdp2-staff__stock { width: 100%; margin-top: 10px; border-collapse: collapse; }
.pdp2-staff__stock th { font-size: 12px; font-weight: 600; color: var(--pdp-muted); text-align: right; padding: 4px 6px; }
.pdp2-staff__stock td { padding: 5px 6px; border-top: 1px solid #f0e4db; text-align: right; }
.pdp2-staff__stock td:first-child, .pdp2-staff__stock th:first-child { text-align: left; padding-left: 0; }
.pdp2-staff__stock tr.is-zero td { color: #a79a92; }
.pdp2-staff__stock tfoot td { font-weight: 700; }
.pdp2-res { display: inline-block; min-width: 22px; padding: 0 6px; border-radius: 10px; background: #f6d9c6; color: #7a3413; text-align: center; }
.pdp2-staff__note { margin: 8px 0 0; font-size: 12.5px; color: #7a6b62; }

/* цена */
.pdp2-price { display: flex; flex-direction: column; gap: 4px; }
.pdp2-price__now { font-size: 36px; line-height: 1.1; font-weight: 700; color: var(--pdp-brand); letter-spacing: -.01em; }
.pdp2-price__old { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 16px; color: #7d7570; }
.pdp2-save { display: inline-block; padding: 3px 9px; border-radius: 5px; background: var(--pdp-brand-soft); color: #8f3413; font-size: 13.5px; font-weight: 600; }
.pdp2-price__for { font-size: 14px; color: var(--pdp-muted); }

/* комплект */
.pdp2-set { border: 1px solid #eadcd3; border-radius: 5px; overflow: hidden; }
.pdp2-set__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; padding: 10px 12px; background: #faf5f2; }
.pdp2-set__head b { font-size: 15px; }
.pdp2-set__head span { font-size: 12.5px; color: var(--pdp-muted); }
.pdp2-set__row, .pdp2-setonly__item { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border-top: 1px solid #f1e7e1; }
.pdp2-set__img { width: 46px; height: 46px; border: 1px solid var(--pdp-line); border-radius: 5px; background: #fff; display: grid; place-items: center; overflow: hidden; }
.pdp2-set__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pdp2-set__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; line-height: 1.3; }
.pdp2-set__t a { color: var(--pdp-ink); font-weight: 600; text-decoration: none; }
.pdp2-set__t small { color: var(--pdp-muted); font-size: 12.5px; }
.pdp2-set__p { font-weight: 700; white-space: nowrap; }
.pdp2-tag { white-space: nowrap; align-self: flex-start; font-style: normal; font-size: 12px; font-weight: 600; color: #8f3413; background: var(--pdp-brand-soft); padding: 1px 7px; border-radius: 5px; }
.pdp2-set__total { display: flex; justify-content: space-between; padding: 10px 12px; border-top: 1px solid #eadcd3; font-size: 15px; }
.pdp2-setonly { border: 1px solid #eadcd3; border-radius: 5px; overflow: hidden; }
.pdp2-setonly p { margin: 0; padding: 12px; background: #faf5f2; font-weight: 600; }
.pdp2-setonly__item { color: inherit; text-decoration: none; }
.pdp2-setonly__item small { color: var(--pdp-brand); font-weight: 600; }

/* кнопки */
.pdp2-actions { display: flex; flex-direction: column; gap: 10px; }
.pdp2-actions__row { display: flex; gap: 10px; }
.pdp2-qty { display: flex; align-items: center; flex: none; width: 118px; height: 50px; border: 1px solid #d8cfc9; border-radius: 5px; background: #fff; }
.pdp2-qty button { width: 38px; height: 100%; border: 0; background: none; font-size: 20px; cursor: pointer; color: #4d4643; }
.pdp2-qty input { width: 40px; height: 100%; border: 0; text-align: center; font-size: 16px; font-weight: 600; -moz-appearance: textfield; background: none; padding: 0; }
.pdp2-qty input::-webkit-outer-spin-button, .pdp2-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pdp2-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 18px;
    border-radius: 5px; border: 1px solid var(--pdp-brand); font-size: 16px; font-weight: 600; line-height: 1.2;
    text-decoration: none; cursor: pointer; text-align: center; transition: background-color .15s, color .15s, border-color .15s;
}
.pdp2-btn--main { flex: 1; background: var(--pdp-brand); color: #fff !important; }
.pdp2-btn--line { width: 100%; background: #fff; color: var(--pdp-brand) !important; }
.pdp2-btn--credit { width: 100%; min-height: 44px; background: #fff; color: var(--pdp-brand) !important; font-size: 15px; }
.pdp2-btn--sm { min-height: 38px; padding: 0 14px; font-size: 14px; }
.pdp2-reserve { background: #fff; color: var(--pdp-brand) !important; }
.pdp2-btn--ghost { background: #fff; color: var(--pdp-muted) !important; border-color: #d8cfc9; }
@media (hover: hover) {
    .pdp2-btn--main:hover { background: var(--pdp-brand-dark); border-color: var(--pdp-brand-dark); }
    .pdp2-btn--line:hover, .pdp2-btn--credit:hover { background: var(--pdp-brand-soft); }
    .pdp2-btn--ghost:hover { border-color: var(--pdp-brand); color: var(--pdp-brand) !important; }
    .pdp2-reserve:hover { background: var(--pdp-brand); color: #fff !important; }
}
.pdp2-btn:focus-visible, .pdp2-icon:focus-visible, .pdp2-thumb:focus-visible, .pdp2 a:focus-visible { outline: 2px solid var(--pdp-brand); outline-offset: 2px; }
.pdp2-reserve-link { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; color: var(--pdp-brand); font-weight: 600; font-size: 14.5px; text-decoration: none; }
@media (hover: hover) { .pdp2-reserve-link:hover { text-decoration: underline; } }

/* кредит (расчёт прежний) */
.pdp2-credit { border: 1px solid var(--pdp-line); border-radius: 5px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.pdp2-credit__line { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 15px; }
.pdp2-credit__term { white-space: nowrap; }
.pdp2-credit .credit_zero { display: inline-block; padding: 1px 6px; border-radius: 4px; background: #e53935; color: #fff; font-weight: 700; font-size: 13px; }

/* уценка */
.pdp2-resealed-info, .pdp2-resealed { border: 1px solid #ddd6ef; background: #f8f6fd; border-radius: 5px; padding: 12px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.pdp2-resealed { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px 12px; align-items: center; }
.pdp2-resealed .pdp2-badge { grid-column: 1 / -1; justify-self: start; }
.pdp2-resealed__img img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 5px; }
.pdp2-resealed__t a { color: var(--pdp-ink); font-weight: 600; text-decoration: none; }
.pdp2-resealed__t s { color: #7d7570; }
.pdp2-resealed .pdp2-btn { grid-column: 1 / -1; min-height: 42px; }

/* почему у нас */
.pdp2-trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; padding: 12px 14px; background: var(--pdp-soft); border-radius: 5px; }
.pdp2-trust__item { display: flex; align-items: center; gap: 10px; border: 0; background: none; padding: 0; text-align: left; font-size: 13.5px; line-height: 1.3; cursor: pointer; color: var(--pdp-ink); }
.pdp2-trust__item img { width: 22px; height: 22px; object-fit: contain; flex: none; }
.pdp2-trust__item b { font-weight: 700; }
@media (hover: hover) { .pdp2-trust__item:hover span { text-decoration: underline; } }

/* ── меню-якоря и разделы ─────────────────────────────────────── */
.pdp2 .product-sales { margin-top: 16px; }
.pdp2-anchors { position: sticky; top: var(--pdp-top); z-index: 30; margin-top: 16px; background: #fff; border-bottom: 1px solid var(--pdp-line); box-shadow: 0 2px 8px rgba(28, 26, 25, .04); }
.pdp2-anchors__in.wrapper { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.pdp2-anchors__in::-webkit-scrollbar { display: none; }
.pdp2-anchors a { flex: none; padding: 14px 0 12px; border-bottom: 2px solid transparent; color: #3b3633; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; }
.pdp2-anchors a.is-active { color: var(--pdp-brand); border-bottom-color: var(--pdp-brand); }
@media (hover: hover) { .pdp2-anchors a:hover { color: var(--pdp-brand); } }
.pdp2-sections.wrapper { display: flex; flex-direction: column; gap: 16px; padding-top: 16px; }
.pdp2-sec { background: #fff; border-radius: 5px; padding: 24px 26px; scroll-margin-top: calc(var(--pdp-top) + 60px); }
.pdp2-h2 { margin: 0 0 16px; font-size: 22px; line-height: 1.25; font-weight: 700; color: var(--pdp-ink); }
.pdp2-h3 { margin: 22px 0 8px; font-size: 17px; font-weight: 700; }
.pdp2-h3 span { color: var(--pdp-muted); font-weight: 500; }
.pdp2-sub { margin: -8px 0 16px; color: var(--pdp-muted); font-size: 15px; }
.pdp2-specgroup + .pdp2-specgroup { margin-top: 22px; }
.pdp2-specgroup__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 16px; }
.pdp2-specgroup__head img { width: 40px; height: 40px; object-fit: contain; border: 1px solid var(--pdp-line); border-radius: 5px; background: #fff; flex: none; }
.pdp2-specgroup__head .pdp2-tag { align-self: center; }
/* характеристики: читаются сверху вниз по колонкам, значение рядом с названием, строки через одну с фоном */
.pdp2-specs { margin: 0; columns: 2; column-gap: 28px; }
.pdp2-specs div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: baseline;
    padding: 9px 12px; border-radius: 5px; break-inside: avoid; font-size: 15px; line-height: 1.35; }
.pdp2-specs div:nth-child(odd) { background: var(--pdp-soft); }
.pdp2-specs dt { color: var(--pdp-muted); }
.pdp2-specs dd { margin: 0; font-weight: 600; color: var(--pdp-ink); overflow-wrap: anywhere; }
.pdp2-specs dd svg { vertical-align: -2px; margin-right: 4px; }
.pdp2-specs dd.is-yes { color: var(--pdp-ok); }
.pdp2-specs dd.is-no { color: #8a817b; font-weight: 500; }
.pdp2-note { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 0; font-size: 13.5px; color: var(--pdp-muted); }
.pdp2-note svg { flex: none; margin-top: 2px; }
.pdp2-doc { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--pdp-brand); font-weight: 600; text-decoration: none; }
.pdp2-text { max-width: 860px; font-size: 16px; line-height: 1.65; color: #2c2826; overflow-wrap: anywhere; }
.pdp2-text img, .pdp2-text iframe, .pdp2-text table { max-width: 100%; height: auto; }
.pdp2-text p { margin: 0 0 12px; }

/* магазины */
.pdp2-stores { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 24px; align-items: start; }
.pdp2-shops { display: flex; flex-direction: column; }
.pdp2-shop { display: grid; grid-template-columns: minmax(0, 1fr) 150px 140px; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid #f0ebe7; }
.pdp2-shop:first-child { border-top: 1px solid #f0ebe7; }
.pdp2-shop__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 15px; }
.pdp2-shop__info small { font-size: 13px; color: var(--pdp-muted); }
.pdp2-maplink { align-self: flex-start; display: inline-flex; align-items: center; gap: 4px; border: 0; background: none; padding: 2px 0; color: var(--pdp-brand); font-size: 13.5px; font-weight: 600; cursor: pointer; }
.pdp2-shop__st { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; }
.pdp2-shop__st i { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.pdp2-shop.is-yes .pdp2-shop__st { color: var(--pdp-ok); }
.pdp2-shop.is-yes .pdp2-shop__st i { background: #2e9d4a; }
.pdp2-shop.is-no .pdp2-shop__st { color: #8a817b; font-weight: 500; }
.pdp2-shop.is-no .pdp2-shop__st i { background: #cfc6c0; }
.pdp2-shop__act { display: flex; justify-content: flex-end; }
.pdp2-shop.is-active { background: linear-gradient(90deg, var(--pdp-brand-soft), transparent 70%); }
.pdp2-map { position: sticky; top: calc(var(--pdp-top) + 64px); border-radius: 5px; overflow: hidden; background: var(--pdp-soft); min-height: 420px; }
.pdp2-map__top { display: none; }
.pdp2-map__frame { display: none; }
.pdp2-map__frame.is-active { display: block; }
.pdp2-map__frame iframe { display: block; width: 100%; height: 420px; border: 0; }

/* аксессуары */
.pdp2-acc { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; }
.pdp2-acc__row { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto 42px; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid #f0ebe7; }
.pdp2-acc__img img { width: 56px; height: 56px; object-fit: contain; }
.pdp2-acc__t { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 14px; line-height: 1.3; }
.pdp2-acc__t a { color: var(--pdp-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pdp2-acc__t small { color: var(--pdp-muted); font-size: 12.5px; }
.pdp2-acc__p { display: flex; flex-direction: column; align-items: flex-end; font-size: 14px; white-space: nowrap; }
.pdp2-acc__p s { color: #8a817b; font-size: 12.5px; }
.pdp2-plus { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--pdp-brand); background: #fff; color: var(--pdp-brand); font-size: 24px; line-height: 1; cursor: pointer; padding: 0 0 2px; }
@media (hover: hover) { .pdp2-plus:hover { background: var(--pdp-brand); color: #fff; } .pdp2-acc__t a:hover { color: var(--pdp-brand); } }

/* похожие (<5 товаров, без карусели): сетка в ширину экрана, без выхода за край на телефоне */
.pdp2-rel .products_items .swiper-wrapper { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; transform: none; width: 100%; }
.pdp2-rel .products_items .product_item { width: auto; min-width: 0; margin: 0; }
@media (max-width: 600px) { .pdp2-rel .products_items .swiper-wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } }
/* похожие: рассрочка — в блоке покупки, на карточках не повторяем */
.pdp2-rel .brand_logo img[src*="/assets/img/credit_"] { display: none; }

/* ── панель покупки внизу ─────────────────────────────────────── */
.pdp2-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 997; background: #fff; border-top: 1px solid var(--pdp-line);
    box-shadow: 0 -4px 16px rgba(28, 26, 25, .08); padding: 10px 0 calc(10px + env(safe-area-inset-bottom, 0px));
    transform: translateY(110%); transition: transform .2s ease-out; visibility: hidden;
}
.pdp2-bar.is-visible { transform: none; visibility: visible; }
.pdp2-bar__in.wrapper { display: flex; align-items: center; gap: 14px; }
.pdp2-bar__img { width: 44px; height: 44px; object-fit: contain; flex: none; }
.pdp2-bar__t { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.pdp2-bar__name { font-size: 14px; color: var(--pdp-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp2-bar__t b { font-size: 20px; color: var(--pdp-brand); white-space: nowrap; }
.pdp2-bar .pdp2-btn { flex: none; min-width: 240px; min-height: 46px; }

/* ── кнопки звонка и чата: одинаковые круги 52 px справа, звонок над чатом, обе над панелью покупки ── */
body.pdp2-page #mcChatWidget { right: 16px !important; bottom: 20px !important; transition: bottom .2s; }
body.pdp2-page #mcChatWidget .mcMain { transform: scale(.9); transform-origin: right bottom; }
body.pdp2-page .phone_fix:has(.coccoc-alo-phone) { left: auto !important; right: 16px !important; bottom: 84px !important; width: 52px; height: 52px; transform: none; transition: bottom .2s; }
body.pdp2-page .phone_fix .ring { display: block; width: 52px; height: 52px; }
body.pdp2-page .phone_fix .coccoc-alo-phone { position: relative; width: 52px !important; height: 52px !important; top: 0; right: 0; }
body.pdp2-page .phone_fix .coccoc-alo-ph-circle { width: 72px !important; height: 72px !important; top: -10px !important; left: -10px !important; }
body.pdp2-page .phone_fix .coccoc-alo-ph-circle-fill { display: none; }
body.pdp2-page .phone_fix .coccoc-alo-ph-img-circle { width: 52px !important; height: 52px !important; top: 0 !important; left: 0 !important; opacity: 1 !important;
    background-color: #2fbf3a !important; background-size: 26px !important; border: 0; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
/* над панелью покупки: её фактическая высота (--pdp-bar-h, считает pdp2.js — с отступом iPhone и крупным шрифтом) + 12 px */
body.pdp2-bar-on #mcChatWidget { bottom: calc(var(--pdp-bar-h, 64px) + 12px) !important; }
body.pdp2-bar-on .phone_fix:has(.coccoc-alo-phone) { bottom: calc(var(--pdp-bar-h, 64px) + 76px) !important; }

/* ── окна: резерв и подтверждение ─────────────────────────────── */
.pdp2-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.pdp2-modal__bg { position: absolute; inset: 0; background: rgba(28, 22, 19, .55); }
.pdp2-modal__box { position: relative; width: 100%; max-width: 500px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 5px; padding: 20px 22px 22px; box-shadow: 0 20px 50px rgba(0, 0, 0, .25); color: var(--pdp-ink); }
.pdp2-modal__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.pdp2-modal__title { font-size: 20px; font-weight: 700; line-height: 1.25; }
.pdp2-x { width: 36px; height: 36px; border: 0; border-radius: 5px; background: var(--pdp-soft); font-size: 22px; line-height: 1; cursor: pointer; flex: none; }
.pdp2 .pdp2-form { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; width: auto; max-width: none; background: none; }
.pdp2-field { display: flex; flex-direction: column; gap: 5px; margin: 0; }
.pdp2-field > span { font-size: 13.5px; font-weight: 600; color: #3b3633; }
.pdp2 .pdp2-field input, .pdp2 .pdp2-field select, .pdp2 .pdp2-field textarea {
    width: 100%; min-height: 46px; padding: 10px 12px; margin: 0; border: 1px solid #d8cfc9; border-radius: 5px;
    background: #fff; font: inherit; font-size: 16px; color: var(--pdp-ink); box-shadow: none;
}
.pdp2 .pdp2-field textarea { min-height: 64px; resize: vertical; }
.pdp2 .pdp2-field input:focus, .pdp2 .pdp2-field select:focus, .pdp2 .pdp2-field textarea:focus { outline: none; border-color: var(--pdp-brand); box-shadow: 0 0 0 3px rgba(183, 73, 35, .15); }
.pdp2-form__work { color: var(--pdp-muted); font-size: 13px; }
.pdp2-form__prod { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px; background: var(--pdp-soft); border-radius: 5px; font-size: 14px; }
.pdp2-form__prod img { width: 48px; height: 48px; object-fit: contain; background: #fff; border-radius: 5px; }
.pdp2-form__prod div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdp2-form__prod small { color: var(--pdp-muted); }
.pdp2-form__price { white-space: nowrap; }
.pdp2-form__info { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--pdp-muted); }
.pdp2-form .pdp2-btn { width: 100%; }
.pdp2-done { text-align: center; }
.pdp2-done .pdp2-x { position: absolute; right: 12px; top: 12px; }
.pdp2-done__ok { width: 56px; height: 56px; margin: 6px auto 10px; border-radius: 50%; background: var(--pdp-ok-bg); color: var(--pdp-ok); font-size: 30px; font-weight: 700; display: grid; place-items: center; }
.pdp2-done p { margin: 8px 0 14px; }
.pdp2-done__dl { margin: 0 0 16px; text-align: left; background: var(--pdp-soft); border-radius: 5px; padding: 6px 12px; }
.pdp2-done__dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; padding: 6px 0; font-size: 14px; }
.pdp2-done__dl dt { color: var(--pdp-muted); }
.pdp2-done__dl dd { margin: 0; font-weight: 600; }
.pdp2-done .pdp2-btn { width: 100%; }
body.pdp2-lock { overflow: hidden; }
body.pdp2-lock #mcChatWidget, body.pdp2-lock .phone_fix { display: none !important; } /* не закрывают окно резерва */

/* ── средние экраны ───────────────────────────────────────────── */
@media (max-width: 1100px) {
    .pdp2-main.wrapper { grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; padding: 20px; }
    .pdp2-stores { grid-template-columns: minmax(0, 1fr) 340px; }
    .pdp2-shop { grid-template-columns: minmax(0, 1fr) 130px 120px; }
    .pdp2-acc { grid-template-columns: 1fr; }
}

/* ── телефон и планшет ────────────────────────────────────────── */
@media (max-width: 850px) {
    .pdp2-crumbs.wrapper { padding: 10px 16px; font-size: 13px; flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
    .pdp2-crumbs::-webkit-scrollbar { display: none; }
    .pdp2-main.wrapper { grid-template-columns: minmax(0, 1fr); gap: 16px; width: 100%; padding: 12px 16px 20px; border-radius: 0; }
    .pdp2-gal { display: contents; }
    .pdp2-gal__row { order: 1; }
    .pdp2-buy { order: 2; }
    .pdp2-gal__row { grid-template-columns: minmax(0, 1fr); }
    .pdp2-thumbs { display: none; }
    .pdp2-stage { aspect-ratio: 1 / 0.86; }
    .pdp2-nav { display: none; }
    .pdp2-zoom span:first-of-type { display: none; }
    .pdp2-zoom { padding: 5px 10px; }
    .pdp2-hl { order: 3; }
    .pdp2-hl__tiles { gap: 6px; }
    .pdp2-tile { padding: 8px 10px; }
    .pdp2-tile b { font-size: 15px; }
    .pdp2-tile span { font-size: 12px; }
    .pdp2-buy { gap: 12px; }
    .pdp2-title { font-size: 22px; }
    .pdp2-price__now { font-size: 30px; }
    .pdp2-sku { font-size: 12px; padding: 4px 8px; gap: 4px; }
    .pdp2-trust { grid-template-columns: 1fr; }
    .pdp2-anchors { margin-top: 0; }
    .pdp2-anchors__in.wrapper { padding: 0 16px; gap: 22px; }
    .pdp2-sections.wrapper { padding: 12px 0 0; gap: 12px; }
    .pdp2-sec { padding: 18px 16px; border-radius: 0; }
    .pdp2-h2 { font-size: 19px; margin-bottom: 12px; }
    .pdp2-specs { columns: 1; }
    .pdp2-specs div { font-size: 14px; padding: 8px 10px; gap: 12px; }
    .pdp2-text { font-size: 15px; }
    .pdp2-stores { grid-template-columns: minmax(0, 1fr); }
    .pdp2-shop { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
    .pdp2-shop__info { grid-column: 1 / -1; }
    .pdp2-shop__act { justify-content: flex-end; }
    .pdp2-map { display: none; }
    .pdp2-map.is-open { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: 100000; border-radius: 0; background: #fff; }
    .pdp2-map.is-open .pdp2-map__top { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--pdp-line); }
    .pdp2-map.is-open .pdp2-map__frame.is-active { flex: 1; }
    .pdp2-map.is-open .pdp2-map__frame iframe { height: 100%; min-height: 70vh; }
    .pdp2-acc__row { grid-template-columns: 48px minmax(0, 1fr) auto 40px; gap: 10px; }
    .pdp2-acc__img img { width: 48px; height: 48px; }
    /* панель покупки на телефоне всегда видна */
    .pdp2-bar { transform: none; visibility: visible; padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)); }
    .pdp2-bar__in.wrapper { padding: 0 16px; gap: 10px; }
    .pdp2-bar__img { width: 40px; height: 40px; border-radius: 5px; background: #fff; }
    .pdp2-bar__t { flex: 1 1 auto; gap: 1px; }
    .pdp2-bar__name { font-size: 12px; line-height: 1.25; color: var(--pdp-muted); }
    .pdp2-bar__t b { font-size: 17px; line-height: 1.2; }
    .pdp2-bar .pdp2-btn { min-width: 0; width: auto !important; max-width: 52%; flex: 0 0 auto; min-height: 44px; font-size: 14.5px; padding: 0 14px; }
    .pdp2-bar__t { min-width: 0; overflow: hidden; }
    body.pdp2-has-bar { padding-bottom: calc(var(--pdp-bar-h, 64px) + 4px); }
    .pdp2-modal { align-items: flex-end; padding: 0; }
    .pdp2-modal__box { max-width: none; border-radius: 12px 12px 0 0; max-height: 92vh; padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px)); }
}
@media (max-width: 480px) {
    .pdp2-sku__l { display: none; } /* на узком экране — только код и значок, чтобы влезли «поделиться» и «избранное» */
    .pdp2-brand img { max-width: 120px; max-height: 30px; }
}
@media (max-width: 420px) {
    .pdp2-hl__tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pdp2-actions__row { gap: 8px; }
    .pdp2-qty { width: 106px; }
    .pdp2-btn { font-size: 15px; padding: 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .pdp2-bar, .pdp2-btn { transition: none; }
}
