section.productHeadliner {display:flex;flex-wrap:nowrap;padding:4rem var(--gutter);justify-content:space-between;gap:3rem;}section.productHeadliner > aside {padding:0;background:none;}

    /* Фото едет вместе с прокруткой: правая колонка (цена, характеристики, цвета, магазины) втрое выше снимка, и под
       ним оставалось ~550 px пустоты */section.productHeadliner .productGallery {width:min(40vw, 36rem);flex:0 0 min(40vw, 36rem);position:sticky;top:6.5rem;align-self:flex-start;}section.productHeadliner img.mainImage {width:100%;border:1px solid var(--baseGray);box-shadow:0 0.2rem 2rem var(--baseDarkShadow10);aspect-ratio:1;object-fit:cover;}section.productHeadliner .productImages {display:flex;gap:1rem;margin:1rem 0 2rem;}section.productHeadliner img.galleryImage {width:calc(25% - 0.75rem);aspect-ratio:1;object-fit:cover;border:1px solid var(--baseGray);cursor:pointer;}section.productHeadliner img.galleryImage:hover,
    section.productHeadliner img.galleryImage.is-active {box-shadow:0 0 0 2px var(--linkColor);}section.productHeadliner .header {display:flex;justify-content:space-between;margin:0 0 1rem;gap:1rem;align-items:center;}section.productHeadliner .header h1 {margin:0;}section.productHeadliner .labelsWrapper {display:flex;gap:1rem;margin:0 0 1em;}section.productHeadliner .label {--color: var(--baseDarkShadow30);font-size:0.8em;background:var(--color);padding:0 0.5em;color:var(--baseLight);border:3px double var(--baseLightShadow50);}section.productHeadliner .label.discount {--color: #c4301f;}section.productHeadliner .label.popular {--color: #147f58;}section.productHeadliner .productPrice {display:flex;align-items:flex-end;font-size:2em;margin:0 0 1rem;gap:1rem;}section.productHeadliner .productPrice .currency {font-size:0.55em;color:var(--textMuted);text-transform:uppercase;font-weight:600;}section.productHeadliner .storeList .list {display:flex;flex-wrap:wrap;gap:2rem;}section.productHeadliner .store {display:flex;flex-direction:column;width:calc(50% - 1rem);gap:1em;}section.productHeadliner .store .row {display:flex;gap:1.5em;align-items:flex-start;}section.productHeadliner img.storePhoto {width:8em;border-radius:0.3em;object-fit:cover;aspect-ratio:3 / 2;}section.productDescription {margin:0 var(--gutter) 4rem;}

    /* Оплата и договор — две мраморные карточки рядом, в колонке содержимого */section.contractPayment {display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem;padding:3rem var(--gutter);}main article > section.contractPayment > aside.termsCard {display:flex;flex-direction:column;align-items:stretch;gap:1.25rem;margin:0;padding:2rem;border:1px solid rgb(0 0 0 / 0.07);border-radius:0.75rem;background:linear-gradient(160deg, rgb(255 255 255 / 0.35), rgb(243 243 243 / 0.72)),
        var(--marble);background-size:cover;color:var(--baseDark);font-size:1rem;text-shadow:none;box-shadow:0 0.75rem 2rem rgb(0 0 0 / 0.08),
        0 0.125rem 0.375rem rgb(0 0 0 / 0.05);overflow:visible;}[data-theme='dark'] main article > section.contractPayment > aside.termsCard {border-color:#ffffff1a;background:linear-gradient(160deg, rgb(30 30 30 / 0.7), rgb(20 20 20 / 0.86)),
        var(--marble);background-size:cover;color:var(--baseLight);box-shadow:0 0.75rem 2rem rgb(0 0 0 / 0.45);}section.contractPayment .termsTitle {margin:0;font-size:1.6rem;letter-spacing:0.04em;text-align:left;color:inherit;}section.contractPayment .termsSub {margin:0.5rem 0 0;font-size:1.1rem;font-weight:600;letter-spacing:0.02em;}

    /* Значок — белый в бирюзовом круге */section.contractPayment .termsIcon {position:relative;flex:none;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--primaryDarkColor);}section.contractPayment .termsIcon::after {content:'';position:absolute;inset:0.55rem;background:#fff;mask:var(--icon) center / contain no-repeat;}[data-theme='dark'] section.contractPayment .termsIcon {background:#7fe3df;}[data-theme='dark'] section.contractPayment .termsIcon::after {background:#111;}

    @media screen and (max-width: 1000px) {section.productHeadliner {flex-direction:column;padding:1em;}section.productHeadliner .productGallery {width:100%;position:static;}section.productDescription {margin:0 1em 2em;}section.contractPayment {grid-template-columns:minmax(0, 1fr);padding:2rem var(--gutter);}main article > section.contractPayment > aside.termsCard {padding:1.5rem 1.25rem;}section.contractPayment .termsTitle {font-size:1.4rem;}section.productHeadliner .store {width:100%;}
    }

    /* дополнения сайта */section.productHeadliner .colorVariants .swatches {display:flex;flex-wrap:wrap;gap:0.5rem;}section.productHeadliner .colorVariants .swatch {width:3rem;height:3rem;object-fit:cover;border-radius:50%;cursor:pointer;border:2px solid transparent;}section.productHeadliner .colorVariants .swatch.is-active {border-color:var(--primaryDarkColor);}section.productHeadliner .colorVariants .swatchItem {display:inline-flex;flex-direction:column;align-items:center;gap:0.3rem;width:5.5rem;text-align:center;}section.productHeadliner .colorVariants .swatchName {font-size:0.8rem;line-height:1.25;color:var(--textMuted);}section.productHeadliner .colorVariants > p {margin:1rem 0 0;}section.productHeadliner .store a[href] {white-space:nowrap;}

    /* «Стоимость уточняйте у менеджера» — сообщение, а не цена: размер подписи, не цифр */section.productHeadliner p.productPrice.onRequest {font-size:1.3rem;font-weight:400;line-height:1.35;}

    /* Заголовки старых описаний — одной ступени, h2 или h3 в исходнике */section.productDescription :is(h2, h3) {font-size:clamp(1.3rem, 1.1rem + 0.5vw, 1.55rem);}section.productHeadliner p.stoneLink {margin:1rem 0 0;}section.productHeadliner p.galleryCaption {margin:0.6rem 0 0;min-height:1.4em;font-size:0.95rem;color:var(--textMuted);text-align:center;}section.productHeadliner img.galleryImage[aria-pressed='true'] {box-shadow:0 0 0 2px var(--primaryDarkColor);}

    /* Что входит в цену — сразу под ценой, обычным размером: раньше мелкой серой строкой под описанием */section.productHeadliner .priceTerms {margin:0 0 1.25rem;padding:0.9rem 1.1rem;border:1px solid var(--baseMidGray);border-radius:0.5rem;background:var(--baseMidLight);}section.productHeadliner .priceTerms p.priceTermsTitle {margin:0 0 0.4rem;font-weight:600;}section.productHeadliner .priceTerms ul {display:flex;flex-wrap:wrap;gap:0.25rem 1.25rem;margin:0;padding:0;}section.productHeadliner .priceTerms li {margin:0;}section.productHeadliner .productActions {display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem 1.25rem;margin:0 0 1.75rem;}section.productHeadliner .productActions .button {margin:0;}section.productHeadliner p.priceTrust {flex:1 1 18rem;margin:0;font-size:0.9rem;line-height:1.45;color:var(--textMuted);}

    /* Подзаголовки колонки товара: h2 по уровню (после h1), размер — как был у h4 */section.productHeadliner h2.infoHeading {margin:1.75rem 0 0.75rem;font-size:1.25rem;letter-spacing:0.06em;}section.productHeadliner .storeInfo {min-width:0;overflow-wrap:anywhere;}section.productHeadliner h3.storeName {margin:0 0 0.25rem;font-size:1.05rem;letter-spacing:0.04em;}[data-theme='dark'] section.productHeadliner .priceTerms {border-color:#ffffff1f;background:#ffffff0a;}

    /* дополнения сайта */section.productHeadliner .productImages {flex-wrap:wrap;}section.productHeadliner .productImages img.galleryImage {width:calc(20% - 0.8rem);}

    /* Узкий экран: название, ярлыки и цена — над галереей (на телефоне они уходили за первый экран), остальное — под ней */
    @media screen and (max-width: 1000px) {section.productHeadliner {display:flex;flex-direction:column;gap:0;}section.productHeadliner > aside#productInfo {display:contents;}section.productHeadliner #productInfo > :is(.priceTerms, .productActions, .specsTable, .colorVariants, .stoneLink, .storeList) {margin-top:0;}section.productHeadliner #productInfo > .header {margin-bottom:0.25rem;}section.productHeadliner #productInfo > .header h1 {margin:0;}section.productHeadliner #productInfo > .productPrice {margin:0.25rem 0 1rem;font-size:1.75em;}section.productHeadliner > aside.productGallery {order:2;margin-bottom:1.25rem;}section.productHeadliner #productInfo > * {order:3;}section.productHeadliner #productInfo > .header,
      section.productHeadliner #productInfo > .labelsWrapper,
      section.productHeadliner #productInfo > .productPrice {order:1;}
    }

    /* Узкий экран: миниатюры — одной лентой с прокруткой. Сеткой 11 миниатюр отодвигали название и цену на 940 px */
    @media screen and (max-width: 1000px) {section.productHeadliner .productImages {flex-wrap:nowrap;overflow-x:auto;gap:0.5rem;padding-bottom:0.4rem;scroll-snap-type:x proximity;overscroll-behavior-x:contain;}section.productHeadliner .productImages img.galleryImage {flex:0 0 4.5rem;width:4.5rem;height:4.5rem;scroll-snap-align:start;}
    }section.productDescription {box-sizing:border-box;max-width:calc(100% - 2 * var(--gutter));overflow-wrap:anywhere;}

    @media screen and (max-width: 1100px) {section.productDescription {max-width:calc(100% - 2em);margin-inline:1em;}
    }

    /* дополнения сайта */
    /* Главное фото: белая рамка; широкий баннер каталога — крупнее, по центру (класс wide ставит product-head.js). */section.productHeadliner .mainImageBox {display:block;overflow:hidden;aspect-ratio:4 / 3;background:#fff;border:1px solid var(--baseGray);box-shadow:0 0.2rem 2rem var(--baseDarkShadow10);}section.productHeadliner .mainImageBox img.mainImage {display:block;width:100%;height:100%;border:0;box-shadow:none;object-fit:contain;aspect-ratio:auto;transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);}section.productHeadliner .mainImageBox.wide img.mainImage {object-fit:cover;}section.productHeadliner img.galleryImage {object-fit:contain;background:#fff;}
    /* Фото товара не нашлось (битая ссылка старого сайта): спокойная рамка с подписью вместо значка битой картинки */section.productHeadliner .mainImageBox.noImage {display:grid;place-items:center;background:var(--baseMidLight) var(--noised);}section.productHeadliner .mainImageBox.noImage img.mainImage {display:none;}section.productHeadliner .mainImageBox.noImage::after {content:'Фото уточняйте у менеджера';color:var(--textMuted);font-size:0.95rem;}[data-theme='dark'] section.productHeadliner .mainImageBox.noImage {background-color:#ffffff0a;}