/*
 * Ok2Shop — страница товара (макеты: Ok2Shop → Макеты).
 * Классы o2p-*; варианты галереи o2p--gal-{thumbs_left|thumbs_bottom|grid|stack|slider}.
 * Кнопки — button.o2p-…: тема (Woodmart) оформляет все button правилом :is(button, …), перебиваем специфичностью.
 */

.o2p {
	--o2p-accent: var(--ok2shop-primary, var(--wd-primary-color, #439665));
	/* Ссылки: свой цвет (Цвета и шрифты) → цвет ссылок темы → основной. */
	--o2p-link: var(--ok2shop-link, var(--wd-link-color, var(--o2p-accent)));
	--o2p-link-hover: var(--ok2shop-link-hover, var(--wd-link-color-hover, var(--o2p-link)));
	--o2p-text: #2b2b2b;
	--o2p-title: #1a1a1a;
	--o2p-muted: #8a8a8a;
	--o2p-line: #ececec;
	--o2p-soft: #f6f6f4;
	--o2p-media: #f4f4f2;
	--o2p-r: 14px;
	--o2p-r-sm: 10px;
	--o2p-gap: 48px;
	color: var(--o2p-text);
	margin: 8px 0 64px;
}
.o2p *, .o2p *::before, .o2p *::after { box-sizing: border-box; }
.o2p--wide { width: 100vw; max-width: 1760px; margin-left: 50%; padding: 0 clamp(16px, 3vw, 48px); transform: translateX(-50%); }

/* Сброс оформления темы для наших кнопок */
.o2p button:is(.o2p-gal__nav, .o2p-gal__full, .o2p-gal__thumb, .o2p-tabs__tab, .o2p-qty__btn, .o2p-action, .o2p-more),
.o2p-lb button { min-height: 0; height: auto; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: inherit; font: inherit; letter-spacing: normal; text-transform: none; line-height: 1.2; gap: 0; cursor: pointer; }

/* ---------- Верх: галерея + правая колонка ---------- */
.o2p__top { display: grid; grid-template-columns: minmax(0, var(--o2p-gal-w, 55%)) minmax(0, 1fr); gap: var(--o2p-gap); align-items: start; }
.o2p__gallery { min-width: 0; }
/* Сетка: фото и «под фото» слева, правая колонка — на обе строки (липнет, пока листаются фото и блоки под ними). */
.o2p__top { grid-template-areas: "gal sum" "aside sum"; grid-template-rows: auto 1fr; }
.o2p__gallery { grid-area: gal; }
.o2p__summary { grid-area: sum; align-self: start; }
.o2p__aside { grid-area: aside; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.o2p__aside .o2p-section { margin: 0; padding: 0; border: 0; }
.o2p__aside .o2p-section__title { margin-top: 0; }
.o2p__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 20px; margin-bottom: 20px; }
.o2p__head > .o2p-block--title { flex-basis: 100%; }
.o2p__head .o2p-title { margin: 0; }
.o2p__summary { min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.o2p--sticky .o2p__summary { position: sticky; top: 24px; }
.o2p--gal-stack .o2p__summary,
.o2p--gal-grid .o2p__summary { position: sticky; top: 24px; }

/* ---------- Галерея ---------- */
.o2p-gal { position: relative; display: grid; gap: 12px; }
.o2p-gal__stage { position: relative; min-width: 0; border-radius: var(--o2p-r); overflow: hidden; background: var(--o2p-media); }
.o2p-gal__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; outline: none; }
.o2p-gal__track::-webkit-scrollbar { display: none; }
.o2p-gal__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: center; aspect-ratio: 1; display: flex; align-items: center; justify-content: center; overflow: hidden; cursor: zoom-in; }
.o2p--ratio-portrait .o2p-gal__slide { aspect-ratio: 4 / 5; }
.o2p--ratio-landscape .o2p-gal__slide { aspect-ratio: 4 / 3; }
.o2p--ratio-auto .o2p-gal__slide { aspect-ratio: auto; }
.o2p--zoom-none .o2p-gal__slide { cursor: default; }
.o2p-gal__slide img { width: 100%; height: 100%; object-fit: contain; display: block; user-select: none; transition: transform .25s ease; }
.o2p--ratio-auto .o2p-gal__slide img { height: auto; }
.o2p-gal__slide.is-zooming img { transition: none; transform: scale(2.2); cursor: crosshair; }

.o2p button.o2p-gal__nav { position: absolute; top: 50%; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--o2p-title); box-shadow: 0 2px 10px rgba(0, 0, 0, .12); opacity: 0; transition: opacity .2s, transform .2s, background .15s; }
.o2p button.o2p-gal__nav--prev { left: 14px; }
.o2p button.o2p-gal__nav--next { right: 14px; }
.o2p-gal__stage:hover button.o2p-gal__nav,
.o2p button.o2p-gal__nav:focus-visible { opacity: 1; }
.o2p button.o2p-gal__nav:hover { background: #fff; transform: scale(1.06); }
.o2p button.o2p-gal__nav[disabled] { opacity: 0 !important; pointer-events: none; }
.o2p button.o2p-gal__full { position: absolute; right: 14px; bottom: 14px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--o2p-title); box-shadow: 0 2px 10px rgba(0, 0, 0, .12); }
.o2p button.o2p-gal__full:hover { background: #fff; }
.o2p-gal__count { position: absolute; left: 14px; bottom: 14px; z-index: 2; padding: 4px 10px; border-radius: 999px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 12px; font-variant-numeric: tabular-nums; }
.o2p-gal__badge { position: absolute; left: 14px; top: 14px; z-index: 2; padding: 5px 10px; border-radius: 8px; background: #e5484d; color: #fff; font-size: 13px; font-weight: 700; }
.o2p-gal__dots { position: absolute; left: 0; right: 0; bottom: 12px; display: none; justify-content: center; gap: 6px; }
.o2p-gal__dots i { width: 6px; height: 6px; border-radius: 3px; background: rgba(0, 0, 0, .25); transition: width .2s, background .2s; }
.o2p-gal__dots i.is-active { width: 18px; background: var(--o2p-accent); }
.o2p-gal--empty { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: var(--o2p-r); background: var(--o2p-media); color: #c8c8c8; overflow: hidden; }
.o2p-gal--empty img { display: block; width: 100%; height: 100%; object-fit: cover; }

.o2p-gal__thumbs { display: flex; gap: 10px; overflow: auto; scrollbar-width: thin; }
.o2p button.o2p-gal__thumb { flex: none; width: 76px; height: 76px; padding: 0; border-radius: var(--o2p-r-sm); overflow: hidden; background: var(--o2p-media); box-shadow: inset 0 0 0 1px var(--o2p-line); opacity: .7; transition: opacity .15s, box-shadow .15s; }
.o2p button.o2p-gal__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.o2p button.o2p-gal__thumb:hover { opacity: 1; }
.o2p button.o2p-gal__thumb.is-active { opacity: 1; box-shadow: inset 0 0 0 2px var(--o2p-accent); }

/* Миниатюры слева */
@media (min-width: 1025px) {
	.o2p--gal-thumbs_left.o2p--multi .o2p-gal { grid-template-columns: 76px minmax(0, 1fr); }
	.o2p--gal-thumbs_left .o2p-gal__thumbs { order: -1; flex-direction: column; overflow-x: hidden; overflow-y: auto; scrollbar-width: none; max-height: var(--o2p-stage-h, 640px); padding-right: 2px; }
}

/* Слайдер без миниатюр: точки */
.o2p--gal-slider .o2p-gal__thumbs { display: none; }
.o2p--gal-slider .o2p-gal__dots { display: flex; }
.o2p--gal-slider .o2p-gal__count { display: none; }

/* Сетка и колонка: все фото сразу (десктоп), клик — во весь экран */
@media (min-width: 1025px) {
	.o2p--gal-grid .o2p-gal__stage,
	.o2p--gal-stack .o2p-gal__stage { background: none; border-radius: 0; overflow: visible; }
	.o2p--gal-grid .o2p-gal__track { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; overflow: visible; scroll-snap-type: none; }
	.o2p--gal-grid .o2p-gal__slide:first-child { grid-column: 1 / -1; }
	.o2p--gal-stack .o2p-gal__track { flex-direction: column; gap: 12px; overflow: visible; scroll-snap-type: none; }
	.o2p--gal-grid .o2p-gal__slide,
	.o2p--gal-stack .o2p-gal__slide { border-radius: var(--o2p-r); background: var(--o2p-media); }
	.o2p--gal-grid :is(.o2p-gal__thumbs, .o2p-gal__nav, .o2p-gal__count, .o2p-gal__full),
	.o2p--gal-stack :is(.o2p-gal__thumbs, .o2p-gal__nav, .o2p-gal__count, .o2p-gal__full) { display: none !important; }
}

/* ---------- Правая колонка ---------- */
.o2p-block { min-width: 0; }
.o2p-block--title { margin-top: -4px; }
.o2p-crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; color: var(--o2p-muted); font-size: 13px; }
.o2p-crumbs a { color: inherit; text-decoration: none; }
.o2p-crumbs a:hover { color: var(--o2p-accent); }
.o2p h1.o2p-title { margin: 0; color: var(--o2p-title); font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; line-height: 1.22; letter-spacing: -.01em; text-transform: none; }
.o2p-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.o2p-badge { padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.o2p-badge--sale { background: #e5484d; color: #fff; }
.o2p-badge--hit { background: #f5a524; color: #fff; }
.o2p-badge--out { background: var(--o2p-soft); color: var(--o2p-muted); }
.o2p-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; color: var(--o2p-muted); font-size: 13px; }
.o2p-meta b { color: var(--o2p-text); font-weight: 600; }
.o2p-meta a { color: var(--o2p-accent); text-decoration: none; }
.o2p-rating { display: inline-flex; align-items: center; gap: 10px; color: var(--o2p-muted); font-size: 13px; text-decoration: none; }
.o2p-rating:hover { color: var(--o2p-accent); }
.o2p-stars { display: inline-block; width: 90px; height: 16px; flex: none; background: linear-gradient(90deg, #f5a524 var(--o2p-rate, 0%), #dedede var(--o2p-rate, 0%)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M9 .8l2.4 4.9 5.4.8-3.9 3.8.9 5.4L9 13.2l-4.8 2.5.9-5.4L1.2 6.5l5.4-.8z'/%3E%3C/svg%3E") 0 0 / 18px 16px repeat-x; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M9 .8l2.4 4.9 5.4.8-3.9 3.8.9 5.4L9 13.2l-4.8 2.5.9-5.4L1.2 6.5l5.4-.8z'/%3E%3C/svg%3E") 0 0 / 18px 16px repeat-x; }

.o2p-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.o2p-price__now { color: var(--o2p-title); font-size: clamp(26px, 2.4vw, 34px); font-weight: 800; line-height: 1.1; text-decoration: none; letter-spacing: -.01em; }
ins.o2p-price__now { background: none; color: #e5484d; }
.o2p-price__old { color: var(--o2p-muted); font-size: 18px; }
.o2p-price__save { padding: 3px 10px; border-radius: 999px; background: rgba(229, 72, 77, .1); color: #d13438; font-size: 13px; font-weight: 600; }
.o2p-price__note { margin-top: 4px; color: var(--o2p-muted); font-size: 14px; }
/* Цена за единицу и за упаковку — рядом, каждая со своей подписью. */
.o2p-price--pair { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); align-items: stretch; gap: 0; }
.o2p-price__cell { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; padding-right: 24px; }
.o2p-price__cell + .o2p-price__cell { padding-left: 24px; padding-right: 0; border-left: 1px solid var(--o2p-line); }
.o2p-price__cell .o2p-price__old { font-size: 15px; line-height: 1.2; }
.o2p-price__pack { color: var(--o2p-title); font-size: clamp(20px, 1.8vw, 24px); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.o2p-price__cell:first-child .o2p-price__pack { font-size: clamp(26px, 2.4vw, 34px); font-weight: 800; line-height: 1.1; }
.o2p-price__cell:not(:first-child) .o2p-price__now { font-size: clamp(20px, 1.8vw, 24px); font-weight: 700; line-height: 1.25; }
.o2p-price__per { color: var(--o2p-muted); font-size: 14px; line-height: 1.3; }
.o2p-price > .o2p-price__now + .o2p-price__per { margin-left: -8px; font-size: 16px; }
.o2p-price--pair + .o2p-price__save { display: inline-block; margin-top: 10px; }
@media (max-width: 420px) {
	.o2p-price__cell { padding-right: 16px; }
	.o2p-price__cell + .o2p-price__cell { padding-left: 16px; }
}

.o2p-stock { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.o2p-stock i { width: 8px; height: 8px; border-radius: 50%; box-shadow: 0 0 0 4px rgba(0, 0, 0, .04); }
.o2p-stock.is-in { color: #2f8a4c; }
.o2p-stock.is-in i { background: #34a853; box-shadow: 0 0 0 4px rgba(52, 168, 83, .15); }
.o2p-stock.is-out { color: #b54747; }
.o2p-stock.is-out i { background: #e5484d; }
.o2p-stock.is-low { color: #b45309; }
.o2p-stock.is-low i { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245, 158, 11, .18); }
.o2p-stock.is-order { color: #2563eb; }
.o2p-stock.is-order i { background: #3b82f6; box-shadow: 0 0 0 4px rgba(59, 130, 246, .15); }
.o2p-stock.is-ask { color: #5b6472; }
.o2p-stock.is-ask i { background: #9aa3b2; box-shadow: 0 0 0 4px rgba(154, 163, 178, .2); }

.o2p-keys { margin: 0; padding: 14px 16px; border-radius: var(--o2p-r); background: var(--o2p-soft); display: grid; gap: 8px; font-size: 14px; }
.o2p-keys > div { display: flex; align-items: baseline; gap: 8px; }
.o2p-keys dt { flex: none; max-width: 55%; color: var(--o2p-muted); font-weight: 400; }
.o2p-keys dt::after { content: ""; }
.o2p-keys > div:not(.o2p-keys__line)::before { content: ""; order: 1; flex: 1; min-width: 12px; border-bottom: 1px dotted #c9c9c9; transform: translateY(-4px); }
.o2p-keys dd { order: 2; margin: 0; color: var(--o2p-title); font-weight: 500; text-align: right; }
.o2p-keys__line dd { order: 0; text-align: left; }
.o2p-keys__line dd::before { content: "•"; margin-right: 8px; color: var(--o2p-accent); }
.o2p-link { display: inline-block; margin-top: 8px; color: var(--o2p-accent); font-size: 14px; font-weight: 600; text-decoration: none; }
.o2p-link:hover { text-decoration: underline; }
.o2p-short { color: var(--o2p-text); font-size: 15px; line-height: 1.6; }
.o2p-short p { margin: 0 0 8px; }

/* Покупка */
.o2p-buy { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; border: 0; background: none; }
.o2p-calc { padding: 16px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r); background: var(--o2p-page-bg, #fff); }
.o2p-calc__title { margin-bottom: 10px; color: var(--o2p-title); font-weight: 700; }
.o2p-calc__row { display: flex; gap: 10px; }
.o2p-calc__row .ok2shop-field { flex: 1; margin: 0; }
.o2p-calc .ok2shop-field > span { display: block; margin-bottom: 6px; color: var(--o2p-muted); font-size: 13px; }
.o2p-calc input[type="number"] { width: 100%; height: 46px; padding: 0 14px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r-sm); font-size: 16px; }
.o2p-calc input[type="number"]:focus { border-color: var(--o2p-accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--o2p-accent) 18%, transparent); }
.o2p-calc .ok2shop-calc__reserve { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 12px; font-size: 13px; color: var(--o2p-muted); }
.o2p-calc .ok2shop-calc__reserve > span { margin-right: 4px; }
.o2p-calc .ok2shop-calc__reserve label { position: relative; cursor: pointer; }
.o2p-calc .ok2shop-calc__reserve input { position: absolute; opacity: 0; pointer-events: none; }
.o2p-calc .ok2shop-calc__reserve label span { display: inline-block; padding: 5px 12px; border: 1px solid var(--o2p-line); border-radius: 999px; color: var(--o2p-text); transition: border-color .15s, background .15s; }
.o2p-calc .ok2shop-calc__reserve input:checked + span { border-color: var(--o2p-accent); background: color-mix(in srgb, var(--o2p-accent) 10%, #fff); color: var(--o2p-title); font-weight: 600; }
/* Калькулятор в один ряд: длина × ширина = площадь, укладка. */
.o2p-calc__row { align-items: flex-end; }
.o2p-calc__row--room .ok2shop-field { flex: 1 1 0; min-width: 0; }
.o2p-calc__row--room .o2p-calc__laying { flex: 1.5 1 0; }
.o2p-calc__op { flex: none; align-self: flex-end; height: 46px; display: flex; align-items: center; color: var(--o2p-muted); font-size: 18px; }
.o2p-calc select { width: 100%; height: 46px; padding: 0 30px 0 12px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r-sm); background-color: #fff; font-size: 15px; color: var(--o2p-title); }
.o2p-calc select:focus { border-color: var(--o2p-accent); outline: none; }
.o2p-calc input[type="number"] { -moz-appearance: textfield; }
.o2p-calc input[type="number"]::-webkit-inner-spin-button, .o2p-calc input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.o2p-calc .ok2shop-field > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 560px) {
	.o2p-calc__row--room { flex-wrap: wrap; }
	.o2p-calc__row--room .o2p-calc__laying { flex-basis: 100%; }
}
.o2p-calc .ok2shop-calc__result { margin: 12px 0 0; padding: 10px 12px; border-radius: var(--o2p-r-sm); background: color-mix(in srgb, var(--o2p-accent) 8%, #fff); color: var(--o2p-title); font-weight: 600; }

.o2p-buy__row { display: flex; gap: 10px; align-items: stretch; }
.o2p-qty { display: inline-flex; align-items: center; flex: none; height: 54px; margin: 0; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r-sm); background: #fff; }
.o2p button.o2p-qty__btn { width: 42px; height: 100%; display: inline-flex; align-items: center; justify-content: center; color: var(--o2p-title); font-size: 20px; }
.o2p button.o2p-qty__btn:hover { color: var(--o2p-accent); }
.o2p-qty input[type="number"] { width: 58px; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0 !important; background: none !important; box-shadow: none !important; text-align: center; font-size: 16px; font-weight: 600; -moz-appearance: textfield; }
.o2p-qty input::-webkit-outer-spin-button,
.o2p-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.o2p-qty__unit { margin-left: -6px; padding-right: 2px; color: var(--o2p-muted); font-size: 13px; }
.o2p :is(a, button).o2p-buy__btn,
.o2p button.o2p-bar__btn { border: 0; background: var(--o2p-accent); color: #fff; box-shadow: none; }
.o2p :is(a, button).o2p-buy__btn:hover,
.o2p button.o2p-bar__btn:hover { background: var(--o2p-accent); color: #fff; filter: brightness(.93); }
.o2p .o2p-buy__btn { flex: 1; min-height: 54px; padding: 0 24px; border-radius: var(--o2p-r-sm); font-size: 16px; font-weight: 700; letter-spacing: .01em; text-transform: none; }

.o2p-actions { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.o2p button.o2p-action { display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; color: var(--o2p-text); font-size: 14px; }
.o2p button.o2p-action:hover { color: var(--o2p-accent); }
.o2p button.o2p-action.is-active { color: var(--o2p-accent); }

.o2p-benefits { margin: 0; padding: 14px 16px; list-style: none; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r); display: grid; gap: 10px; font-size: 14px; }
.o2p-benefits li { display: flex; align-items: center; gap: 10px; margin: 0; }
.o2p-benefits svg { flex: none; color: var(--o2p-accent); }
.o2p-benefits--row { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 12px 16px; font-size: 13px; }
.o2p-benefits--row li { gap: 6px; }
/* Ключевые характеристики в строку — плашками. */
.o2p-keys--row { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; background: none; }
.o2p-keys--row > div { padding: 7px 12px; border-radius: 999px; background: var(--o2p-soft); gap: 6px; }
.o2p-keys--row > div:not(.o2p-keys__line)::before { display: none; }
.o2p-keys--row dt { max-width: none; }
.o2p-keys--row dt::after { content: ":"; }
.o2p-keys--row dd { text-align: left; }
.o2p-keys--row .o2p-keys__line dd::before { display: none; }

/* ---------- Под товаром ---------- */
.o2p__below { margin-top: 56px; }
.o2p-tabs { position: sticky; top: 0; z-index: 5; display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--o2p-line); background: var(--o2p-page-bg, #fff); scrollbar-width: none; }
.o2p-tabs::-webkit-scrollbar { display: none; }
.o2p button.o2p-tabs__tab { position: relative; flex: none; padding: 16px 18px; color: var(--o2p-muted); font-size: 16px; font-weight: 600; white-space: nowrap; }
.o2p button.o2p-tabs__tab:hover { color: var(--o2p-title); }
.o2p button.o2p-tabs__tab.is-active { color: var(--o2p-title); }
.o2p button.o2p-tabs__tab.is-active::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--o2p-accent); }
.o2p-panel { padding-top: 28px; }
.o2p-panel[hidden] { display: none; }

.o2p-acc { border-bottom: 1px solid var(--o2p-line); }
.o2p-acc:first-child { border-top: 1px solid var(--o2p-line); }
.o2p-acc > summary { display: flex; align-items: center; justify-content: space-between; padding: 20px 4px; color: var(--o2p-title); font-size: 18px; font-weight: 700; cursor: pointer; list-style: none; }
.o2p-acc > summary::-webkit-details-marker { display: none; }
.o2p-acc > summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.o2p-acc[open] > summary::after { transform: rotate(-135deg); }
.o2p-acc__body { padding: 0 4px 24px; }

.o2p-section { margin-top: 48px; }
.o2p-section:first-child { margin-top: 0; }
.o2p h2.o2p-section__title { margin: 0 0 20px; color: var(--o2p-title); font-size: 24px; font-weight: 700; text-transform: none; }
.o2p-split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.o2p-split .o2p-section { margin-top: 0; }
.o2p-split .o2p-section--reviews { grid-column: 1 / -1; }

/* Описание: длинное — свёрнуто с плавным затуханием */
.o2p-desc { font-size: 16px; line-height: 1.7; color: var(--o2p-text); }
.o2p-desc img { max-width: 100%; height: auto; border-radius: var(--o2p-r-sm); }
.o2p-desc h2, .o2p-desc h3 { color: var(--o2p-title); line-height: 1.3; }
.o2p-desc.is-clamped,
.o2p-specs-box.is-clamped { position: relative; max-height: 560px; overflow: hidden; }
.o2p-specs-box.is-clamped::after,
.o2p-desc.is-clamped::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 140px; background: linear-gradient(rgba(255, 255, 255, 0), var(--o2p-page-bg, #fff)); }
.o2p button.o2p-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 10px 18px; border: 1px solid var(--o2p-line); border-radius: 999px; color: var(--o2p-title); font-size: 14px; font-weight: 600; }
.o2p button.o2p-more:hover { border-color: var(--o2p-accent); color: var(--o2p-accent); }

/* Характеристики: строки с точечным заполнителем, на широком экране — в две колонки */
.o2p-specs { margin: 0 0 8px; columns: 2; column-gap: 56px; }
.o2p-split .o2p-specs,
.o2p-below--accordion .o2p-specs { columns: 1; }
.o2p-specs > div { display: flex; align-items: baseline; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--o2p-line); break-inside: avoid; font-size: 15px; }
.o2p-specs dt { flex: 0 1 50%; color: var(--o2p-muted); font-weight: 400; }
.o2p-specs dd { flex: 1; margin: 0; color: var(--o2p-title); font-weight: 500; }
.o2p-specs__group { margin: 0 0 18px; }
.o2p-specs__group > summary { margin: 18px 0 6px; color: var(--o2p-title); font-size: 17px; font-weight: 700; cursor: pointer; }

/* Виды блока характеристик (Внешний вид → Характеристики товара): o2p-sv--{table|cards|columns|tabs|accordion|tiles} */
.o2p-sv__keys { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 0 0 22px; }
.o2p-sv__key { display: grid; gap: 4px; padding: 14px 16px; border-radius: var(--o2p-r-sm); background: var(--o2p-soft); min-width: 0; }
.o2p-sv__key span, .o2p-sv__tile span { color: var(--o2p-muted); font-size: 13px; line-height: 1.3; }
.o2p-sv__key b { color: var(--o2p-title); font-size: 17px; font-weight: 600; line-height: 1.3; overflow-wrap: break-word; hyphens: auto; }
/* Значения активных характеристик — ссылки цветом ссылок сайта (свой — Внешний вид → Цвета и шрифты), без подчёркивания */
.o2p .o2p-sv a, .o2p .o2p-sv__keys a, .o2p .o2p-specs dd a { color: var(--o2p-link); text-decoration: none; }
.o2p .o2p-sv a:hover, .o2p .o2p-sv__keys a:hover, .o2p .o2p-specs dd a:hover { color: var(--o2p-link-hover); text-decoration: none; }
.o2p-sv__h { margin: 22px 0 6px; color: var(--o2p-title); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.o2p-sv__h:first-child { margin-top: 0; }
/* строки с точечным заполнителем */
.o2p-sv__dl { margin: 0; }
.o2p-sv__dl > div { display: flex; align-items: baseline; gap: 6px; padding: 7px 0; font-size: 15px; line-height: 1.45; break-inside: avoid; }
.o2p-sv__dl dt { order: 0; color: var(--o2p-muted); font-weight: 400; max-width: 60%; }
.o2p-sv__dl > div::after { content: ""; order: 1; flex: 1 1 24px; min-width: 24px; border-bottom: 1px dotted color-mix(in srgb, var(--o2p-muted) 55%, transparent); transform: translateY(-4px); }
.o2p-sv__dl dd { order: 2; margin: 0; color: var(--o2p-title); font-weight: 500; text-align: right; max-width: 60%; overflow-wrap: anywhere; }
.o2p-sv__dl--2 { columns: 2; column-gap: 48px; }
/* карточки групп */
/* Карточки — сеткой, не колонками: свёрнутый список («Показать все») обрезается по высоте, а колонки уводили карточки в скрытую колонку справа. */
.o2p-sv__masonry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.o2p-sv__mcol { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
/* Порядок карточек, когда колонки «растворены» (телефон, узкая колонка). */
.o2p-sv__card[data-o="0"]{order:0} .o2p-sv__card[data-o="1"]{order:1} .o2p-sv__card[data-o="2"]{order:2} .o2p-sv__card[data-o="3"]{order:3} .o2p-sv__card[data-o="4"]{order:4} .o2p-sv__card[data-o="5"]{order:5} .o2p-sv__card[data-o="6"]{order:6} .o2p-sv__card[data-o="7"]{order:7} .o2p-sv__card[data-o="8"]{order:8} .o2p-sv__card[data-o="9"]{order:9} .o2p-sv__card[data-o="10"]{order:10} .o2p-sv__card[data-o="11"]{order:11} .o2p-sv__card[data-o="12"]{order:12} .o2p-sv__card[data-o="13"]{order:13} .o2p-sv__card[data-o="14"]{order:14} .o2p-sv__card[data-o="15"]{order:15}
.o2p-sv__card { margin: 0; padding: 18px 20px 12px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r); background: var(--o2p-page-bg, #fff); }
.o2p-sv__ct { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; color: var(--o2p-title); font-size: 16px; font-weight: 600; }
.o2p-sv__ico { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 10px; background: color-mix(in srgb, var(--o2p-accent) 12%, transparent); color: var(--o2p-accent); }
/* аккуратный список в две колонки */
.o2p-sv__cols { columns: 2 320px; column-gap: 56px; }
.o2p-sv__grp { break-inside: avoid; padding-bottom: 20px; }
.o2p-sv__cols .o2p-sv__dl > div { border-bottom: 0; }
/* вкладки групп */
.o2p-sv__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.o2p .o2p-sv__tab { min-height: 0; height: auto; margin: 0; padding: 8px 16px; border: 1px solid var(--o2p-line); border-radius: 999px; background: var(--o2p-page-bg, #fff); box-shadow: none; color: var(--o2p-title); font: inherit; font-size: 14px; font-weight: 500; line-height: 1.2; letter-spacing: normal; text-transform: none; cursor: pointer; }
.o2p .o2p-sv__tab:hover { border-color: var(--o2p-accent); color: var(--o2p-accent); }
.o2p .o2p-sv__tab.is-on { border-color: var(--o2p-title); background: var(--o2p-title); color: var(--o2p-page-bg, #fff); }
.o2p-sv--tabs.is-ready .o2p-sv__pane-h { display: none; }
.o2p-sv--tabs.is-ready.is-all .o2p-sv__pane-h { display: block; }
.o2p-sv__pane[hidden] { display: none; }
/* аккордеон */
.o2p-sv__lead { margin-bottom: 14px; }
.o2p-sv__acc { border-top: 1px solid var(--o2p-line); }
.o2p-sv__acc:last-child { border-bottom: 1px solid var(--o2p-line); }
.o2p-sv__acc > summary { display: flex; align-items: center; gap: 10px; padding: 16px 2px; color: var(--o2p-title); font-size: 17px; font-weight: 600; cursor: pointer; list-style: none; }
.o2p-sv__acc > summary::-webkit-details-marker { display: none; }
.o2p-sv__acc > summary small { padding: 2px 8px; border-radius: 999px; background: var(--o2p-soft); color: var(--o2p-muted); font-size: 12px; font-weight: 500; }
.o2p-sv__acc > summary::after { content: ""; width: 9px; height: 9px; margin-left: auto; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.o2p-sv__acc[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.o2p-sv__acc > .o2p-sv__dl { padding: 0 2px 14px; }
/* плитки */
.o2p-sv__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
.o2p-sv__tile { display: grid; align-content: start; gap: 4px; padding: 12px 14px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r-sm); min-width: 0; }
.o2p-sv__tile.is-wide { grid-column: span 2; }
.o2p-sv__tile b { color: var(--o2p-title); font-size: 15px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
.o2p-split .o2p-sv__dl--2, .o2p-below--accordion .o2p-sv__dl--2, .o2p-split .o2p-sv__cols { columns: auto; }
.o2p-split .o2p-sv__masonry, .o2p-below--accordion .o2p-sv__masonry { display: flex; flex-direction: column; align-items: stretch; }
.o2p-split .o2p-sv__mcol, .o2p-below--accordion .o2p-sv__mcol { display: contents; }
@media (max-width: 760px) {
	.o2p-sv__dl--2, .o2p-sv__cols { columns: auto; }
	.o2p-sv__masonry { display: flex; flex-direction: column; align-items: stretch; }
	.o2p-sv__mcol { display: contents; }
	.o2p-sv__card { padding: 14px 16px 8px; }
	.o2p-sv__keys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.o2p-sv__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.o2p-sv__tabs { flex-wrap: nowrap; overflow-x: auto; margin-right: -16px; padding-right: 16px; scrollbar-width: none; }
	.o2p-sv__tabs::-webkit-scrollbar { display: none; }
	.o2p .o2p-sv__tab { flex: none; }
}

/* Отзывы */
.o2p-reviews__sum { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.o2p-reviews__sum b { color: var(--o2p-title); font-size: 34px; font-weight: 800; }
.o2p-reviews .ok2shop-reviews__list { margin: 0 0 20px; padding: 0; list-style: none; display: grid; gap: 14px; }
.o2p-reviews .ok2shop-review { padding: 16px 18px; border: 1px solid var(--o2p-line); border-radius: var(--o2p-r); }
.o2p-reviews .ok2shop-review__head { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.o2p-review-form > summary { display: inline-flex; list-style: none; cursor: pointer; }
.o2p-review-form > summary::-webkit-details-marker { display: none; }
.o2p-review-form[open] > summary { margin-bottom: 16px; }
.o2p-review-form .ok2shop-review-form { display: grid; gap: 12px; }

/* ---------- Липкая панель «Купить» ---------- */
.o2p-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); box-shadow: 0 -6px 24px rgba(0, 0, 0, .1); backdrop-filter: saturate(1.4) blur(8px); transform: translateY(110%); transition: transform .25s ease; }
.o2p-bar.is-visible { transform: none; }
.o2p-bar[hidden] { display: block; visibility: hidden; }
.o2p-bar.is-visible[hidden] { visibility: visible; }
.o2p-bar__inner { display: flex; align-items: center; gap: 14px; max-width: var(--wd-container-w, 1420px); margin: 0 auto; }
.o2p-bar__img { flex: none; width: 44px; height: 44px; border-radius: 8px; object-fit: cover; background: var(--o2p-media); }
.o2p-bar__name { flex: 1; min-width: 0; overflow: hidden; color: var(--o2p-title); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.o2p-bar__price { flex: none; color: var(--o2p-title); font-size: 18px; font-weight: 800; }
.o2p .o2p-bar__btn { flex: none; min-height: 44px; padding: 0 28px; border-radius: var(--o2p-r-sm); text-transform: none; }

/* ---------- Просмотр во весь экран ---------- */
.o2p-lb { position: fixed; inset: 0; z-index: 100000; display: flex; flex-direction: column; background: rgba(12, 12, 12, .96); color: #fff; animation: o2p-fade .2s ease; }
.o2p-lb__top { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; font-size: 14px; }
.o2p-lb__stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.o2p-lb__img { max-width: 92vw; max-height: 100%; object-fit: contain; user-select: none; }
.o2p-lb button.o2p-lb__btn { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; }
.o2p-lb button.o2p-lb__btn:hover { background: rgba(255, 255, 255, .2); }
/* Woodmart: :is(.btn, button) { position: relative } грузится позже — нужна специфичность выше. */
.o2p-lb button.o2p-lb__nav { position: absolute; top: 50%; margin-top: -24px; z-index: 2; }
.o2p-lb button.o2p-lb__nav--prev { left: 18px; right: auto; }
.o2p-lb button.o2p-lb__nav--next { right: 18px; left: auto; }
/* Полный экран без увеличения: обычный курсор. Лупа — круг с фото в полном размере под курсором. */
.o2p-lb--fit .o2p-lb__img { cursor: default; }
.o2p-lb--lens .o2p-lb__img { cursor: crosshair; }
.o2p-lb__lens { position: fixed; z-index: 3; width: 240px; height: 240px; margin: -120px 0 0 -120px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .85); box-shadow: 0 6px 24px rgba(0, 0, 0, .45); background-color: #fff; background-repeat: no-repeat; pointer-events: none; display: none; }
.o2p-lb__lens.is-on { display: block; }
@media (max-width: 767px) { .o2p-lb__lens { width: 170px; height: 170px; margin: -150px 0 0 -85px; } }
.o2p-lb__thumbs { display: flex; justify-content: center; gap: 8px; padding: 12px; overflow-x: auto; }
.o2p-lb button.o2p-lb__thumb { flex: none; width: 60px; height: 60px; border-radius: 8px; overflow: hidden; opacity: .5; box-shadow: inset 0 0 0 2px transparent; }
.o2p-lb button.o2p-lb__thumb.is-active { opacity: 1; box-shadow: 0 0 0 2px #fff; }
.o2p-lb__thumb img { width: 100%; height: 100%; object-fit: cover; }
body.o2p-lb-open { overflow: hidden; }
@keyframes o2p-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Планшет и телефон ---------- */
@media (max-width: 1024px) {
	.o2p { --o2p-gap: 24px; margin-top: 0; }
	.o2p--wide { width: auto; margin-left: 0; padding: 0; transform: none; }
	.o2p__top { grid-template-columns: minmax(0, 1fr); grid-template-areas: "gal" "sum" "aside"; grid-template-rows: auto; }
	.o2p--sticky .o2p__summary,
	.o2p--gal-stack .o2p__summary,
	.o2p--gal-grid .o2p__summary { position: static; }
	.o2p-gal__stage { margin: 0 -16px; border-radius: 0; }
	.o2p-gal__thumbs,
	.o2p button.o2p-gal__nav,
	.o2p button.o2p-gal__full { display: none; }
	.o2p-gal__dots { display: flex; }
	.o2p-gal__count { display: none; }
	.o2p-specs { columns: 1; }
	.o2p-split { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.o2p__below { margin-top: 36px; }
	.o2p button.o2p-tabs__tab { padding: 14px 12px; font-size: 15px; }
	.o2p-bar { bottom: var(--o2p-bar-offset, 0px); }
	.o2p-bar__img, .o2p-bar__name { display: none; }
	.o2p .o2p-bar__btn { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.o2p *, .o2p-lb, .o2p-bar { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Значения активных характеристик — ссылки на их страницы */

/* Ключевые характеристики: панель с заголовком-значком, у каждой — галочка. */
.o2p-keys-box { padding: 12px 14px 14px; border-radius: var(--o2p-r); background: color-mix(in srgb, var(--o2p-accent) 7%, var(--o2p-soft, #f6f7f5)); border: 1px solid color-mix(in srgb, var(--o2p-accent) 16%, transparent); }
.o2p-keys__head { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; color: var(--o2p-accent); font-size: 13px; font-weight: 700; letter-spacing: .02em; }
.o2p-keys__head svg { flex: none; }
.o2p-keys__head span { color: var(--o2p-title); }
.o2p-keys-box .o2p-keys { padding: 0; background: none; }
.o2p-keys__ic { flex: none; order: -1; align-self: center; color: var(--o2p-accent); }
.o2p-keys-box .o2p-keys__line dd::before { display: none; }
.o2p-keys-box .o2p-keys--row > div { background: #fff; border: 1px solid color-mix(in srgb, var(--o2p-accent) 18%, var(--o2p-line)); gap: 5px; }
.o2p-keys-box .o2p-keys--list > div { gap: 8px; }

/* Вариации: переключатель осей (templates/parts/variant-selector.php, assets/js/variants.js). */
.o2v { display: grid; gap: 14px; margin: 4px 0 18px; }
.o2v__label { margin-bottom: 8px; color: var(--o2p-muted); font-size: 13px; }
.o2v__label b { color: var(--o2p-title); font-weight: 600; }
.o2v__opts { display: flex; flex-wrap: wrap; gap: 8px; }
.o2p a.o2v__opt { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 52px; min-height: 40px; padding: 8px 14px; border: 1px solid #d9d9d6; border-radius: var(--o2p-r-sm); background: #fff; color: var(--o2p-text); font-size: 14px; line-height: 1.2; text-decoration: none; transition: border-color .15s, box-shadow .15s, color .15s; }
.o2p a.o2v__opt:hover { border-color: var(--o2p-accent); color: var(--o2p-title); }
.o2p a.o2v__opt.is-on { border-color: var(--o2p-accent); box-shadow: inset 0 0 0 1px var(--o2p-accent); color: var(--o2p-title); font-weight: 600; cursor: default; }
.o2p a.o2v__opt.is-na { border-style: dashed; color: var(--o2p-muted); }
.o2p .o2v__axis--buttons a.o2v__opt.is-na::after { content: ''; position: absolute; left: 8px; right: 8px; top: 50%; border-top: 1px solid currentColor; opacity: .55; }
.o2p a.o2v__opt.is-out:not(.is-on) { background: var(--o2p-soft); }
.o2v__axis--images .o2v__opts, .o2v__axis--swatches .o2v__opts { gap: 10px; }
.o2p .o2v__axis--images a.o2v__opt { width: 64px; height: 64px; min-width: 0; padding: 3px; overflow: hidden; }
.o2p .o2v__axis--images a.o2v__opt img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.o2p .o2v__axis--images a.o2v__opt img.o2v__ph { opacity: .85; }
.o2p .o2v__axis--swatches a.o2v__opt { width: 42px; height: 42px; min-width: 0; min-height: 0; padding: 3px; border-radius: 50%; }
.o2v__sw { display: block; width: 100%; height: 100%; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.o2p .o2v__axis--images a.o2v__opt.is-na, .o2p .o2v__axis--swatches a.o2v__opt.is-na { opacity: .55; }
.o2v__select { min-width: 220px; min-height: 42px; }
.o2p.is-switching .o2p-gal, .o2p.is-switching .o2p-price, .o2p.is-switching .o2v { opacity: .6; transition: opacity .15s; }
@media (max-width: 560px) {
	.o2p a.o2v__opt { min-height: 44px; }
	.o2p .o2v__axis--images a.o2v__opt { width: 56px; height: 56px; }
}

/* Вопросы и ответы о товаре (templates/parts/product-questions.php) и выбор помещения в калькуляторе. */
.o2q { display: grid; gap: 14px; }
.o2q__item { border: 1px solid var(--o2p-line); border-radius: var(--o2p-r-sm); padding: 14px 16px; display: grid; gap: 8px; }
.o2q__q small, .o2q__a small { display: block; color: var(--o2p-muted); font-size: 12px; margin-top: 2px; }
.o2q__a { background: var(--o2p-soft); border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.o2q__a.is-staff { background: color-mix(in srgb, var(--o2p-accent) 10%, #fff); }
.o2q__form { display: grid; gap: 8px; }
.o2q__form textarea { width: 100%; min-height: 70px; border-radius: 12px; border: 1px solid var(--o2p-line); padding: 10px 14px; font: inherit; }
.o2q__form .ok2shop-btn { justify-self: start; }
.o2q__msg { margin: 0; color: var(--o2p-accent); font-size: 14px; }
.o2p-calc__room { margin-bottom: 10px; }
.o2p-calc__room select { min-height: 42px; }
.o2p .o2p-action.is-on { color: var(--o2p-accent); }


/* Подборки и ссылки на значения под товаром: число товаров — отдельно от названия, приглушённо. */
/* Ссылки-«чипсы» под товаром: подборки, страницы значений, коллекции. */
.o2p-collections { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.o2p-collections .o2a-chip { display: inline-flex; align-items: center; min-height: 34px; padding: 4px 14px; border: 1px solid var(--ok2shop-border, #e5e7eb); border-radius: 18px; background: #fff; color: inherit; font-size: 14px; line-height: 1.25; text-decoration: none; white-space: nowrap; transition: border-color .15s, color .15s; }
.o2p-collections .o2a-chip:hover { border-color: var(--ok2shop-primary, currentColor); color: var(--ok2shop-primary, inherit); }
.o2p-collections .o2a-chip span { margin-left: 6px; color: var(--ok2shop-muted, #8a8f98); font-size: .85em; font-weight: 400; }
@media (max-width: 600px) {
	.o2p-collections { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
}

/* Товар уже в избранном / сравнении — кнопка отмечена цветом. */
.o2p button.o2p-action.is-active { color: var(--o2p-accent, #439665); font-weight: 600; }
.o2p button.o2p-action.is-active svg path { fill: currentColor; fill-opacity: .15; }
.o2p-set-link { margin: 0 0 12px; font-weight: 600; }

/* Оплата частями и кредит под ценой */
.o2p-installments { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 6px 0 2px; font-size: 13px; }
.o2p-installment b { font-weight: 600; }
.o2p-installment span { color: var(--o2-muted, #6b7280); }
