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.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 .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 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;}

    /* Наши магазины: строки в одной рамке — фото, адрес, часы, маршрут; внизу — такси и карта. Раскладка — по ширине
       колонки (на 1000–1100 px колонка уже, чем на телефоне), отсюда контейнерный запрос */section.productHeadliner .storeList {container:stores / inline-size;}section.productHeadliner .storePanel {overflow:hidden;border:1px solid var(--baseMidGray);border-radius:0.5rem;background:var(--baseLight);}section.productHeadliner :is(ul.storeRows, ul.storeFacts) {margin:0;padding:0;list-style:none;}section.productHeadliner :is(ul.storeRows, ul.storeFacts) > li {margin:0;list-style:none;}section.productHeadliner li.storeRow {display:grid;grid-template-columns:9.5rem minmax(0, 1fr);grid-template-areas:'photo body'
        'photo route';align-items:start;gap:0.85rem 1.25rem;padding:1.25rem;}section.productHeadliner li.storeRow:not(:has(.storePhoto)) {grid-template-columns:minmax(0, 1fr);grid-template-areas:'body' 'route';}section.productHeadliner li.storeRow + li.storeRow {border-top:1px solid var(--baseMidGray);}section.productHeadliner a.storePhoto {grid-area:photo;display:block;overflow:hidden;aspect-ratio:4 / 3;border-radius:0.375rem;background:var(--baseLightGray);cursor:zoom-in;}section.productHeadliner a.storePhoto img {display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);}section.productHeadliner a.storePhoto:hover img {transform:scale(1.05);}section.productHeadliner a.storePhoto:focus-visible {outline:var(--focus-ring);outline-offset:2px;}section.productHeadliner .storeBody {grid-area:body;min-width:0;}section.productHeadliner h3.storeName {margin:0 0 0.5rem;font-size:1.05rem;line-height:1.3;letter-spacing:0.03em;text-wrap:balance;}section.productHeadliner ul.storeFacts > li {display:flex;align-items:flex-start;gap:0.55rem;font-size:0.95rem;line-height:1.4;}section.productHeadliner ul.storeFacts > li + li {margin-top:0.3rem;}section.productHeadliner ul.storeFacts > li::before {content:'';flex:none;width:1.1rem;height:1.1rem;margin-top:0.12rem;background:var(--primaryDarkColor);mask:var(--factIcon) center / contain no-repeat;}section.productHeadliner li.storeAddress {--factIcon: url('/media/theme/i/placeholder.svg');}section.productHeadliner li.storeHours {--factIcon: url('/media/theme/i/date.svg');}section.productHeadliner .storeNote {color:var(--textMuted);}section.productHeadliner p.storeRoute {grid-area:route;display:flex;flex-wrap:wrap;gap:0.5rem;margin:0;}section.productHeadliner p.storeRoute .button {gap:0.45rem;margin:0;padding:0 0.95em;font-size:0.875rem;letter-spacing:0.03em;}section.productHeadliner p.storeRoute .button img {width:1.15rem;height:1.15rem;margin:0;object-fit:contain;}section.productHeadliner .storeFoot {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.6rem 1.5rem;padding:0.9rem 1.25rem;border-top:1px solid var(--baseMidGray);background:var(--baseMidLight);font-size:0.95rem;line-height:1.4;}

    /* Такси: белая машина в бирюзовом круге — как значки «Оплата и договор» */section.productHeadliner p.storeTaxi {display:flex;flex:1 1 18rem;align-items:center;gap:0.65rem;margin:0;}section.productHeadliner p.storeTaxi a {white-space:nowrap;}section.productHeadliner .taxiIcon {display:grid;flex:none;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--primaryDarkColor);color:#fff;}section.productHeadliner .taxiIcon svg {width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}section.productHeadliner a.storeMap {white-space:nowrap;}

    @container stores (max-width: 34rem) {section.productHeadliner li.storeRow {grid-template-columns:6.5rem minmax(0, 1fr);grid-template-areas:'photo body'
          'route route';gap:0.85rem 1rem;padding:1rem;}section.productHeadliner .storeFoot {padding:0.85rem 1rem;}

      /* под текстом про такси, а не под значком */section.productHeadliner a.storeMap {margin-left:2.75rem;}
    }[data-theme='dark'] section.productHeadliner .storePanel {border-color:#ffffff1f;background:#ffffff08;}[data-theme='dark'] section.productHeadliner :is(li.storeRow + li.storeRow, .storeFoot) {border-color:#ffffff1f;}[data-theme='dark'] section.productHeadliner .storeFoot {background:#ffffff0a;}[data-theme='dark'] section.productHeadliner ul.storeFacts > li::before {background:#7fe3df;}[data-theme='dark'] section.productHeadliner .taxiIcon {background:#7fe3df;color:#111;}

    @media (prefers-reduced-motion: reduce) {section.productHeadliner a.storePhoto img {transition:none;}
    }[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;}