/* Product-only details that extend the frozen design-system components. */
.product-body .product-description .content-table-wrap{max-width:100%;margin:1.25rem 0;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:var(--r-sm)}
.product-body .product-description table{width:100%;min-width:36rem;border-collapse:collapse;background:var(--surface);font-size:.9375rem}
.product-body .product-description th,.product-body .product-description td{padding:.75rem 1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.product-body .product-description thead th{background:var(--surface-2);font-weight:600}
.product-body .product-description tr:last-child>*{border-bottom:0}
.product-body .product-description caption{padding:.75rem 1rem;color:var(--muted);text-align:left}

/* Real workshop swatches: photography only, never a generated colour chip. */
.product-samples{min-width:0;margin:1.5rem 0 0;padding:0;border:0}
.product-samples legend{margin-bottom:.375rem;font:600 1.0625rem/1.35 var(--sans);color:var(--ink)}
.product-samples__note{margin:0 0 .75rem;color:var(--muted);font-size:.875rem;line-height:1.5}
.product-samples__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;max-height:20rem;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 2px 2px}
.product-samples__choice{position:relative;display:block;min-width:0;cursor:pointer}
.product-samples__choice>input{position:absolute;z-index:1;top:.5rem;left:.5rem;width:20px;height:20px;margin:0;accent-color:var(--primary);cursor:pointer}
.product-samples__choice>span{display:grid;gap:.375rem;height:100%;padding:.5rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);font-size:.78rem;line-height:1.25;overflow-wrap:anywhere}
.product-samples__choice img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:calc(var(--r-sm) - 2px)}
.product-samples__choice b{font-weight:600}
.product-samples__choice>input:checked+span{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.product-samples__choice>input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.product-custom-size,.product-delivery{margin-block:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.product-custom-size h2,.product-delivery h2{margin:.25rem 0 .75rem;font-size:clamp(1.5rem,2.4vw,2rem)}
.product-custom-size>p:not(.eyebrow),.product-delivery>p{margin:0 0 1rem;color:var(--muted);line-height:1.6}
/* «Под ваш интерьер»: плашка как соседний дисклеймер .product-customisation-note (фон, рамка, радиус, отступы); заголовок и текст — как у секций «Доставка и сборка» (стиль выше), без своих размеров. */
.product-custom-size{padding:1.25rem 1.5rem;border:1px solid #e3d9c4;border-radius:16px;background:linear-gradient(135deg,#faf5ea 0%,#f3ecdc 100%)}
.product-custom-size .eyebrow{margin:0}
.product-delivery .button--text{display:inline-flex;align-items:center;min-height:44px}
.product-master h2{margin:.5rem 0;font-size:clamp(1.5rem,2.4vw,2rem)}
/* Первый экран товара (#410): цена крупно без «бирки», статус «Под заказ» — в строке цены,
   факты в одну строку до 4 колонок, количество и «Заказать» — одной строкой в первом экране. */
.product-summary .price-tag{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-block:14px 18px}
.product-summary .price-tag>.price{margin:0;padding:0;background:none;clip-path:none;color:var(--ink);font-size:clamp(2rem,2.8vw,2.5rem);line-height:1.1}
.product-summary .price-tag>.product-availability{margin:0}
.product-summary .key-facts{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}
/* Ключевые факты под ценой читались мелко (.72/.88rem): подпись и значение — по шкале типографики. */
.product-summary .key-facts dt{font-size:calc(var(--ds-type-label-large,1rem) * .875)}
.product-summary .key-facts dd{font-size:var(--ds-type-label-large,1rem);line-height:1.45}
.product-summary .product-quantity{display:inline-flex;vertical-align:middle;margin:18px 10px 0 0}
.product-summary .product-quantity>span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.product-summary .product-quantity+.actions{display:inline-flex;vertical-align:middle;margin-top:18px}
.product-summary .product-samples-open{margin-top:12px}
/* Выбор варианта (вариативный товар): поле формы дизайн-системы — подпись над селектом, как .full-order / .price-list__controls. */
.product-summary .product-variants{display:grid;gap:8px;max-width:22rem;margin-top:18px}
.product-summary .product-variants label{font-size:.9375rem;font-weight:600}
.product-summary .product-variants select{width:100%}
.product-summary .price-help:focus-within>p{display:block}
@media(max-width:600px){.product-samples__grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:18rem}.product-body .product-description table{min-width:34rem}.product-custom-size,.product-delivery{margin-block:1.5rem;padding-top:1.125rem}.product-custom-size{padding:1.125rem}}

.product-samples-open{margin-top:1rem}
.product-samples-selected{font-size:.875rem;color:var(--muted);margin:.5rem 0}
.product-samples-dialog{width:min(52rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);box-sizing:border-box;margin:auto;padding:clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
.product-samples-dialog__header{padding-right:3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.product-samples-dialog__header h2{margin:0;font-size:clamp(1.5rem,4vw,2rem)}
.product-samples-dialog__header button{min-width:44px;min-height:44px;font-size:1.75rem}
.product-samples-dialog .product-samples{margin-top:1rem}
.product-samples-dialog .product-samples__grid{max-height:none;overflow:visible}
.product-samples-done{margin-top:1rem}
.product-master__portrait{display:block;width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:center 30%;margin:0 0 1rem}
.product-master__initials{display:grid;place-items:center;background:var(--surface-2);font-weight:600}

.product-master__photo-frame{display:block;width:88px;height:88px;overflow:hidden;border-radius:50%;margin-bottom:1rem}
.product-master__photo-frame .product-master__portrait{margin:0;transform:scale(1.9);transform-origin:50% 23%}

.product-customisation-note{display:flex;gap:1rem;align-items:flex-start;margin:2rem 0;padding:1.25rem 1.5rem;border:1px solid #e3d9c4;border-radius:16px;background:linear-gradient(135deg,#faf5ea 0%,#f3ecdc 100%);color:var(--ink)}
.product-customisation-note__icon{display:grid;place-items:center;flex:0 0 3rem;width:3rem;height:3rem;border-radius:50%;background:var(--accent);color:#fff}
.product-customisation-note__body{min-width:0}
.product-customisation-note strong{display:block;font-size:1.25rem;line-height:1.3;font-weight:600}.product-customisation-note p{margin:.5rem 0 0;max-width:none;line-height:1.6;color:var(--muted)}
@media (max-width:640px){.product-customisation-note{flex-direction:column;gap:.75rem;padding:1.125rem 1.125rem}.product-customisation-note strong{font-size:1.125rem}}
/* Specification labels stay secondary; values lead the two-column reading order. */
.product-body table.spec-table{table-layout:fixed;background:#fff}
.product-body table.spec-table tbody tr:nth-child(n){background:#fff}
.product-body table.spec-table tbody th{width:32%;background:#fff;color:#6b6258;font-size:.875rem;font-weight:400;line-height:1.5}
.product-body table.spec-table tbody td{background:#fff;color:#211c17;font-size:1rem;font-weight:600;line-height:1.5}
.product-body table.spec-table tbody :is(th,td){padding:1rem 1.25rem;border-bottom:1px solid #d8d1c5;overflow-wrap:anywhere;text-align:left}
.product-body table.spec-table tbody tr:last-child>:is(th,td){border-bottom:0}
.product-body table.spec-table tbody th+td{border-left:1px solid #e9e3d9}
@media(max-width:600px){.product-body table.spec-table tbody th{width:38%}.product-body table.spec-table tbody :is(th,td){padding:.875rem}.product-body table.spec-table tbody td{font-size:.9375rem}}

.product-samples-dialog{position:fixed;inset:0;width:min(68rem,calc(100vw - 3rem));max-width:none;max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:0;background:transparent;overflow:hidden}
.product-samples-close{position:absolute;z-index:2;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);font:400 1.75rem/1 var(--sans);cursor:pointer}
.product-samples-dialog__card{display:flex;flex-direction:column;height:calc(100dvh - 2rem);max-height:calc(100dvh - 2rem);padding:clamp(1.25rem,2.4vw,2rem);border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden}
.product-samples-dialog .product-samples{display:flex;flex:1;flex-direction:column;min-height:0;margin-top:1rem;overflow:hidden}
.product-samples-dialog .product-samples legend{display:none}
.product-samples-dialog .product-samples__grid{grid-template-columns:repeat(7,minmax(0,1fr));flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;gap:.75rem}
.product-samples-dialog .product-samples__choice>span{padding:.5rem;font-size:.9375rem}
.product-samples-dialog .product-samples__choice img{height:clamp(9rem,24dvh,15rem);aspect-ratio:auto;object-fit:cover}
.product-samples-dialog .product-samples__choice>input{width:20px;height:20px;top:.75rem;left:.75rem}
.product-samples-dialog__actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;flex:none}
.product-samples-dialog__actions .product-samples-done{margin:0}
@media(max-width:900px){.product-samples-dialog .product-samples__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.product-samples-dialog{width:calc(100vw - 1.5rem)}.product-samples-dialog__card{padding:1rem;border-radius:16px}.product-samples-dialog .product-samples__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-samples-dialog .product-samples__choice img{height:clamp(8rem,20dvh,11rem)}.product-samples-dialog__actions{gap:.75rem;font-size:.875rem}}

/* Подсказка «Цена ориентировочная» — справа от «i», не перекрывает текст под ценой. */
.product-summary .price-tag{position:relative}
.product-summary .price-help{position:relative}
@media(min-width:900px){.product-summary .price-help p{left:calc(100% + 10px);top:50%;transform:translateY(-50%);width:min(320px,30vw)}}
/* Карточка мастера: по центру, имя — ссылка, два действия одной «пилюлей». */
.product-master{display:flex;flex-direction:column;align-items:center;text-align:center}
.product-master>*{max-width:100%}
.product-master__photo-frame,.product-master__initials{flex:none;margin-inline:auto}
.product-master__actions{align-self:stretch}
.product-master h2 a{color:inherit;text-decoration:none}
.product-master h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.product-master .quick-order,.product-master__profile{min-height:48px}
.product-master .quick-order{border-radius:var(--r-sm) 0 0 var(--r-sm);margin-right:-1px}
.product-master__profile{border-radius:0 var(--r-sm) var(--r-sm) 0}
.product-delivery__list{margin:0 0 .75rem;padding-left:1.1rem;color:var(--ink);line-height:1.6}
.product-master__actions{display:flex;width:100%}
.product-master__actions>*{flex:1 1 50%;justify-content:center;padding-inline:12px}
.product-master__actions>*{font-size:.875rem;padding-inline:8px;white-space:nowrap}
.order-bar{display:none}
@media(max-width:760px){
.order-bar:not([hidden]){display:flex;align-items:center;gap:.5rem;position:fixed;z-index:40;left:0;right:0;bottom:var(--order-bar-bottom,0);padding:.5rem max(.75rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left));background:var(--surface,#fff);border-top:1px solid var(--line,#cfc8bb);box-shadow:0 -.5rem 1.5rem rgb(24 18 12/.12)}
.order-bar__price{font-weight:700;font-size:.9375rem;line-height:1.15;flex:0 0 auto;max-width:28%}
.product-summary .order-bar .product-quantity,.product-summary .order-bar .product-quantity+.actions{margin:0}
.product-summary .order-bar{gap:.375rem}
.product-summary .order-bar .actions{flex:1 1 auto;display:flex;flex-wrap:nowrap;gap:.375rem}
.product-summary .order-bar .quantity-stepper{gap:.125rem}
.product-summary .order-bar :is(.quantity-stepper__button,[data-product-quantity]){width:2.25rem;min-width:0;height:2.75rem;padding:0}
.product-summary .order-bar .favorite-button{flex:0 0 2.75rem;width:2.75rem;height:2.75rem}
.product-summary .order-bar .quick-order{flex:1 1 auto;min-width:0;padding-inline:.5rem;height:2.75rem}
body.has-order-bar .starina-contact-widget{opacity:0;pointer-events:none}
}

.product-bundle{margin:1rem 0;padding:1rem;border:1px solid var(--line,#ddd);border-radius:12px}
.product-bundle h2{margin:0 0 .5rem;font-size:1.1rem}
.product-bundle__items{margin:0 0 .5rem;padding-left:1.1rem}
.product-bundle__price{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;margin:.5rem 0}
.product-bundle__price b{font-size:1.25rem}

.product-body .product-description > p + p{margin-top:1rem}
.product-body .product-description a{text-decoration:underline;text-underline-offset:.2em}
.product-prices__hint{display:none}
@media(max-width:600px){.product-prices__hint{display:block;margin:.5rem 0;font-size:.875rem;color:var(--muted)}}
