/* Smile Lab USA — веб-версия (планшет и компьютер), владелец 24.10.2026.
   Подключён с media="(min-width: 768px) and (min-height: 560px)": телефон этот файл
   не применяет вообще, поэтому мобильная версия не меняется ни на пиксель.
   План — docs/desktop-plan.md. Уровни: всё здесь — от 768; @media (min-width:1100px) — компьютер. */

:root { --dk-max: 1240px; --dk-pad: 40px; }
@media (min-width: 1600px) { :root { --dk-max: 1340px; } }

/* ================================================================ каркас */
html body .pp-page { max-width: var(--dk-max); margin-left: auto; margin-right: auto; }

/* ---- шапка: во всю ширину, внутри контейнер; меню строкой ---- */
html body .pp-top { left: 0; right: 0; width: auto; max-width: none; transform: none; }
html body .pp-bar { font-size: 13.5px; }
html body .pp-nav__in { max-width: var(--dk-max); margin-left: auto; margin-right: auto; height: 64px; padding: 0 28px; gap: 28px; justify-content: flex-start; }
html body .pp-top.is-scrolled .pp-nav__in { margin-top: -10px; max-width: calc(var(--dk-max) - 24px); }
html body .pp-nav__side:first-child { display: none; }
html body .pp-nav__logo { order: 0; padding: 0; font-size: 1.12em; }
html body .pp-nav__side--r { order: 2; flex: 0 0 auto; gap: 8px; margin-left: auto; }
.dk-nav { order: 1; display: flex; align-items: center; gap: 2px; margin-left: 12px; min-width: 0; flex: 1 1 auto; overflow: hidden; }
.dk-nav a, .dk-nav button {
  font: 600 14.5px/1 inherit; font-family: inherit; color: inherit; opacity: .86; padding: 10px 11px; border-radius: 999px;
  background: none; border: 0; cursor: pointer; white-space: nowrap; text-decoration: none; transition: background .2s, opacity .2s;
}
.dk-nav a:hover, .dk-nav button:hover { opacity: 1; background: rgba(255,255,255,.1); }
.pp-top--light:not(.is-scrolled) .dk-nav a:hover, .pp-top--light:not(.is-scrolled) .dk-nav button:hover { background: rgba(11,11,12,.06); }
.dk-cta {
  display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 999px; margin-left: 6px;
  background: linear-gradient(180deg, #f6cf6b, #e2a73a); color: #111 !important; font-weight: 800; font-size: 14px; white-space: nowrap;
  box-shadow: 0 6px 18px -8px rgba(226,167,58,.8); text-decoration: none;
}
.dk-cta:hover { filter: brightness(1.05); }
@media (max-width: 1279px) { .dk-nav .dk-nav__x, .dk-nav a[href*='pricing'] { display: none; } }
@media (max-width: 1023px) { .dk-nav a[href*='night-guards'], .dk-nav a[href*='how-it-works'] { display: none; } }

/* ---- подвал: колонки открыты ---- */
html body .pp-foot-nav { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; max-width: var(--dk-max); margin: 0 auto; padding: 56px 40px 24px; }
html body .pp-foot-nav details { border: 0 !important; }
html body .pp-foot-nav summary { pointer-events: none; padding: 0 0 14px; }
html body .pp-foot-nav summary .display { font-size: 15px; letter-spacing: .02em; }
html body .pp-foot-nav summary .pp-plus { display: none; }
html body .pp-foot-nav details > ul { display: block !important; padding: 0; margin: 0; }
html body .pp-foot-nav details > ul li { padding: 5px 0; }
html body .pp-foot-nav details > ul a { font-size: 14.5px; opacity: .8; }
html body .pp-foot-nav details > ul a:hover { opacity: 1; text-decoration: underline; }
html body .pp-foot-addr__in { max-width: var(--dk-max); margin: 0 auto; }
html body .pp-pay, html body .pp-legal, html body .pp-legal__copy { max-width: var(--dk-max); margin-left: auto; margin-right: auto; }
html body .pp-foot-nav details:first-child > ul { column-count: 2; column-gap: 32px; }
html body .pp-foot-nav details:first-child > ul li { break-inside: avoid; }

/* ================================================================ главная */
/* Hero на вебе: одна широкая сцена (dk/hero-group.webp) — те же четыре человека из мобильного слайдера,
   дорисованные Codex так, будто встали рядом у оранжевой стены. Мобильные слайды скрыты, подписи всплывают
   по очереди у изделия каждого, внизу затемнение, текст слева, строка гарантий на тонкой линии. Кнопок нет. */
@media (min-width: 1024px) {
  html body .pp-hero-wrap { padding-top: 0; background: transparent !important; }
  html body .pp-hero-wrap::before { display: none !important; }
  html body .pp-hero { --sh: calc(100vw / 2.4); width: 100vw; margin-left: calc(50% - 50vw); height: calc(var(--sh) + 150px); border-radius: 0;
    background: #0b0b0c url(../cdn/shop/files/smilelab/dk/hero-group.webp) center top / 100% auto no-repeat; }
  html body .pp-hero__img.pp-hero__slide { display: none !important; }
  html body .pp-hero__vignette, html body .pp-hero__glow { display: none; }
  html body .pp-hero__fade { display: block; height: calc(100% - var(--sh) * .62); z-index: 3; background: linear-gradient(to top, #0b0b0c 0%, rgba(11,11,12,.92) 28%, rgba(11,11,12,.5) 62%, transparent 100%); }
  /* подписи у изделий (доли ширины и высоты сцены 2.4:1), слева направо по одной */
  html body .pp-hero__tag { opacity: 0; animation: dkTagIn .9s cubic-bezier(.2,.7,.2,1) forwards; transform: translate(-50%, 0) !important; filter: none; z-index: 4; display: inline-block !important; visibility: visible !important; }
  html body .pp-hero__tag--1 { left: 9% !important; top: calc(var(--sh) * .43) !important; animation-delay: 1.1s; }
  html body .pp-hero__tag--2 { left: 30% !important; top: calc(var(--sh) * .45) !important; animation-delay: 1.8s; }
  html body .pp-hero__tag--0 { left: 64% !important; top: calc(var(--sh) * .47) !important; animation-delay: 2.5s; }
  html body .pp-hero__tag--3 { left: 89% !important; top: calc(var(--sh) * .49) !important; animation-delay: 3.2s; }
  html body .pp-hero__bottom { z-index: 5; background: none !important; text-align: left; padding: 0; }
  html body .pp-hero__ctas { display: none !important; }
  html body .pp-hero__lede { padding: 0 max(48px, calc((100vw - 1240px) / 2)) 22px; }
  html body .pp-hero__lead { font-family: var(--font-display, inherit); font-size: clamp(40px, 3.6vw, 58px) !important; line-height: 1.04; max-width: none; margin: 0; white-space: nowrap !important; letter-spacing: -.025em; }
  html body .pp-hero__lead .pp-hero__big { font-size: 1.25em; }
  html body .pp-hero__pay { font-size: 19px; margin-top: 12px; opacity: .92; }
  html body .pp-hero .pp-glass { background: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-top: 1px solid rgba(255,255,255,.12); }
  html body .pp-hero__creds { max-width: 1240px; margin: 0 auto; padding: 0 48px; gap: 0; }
  html body .pp-hero__cred { flex: 1; justify-content: flex-start; padding: 18px 0; }
  html body .pp-hero__cred svg { width: 24px; height: 24px; } html body .pp-hero__cred-t { font-size: 15px; } html body .pp-hero__cred-s { font-size: 10px; }
}
@keyframes dkRise { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes dkTagIn { from { opacity: 0; filter: blur(10px); margin-top: 10px; } to { opacity: 1; filter: none; margin-top: 0; } }

/* Доверие: слева обещание и кнопка, справа оплата бегущей строкой и 6 выгод сеткой 3×2 */
@media (min-width: 1100px) {
  html body .pp-tiles { display: grid; grid-template-columns: .9fr 1.1fr; grid-template-rows: auto auto; column-gap: 56px; align-items: center; padding: 56px 56px 48px; }
  html body .pp-tiles__intro { display: contents; }
  html body .pp-tiles__intro > .pp-copy__p--minor { grid-column: 1; grid-row: 1; align-self: end; justify-content: flex-start; margin: 0 0 14px; text-align: left; }
  html body .pp-tiles__intro > .pp-paylogos { grid-column: 2; grid-row: 1; align-self: end; margin: 0 0 14px; }
  html body .pp-tiles__trust { grid-column: 1; grid-row: 2; align-self: start; justify-content: flex-start !important; white-space: normal !important; text-align: left; font-family: var(--font-display) !important; font-weight: 800 !important;
    font-size: 40px !important; line-height: 1.06 !important; letter-spacing: -.03em !important; max-width: 12em !important; margin: 0 !important; padding: 0 !important; }
  html body .pp-tiles__acts { grid-column: 1; grid-row: 3; justify-content: flex-start; margin-top: 26px; }
  html body .pp-tiles__grid--perks { grid-column: 2; grid-row: 2 / span 2; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; margin: 0 !important; }
  html body .pp-tiles__grid--perks .pp-tile { border: 0 !important; border-right: 1px solid rgba(17,24,39,.07) !important; border-bottom: 1px solid rgba(17,24,39,.07) !important; padding: 26px 14px !important; }
  html body .pp-tiles__grid--perks .pp-tile:nth-child(3n) { border-right: 0 !important; } html body .pp-tiles__grid--perks .pp-tile:nth-child(n+4) { border-bottom: 0 !important; }
  html body .pp-tiles__grid--perks .pp-tile img { width: 38px; height: 38px; }
  html body .pp-tiles__grid--perks .pp-tile__t { font-size: 15px; margin-top: 8px; }
}

/* Медали: одна горизонтальная чёрная полоса — три медали слева, «Dental appliances» справа */
@media (min-width: 1100px) {
  html body .pp-grade { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 0 40px; margin: 18px 0; padding: 40px 56px; border-radius: 36px;
    background: radial-gradient(60% 120% at 20% 50%, rgba(234,168,48,.22), transparent 60%), #0b0b0c; }
  html body .pp-grade .pp-medals { grid-column: 1; grid-row: 1 / span 2; margin: 0 !important; padding: 0 !important; display: flex !important; justify-content: space-around; gap: 16px; width: auto !important; max-width: none !important; }
  html body .pp-grade .pp-medal { width: 170px !important; flex: 0 0 auto !important; text-align: center; position: static !important; }
  html body .pp-grade .pp-medal img { width: 130px !important; height: 130px !important; object-fit: contain; margin: 0 auto 12px; }
  html body .pp-grade .pp-medal b { display: block; font-size: 16px !important; white-space: nowrap; } html body .pp-grade .pp-medal span { display: block; font-size: 11px !important; }
  html body .pp-grade .pp-medal b { color: #fff; } html body .pp-grade .pp-medal span { color: rgba(255,255,255,.55); }
  html body .pp-grade .pp-medal img { animation: dkMedal 6s ease-in-out infinite; } html body .pp-grade .pp-medal:nth-child(2) img { animation-delay: .8s; } html body .pp-grade .pp-medal:nth-child(3) img { animation-delay: 1.6s; }
  html body .pp-grade__plate { grid-column: 2; grid-row: 1; background: none !important; padding: 0 !important; margin: 0 !important; text-align: left; align-self: end; }
  html body .pp-grade__plate .pp-grade__k1 { justify-content: flex-start; }
  html body .pp-grade__plate .pp-grade__k2 { font-size: 64px !important; text-align: left; }
  html body .pp-grade__s { grid-column: 2; grid-row: 2; text-align: left; color: rgba(255,255,255,.62) !important; max-width: 30em; margin: 14px 0 0 !important; align-self: start; font-size: 16px !important; }
}
@keyframes dkMedal { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(2deg); } }

/* Случаи «сколько зубов»: четыре колонки, восьмая ячейка — «не знаю какой» */
@media (min-width: 1100px) {
  html body .pp-cases__track { grid-template-columns: repeat(4, 1fr) !important; gap: 28px 22px; padding: 0 48px; }
  html body .pp-case__eyebrow { font-size: 19px !important; white-space: nowrap; margin: 0 0 12px; }
  html body .pp-case { min-width: 0; }
  html body .pp-case__stage { flex: 0 0 auto; }
  html body .pp-case__stage > img { aspect-ratio: 1 / 1; flex: 0 0 auto; height: auto; }
  html body .pp-case__ba { display: none; }
  html body .pp-case__pill { padding: 12px 18px; }
  html body .pp-case__name, html body .pp-case__from { font-size: 15px; }
  html body .dk-case-help { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 14px;
    border-radius: 28px; padding: 32px; background: linear-gradient(160deg, #111 0%, #2a2213 100%); color: #fff; margin-top: 36px; }
  html body .dk-case-help b { font-family: var(--font-display); font-size: 26px; line-height: 1.1; }
  html body .dk-case-help span { font-size: 15px; opacity: .8; }
  html body .dk-case-help a { margin-top: 8px; white-space: nowrap; padding-left: 22px; padding-right: 22px; font-size: 14px; }
  html body .pp-cases__foot.dk-moved { display: none; }
}

/* Гарантия и сетка улыбок — одна панель в две колонки */
@media (min-width: 1100px) {
  html body #guarantee.dk-guar .pp-guar__in { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; text-align: left; padding: 64px; }
  html body #guarantee.dk-guar .pp-guar__title, html body #guarantee.dk-guar .pp-guar__sub { text-align: left; margin-left: 0; }
  html body #guarantee.dk-guar .pp-guar__title { font-size: 34px; line-height: 1.12; }
  html body #guarantee.dk-guar .pp-guar__sub { font-size: 16.5px; max-width: 34em; }
  html body #guarantee.dk-guar .pp-guar__list b { font-size: 16px; }
  html body #guarantee.dk-guar .pp-guar__list span { font-size: 14.5px; }
  html body #guarantee.dk-guar .pp-guar__list { margin-left: 0; }
  html body #guarantee.dk-guar .dk-guar__text { min-width: 0; }
  html body #guarantee.dk-guar .pp-smiles__frame { max-width: none; width: 100%; margin: 0; }
  html body #smiles.dk-empty { display: none; }
}

/* Три шага: на всю ширину, заголовок слева, подзаголовок справа */
@media (min-width: 1100px) {
  html body #steps.pp-exp { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: end; padding-left: 48px; padding-right: 48px; }
  html body #steps .pp-exp__title { grid-column: 1; margin: 0; }
  html body #steps .pp-exp__sub { grid-column: 2; max-width: 34em; margin: 0 0 6px; font-size: 16.5px; }
  html body #steps > :not(.pp-exp__title):not(.pp-exp__sub) { grid-column: 1 / -1; }
  html body #steps .pp-exp__track { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; overflow: visible; margin-top: 36px; }
  html body #steps .pp-ecard { width: auto !important; max-width: none !important; min-width: 0 !important; flex: none !important; height: 460px; }
  html body #steps .pp-dots, html body #steps [class*="dots"] { display: none !important; }
}

/* Happy Smiles: четыре в ряд */
@media (min-width: 1100px) {
  html body .pp-happy__slide { width: calc((100% - 3 * 16px) / 4) !important; flex: 0 0 calc((100% - 3 * 16px) / 4) !important; height: auto !important; aspect-ratio: 1 / 1.08; }
  html body .pp-happy__track { gap: 16px !important; }
  html body .pp-happy__title { font-size: 48px; }
}

/* Каталог: четыре карточки в окне карусели */
@media (min-width: 1100px) {
  html body #ppCatalogCar .pp-pcard { width: calc((100% - 3 * 16px) / 4) !important; flex: 0 0 calc((100% - 3 * 16px) / 4) !important; min-width: 0; }
  html body #ppCatalogCar .pp-car__track { gap: 16px !important; }
  html body .pp-catalog .pp-chips { justify-content: center; flex-wrap: wrap; overflow: visible; }
  html body .pp-catalog .pp-h2 { font-size: 52px; }
  html body #ppCatalogCar .pp-pcard .display, html body #ppCatalogCar .pp-pcard h3 { font-size: 24px !important; white-space: nowrap; }
}

/* Панели: декоративное пятно не должно занимать место в потоке */
html body .pp-panel__blob { position: absolute !important; }
@media (min-width: 1100px) {
  html body .pp-fam__h { font-size: 64px; max-width: none !important; width: auto !important; }
  html body .pp-fam .pp-copy, html body .pp-fam__head { max-width: 900px; margin-left: auto; margin-right: auto; }
  html body .pp-panel--night .pp-price, html body .pp-panel--night .pp-price small { color: #fff; }
  html body .pp-panel--night .pp-price__pay, html body .pp-panel--night .slpl-link { color: rgba(255,255,255,.75); }
  html body .pp-panel--night .pp-flat, html body .pp-panel--night .pp-flat * { color: rgba(255,255,255,.85); }
}

/* «Know the price»: заголовок в две строки, сравнение — настоящая таблица */
@media (min-width: 1100px) {
  html body .pp-know__head .pp-h2 { font-size: 60px; max-width: none; }
  html body .pp-readout > .pp-copy__p { text-align: center; margin-left: auto; margin-right: auto; max-width: 40em; }
  html body .pp-know__head .pp-copy__p { margin-left: auto; margin-right: auto; text-align: center; max-width: 40em; font-size: 16.5px; }
  html body .pp-readout { padding-left: 48px; padding-right: 48px; }
  html body .pp-read__head { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0 0 10px 170px; }
  html body .pp-read__head span { text-align: center !important; padding: 0 18px; font-size: 12px; }
  html body .pp-read__head span:nth-child(2) { color: #8a5a00; }
  html body .pp-read__row { display: grid !important; grid-template-columns: 170px 1fr; align-items: stretch; padding: 0 !important; }
  html body .pp-read__k { padding: 18px 0; align-self: center; font-size: 16px; }
  html body .pp-read__cmp { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 0; }
  html body .pp-read__cmp .pp-stat { display: flex; align-items: center; justify-content: center !important; padding: 16px 18px; text-align: center !important; }
  html body .pp-read__cmp .pp-stat--c { background: rgba(246, 207, 107, .18); font-weight: 600; }
  html body .pp-read__cmp .pp-stat__chip { display: none !important; }
  html body .pp-read__cmp .pp-stat__v { font-size: 14.5px; text-align: center !important; }
}

/* «Built in Florida»: заголовок и печать слева, список справа, бегущая строка снизу */
@media (min-width: 1100px) {
  html body #trust .pp-copy { display: grid; grid-template-columns: 1fr 1.1fr; column-gap: 56px; align-items: start;
    grid-template-areas: "e l" "h l" "p l" "s l" "m m"; text-align: left; padding: 24px 32px 0; }
  html body #trust .pp-copy > .pp-eyebrow { grid-area: e; text-align: left; justify-content: flex-start; margin: 0; }
  html body #trust .pp-copy > .pp-h2 { grid-area: h; text-align: left; font-size: 48px; margin-top: 12px; }
  html body #trust .pp-copy > .pp-copy__p { grid-area: p; text-align: left; margin-left: 0; max-width: 30em; font-size: 16.5px; }
  html body #trust .pp-copy > .pp-seal { grid-area: s; margin: 24px 0 0; }
  html body #trust .pp-copy > .pp-marquee { grid-area: m; margin-top: 32px; }
  html body #trust .pp-copy > .pp-check { grid-area: l; margin: 12px 0 0; }
  html body #trust .pp-copy > :not(.pp-h2):not(.pp-copy__p):not(.pp-seal):not(.pp-marquee):not(.pp-check):not(.pp-eyebrow) { grid-column: 1 / -1; }
}

/* Блог на главной: три карточки на всю ширину */
@media (min-width: 1100px) {
  html body .pp-journal__row { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 20px; padding: 0 44px; }
  html body .pp-journal__row .pp-post { width: auto !important; max-width: none !important; }
  html body .pp-post__h { font-size: 26px; }
}

/* «Questions? Ask right here»: текст слева, телефон справа */
@media (min-width: 1100px) {
  html body .pp-ask__card { display: grid; grid-template-columns: 1fr 340px; column-gap: 64px; align-items: center; text-align: left; padding: 56px 72px; }
  html body .pp-ask__card > * { grid-column: 1; justify-self: start; text-align: left; margin-left: 0; margin-right: 0; }
  html body .pp-ask__card > .pp-phone { grid-column: 2; grid-row: 1 / span 8; justify-self: center; transform: scale(1.12); transform-origin: center; }
  html body .pp-ask__card > .pp-h2 { font-size: 56px; }
}

/* ================================================================ каталог (collections/*) */
html body main.pp-col { max-width: var(--dk-max) !important; }
html body .pp-col .pp-panel { max-width: none; }
@media (min-width: 768px) {
  html body .pp-col .pp-hero2__copy { flex-direction: column; align-items: flex-start; justify-content: center; }
  html body .pp-col .pp-hero2__h { max-width: 11em; }
  html body .pp-col .pp-hero2__list li { font-size: 18px; color: rgba(255,255,255,.88); }
  html body .pp-col .pp-hero2__list li b, html body .pp-col .pp-hero2__list li strong { color: var(--accent, #eaa830); }
}
@media (min-width: 1100px) {
  html body .pp-col .pp-hero2__in { height: clamp(560px, 74vh, 720px); min-height: 0; border-radius: 0 0 32px 32px; }
  html body .pp-col .pp-hero2__h { font-size: 64px; }
  html body .pp-col .pp-hero2__copy { width: 52%; padding-left: 72px; }
  html body .pp-col .pp-hero2__tiles { width: 52%; }

  /* Группы: заголовок слева колонкой, карточки справа сеткой по три */
  html body .pp-col .pp-panel--grid { display: grid; grid-template-columns: 300px 1fr; column-gap: 48px; align-items: start; padding: 56px 48px; }
  html body .pp-col .pp-panel--grid > svg { grid-column: 1 / -1; }
  html body .pp-col .pp-panel--grid > .pp-grid-head { grid-column: 1; grid-row: 1 / span 4; position: sticky; top: 120px; padding: 0 !important; }
  html body .pp-col .pp-panel--grid > .pp-grid { grid-column: 2; padding: 0 !important; margin: 0 0 24px !important; }
  html body .pp-col .pp-panel--grid > .pp-grid:last-child { margin-bottom: 0 !important; }
  html body .pp-col .pp-grid .core__row--columns { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 22px; }
  html body .pp-col .pp-grid .ecom-column { width: auto !important; max-width: none !important; flex: none !important; padding: 0 !important; }
  html body .pp-col .pp-grid-head h2, html body .pp-col .pp-grid-head .ecom-heading, html body .pp-col .pp-grid-head [class*="heading"] { font-size: 40px !important; line-height: 1.05 !important; }
  html body .pp-col .pp-grid-head p, html body .pp-col .pp-grid-head .text-content { font-size: 16px !important; max-width: none !important; }
}
@media (min-width: 1100px) {
  html body .pp-col .pp-hero2__tiles { top: 0 !important; bottom: 0 !important; height: auto !important; }
  html body .pp-col .pp-panel--grid { grid-template-columns: 260px 1fr; column-gap: 40px; padding: 52px 40px; }
  html body .pp-col .pp-grid .core__row--columns { gap: 18px; align-items: stretch; }
  html body .pp-col .pp-grid .ecom-column > .core__column--wrapper { height: 100%; }
  html body .pp-col .pp-grid .slcc-row { flex-wrap: wrap; gap: 8px; }
  html body .pp-col .pp-grid .slcc-row .ecom-element-button, html body .pp-col .pp-grid .slcc-row a { white-space: nowrap; }
}
@media (min-width: 1100px) {
  /* Группы с рядами по четыре: заголовок сверху, сетка по четыре */
  html body .pp-col .pp-panel--grid:has(.ecom-column:nth-child(4)) { display: block; }
  html body .pp-col .pp-panel--grid:has(.ecom-column:nth-child(4)) > .pp-grid-head { position: static; margin-bottom: 28px !important; }
  html body .pp-col .pp-panel--grid:has(.ecom-column:nth-child(4)) .core__row--columns { grid-template-columns: repeat(4, 1fr); }
  html body .pp-col .pp-grid-head h2, html body .pp-col .pp-grid-head [class*="heading"] { word-break: normal; overflow-wrap: normal; hyphens: none; }
}

/* «Start with your situation»: шесть одинаковых плиток 3×2 с крупной картинкой */
@media (min-width: 1100px) {
  html body .slbento { max-width: var(--dk-max) !important; width: auto !important; margin-left: auto !important; margin-right: auto !important; padding: 56px 48px !important; }
  html body .slbento__copy > :first-child:not(.slbento__name) { font-size: 11px !important; letter-spacing: .14em; }
  html body .slbento__tile--wide .slbento__name { font-size: 22px !important; }
  html body .slbento__title { font-size: 44px !important; }
  html body .slbento__grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; }
  html body .slbento__tile { grid-column: auto !important; min-height: 180px !important; padding: 26px !important; display: flex !important; align-items: center; justify-content: space-between; }
  html body .slbento__media { width: 120px !important; height: 120px !important; flex: 0 0 auto; }
  html body .slbento__media img { width: 100% !important; height: 100% !important; object-fit: contain; position: static !important; transform: none !important; }
  html body .slbento__name { font-size: 22px !important; }
}

/* ================================================================ карточка товара */
html body main.pp-pdp { max-width: var(--dk-max) !important; }
@media (min-width: 1000px) {
  html body .pp-pdp .pp-panel { max-width: none; }
  html body .pp-pdp .pp-panel--product { padding: 40px 48px; }
  html body .pp-pdp .pp-panel--product > form > section > .core__row--columns { display: grid !important; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 44px; align-items: start; }
  html body .pp-pdp .pp-panel--product > form > section > .core__row--columns > .ecom-column { width: auto !important; max-width: none !important; flex: none !important; }
  html body .pp-pdp .pp-panel--product > form > section > .core__row--columns > .core__column--first { position: sticky; top: 112px; }
  html body .dk-buybox { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(17,24,39,.08); }
  html body .dk-buybox .slfeat__grid { margin-top: 22px; }
  /* Остальное из панели покупки — на всю ширину: аккордеоны слева, до/после справа */
  html.dk-pdp body .pp-pdp .pp-panel--buy { width: auto !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; padding: 48px !important; }
  html.dk-pdp body .pp-pdp .pp-buy__in { width: auto !important; max-width: none !important; }
  html.dk-pdp body .pp-pdp .slfeat { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 48px; align-items: start; }
  html.dk-pdp body .pp-pdp .slfeat > .slacc:not(.slacc--faq) { grid-column: 1; grid-row: 1; }
  html.dk-pdp body .pp-pdp .slfeat > .slstory { grid-column: 2; grid-row: 1; margin-top: 0; }
  html.dk-pdp body .pp-pdp .slfeat > :not(.slacc):not(.slstory), html.dk-pdp body .pp-pdp .slfeat > .slacc--faq { grid-column: 1 / -1; }
  html.dk-pdp body .pp-pdp .slfaq__h { font-size: 32px; margin-top: 24px; text-align: center; }
  html.dk-pdp body .pp-pdp .slacc--faq { display: grid; grid-template-columns: 1fr 1fr; column-gap: 32px; align-items: start; }
  html.dk-pdp body .pp-pdp .pp-panel--buy .slvs { max-width: 760px; width: 100%; margin: 32px auto 0 !important; justify-self: center; align-self: center; }
  html.dk-pdp body .pp-pdp .pp-panel--buy .pp-buy__in > .ecom-block { max-width: 900px; margin: 24px auto 0; }
}
@media (min-width: 1000px) {
  /* Ряды конструктора с одной колонкой — на всю ширину (конструктор давал им 50%) */
  html body .pp-pdp .pp-panel .core__row--columns > .ecom-column.core__column--first.core__column--last { width: 100% !important; max-width: none !important; flex: 1 1 100% !important; }
  html body .pp-pdp .pp-panel--faq .core__row--columns { align-items: flex-start !important; }
  html body .pp-pdp .pp-panel--faq .core__column--wrapper, html body .pp-pdp .pp-panel--faq .core__blocks { justify-content: flex-start !important; }
}
@media (min-width: 1000px) {
  html body .pp-pdp .pp-panel--faq section .core__blocks--body > .ecom-block > .ecom-row > .core__row--columns { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 48px; align-items: start; }
  html body .pp-pdp .pp-panel--faq section .core__blocks--body > .ecom-block > .ecom-row > .core__row--columns > .ecom-column { width: auto !important; max-width: none !important; }
  html body .pp-pdp .pp-panel--faq section .core__blocks--body > .ecom-block > .ecom-row > .core__row--columns > .ecom-column:nth-child(1) { grid-column: 1; grid-row: 1; }
  html body .pp-pdp .pp-panel--faq section .core__blocks--body > .ecom-block > .ecom-row > .core__row--columns > .ecom-column:nth-child(2) { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 120px; }
  html body .pp-pdp .pp-panel--faq section .core__blocks--body > .ecom-block > .ecom-row > .core__row--columns > .ecom-column:nth-child(3) { grid-column: 1; grid-row: 2; }
}
@media (min-width: 1000px) {
  html body .pp-pdp .pp-panel .core__row--columns:has(> .ecom-column.core__column--first.core__column--last) { grid-template-columns: 1fr !important; }
}
/* Шапка при прокрутке: плашка по центру, той же ширины, что и контейнер */
html body .pp-top.is-scrolled .pp-nav__in { margin-left: auto !important; margin-right: auto !important; width: calc(100% - 24px); }
/* Тёмный подвал конструктора (каталог, товар): содержимое в контейнере */
@media (min-width: 1000px) {
  html body [class*="shopify-section-group-ecom-"][class*="_footer"] > .ecom-builder > .ecom-sections > section.ecom-row > .core__row--columns { max-width: calc(var(--dk-max) - 80px); margin-left: auto !important; margin-right: auto !important; }
}

/* ================================================================ корзина и страницы pp-pg */
html body main.pp-pg { width: 100%; max-width: var(--dk-max) !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }
@media (min-width: 1024px) {
  html body main.pp-pg--cart { max-width: 1180px !important; padding-top: 108px !important; }
  html body .pp-pg--cart .slc-wrap { padding: 40px 48px 48px; }
  html body .pp-pg--cart .slc-title { font-size: 56px !important; }
  html body .pp-pg--cart .slc-grid { grid-template-columns: minmax(0, 1fr) 400px; gap: 36px; }
  html body .pp-pg--cart .slc-sum { position: sticky; top: 112px; }
  html body .pp-pg--cart .slc-empty { max-width: 640px; margin: 0 auto; }
}
@media (min-width: 1024px) {
  html body .pp-pg--cart .slc-item { padding-right: 70px !important; position: relative; }
  html body .pp-pg--cart .slc-item .slc-price { white-space: nowrap; }
  html body .pp-pg--cart .slc-thumb { width: 84px !important; height: 84px !important; }
  html body .pp-pg--cart .slc-name { font-size: 18px !important; }
}

/* ================================================================ инфо-страницы (pp-pg) */
@media (min-width: 1024px) {
  /* Первый экран: всё по центру, строки не уже 640 px */
  html body .pp-pg .pp-panel--hero, html body main .pp-panel--hero.pp-hiw-hero { text-align: center; padding-top: 64px; padding-bottom: 64px; }
  html body .pp-pg .pp-panel--hero > h1, html body .pp-pg .pp-panel--hero > p, html body .pp-pg .pp-panel--hero > .pp-eyebrow,
  html body .pp-pg .pp-panel--hero > .pp-plan__tiers, html body .pp-pg .pp-panel--hero > a,
  html body .pp-pg .pp-panel--hero > .slcontact__cta { margin-left: auto !important; margin-right: auto !important; max-width: 760px !important; width: auto; text-align: center; justify-content: center; }
  html body .pp-pg .pp-panel--hero > h1 { max-width: 980px !important; font-size: clamp(48px, 4.6vw, 68px) !important; line-height: 1.02 !important; }
  html body .pp-pg .pp-panel--hero > p { font-size: 18px !important; line-height: 1.5 !important; }
  html body .pp-pg .pp-panel--hero > a { display: table; }
  html body .pp-pg .pp-panel--hero > img { margin-top: 32px; }

  /* Текстовые панели истории: заголовок слева, текст справа */
  html body .pp-pg .pp-st-text { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: 64px; align-items: start; padding: 64px 72px !important; }
  html body .pp-pg .pp-st-text > * { grid-column: 2; max-width: 620px; }
  html body .pp-pg .pp-st-text > .pp-st-h2, html body .pp-pg .pp-st-text > h2 { grid-column: 1; grid-row: 1 / span 12; position: sticky; top: 120px; font-size: 44px !important; line-height: 1.05 !important; }
  html body .pp-pg .pp-st-text > p { font-size: 17px; line-height: 1.6; }
  /* Тёмные панели: заголовки светлые */
  html body .pp-panel--night h2, html body .pp-panel--night .pp-h2, html body .pp-panel--night h3 { color: #fff; }
}
@media (min-width: 1024px) {
  html body .pp-pg .pp-panel--hero > p { text-align: center !important; }
  html body .pp-hiw-hero { text-align: center; }
  html body .pp-hiw-hero h1, html body .pp-hiw-hero .pp-hiw-h1 { text-align: center !important; margin-left: auto !important; margin-right: auto !important; font-size: clamp(44px, 4.2vw, 60px) !important; }
  html body .pp-hiw-hero p { margin-left: auto !important; margin-right: auto !important; max-width: 720px !important; text-align: center !important; font-size: 17px !important; }
}

/* ================================================================ блог */
html body main.pp-blog, html body main.pp-art { max-width: var(--dk-max) !important; }
@media (min-width: 1100px) {
  html body main.pp-blog .pp-panel, html body main.pp-art .pp-panel { max-width: none; }
  html body main.pp-blog .pp-panel--hero h1 { font-size: 64px; }
  html body main.pp-art .pp-panel--hero h1, html body main.pp-art h1 { font-size: clamp(44px, 4.2vw, 60px) !important; max-width: 920px; margin-left: auto; margin-right: auto; }
  /* текст статьи — колонка для чтения 760 px, таблицы и картинки могут быть шире */
  html body main.pp-art .pp-panel__in > p, html body main.pp-art .pp-panel__in > ul, html body main.pp-art .pp-panel__in > ol,
  html body main.pp-art .pp-panel__in > h2, html body main.pp-art .pp-panel__in > h3 { max-width: 760px; }
  html body main.pp-art p, html body main.pp-art li { font-size: 17px; line-height: 1.65; }
}
@media (min-width: 1024px) {
  /* Первые экраны конструктора (about, accessories): одна колонка по центру */
  html body #ecom-about-us .pp-ab-hero .core__row--columns,
  html body #ecom-accessories > .ecom-sections > .pp-panel--hero .core__row--columns { display: grid !important; grid-template-columns: minmax(0, 860px) !important; justify-content: center; }
  html body #ecom-about-us .pp-ab-hero .ecom-column,
  html body #ecom-accessories > .ecom-sections > .pp-panel--hero .ecom-column { width: 100% !important; max-width: none !important; }
  html body #ecom-about-us .pp-ab-hero, html body #ecom-accessories > .ecom-sections > .pp-panel--hero { text-align: center; }
  html body #ecom-about-us .pp-ab-hero *, html body #ecom-accessories > .ecom-sections > .pp-panel--hero * { text-align: center !important; }
  html body #ecom-about-us .pp-ab-hero .text-content, html body #ecom-accessories > .ecom-sections > .pp-panel--hero .text-content { margin-left: auto; margin-right: auto; max-width: 680px; font-size: 17px; }
  html body #ecom-about-us .pp-ab-hero img { max-width: 100%; }
  /* Юридические страницы: колонка для чтения */
  html body .pp-pg--policy .pp-card { max-width: 860px; margin-left: auto !important; margin-right: auto !important; padding: 36px 44px !important; }
  html body .pp-pg--policy p, html body .pp-pg--policy li { font-size: 16px !important; line-height: 1.65 !important; }
  /* SEO-страницы (sll): заголовок по левому краю, как и текст */
  html body .sll .pp-panel--hero h1 { text-align: left !important; font-size: clamp(44px, 4.2vw, 60px) !important; }
  html body .sll .pp-panel--hero p { font-size: 17px; }
}
/* body у шаблонов магазина — grid: без явной ширины main растягивается до max-width и вылезает за экран */
html body main.pp-pdp, html body main.pp-col, html body main.pp-blog, html body main.pp-art, html body main.pp-page { width: 100%; min-width: 0; box-sizing: border-box; }
/* Планшет: строки списка в hero каталога — обычным текстом, кнопки карточек переносятся */
html body .pp-col .pp-hero2__list li { display: block !important; }
html body .pp-col .pp-hero2__list li svg { display: inline-block; vertical-align: -2px; margin-right: 8px; }
html body .pp-col .pp-grid .slcc-row { flex-wrap: wrap; gap: 8px; }
@media (min-width: 1100px) {
  html body .pp-col .pp-panel--grid { grid-template-columns: 340px 1fr; }
  html body .pp-col .pp-grid-head h2, html body .pp-col .pp-grid-head [class*="heading"] { font-size: 36px !important; }
}

/* ================================================================ шапка в стиле hellopepti: светлое стекло */
html body .pp-top .pp-nav__in, html body .pp-top.is-scrolled .pp-nav__in, html body .pp-top--light:not(.is-scrolled) .pp-nav__in {
  background: rgba(255,255,255,.78) !important; color: #1d1d1f !important; -webkit-backdrop-filter: blur(20px) saturate(150%); backdrop-filter: blur(20px) saturate(150%);
  border-bottom: 1px solid rgba(0,0,0,.06); height: 56px; max-width: none !important; width: 100% !important; margin: 0 !important; border-radius: 0 !important; padding: 0 max(28px, calc((100% - var(--dk-max)) / 2 + 28px)) !important; }
html body .pp-top .pp-nav__btn { color: #1d1d1f !important; }
html body .pp-top .sl-wordmark b, html body .pp-top .pp-nav__logo b { color: #1d1d1f !important; }
html body .pp-top.is-scrolled .pp-bar { margin: 0 !important; border-radius: 0 !important; }
html body .pp-top .pp-bar__ear { display: none; }
.dk-nav a, .dk-nav button { font-size: 13px; font-weight: 500; opacity: .8; }
.dk-nav a:hover, .dk-nav button:hover { background: rgba(0,0,0,.05) !important; }
.dk-cta { height: 34px; font-size: 13px; padding: 0 16px; background: #111; color: #fff !important; box-shadow: none; }

/* ================================================================ подвал в стиле hellopepti */
html.dk-foot-on body footer.pp-footer, html.dk-foot-on body .slc-foot,
html.dk-foot-on body [class*="shopify-section-group-ecom-"][class*="_footer"] section.ecom-row { display: none !important; }
.dkf { background: #f6f1e8; color: #1d1d1f; font-family: 'Inter', system-ui, sans-serif; border-top: 1px solid rgba(0,0,0,.05); }
.dkf__in { max-width: 1180px; margin: 0 auto; padding: 56px 24px 40px; }
.dkf__top { display: flex; justify-content: space-between; gap: 40px; padding-bottom: 32px; border-bottom: 1px solid rgba(0,0,0,.07); }
.dkf__brand { max-width: 360px; } .dkf__brand .sl-wordmark { font-size: 22px; }
.dkf__brand p { margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: #6e6e73; }
.dkf__contact { text-align: right; } .dkf__contact p { margin: 0 0 14px; font-size: 13px; line-height: 1.55; } .dkf__contact a { color: inherit; }
.dkf__text { display: inline-flex; align-items: center; gap: 12px; background: #fff; border-radius: 18px; padding: 12px 22px 12px 12px; box-shadow: 0 8px 28px rgba(0,0,0,.06); text-decoration: none; color: #1d1d1f; text-align: left; font-weight: 700; font-size: 17px; }
.dkf__text small { display: block; font-size: 11px; font-weight: 500; color: #86868b; }
.dkf__ico { width: 36px; height: 36px; border-radius: 50%; background: #111; position: relative; flex: none; }
.dkf__ico::after { content: ''; position: absolute; inset: 11px 10px 12px; border: 2px solid #f2c45a; border-radius: 6px 6px 6px 1px; }
.dkf__cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; padding: 32px 0; }
.dkf h4 { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: 0; text-transform: none; color: #1d1d1f; font-family: 'Inter', sans-serif; }
.dkf ul { list-style: none; margin: 0; padding: 0; } .dkf li { padding: 3px 0; }
.dkf li a { font-size: 12px; color: #6e6e73; text-decoration: none; } .dkf li a:hover { color: #1d1d1f; }
.dkf__legal { display: flex; flex-wrap: wrap; gap: 6px 0; padding: 18px 0; border-top: 1px solid rgba(0,0,0,.07); font-size: 12px; }
.dkf__legal b { margin-right: 12px; } .dkf__legal a { color: #6e6e73; text-decoration: none; padding: 0 10px; border-right: 1px solid rgba(0,0,0,.12); line-height: 1; }
.dkf__legal a:last-child { border-right: 0; } .dkf__legal a:hover { color: #1d1d1f; }
.dkf__copy { margin: 18px 0 4px; font-size: 12px; color: #6e6e73; } .dkf__fine { margin: 0; font-size: 11px; font-style: italic; color: #86868b; }
@media (min-width: 1100px) {
  html body .pp-grade__plate { overflow: visible !important; width: auto !important; }
  html body .pp-grade__plate .pp-grade__k2 { display: block !important; font-size: 50px !important; white-space: nowrap; text-align: left !important; margin: 0 !important; transform: none !important; letter-spacing: -.02em; }
  html body .pp-grade__plate .pp-grade__k1 { display: flex !important; margin: 0 0 10px !important; }
  html body .pp-grade__plate .pp-grade__k1::before { display: none !important; }
}
@media (min-width: 1100px) { html body .pp-grade__h.pp-grade__plate { align-items: flex-start !important; } }

/* ================================================================ веб во всю ширину (владелец 24.10.2026 вечер)
   Секции главной — от края до края: фон секции на всю ширину окна, содержимое в полосе 1240 через поля --gut.
   Пустые края заполняют фоны и декор (cream-waves, gold-ribbon). Карточки-панели остаются скруглёнными внутри. */
@media (min-width: 1024px) {
  html body { --gut: max(40px, calc((100vw - 1240px) / 2)); }
  html body main.pp-page { max-width: none !important; width: 100%; }
  html body .pp-page > section, html body .pp-page > .pp-sec { padding-left: var(--gut) !important; padding-right: var(--gut) !important; position: relative; }
  html body .pp-page > section > *, html body .pp-page > .pp-sec > * { position: relative; z-index: 1; }
  /* фон-«волны» под светлыми секциями, прибит к краям окна */
  html body .pp-tiles-wrap, html body #cases, html body #guarantee, html body #steps, html body #happy, html body #all,
  html body .pp-sec, html body .pp-shade-wrap, html body #know, html body #three, html body #trust, html body #faq, html body #journal, html body #ask, html body .pp-join {
    background-color: #fefcf7; }
  html body .pp-tiles-wrap::after, html body #cases::after, html body #steps::after, html body #happy::after, html body #know::after, html body #three::after, html body #journal::after {
    content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .55;
    background: url(../cdn/shop/files/smilelab/dk/cream-waves.webp) center / cover no-repeat; }
  html body .pp-hero-wrap { padding-left: 0 !important; padding-right: 0 !important; }
  html body .pp-hero { margin-left: 0; }
  /* медали: чёрная полоса во всю ширину, содержимое в полосе 1240 */
  html body .pp-grade { border-radius: 0; margin: 0; padding-top: 44px; padding-bottom: 44px; column-gap: 40px; background-color: #0b0b0c; }
  html body .pp-grade::after { display: none; }
  /* тёмные панели: сама панель во всю ширину */
  html body .pp-sec--tight:has(> .pp-panel--night) { padding-left: 0 !important; padding-right: 0 !important; }
  html body .pp-sec--tight > .pp-panel--night { border-radius: 0; padding-left: var(--gut) !important; padding-right: var(--gut) !important; width: 100%; max-width: none; }
  html body #story { padding-left: 0 !important; padding-right: 0 !important; }
  html body .pp-story__panel { border-radius: 0; }
  html body .pp-cases__track { padding-left: 0; padding-right: 0; }
  html body #trust { margin-left: 0; margin-right: 0; width: auto; }
}
@media (min-width: 1024px) {
  /* золотая лента в пустых краях: гарантия и шаги */
  html body #guarantee::before, html body #steps::before { content: ''; position: absolute; z-index: 0; pointer-events: none; width: 52vw; aspect-ratio: 2400 / 637;
    background: url(../cdn/shop/files/smilelab/dk/gold-ribbon.webp) center / contain no-repeat; opacity: .9; filter: drop-shadow(0 30px 40px rgba(120,80,10,.25)); }
  html body #guarantee::before { right: -14vw; top: -8%; transform: rotate(-14deg); }
  html body #steps::before { left: -16vw; bottom: -6%; transform: rotate(10deg) scaleX(-1); }
}

/* ================================================================ каталог во всю ширину */
@media (min-width: 1024px) {
  html body main.pp-col { max-width: none !important; padding-left: var(--gut) !important; padding-right: var(--gut) !important; position: relative; isolation: isolate; }
  html body main.pp-col::before { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5; background: url(../cdn/shop/files/smilelab/dk/cream-waves.webp) center top / 100% auto repeat-y; }
  html body .pp-col .pp-hero2 { width: 100vw; margin-left: calc(var(--gut) * -1) !important; margin-right: calc(var(--gut) * -1) !important; background: transparent !important; }
  html body .pp-col .pp-hero2__in { border-radius: 0 !important; height: clamp(600px, 78vh, 760px); }
  html body .pp-col .pp-hero2__copy { padding-left: var(--gut) !important; }
  html body .pp-col .pp-hero2__tiles { width: 52% !important; }
  html body .pp-col .pp-hero2__h { font-size: clamp(48px, 4.6vw, 72px) !important; }
  html body .pp-col .pp-panel--grid, html body .pp-col .pp-panel--pop { margin-left: 0; margin-right: 0; }
  /* золотая лента в краях первой группы */
  html body .pp-col .pp-panel--grid:first-of-type { position: relative; }
  html body main.pp-col::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 44vw; aspect-ratio: 2400 / 637; right: -12vw; top: 820px; transform: rotate(-18deg);
    background: url(../cdn/shop/files/smilelab/dk/gold-ribbon.webp) center / contain no-repeat; opacity: .85; filter: drop-shadow(0 30px 40px rgba(120,80,10,.25)); }
  /* тёмный подвал конструктора и бенто — навылет */
  html body [class*="shopify-section-group-ecom-"][class*="_footer"] { width: 100vw; margin-left: calc(50% - 50vw); }
  html body .slbento { max-width: none !important; width: 100% !important; border-radius: 0 !important; padding-left: var(--gut) !important; padding-right: var(--gut) !important; }
  html body .slbento__grid { max-width: 1240px; margin: 0 auto !important; }
  html body .slbento__head { max-width: 1240px; margin-left: auto !important; margin-right: auto !important; }
}

/* ================================================================ остальные страницы во всю ширину: карточка, инфо, блог, корзина */
@media (min-width: 1024px) {
  html body main.pp-pdp, html body main.pp-pg, html body main.pp-blog, html body main.pp-art, html body main.pp-pg--cart {
    max-width: none !important; width: 100%; padding-left: var(--gut) !important; padding-right: var(--gut) !important; position: relative; isolation: isolate; }
  html body main.pp-pdp::before, html body main.pp-pg::before, html body main.pp-blog::before, html body main.pp-art::before {
    content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5; background: url(../cdn/shop/files/smilelab/dk/cream-waves.webp) center top / 100% auto repeat-y; }
  /* тёмные панели — навылет */
  html body main.pp-pdp .pp-panel--night, html body main.pp-pg .pp-panel--night, html body main.pp-art .pp-panel--night {
    width: 100vw; margin-left: calc(50% - 50vw) !important; margin-right: 0 !important; border-radius: 0 !important; padding-left: var(--gut) !important; padding-right: var(--gut) !important; max-width: none !important; }
  html body main.pp-pdp .pp-panel--related { width: 100vw; margin-left: calc(50% - 50vw) !important; border-radius: 0 !important; padding-left: var(--gut) !important; padding-right: var(--gut) !important; }
  html body main.pp-pdp .pp-panel--related > section { max-width: 1240px; margin: 0 auto; }
  html body .pp-pdp .pp-panel, html body .pp-pg .pp-panel { max-width: 1240px; margin-left: auto !important; margin-right: auto !important; }
  html body .pp-pdp .page-width { max-width: none; }
  /* золотая лента справа под первым экраном карточки и инфо-страниц */
  html body main.pp-pdp::after, html body main.pp-pg::after { content: ''; position: absolute; z-index: -1; pointer-events: none; width: 40vw; aspect-ratio: 2400 / 637; right: -10vw; top: 980px; transform: rotate(-16deg);
    background: url(../cdn/shop/files/smilelab/dk/gold-ribbon.webp) center / contain no-repeat; opacity: .8; filter: drop-shadow(0 30px 40px rgba(120,80,10,.25)); }
  html body main.pp-pg--cart::after, html body main.pp-pg--policy::after { display: none; }
  html body main.pp-pg--cart { max-width: none !important; }
  html body .pp-pg--cart .slc-wrap { max-width: 1180px; margin: 0 auto; }
}
@media (min-width: 1024px) { html body main.pp-pg--policy::before { opacity: .28; } }

/* ---- движение (ставит sl-desktop.js) ---- */
@media (min-width: 1024px) {
  html.sl-dk body [data-r] { opacity: 0; transform: translateY(22px); filter: blur(6px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1), filter .8s; transition-delay: var(--d, 0ms); }
  html.sl-dk body [data-r].is-in { opacity: 1; transform: none; filter: none; }
  html.sl-dk body .fade-in[data-r] { transition-property: opacity, transform, filter; }
  @media (prefers-reduced-motion: reduce) { html.sl-dk body [data-r] { opacity: 1; transform: none; filter: none; } }
}
