/*
Theme Name: Collagen Live Child
Template: storefront
Version: 0.4.21
Text Domain: collagen-live-child
*/
@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/Montserrat-CyrillicExt.woff2") format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F,
    U+FE2E-FE2F;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/Montserrat-Cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/Montserrat-Vietnamese.woff2") format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169,
    U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309,
    U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/Montserrat-LatinExt.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7,
    U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F,
    U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F,
    U+A720-A7FF;
}

@font-face {
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("assets/fonts/Montserrat-Latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
    U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122,
    U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Glober;
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("assets/fonts/globerthinfree.otf") format("opentype");
}

@font-face {
  font-family: Glober;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/fonts/globersemiboldfree.otf") format("opentype");
}

@font-face {
  font-family: Glober;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/fonts/globersemiboldfree.otf") format("opentype");
}

:root {
  --color-base: #fff;
  --color-text: #17131d;
  --color-ink: #17131d;
  --color-muted: #6f6a78;
  --color-accent: #9b7bd0;
  --color-accent-light: #b8a4df;
  --color-lavender: #f8f6fc;
  --color-blue: #f3f7fb;
  --color-border: #ece7f5;
  --color-focus: #6f4eb3;
  --surface-card: #fff;
  --surface-soft: #fbf9fd;
  --card-radius: 8px;
  --card-border: 1px solid var(--color-border);
  --card-shadow: 0 18px 42px rgb(23 19 29 / 4%);
  --card-shadow-hover: 0 22px 48px rgb(23 19 29 / 7%);
  --icon-surface: #f8f5fc;
  --section-y: clamp(68px, 6vw, 92px);
  --section-y-compact: clamp(56px, 5vw, 76px);
  --heading-section: clamp(34px, 3.7vw, 52px);
  --heading-card: clamp(21px, 2vw, 28px);
  --heading-weight: 700;
  --font-logo: Glober, Montserrat, Arial, Helvetica, sans-serif;
  --font-heading: Glober, Montserrat, Arial, Helvetica, sans-serif;
  --font-body: Montserrat, Arial, Helvetica, sans-serif;
  --font-small: Montserrat, Arial, Helvetica, sans-serif;
  --font-body-fallback: Arial, Helvetica, sans-serif;
  --font-heading-fallback: Arial, Helvetica, sans-serif;
  --container: 1440px;
  --side-desktop: 56px;
  --side-tablet: 32px;
  --side-mobile: 20px;
}

* {
  box-sizing: border-box;
}

html {
  background: var(--color-base);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--color-base);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
}

main :where(h1, h2, h3, h4, h5, h6) {
  color: #17131d !important;
  font-family: var(--font-heading) !important;
  font-weight: var(--heading-weight) !important;
  letter-spacing: 0 !important;
}

main h2 {
  font-size: var(--heading-section) !important;
  line-height: 1.08 !important;
}

button,
input,
textarea,
select,
.site-header__desktop-nav,
.site-header__mobile-nav,
.site-header__utility,
.site-footer__links,
.site-footer__contacts,
.site-footer__contact-link,
.catalog-controls,
.catalog-pagination,
.product-card__badge,
.product-card__rating,
.catalog-grid__category,
.catalog-grid__meta,
.catalog-product-card__rating,
.catalog-product-card__stock,
.home-catalog__eyebrow,
.home-catalog__filters,
.home-catalog__link,
.home-catalog__summary,
.home-catalog__bottom,
.home-science__eyebrow,
.home-aging__timeline,
.home-aging__curve,
.home-aging__usage,
.home-trust__partners,
.home-trust__documents,
.home-research__eyebrow,
.home-labs__eyebrow,
.home-certificates__eyebrow,
.home-certificates__docs,
.home-certificates__meta,
.home-certificates__action,
.catalog-reviews__eyebrow,
.catalog-review-card__actions,
.catalog-faq__eyebrow,
.catalog-consultation__eyebrow,
.catalog-consultation__form,
.catalog-contacts__label,
.catalog-contacts__actions,
.product-detail__breadcrumbs,
.product-detail__purchase,
.product-detail__tab-list,
.product-detail__document-action {
  font-family: var(--font-small);
}

/* Company page */
.company-page {
  color: var(--color-text);
  background: var(--color-base);
}

.company-page a {
  text-decoration: none;
}

.company-hero {
  position: relative;
  min-height: clamp(520px, 58vw, 720px);
  display: flex;
  align-items: center;
  padding: clamp(42px, 6vw, 88px) 0 clamp(56px, 7vw, 96px);
  border-bottom: 1px solid var(--color-border);
  overflow: hidden;
  background: #fbf8fd;
}

.company-hero::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background:
    linear-gradient(90deg, rgb(255 255 255 / 94%) 0%, rgb(255 255 255 / 78%) 34%, rgb(255 255 255 / 34%) 62%, rgb(255 255 255 / 0%) 100%),
    linear-gradient(180deg, rgb(255 255 255 / 14%), rgb(255 255 255 / 20%));
}

.company-hero__image {
  object-fit: cover;
  object-position: center right;
}

.company-hero__inner {
  position: relative;
  z-index: 2;
  width: 100%;
}

.company-hero__content {
  position: relative;
  display: grid;
  gap: 22px;
  max-width: 720px;
}

.company-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 0.9rem;
}

.company-breadcrumbs a {
  color: var(--color-accent);
}

.company-eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.company-hero h1,
.company-section__heading h2,
.company-technology__content h2,
.company-contact-cta h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  letter-spacing: 0;
}

.company-hero h1 {
  max-width: 680px;
  font-size: clamp(3.15rem, 7vw, 6.6rem);
  font-weight: 400;
  line-height: 0.98;
}

.company-hero__lead {
  max-width: 660px;
  margin: 0;
  color: var(--color-muted);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.75;
}

.company-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.company-button {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 24px;
  border-radius: 8px;
  font-family: var(--font-small);
  font-size: 0.9rem;
  font-weight: 800;
  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background 180ms ease;
}

.company-button:hover,
.company-button:focus-visible {
  transform: translateY(-1px);
}

.company-button--primary {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
}

.company-button--secondary {
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-accent-light);
}

.company-technology__visual img,
.company-quality__banner img,
.company-production-gallery__stage img,
.company-production-gallery__thumbs img {
  object-fit: cover;
}

.company-section {
  padding: clamp(58px, 7vw, 104px) 0;
}

.company-section__heading {
  display: grid;
  gap: 14px;
  max-width: 760px;
  margin-bottom: clamp(30px, 4vw, 50px);
}

.company-section__heading h2,
.company-technology__content h2,
.company-contact-cta h2 {
  font-size: clamp(2rem, 4vw, 4.15rem);
  font-weight: 500;
  line-height: 1.04;
}

.company-section__heading p:not(.company-eyebrow),
.company-technology__content > p,
.company-contact-cta p,
.company-intro__copy p,
.company-principle-card p,
.company-step-card p,
.company-science-logo p {
  margin: 0;
  color: var(--color-muted);
  font-size: 1rem;
  line-height: 1.7;
}

.company-intro__inner {
  display: grid;
  gap: 28px;
}

.company-intro .company-section__heading {
  max-width: none;
  margin-bottom: 0;
}

.company-intro__copy {
  display: grid;
  gap: 12px;
  max-width: none;
}

/* Company page: keep the UTP cards and technology story in one visual rhythm. */
.company-intro {
  padding-bottom: clamp(28px, 3vw, 44px);
}

.company-technology {
  padding-top: clamp(28px, 3vw, 44px);
}

.company-intro__copy p {
  max-width: none;
}

.company-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.company-principle-card,
.company-step-card,
.company-contact-cta__card {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.company-principle-card {
  display: grid;
  gap: 16px;
  padding: clamp(22px, 3vw, 34px);
}

.company-principle-card > span {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 8px;
}

.company-principle-card h3,
.company-step-card h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 1.18rem;
  font-weight: 650;
  line-height: 1.25;
}

.company-technology {
  background: #fff;
}

.company-technology__panel {
  display: grid;
  gap: 16px;
}

.company-technology__banner {
  position: relative;
  display: grid;
  min-height: clamp(430px, 42vw, 560px);
  overflow: hidden;
  align-items: center;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.company-technology__content {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 20px;
  align-content: center;
  max-width: 650px;
  padding: clamp(30px, 5vw, 64px);
}

.company-technology__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #fff;
}

.company-technology__visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 94%) 33%, rgb(255 255 255 / 68%) 50%, rgb(255 255 255 / 24%) 68%, rgb(255 255 255 / 0%) 100%),
    linear-gradient(180deg, rgb(255 255 255 / 10%), rgb(255 255 255 / 18%));
  pointer-events: none;
}

.company-technology__visual img {
  opacity: 0.84;
  object-position: center right;
}

.company-technology__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.company-technology-fact {
  display: grid;
  min-height: 220px;
  align-content: start;
  gap: 14px;
  padding: 24px;
  background: #fff;
  border: 1px solid rgb(155 123 208 / 18%);
  border-radius: 8px;
}

.company-technology-fact h3 {
  margin: 0;
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 750;
  line-height: 1.25;
}

.company-technology-fact p {
  margin: 0;
  color: var(--color-muted);
  font-size: 0.94rem;
  line-height: 1.55;
}

.company-check-list {
  display: grid;
  gap: 14px;
  padding: 0;
  margin: 8px 0 0;
  list-style: none;
}

.company-check-list li {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  color: var(--color-text);
  font-size: 1rem;
  line-height: 1.55;
}

.company-check-list svg {
  color: var(--color-accent);
  margin-top: 2px;
}

.company-quality__banner {
  position: relative;
  min-height: clamp(260px, 38vw, 470px);
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid var(--color-border);
  box-shadow: 0 22px 56px rgb(76 51 115 / 8%);
}

.company-quality__inner {
  display: grid;
  gap: 18px;
}

.company-production-gallery {
  display: grid;
  gap: 12px;
}

.company-production-gallery__stage {
  position: relative;
  min-height: clamp(300px, 40vw, 520px);
  overflow: hidden;
  background: #f8f5fc;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 22px 56px rgb(76 51 115 / 8%);
}

.company-production-gallery__stage::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(180deg, rgb(22 19 30 / 0%) 54%, rgb(22 19 30 / 42%) 100%),
    linear-gradient(90deg, rgb(255 255 255 / 10%), rgb(255 255 255 / 0%));
  pointer-events: none;
}

.company-production-gallery__caption,
.company-production-gallery__controls {
  position: absolute;
  z-index: 2;
}

.company-production-gallery__caption {
  left: clamp(16px, 3vw, 32px);
  bottom: clamp(16px, 3vw, 28px);
  display: inline-grid;
  gap: 6px;
  max-width: min(420px, calc(100% - 132px));
  color: #fff;
}

.company-production-gallery__caption span {
  font-family: var(--font-small);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  opacity: 0.8;
}

.company-production-gallery__caption strong {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.2vw, 2.2rem);
  font-weight: 500;
  line-height: 1.04;
}

.company-production-gallery__controls {
  right: clamp(14px, 2.5vw, 28px);
  bottom: clamp(14px, 2.5vw, 26px);
  display: flex;
  gap: 8px;
}

.company-production-gallery__controls button,
.company-production-gallery__thumbs button {
  border: 0;
  cursor: pointer;
  touch-action: manipulation;
}

.company-production-gallery__controls button {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--color-text);
  background: rgb(255 255 255 / 88%);
  border: 1px solid rgb(255 255 255 / 78%);
  border-radius: 999px;
  box-shadow: 0 14px 28px rgb(22 19 30 / 14%);
  transition:
    transform 180ms ease,
    background 180ms ease;
}

.company-production-gallery__controls button:hover,
.company-production-gallery__controls button:focus-visible {
  background: #fff;
  transform: translateY(-1px);
}

.company-production-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.company-production-gallery__thumbs button {
  position: relative;
  height: clamp(70px, 8vw, 102px);
  overflow: hidden;
  padding: 0;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 8px;
  opacity: 0.68;
  transition:
    border-color 180ms ease,
    opacity 180ms ease,
    transform 180ms ease;
}

.company-production-gallery__thumbs button:hover,
.company-production-gallery__thumbs button:focus-visible,
.company-production-gallery__thumbs button.is-active {
  opacity: 1;
}

.company-production-gallery__thumbs button.is-active {
  border-color: var(--color-accent);
}

.company-production-gallery__thumbs button:hover,
.company-production-gallery__thumbs button:focus-visible {
  transform: translateY(-1px);
}

.company-quality__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.company-step-card {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.company-step-card > span {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 600;
}

.company-science {
  background: #fff;
}

.company-science__inner {
  display: grid;
  gap: 28px;
}

.company-science__logos {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.company-science-logo {
  display: grid;
  min-height: 220px;
  align-content: space-between;
  justify-items: center;
  gap: 18px;
  padding: 30px 24px 26px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.company-science-logo__image {
  display: grid;
  width: min(250px, 100%);
  height: 120px;
  place-items: center;
  background: #fff;
}

.company-science-logo__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.company-science-logo p {
  max-width: 260px;
  font-family: var(--font-small);
  font-size: 0.98rem;
  line-height: 1.45;
}

.company-research-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.company-research-links a {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 18px;
  min-height: 68px;
  gap: 12px;
  align-items: center;
  padding: 16px 18px;
  color: var(--color-text);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-family: var(--font-small);
  font-weight: 750;
}

.company-research-links svg {
  color: var(--color-accent);
}

.company-contact-cta {
  padding-bottom: clamp(70px, 8vw, 116px);
}

.company-contact-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.48fr);
  gap: clamp(28px, 5vw, 74px);
  align-items: center;
  padding: clamp(26px, 5vw, 58px);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.company-contact-cta__inner > div:first-child {
  display: grid;
  gap: 16px;
}

.company-contact-cta__card {
  display: grid;
  align-items: start;
  gap: 12px;
  padding: 24px;
  font-style: normal;
}

.company-contact-cta__card svg {
  color: var(--color-accent);
}

.company-contact-cta__card strong {
  font-family: var(--font-heading);
  font-size: 1.35rem;
}

.company-contact-cta__card a:not(.company-button),
.company-contact-cta__card span {
  color: var(--color-text);
  font-family: var(--font-small);
  font-weight: 650;
  line-height: 1.45;
}

.company-contact-cta__card .company-button {
  width: 100%;
  margin-top: 8px;
}

@media (max-width: 1024px) {
  .company-technology__panel,
  .company-contact-cta__inner {
    grid-template-columns: 1fr;
  }

  .company-technology__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .company-principles,
  .company-quality__steps,
  .company-science__logos,
  .company-research-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .company-hero {
    min-height: 560px;
    padding-top: 28px;
    align-items: flex-start;
  }

  .company-hero::before {
    background:
      linear-gradient(180deg, rgb(255 255 255 / 96%) 0%, rgb(255 255 255 / 88%) 44%, rgb(255 255 255 / 58%) 100%),
      linear-gradient(90deg, rgb(255 255 255 / 82%), rgb(255 255 255 / 0%));
  }

  .company-hero__image {
    object-position: 62% center;
  }

  .company-hero__inner,
  .company-technology__panel {
    gap: 24px;
  }

  .company-technology__banner {
    display: grid;
    min-height: 0;
    align-items: stretch;
  }

  .company-technology__content {
    grid-row: 1;
    gap: 16px;
    max-width: none;
    padding: 26px 22px 24px;
  }

  .company-technology__visual {
    position: relative;
    inset: auto;
    grid-row: 2;
    min-height: 250px;
    border-top: 1px solid rgb(236 231 245 / 72%);
  }

  .company-technology__visual::after {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 26%) 0%,
      rgb(255 255 255 / 0%) 32%
    );
  }

  .company-technology__visual img {
    object-position: 67% center;
    opacity: 0.94;
  }

  .company-hero__content {
    gap: 17px;
  }

  .company-hero h1 {
    font-size: clamp(3rem, 16vw, 4.75rem);
  }

  .company-hero__lead,
  .company-section__heading p:not(.company-eyebrow),
  .company-technology__content > p,
  .company-contact-cta p,
  .company-intro__copy p {
    font-size: 0.96rem;
    line-height: 1.65;
  }

  .company-button {
    width: 100%;
  }

  .company-section {
    padding: 52px 0;
  }

  .company-section__heading {
    margin-bottom: 24px;
  }

  .company-section__heading h2,
  .company-contact-cta h2 {
    font-size: clamp(2rem, 10vw, 3.1rem);
    line-height: 1.07;
  }

  .company-technology__content h2 {
    font-size: clamp(2rem, 9vw, 2.55rem);
    line-height: 1.08;
  }

  .company-intro__copy,
  .company-principles,
  .company-technology__facts,
  .company-quality__steps,
  .company-science__logos,
  .company-research-links {
    grid-template-columns: 1fr;
  }

  .company-quality__banner {
    min-height: 260px;
  }

  .company-production-gallery__stage {
    min-height: 300px;
  }

  .company-production-gallery__caption {
    max-width: calc(100% - 24px);
    right: 12px;
    bottom: 76px;
  }

  .company-production-gallery__controls {
    right: auto;
    left: 14px;
    bottom: 14px;
  }

  .company-production-gallery__controls button {
    width: 44px;
    height: 44px;
  }

  .company-production-gallery__thumbs {
    gap: 8px;
  }

  .company-production-gallery__thumbs button {
    height: 62px;
  }

  .company-contact-cta__inner {
    padding: 22px;
  }
}

/* Sale page: compact commercial layout with verified offers only. */
.sale-page--redesigned {
  background: var(--color-base);
}

.sale-v2-hero {
  padding: 30px 0 var(--section-y-compact);
}

.sale-v2-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 20px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.sale-v2-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.sale-v2-hero__banner {
  position: relative;
  min-height: clamp(390px, 37vw, 520px);
  overflow: hidden;
  background: #f8f5fb;
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.sale-v2-hero__banner::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgb(255 255 255 / 98%) 0%,
    rgb(255 255 255 / 92%) 36%,
    rgb(255 255 255 / 56%) 55%,
    rgb(255 255 255 / 4%) 76%
  );
  content: "";
}

.sale-v2-hero__image {
  object-fit: cover;
  object-position: center bottom;
}

/* Codex visual revisions — 2026-08-27 */
.site-header__logo img {
  width: min(214px, 100%);
  height: auto;
}

.site-header__cart-link {
  padding-inline: 12px;
}

.home-importance__inner,
.home-catalog__inner {
  max-width: 1200px;
}

.home-importance__heading h2,
.home-catalog__top h2,
.company-section__heading h2,
.catalog-faq__heading h2,
.faq-section h2,
.home-certificates__inner > h2 {
  letter-spacing: -0.035em;
}

.home-importance-card {
  gap: 16px;
  padding: 24px;
  border-radius: 28px;
  box-shadow: 0 18px 42px rgba(88, 54, 92, 0.08);
}

.home-importance-card__icon {
  width: 56px;
  height: 56px;
  min-width: 56px;
  transform: none;
}

.home-importance-card__icon img {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.home-certificates__inner,
.catalog-faq__inner,
.faq-content__inner {
  max-width: 1320px;
}

.home-certificates__slider,
.home-certificates__docs,
.home-certificates__viewport {
  gap: 32px;
}

.home-certificates__inner {
  padding-inline: 24px;
}

.catalog-faq__question,
.catalog-faq__answer,
.faq-item summary,
.faq-item p,
.delivery-faq__item summary,
.delivery-faq__item p {
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, opacity 180ms ease;
}

.catalog-grid,
.home-catalog__grid--fixed {
  align-items: stretch;
}

@media (min-width: 1024px) {
  .catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-catalog__grid--fixed {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-catalog--sets .home-catalog__grid--fixed {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

.catalog-product-card,
.company-principle-card,
.company-technology-fact {
  height: 100%;
}

.company-principles,
.company-technology__facts {
  align-items: stretch;
}

.company-principle-card,
.company-technology-fact {
  display: flex;
  flex-direction: column;
}

@media (min-width: 768px) {
  .company-principle-card h3 {
    min-height: 2.5em;
  }
}

.company-technology-fact h3 {
  text-transform: uppercase;
}

.delivery-hero__summary article strong {
  line-height: 1.08;
}

.contacts-partner {
  padding: clamp(52px, 7vw, 96px) 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(253, 214, 224, 0.36), transparent 34%),
    linear-gradient(135deg, #fff7fa 0%, #ffffff 58%, #f8f3ff 100%);
}

.contacts-partner__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(320px, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.contacts-partner__copy {
  max-width: 520px;
}

.contacts-partner__eyebrow {
  margin: 0 0 12px;
  color: var(--cl-accent, #b24b74);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.contacts-partner__copy h2 {
  margin: 0 0 18px;
  font-size: clamp(36px, 4.8vw, 58px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.contacts-partner__copy p {
  margin: 0;
  color: rgba(49, 35, 54, 0.72);
  font-size: 18px;
  line-height: 1.65;
}

.contacts-partner__form {
  display: grid;
  gap: 16px;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(132, 73, 101, 0.16);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 24px 70px rgba(72, 44, 78, 0.12);
  backdrop-filter: blur(12px);
}

.contacts-partner__form label {
  display: grid;
  gap: 8px;
  color: rgba(49, 35, 54, 0.72);
  font-size: 14px;
  font-weight: 700;
}

.contacts-partner__form input,
.contacts-partner__form textarea {
  width: 100%;
  border: 1px solid rgba(132, 73, 101, 0.18);
  border-radius: 14px;
  background: #fff;
  color: #32243a;
  font: inherit;
  padding: 14px 16px;
  outline: none;
}

.contacts-partner__form textarea {
  resize: vertical;
}

.contacts-partner__form input:focus,
.contacts-partner__form textarea:focus {
  border-color: rgba(178, 75, 116, 0.58);
  box-shadow: 0 0 0 4px rgba(178, 75, 116, 0.12);
}

.contacts-partner__form button {
  min-height: 54px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #b24b74 0%, #db7c96 100%);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 16px 32px rgba(178, 75, 116, 0.24);
}

.contacts-partner__notice {
  padding: 14px 16px;
  border-radius: 18px;
  font-weight: 700;
}

.contacts-partner__notice--success {
  background: rgba(69, 151, 104, 0.12);
  color: #266a44;
}

.contacts-partner__notice--error {
  background: rgba(194, 69, 79, 0.12);
  color: #8c2e35;
}

@media (max-width: 767px) {
  .home-highlights,
  .home-highlights__inner {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .site-header .container.site-header__inner {
    display: grid !important;
    grid-template-columns: minmax(112px, 1fr) 44px 44px !important;
    gap: 8px !important;
    align-items: center !important;
    min-height: 68px !important;
    padding-inline: 18px !important;
  }

  .site-header__logo {
    grid-column: 1 !important;
    justify-self: start !important;
    width: 148px !important;
    max-width: 148px !important;
    transform: none !important;
  }

  .site-header__logo img {
    width: 148px !important;
    height: auto !important;
  }

  .site-header__utility {
    grid-column: 2 !important;
    position: static !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    justify-self: end !important;
    transform: none !important;
  }

  .site-header__left-utility {
    grid-column: 3 !important;
    position: static !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    justify-self: end !important;
  }

  .site-header__count-link,
  .site-header__account-link,
  .site-header__action-label {
    display: none !important;
  }

  .site-header__cart-link,
  .site-header__menu-button {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
  }

  .site-header__cart-link svg,
  .site-header__menu-button svg {
    width: 22px !important;
    height: 22px !important;
  }

  .site-header__action-count {
    top: 2px !important;
    right: 2px !important;
  }

  .hero {
    min-height: calc(100svh - 68px) !important;
  }

  .hero__image {
    object-position: 50% 20% !important;
  }

  .hero__image-overlay {
    background:
      linear-gradient(180deg, rgba(18, 11, 23, 0.05) 0%, rgba(18, 11, 23, 0.18) 44%, rgba(18, 11, 23, 0.58) 100%) !important;
  }

  .hero__content {
    min-height: calc(100svh - 68px) !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    padding-top: 260px !important;
    padding-bottom: 44px !important;
  }

  .hero__copy {
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
  }

  .hero__copy h1,
  .hero__copy p {
    color: #fff !important;
  }

  .home-catalog-promo {
    min-height: 520px !important;
  }

  .home-catalog-promo .cl-fill-image {
    object-position: 50% 8% !important;
  }

  .home-catalog-promo__shade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 24%, rgba(33, 20, 38, 0.72) 100%) !important;
  }

  .home-catalog-promo__content {
    justify-content: flex-end !important;
    min-height: 100% !important;
    padding-top: 300px !important;
  }

  .contacts-partner__inner {
    grid-template-columns: 1fr;
  }
}

.sale-v2-hero__content {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(560px, 54%);
  gap: 20px;
  padding: clamp(42px, 5vw, 72px);
}

.sale-v2-hero h1 {
  max-width: 520px;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(52px, 5.8vw, 82px);
  font-weight: 800;
  line-height: 0.98;
}

.sale-v2-hero__content p {
  max-width: 480px;
  margin: 0;
  color: var(--color-muted);
  font-size: clamp(16px, 1.25vw, 19px);
  line-height: 1.6;
}

.sale-v2-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 24px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  transition: background-color 0.18s, border-color 0.18s, transform 0.18s;
}

.sale-v2-button {
  width: fit-content;
}

.sale-v2-button:hover,
.sale-v2-button:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  outline: 0;
  transform: translateY(-1px);
}

.sale-v2-products {
  padding: 0 0 var(--section-y);
}

.sale-v2-products__inner {
  display: grid;
  gap: 28px;
}

.sale-v2-heading {
  display: flex;
  gap: 24px;
  align-items: end;
  justify-content: space-between;
}

.sale-v2-heading > div {
  display: grid;
  gap: 9px;
}

.sale-v2-heading h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 800;
}

.sale-v2-heading p {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
}

.sale-v2-heading > a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
}

.sale-v2-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
}

.sale-v2-products__grid .catalog-product-card__media {
  aspect-ratio: 1 / 0.98;
}

.sale-v2-products__grid .catalog-product-card__body {
  padding: 22px;
}

.sale-v2-products__grid .catalog-product-card__title {
  font-size: 19px;
}

.sale-v2-products__grid .catalog-product-card__price {
  font-size: 28px;
}

.sale-v2-products__grid .catalog-product-card__actions {
  grid-template-columns: 1fr;
}

@media (max-width: 1023px) {
  .sale-v2-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sale-v2-hero {
    padding-top: 24px;
  }

  .sale-v2-hero__banner {
    min-height: 590px;
  }

  .sale-v2-hero__banner::after {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 99%) 0%,
      rgb(255 255 255 / 94%) 42%,
      rgb(255 255 255 / 48%) 66%,
      rgb(255 255 255 / 4%) 82%
    );
  }

  .sale-v2-hero__image {
    object-position: 73% bottom;
  }

  .sale-v2-hero__content {
    width: 100%;
    gap: 16px;
    padding: 28px 20px;
  }

  .sale-v2-hero h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .sale-v2-button {
    width: 100%;
  }

  .sale-v2-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .sale-v2-heading > a {
    width: fit-content;
  }

  .sale-v2-products__grid {
    grid-template-columns: 1fr;
  }
}

.reviews-page {
  background: #fff;
}

.reviews-page h1,
.reviews-page h2,
.reviews-page h3,
.reviews-page p {
  margin: 0;
}

main.reviews-page h2 {
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  font-weight: 600 !important;
  line-height: 1.06 !important;
}

.reviews-page__hero {
  padding: 44px 0 64px;
  background:
    linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 92%) 43%, rgb(255 255 255 / 72%) 61%, rgb(255 255 255 / 25%) 100%),
    url("assets/images/collagen-live/hero-banner-wellness-athlete-products-v3.png") center right / cover no-repeat;
  border-bottom: 1px solid var(--color-border);
}

.reviews-page__hero-inner {
  display: grid;
  gap: 44px;
}

.reviews-page__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
}

.reviews-page__breadcrumbs a {
  color: var(--color-accent);
}

.reviews-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  min-height: 360px;
}

.reviews-page__hero-content {
  max-width: 740px;
}

.reviews-page__eyebrow {
  margin-bottom: 14px !important;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.reviews-page__hero-content h1 {
  max-width: 700px;
  font-family: var(--font-heading);
  font-size: clamp(48px, 6.8vw, 92px);
  font-weight: 600;
  line-height: 0.98;
  letter-spacing: 0;
}

.reviews-page__hero-content > p {
  max-width: 610px;
  margin-top: 24px;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

.reviews-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
  font-family: var(--font-small);
  font-weight: 800;
}

.reviews-page__hero-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 28px;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
}

.reviews-page__hero-actions a:first-child {
  color: #fff;
  background: var(--color-accent);
}

.reviews-page__trust-card {
  display: grid;
  gap: 18px;
  padding: 26px;
  background: rgb(255 255 255 / 86%);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 24px 54px rgb(23 19 29 / 10%);
  backdrop-filter: blur(12px);
}

.reviews-page__trust-card > div {
  display: flex;
  gap: 12px;
  align-items: center;
  color: var(--color-accent);
}

.reviews-page__trust-card strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 18px;
}

.reviews-page__trust-card p,
.reviews-page__trust-card li {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.65;
}

.reviews-page__trust-card ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.reviews-page__trust-card li {
  position: relative;
  padding-left: 18px;
}

.reviews-page__trust-card li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--color-accent);
  border-radius: 999px;
}

.reviews-page__summary {
  padding: 36px 0 0;
}

.reviews-page__summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.reviews-page__summary article {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__overview {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(260px, 0.9fr) minmax(320px, 1.4fr);
  gap: 14px;
}

.reviews-page__rating-panel,
.reviews-page__rating-bars,
.reviews-page__tag-panel {
  min-height: 166px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.reviews-page__rating-panel {
  display: flex;
  gap: 18px;
  align-items: center;
}

.reviews-page__rating-panel > span {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: clamp(52px, 6vw, 76px);
  font-weight: 700;
  line-height: 1;
}

.reviews-page__rating-panel p,
.reviews-page__tag-panel span {
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
}

.reviews-page__rating-bars {
  display: grid;
  gap: 12px;
  align-content: center;
}

.reviews-page__rating-bars div {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 22px;
  gap: 10px;
  align-items: center;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
}

.reviews-page__rating-bars i {
  overflow: hidden;
  height: 8px;
  background: var(--color-lavender);
  border-radius: 999px;
}

.reviews-page__rating-bars b {
  display: block;
  height: 100%;
  background: var(--color-accent);
  border-radius: inherit;
}

.reviews-page__tag-panel {
  display: grid;
  gap: 18px;
}

.reviews-page__tag-panel > div {
  display: grid;
  gap: 10px;
}

.reviews-page__tag-panel > div > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.reviews-page__tag-panel em {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 999px;
}

.reviews-page__summary span {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-page__summary strong {
  font-family: var(--font-heading);
  font-size: 20px;
  line-height: 1.25;
}

.reviews-page__summary p,
.reviews-page__section-heading p,
.reviews-page__form-intro > p {
  color: var(--color-muted);
  line-height: 1.7;
}

.reviews-page__list-section,
.reviews-page__form-section,
.reviews-page__faq {
  padding: 80px 0 0;
}

.reviews-page__section-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-end;
  margin-bottom: 28px;
}

.reviews-page__section-heading > div {
  max-width: 760px;
}

.reviews-page__section-heading > a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-weight: 800;
}

.reviews-page__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 28px;
  font-family: var(--font-small);
}

.reviews-page__filters > span,
.reviews-page__filter {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 16px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__filters > span {
  color: var(--color-muted);
  background: var(--color-lavender);
}

.reviews-page__filter {
  color: var(--color-text);
  background: #fff;
  font-weight: 700;
}

.reviews-page__filter--active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.reviews-page__reviews-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.reviews-page__review-card {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  overflow: hidden;
  min-height: 270px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 5%);
}

.reviews-page__review-media {
  position: relative;
  min-height: 100%;
  background: var(--color-lavender);
}

.reviews-page__review-media img {
  object-fit: cover;
}

.reviews-page__review-body {
  display: grid;
  gap: 14px;
  padding: 22px;
  align-content: start;
}

.reviews-page__review-top,
.reviews-page__review-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}

.reviews-page__review-top h3 {
  font-family: var(--font-heading);
  font-size: 18px;
}

.reviews-page__review-top span,
.reviews-page__review-footer span {
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 12px;
}

.reviews-page__stars {
  display: inline-flex;
  gap: 3px;
  color: #ddd6e9;
}

.reviews-page__star--filled {
  color: var(--color-accent);
  fill: currentcolor;
}

.reviews-page__review-product {
  width: fit-content;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-page__review-body > p {
  color: var(--color-muted);
  line-height: 1.68;
}

.reviews-page__review-body dl {
  display: grid;
  gap: 10px;
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--color-border);
}

.reviews-page__review-body dt {
  margin-bottom: 3px;
  color: var(--color-text);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.reviews-page__review-body dd {
  margin: 0;
  font-size: 14px;
}

.reviews-page__review-footer {
  align-items: center;
  padding-top: 8px;
}

.reviews-page__review-footer a {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
}

.reviews-page__external-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.reviews-page__external-grid article {
  display: grid;
  gap: 14px;
  min-height: 210px;
  padding: 24px;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__external-grid svg {
  color: var(--color-accent);
}

.reviews-page__external-grid h3 {
  font-family: var(--font-heading);
  font-size: 20px;
}

.reviews-page__external-grid p {
  color: var(--color-muted);
}

.reviews-page__external-grid span {
  align-self: end;
  width: fit-content;
  padding: 7px 12px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 999px;
}

.reviews-page__rules-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.58fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}

.reviews-page__rules-grid > div:first-child {
  position: sticky;
  top: 140px;
}

.reviews-page__rules-list {
  display: grid;
  gap: 12px;
}

.reviews-page__rules-list article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__rules-list svg {
  width: 42px;
  height: 42px;
  padding: 10px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 999px;
}

.reviews-page__rules-list p {
  color: var(--color-muted);
}

.reviews-page__form-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
  padding-top: 62px;
  border-top: 1px solid var(--color-border);
}

.reviews-page__form-intro {
  display: grid;
  gap: 18px;
}

.reviews-page__upload-note {
  display: flex;
  gap: 12px;
  align-items: center;
  max-width: 420px;
  padding: 16px;
  color: var(--color-muted);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__upload-note svg {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.reviews-page__form {
  display: grid;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgb(23 19 29 / 6%);
}

.reviews-page__form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.reviews-page__form label {
  display: grid;
  gap: 8px;
  font-family: var(--font-small);
  font-weight: 700;
}

.reviews-page__form input,
.reviews-page__form select,
.reviews-page__form textarea {
  width: 100%;
  min-height: 52px;
  padding: 0 14px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__form textarea {
  min-height: 142px;
  padding-top: 14px;
  resize: vertical;
}

.reviews-page__consent {
  display: flex !important;
  grid-template-columns: none;
  gap: 10px !important;
  align-items: flex-start;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500 !important;
}

.reviews-page__consent input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin-top: 2px;
  accent-color: var(--color-accent);
}

.reviews-page__form button {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 24px;
  color: #fff;
  font-family: var(--font-small);
  font-weight: 800;
  background: var(--color-accent);
  border: 0;
  border-radius: 8px;
}

.reviews-page__success {
  color: #4f8a54;
  font-size: 14px;
}

.reviews-page__faq {
  padding-bottom: 96px;
}

.reviews-page__faq-list {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--color-border);
}

.reviews-page__faq-item {
  border-bottom: 1px solid var(--color-border);
}

.reviews-page__faq-item button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 18px;
  align-items: center;
  width: 100%;
  min-height: 72px;
  padding: 0;
  color: var(--color-text);
  text-align: left;
  background: transparent;
  border: 0;
}

.reviews-page__faq-item button span {
  font-size: 17px;
  font-weight: 500;
}

.reviews-page__faq-item svg {
  color: var(--color-accent);
  transition: transform 0.2s ease;
}

.reviews-page__faq-item--open svg {
  transform: rotate(180deg);
}

.reviews-page__faq-item p {
  max-width: 820px;
  padding: 0 56px 24px 0;
  color: var(--color-muted);
}

.reviews-page--clean {
  background: #fff;
}

.reviews-page__compact-hero {
  padding: 42px 0 58px;
  background: #fff;
  border-bottom: 1px solid var(--color-border);
}

.reviews-page__intro-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: clamp(32px, 6vw, 96px);
  align-items: end;
  margin-top: 42px;
}

.reviews-page__intro {
  max-width: 780px;
}

.reviews-page__intro h1 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(52px, 7vw, 96px);
  font-weight: 600;
  line-height: 0.98;
}

.reviews-page__intro > p {
  max-width: 680px;
  margin-top: 22px;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

.reviews-page__score-card {
  display: grid;
  gap: 10px;
  min-height: 220px;
  align-content: center;
  padding: 24px;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__score-card strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 72px;
  line-height: 1;
}

.reviews-page__score-card span {
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.reviews-page__score-card a {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  padding: 0 18px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
}

.reviews-page__feed {
  padding: 72px 0 0;
}

.reviews-page__feed-heading {
  display: flex;
  gap: 24px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 28px;
}

.reviews-page__feed-heading > div {
  max-width: 760px;
}

.reviews-page__feed-heading p {
  max-width: 610px;
  margin-top: 12px;
  color: var(--color-muted);
  line-height: 1.7;
}

.reviews-page__feed-heading > a,
.reviews-page__feed-footer a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-weight: 800;
}

.reviews-page__toolbar {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.reviews-page__toolbar .reviews-page__filters {
  margin-bottom: 0;
}

.reviews-page__sort {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
  white-space: nowrap;
}

.reviews-page__sort select {
  min-width: 220px;
  min-height: 42px;
  padding: 0 38px 0 14px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__feed-list {
  display: grid;
  gap: 16px;
}

.reviews-page__feed-card {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  overflow: hidden;
  min-height: 224px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.reviews-page__feed-image {
  position: relative;
  min-height: 100%;
  background: var(--color-lavender);
}

.reviews-page__feed-image img {
  object-fit: cover;
}

.reviews-page__feed-body {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 22px;
}

.reviews-page__feed-top,
.reviews-page__feed-footer {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.reviews-page__feed-top h3 {
  margin: 0 0 2px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
}

.reviews-page__feed-top span,
.reviews-page__feed-footer span {
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
}

.reviews-page__feed-body > p {
  max-width: 840px;
  color: var(--color-muted);
  line-height: 1.7;
}

.reviews-page__feed-footer {
  align-items: center;
  padding-top: 6px;
}

.reviews-page__form-section--clean {
  padding-bottom: 96px;
}

.reviews-page--stories {
  background: #fff;
}

.reviews-page__stories-hero {
  padding: 42px 0 64px;
  border-bottom: 1px solid var(--color-border);
}

.reviews-page__stories-heading {
  display: flex;
  gap: clamp(28px, 5vw, 88px);
  align-items: end;
  justify-content: space-between;
  margin-top: 44px;
}

.reviews-page__stories-heading > div {
  max-width: 780px;
}

.reviews-page__stories-heading h1 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(54px, 7vw, 96px);
  font-weight: 600;
  line-height: 0.98;
}

.reviews-page__stories-heading p:not(.reviews-page__eyebrow) {
  max-width: 680px;
  margin-top: 22px;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.68;
}

.reviews-page__stories-heading > a {
  display: inline-flex;
  min-width: 190px;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-small);
  font-weight: 800;
  white-space: nowrap;
}

.reviews-page__story-list {
  padding: 76px 0 0;
}

.reviews-page__story-list .container {
  display: grid;
  gap: 72px;
}

.reviews-page__story {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: clamp(34px, 5vw, 70px);
  align-items: start;
  padding-bottom: 72px;
  border-bottom: 1px solid var(--color-border);
}

.reviews-page__story-author {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.reviews-page__story-author > div {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 35% 25%, rgb(255 255 255 / 26%), transparent 36%),
    linear-gradient(135deg, #b79be1, #8f6bcc);
  border-radius: 999px;
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 700;
}

.reviews-page__story-author strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 17px;
}

.reviews-page__story-content {
  display: grid;
  gap: 14px;
  max-width: 980px;
}

.reviews-page__story-product {
  width: fit-content;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

main.reviews-page .reviews-page__story-content h2 {
  margin: 0;
  color: var(--color-text) !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.reviews-page__story-meta {
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.55;
}

.reviews-page__story-meta strong,
.reviews-page__story-text > strong {
  color: var(--color-text);
  font-family: var(--font-small);
  font-weight: 800;
}

.reviews-page__story-text {
  display: grid;
  gap: 10px;
  padding-top: 10px;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.7;
}

.reviews-page__story-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.reviews-page__story-gallery > div {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-page__story-gallery img {
  object-fit: cover;
}

.reviews-page__form-section--stories {
  padding-bottom: 96px;
}

@media (max-width: 1023px) {
  .reviews-page__hero {
    padding: 36px 0 48px;
    background:
      linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 91%) 46%, rgb(255 255 255 / 70%) 100%),
      url("assets/images/collagen-live/hero-banner-wellness-athlete-products-v3.png") 62% center / cover no-repeat;
  }

  .reviews-page__hero-grid,
  .reviews-page__rules-grid,
  .reviews-page__form-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .reviews-page__hero-grid {
    min-height: 0;
  }

  .reviews-page__trust-card,
  .reviews-page__rules-grid > div:first-child {
    position: static;
  }

  .reviews-page__summary-grid,
  .reviews-page__overview,
  .reviews-page__external-grid {
    grid-template-columns: 1fr;
  }

  .reviews-page__reviews-grid {
    grid-template-columns: 1fr;
  }

  .reviews-page__intro-row,
  .reviews-page__form-grid {
    grid-template-columns: 1fr;
  }

  .reviews-page__score-card {
    min-height: 0;
  }

  .reviews-page__toolbar {
    display: grid;
    gap: 14px;
    justify-content: stretch;
  }

  .reviews-page__sort {
    justify-content: space-between;
  }

  .reviews-page__stories-heading,
  .reviews-page__story {
    grid-template-columns: 1fr;
  }

  .reviews-page__stories-heading {
    display: grid;
    align-items: start;
  }

  .reviews-page__story-author {
    display: flex;
    justify-content: flex-start;
    text-align: left;
  }
}

@media (max-width: 767px) {
  .reviews-page__hero {
    padding: 28px 0 38px;
    background:
      linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 94%) 48%, rgb(255 255 255 / 82%) 100%),
      url("assets/images/collagen-live/hero-banner-wellness-athlete-products-v3.png") 66% top / auto 100% no-repeat;
  }

  .reviews-page__hero-inner {
    gap: 28px;
  }

  .reviews-page__hero-content h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .reviews-page__hero-content > p {
    margin-top: 18px;
    font-size: 16px;
  }

  .reviews-page__hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .reviews-page__hero-actions a {
    width: 100%;
  }

  .reviews-page__trust-card,
  .reviews-page__rating-panel,
  .reviews-page__rating-bars,
  .reviews-page__tag-panel,
  .reviews-page__summary article,
  .reviews-page__external-grid article,
  .reviews-page__form,
  .reviews-page__upload-note {
    padding: 18px;
  }

  .reviews-page__list-section,
  .reviews-page__external,
  .reviews-page__rules,
  .reviews-page__form-section,
  .reviews-page__faq {
    padding-top: 56px;
  }

  .reviews-page__section-heading {
    display: grid;
    gap: 14px;
    align-items: start;
  }

  .reviews-page__filters {
    display: grid;
    grid-template-columns: 1fr;
  }

  .reviews-page__filters > span,
  .reviews-page__filter {
    justify-content: center;
    width: 100%;
  }

  .reviews-page__review-card {
    grid-template-columns: 1fr;
  }

  .reviews-page__review-media {
    min-height: 240px;
  }

  .reviews-page__review-top,
  .reviews-page__review-footer {
    display: grid;
    gap: 10px;
  }

  .reviews-page__form-row {
    grid-template-columns: 1fr;
  }

  .reviews-page__form button {
    width: 100%;
  }

  .reviews-page__faq-item button {
    min-height: 66px;
  }

  .reviews-page__faq-item button span {
    font-size: 15px;
  }

  .reviews-page__faq-item p {
    padding-right: 0;
  }

  .reviews-page__compact-hero {
    padding: 30px 0 42px;
  }

  .reviews-page__intro-row {
    gap: 26px;
    margin-top: 28px;
  }

  .reviews-page__intro h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .reviews-page__intro > p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.6;
  }

  .reviews-page__score-card,
  .reviews-page__feed-body {
    padding: 18px;
  }

  .reviews-page__feed {
    padding-top: 52px;
  }

  .reviews-page__feed-heading {
    display: grid;
    gap: 12px;
    align-items: start;
  }

  .reviews-page__toolbar .reviews-page__filters {
    display: grid;
    grid-template-columns: 1fr;
  }

  .reviews-page__sort {
    display: grid;
    gap: 8px;
  }

  .reviews-page__sort select {
    width: 100%;
    min-width: 0;
  }

  .reviews-page__feed-card {
    grid-template-columns: 1fr;
  }

  .reviews-page__feed-image {
    min-height: 240px;
  }

  .reviews-page__feed-top,
  .reviews-page__feed-footer {
    display: grid;
    gap: 10px;
  }

  .reviews-page__stories-hero {
    padding: 30px 0 44px;
  }

  .reviews-page__stories-heading {
    gap: 24px;
    margin-top: 28px;
  }

  .reviews-page__stories-heading h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .reviews-page__stories-heading p:not(.reviews-page__eyebrow) {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.6;
  }

  .reviews-page__stories-heading > a {
    width: 100%;
  }

  .reviews-page__story-list {
    padding-top: 52px;
  }

  .reviews-page__story-list .container {
    gap: 52px;
  }

  .reviews-page__story {
    gap: 22px;
    padding-bottom: 52px;
  }

  .reviews-page__story-author > div {
    width: 62px;
    height: 62px;
    font-size: 25px;
  }

  .reviews-page__story-author {
    align-items: center;
    gap: 12px;
  }

  .reviews-page__story-author .reviews-page__stars {
    margin-left: auto;
  }

  .reviews-page__story-meta,
  .reviews-page__story-text {
    font-size: 15px;
    line-height: 1.62;
  }

  .reviews-page__story-gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}

body > main {
  width: min(100%, var(--container));
  margin-inline: auto;
}

body > header,
body > footer {
  width: 100%;
  margin-inline: 0;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

section[id] {
  scroll-margin-top: 132px;
}

button,
input {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: 0;
}

button {
  cursor: pointer;
}

:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.container {
  width: min(100%, var(--container));
  margin-inline: auto;
  padding-inline: var(--side-desktop);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgb(236 231 245 / 72%);
  background: rgb(255 255 255 / 96%);
  backdrop-filter: blur(16px);
  font-family: var(--font-body);
  box-shadow: none;
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(14px, 2vw, 28px);
  height: 84px;
  align-items: center;
  min-height: 84px;
}

.site-header__left-utility,
.site-header__utility,
.site-header__contact {
  display: flex;
  align-items: center;
}

.site-header__left-utility {
  display: none;
  justify-content: flex-start;
  gap: 16px;
}

.site-header__logo {
  grid-column: 1;
  display: inline-flex;
  width: clamp(142px, 12vw, 178px);
  height: 52px;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  overflow: hidden;
  white-space: nowrap;
}

.site-header__logo {
  color: var(--color-ink);
  font-family: var(--font-logo);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.site-header__contact {
  min-width: 0;
  grid-column: 2;
  justify-self: center;
  justify-content: center;
  gap: clamp(14px, 2vw, 26px);
}

.site-header__email-link,
.site-header__phone-link {
  display: inline-flex;
  min-width: 0;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--color-ink);
  border: 0;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.18s, transform 0.18s;
}

.site-header__email-link svg,
.site-header__phone-link svg {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.site-header__email-link:hover,
.site-header__email-link:focus-visible,
.site-header__phone-link:hover,
.site-header__phone-link:focus-visible {
  color: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

.site-header__socials {
  display: flex;
  align-items: center;
  gap: 8px;
}

.site-header__social-link {
  display: inline-grid;
  width: 36px;
  height: 36px;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  font-size: 17px;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.site-header__social-link svg {
  width: 1em;
  height: 1em;
}

.site-header__social-link--telegram {
  background: #2ca5e0;
  border-color: #2ca5e0;
}

.site-header__social-link--vk {
  background: #4c75a3;
  border-color: #4c75a3;
}

.site-header__social-link:hover,
.site-header__social-link:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
  box-shadow: 0 10px 18px rgb(23 19 29 / 10%);
  transform: translateY(-1px);
}

.site-header__utility {
  grid-column: 3;
  min-width: 0;
  justify-content: flex-end;
  gap: 8px;
}

.site-header__search,
.site-header__mobile-search {
  display: flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  transition: border-color 0.18s, box-shadow 0.18s;
}

.site-header__search {
  flex: 0 0 210px;
  width: 210px;
  padding: 0 12px;
  font-size: 13px;
}

.site-header__search:focus-within,
.site-header__mobile-search:focus-within {
  border-color: rgb(155 123 208 / 66%);
  box-shadow: 0 12px 26px rgb(155 123 208 / 10%);
}

.site-header__search svg,
.site-header__mobile-search svg {
  color: var(--color-accent);
}

.site-header__search input,
.site-header__mobile-search input {
  width: 100%;
  min-width: 0;
  color: var(--color-ink);
  background: transparent;
  border: 0;
  outline: 0;
}

.site-header__search input::placeholder,
.site-header__mobile-search input::placeholder {
  color: #9b94aa;
}

.site-header__left-utility button,
.site-header__menu-button {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid currentcolor;
  border-radius: 999px;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.site-header__action-link {
  position: relative;
  display: inline-flex;
  width: auto;
  min-width: 0;
  height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 12px;
  color: var(--color-ink);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 34%);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.site-header__action-link svg {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.site-header__action-link:hover,
.site-header__action-link:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 14px 24px rgb(155 123 208 / 18%);
  outline: 0;
  transform: translateY(-1px);
}

.site-header__action-link:hover svg,
.site-header__action-link:focus-visible svg {
  color: currentcolor;
}

.site-header__action-count {
  display: grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  padding: 0 5px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

.site-header__action-link:hover .site-header__action-count,
.site-header__action-link:focus-visible .site-header__action-count {
  color: var(--color-accent);
  background: #fff;
}

.site-header__desktop-row {
  position: relative;
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 24px;
  border-top: 0;
}

.site-header__desktop-row::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  border-top: 1px solid rgb(236 231 245 / 76%);
  content: "";
  pointer-events: none;
  transform: translateX(-50%);
}

.site-header__desktop-nav {
  grid-column: 2;
  min-width: 0;
  flex: 0 1 auto;
  justify-self: center;
}

.site-header__desktop-nav-inner {
  display: flex;
  width: auto;
  min-height: 44px;
  margin-inline: 0;
  padding-inline: 0;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 2.2vw, 32px);
  color: var(--color-text);
  font-size: 13px;
  font-weight: 700;
  transform: none;
}

.site-header__desktop-nav a,
.site-header__nav-trigger {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s;
}

.site-header__nav-group {
  position: relative;
  display: inline-flex;
  min-height: 54px;
  align-items: center;
}

.site-header__nav-trigger {
  gap: 5px;
  padding: 0 6px;
  color: var(--color-text);
  background: transparent;
  border: 0;
  font-size: inherit;
  font-weight: inherit;
}

.site-header__nav-trigger svg {
  transition: transform 0.18s;
}

.site-header__nav-dropdown {
  position: absolute;
  top: calc(100% - 2px);
  left: 50%;
  z-index: 35;
  display: grid;
  min-width: 230px;
  gap: 4px;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 10px;
  box-shadow: 0 20px 46px rgb(23 19 29 / 11%);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity 0.18s, transform 0.18s;
}

.site-header__nav-dropdown a {
  justify-content: flex-start;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 8px;
}

.site-header__nav-dropdown a:hover,
.site-header__nav-dropdown a:focus-visible {
  color: var(--color-accent);
  background: var(--color-lavender);
}

.site-header__nav-group:hover .site-header__nav-dropdown,
.site-header__nav-group:focus-within .site-header__nav-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.site-header__nav-group:hover .site-header__nav-trigger,
.site-header__nav-group:focus-within .site-header__nav-trigger {
  color: var(--color-accent);
}

.site-header__nav-group:hover .site-header__nav-trigger svg,
.site-header__nav-group:focus-within .site-header__nav-trigger svg {
  transform: rotate(180deg);
}

.site-header__desktop-nav .site-header__nav-featured {
  padding: 0 15px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 999px;
}

.site-header__desktop-nav .site-header__nav-featured:hover,
.site-header__desktop-nav .site-header__nav-featured:focus-visible {
  color: #fff;
  background: #8666c4;
}

.site-header__desktop-nav a:hover,
.site-header__desktop-nav a:focus-visible,
.site-header__nav-trigger:hover,
.site-header__nav-trigger:focus-visible,
.site-header__left-utility button:hover,
.site-header__mobile-nav a:hover {
  color: var(--color-accent);
}

.site-header__left-utility button:hover,
.site-header__menu-button:hover {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 10px 18px rgb(23 19 29 / 10%);
  outline: 0;
  transform: translateY(-1px);
}

.site-header__cart-link,
.site-header__count-link {
  position: relative;
}

.site-header__left-utility .site-header__menu-button,
.site-header__mobile-nav {
  display: none;
}

.site-header__mobile-contact,
.site-header__mobile-search {
  display: none;
}

@media (max-width: 1180px) {
  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
  }

  .site-header__contact {
    gap: 12px;
  }

  .site-header__email-link {
    width: 40px;
    padding: 0;
  }

  .site-header__email-link span {
    display: none;
  }

  .site-header__action-link {
    width: 40px;
    padding: 0;
  }

  .site-header__action-count {
    position: absolute;
    right: -4px;
    bottom: -3px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    font-size: 9px;
  }

  .site-header__desktop-row {
    gap: 16px;
  }

  .site-header__desktop-nav-inner {
    gap: clamp(34px, 5vw, 78px);
    font-size: 14px;
    transform: none;
  }

  .site-header__search {
    flex-basis: 172px;
    width: 172px;
  }
}

.hero {
  position: relative;
  min-height: clamp(640px, 74vh, 780px);
  overflow: hidden;
  background: #faf7fd;
}

.hero__visual {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero__visual picture,
.catalog-hero > picture,
.catalog-consultation__panel > picture {
  position: absolute;
  inset: 0;
}

.hero__image {
  object-fit: cover;
  object-position: center bottom;
}

.hero__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
      90deg,
      rgb(255 255 255 / 94%) 0%,
      rgb(255 255 255 / 82%) 38%,
      rgb(44 34 60 / 16%) 62%,
      rgb(28 22 38 / 32%) 100%
    ),
    linear-gradient(180deg, rgb(28 22 38 / 6%), rgb(28 22 38 / 20%));
}

.hero__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  min-height: inherit;
  padding-block: 82px 70px;
}

.hero__copy {
  width: min(100%, 510px);
}

.hero__copy h1 {
  max-width: 560px;
  margin: 0;
  color: #111017;
  font-family: var(--font-heading);
  font-size: clamp(52px, 6vw, 86px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.04;
}

.hero__copy p {
  max-width: 540px;
  margin: 22px 0 0;
  color: #3f3949;
  font-size: clamp(18px, 1.35vw, 21px);
  line-height: 1.65;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.hero__primary,
.hero__secondary {
  display: inline-flex;
  min-width: 194px;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 600;
  transition: transform 0.18s, background-color 0.18s, border-color 0.18s,
    color 0.18s;
}

.hero__primary {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
}

.hero__secondary {
  color: var(--color-text);
  background: rgb(255 255 255 / 82%);
  border: 1px solid rgb(23 19 29 / 18%);
  backdrop-filter: blur(10px);
}

.hero__primary:hover,
.hero__secondary:hover {
  transform: translateY(-1px);
}

.hero__primary:hover {
  background: #8768bd;
  border-color: #8768bd;
}

.hero__secondary:hover {
  background: #fff;
  border-color: rgb(23 19 29 / 34%);
}

.home-usp,
.home-importance,
.home-specialists {
  background: #fff;
}

.home-usp {
  padding: 74px 0 84px;
}

.home-usp__inner {
  display: grid;
  gap: 34px;
}

.home-usp__intro,
.home-importance__heading,
.home-specialists__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 70px);
  align-items: end;
}

.home-importance__heading {
  align-items: start;
}

.home-usp__intro {
  display: block;
  max-width: 760px;
}

.home-usp__intro h2,
.home-importance__heading h2,
.home-specialists__heading h2 {
  max-width: 720px;
  margin: 0;
}

.home-usp__intro > p:last-child,
.home-importance__heading > p,
.home-specialists__heading > p {
  max-width: 650px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.68;
}

.home-usp__eyebrow,
.home-importance__eyebrow,
.home-specialists__eyebrow {
  width: fit-content;
  margin: 0 0 10px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-usp__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.home-usp__bullets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 1.6vw, 18px);
}

.home-usp-bullet {
  display: grid;
  min-height: 178px;
  align-content: start;
  gap: 16px;
  padding: 26px 20px 22px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.home-usp-bullet__topline {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.home-usp-bullet__value {
  color: var(--color-accent);
  font-size: clamp(42px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.96;
}

.home-usp-bullet__icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid rgb(155 123 208 / 18%);
  border-radius: 8px;
}

.home-usp-bullet strong {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.25;
  text-transform: lowercase;
}

.home-usp-bullet p {
  max-width: 230px;
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.home-usp-bullet:hover {
  border-color: rgb(155 123 208 / 42%);
  box-shadow: 0 22px 48px rgb(23 19 29 / 7%);
  transform: translateY(-2px);
}

.home-usp-card {
  display: flex;
  min-height: 314px;
  flex-direction: column;
  gap: 18px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 4%);
}

.home-usp-card:first-child {
  background:
    linear-gradient(135deg, rgb(248 246 252 / 96%), rgb(255 251 243 / 92%)),
    #fff;
  border-color: rgb(155 123 208 / 34%);
}

.home-usp-card__topline {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.home-usp-card__icon,
.home-specialist-card__icon {
  display: grid;
  flex: 0 0 auto;
  width: 54px;
  height: 54px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid rgb(155 123 208 / 18%);
  border-radius: 8px;
}

.home-usp-card__metric {
  display: grid;
  justify-items: end;
  min-width: 96px;
  color: var(--color-accent);
}

.home-usp-card__metric strong {
  font-family: var(--font-heading);
  font-size: clamp(42px, 4vw, 58px);
  font-weight: 600;
  line-height: 0.95;
}

.home-usp-card__metric em {
  margin-top: 6px;
  color: var(--color-muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}

.home-usp-card h3,
.home-specialist-card h3 {
  margin: 0;
  color: var(--color-text);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.22;
}

.home-usp-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.58;
}

.home-importance {
  padding: clamp(58px, 6vw, 84px) 0;
  background: var(--color-base);
}

.home-importance__inner {
  display: grid;
  gap: 30px;
}

.home-importance__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 26px);
}

.home-importance-card {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  min-height: 168px;
  padding: 22px;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.home-importance-card__icon {
  display: grid;
  width: 82px;
  height: 82px;
  place-items: center;
  color: var(--color-accent);
  background: transparent;
  border: 0;
  border-radius: 0;
  transform: translateY(-18px);
}

.home-importance-card__icon img {
  width: 94px;
  height: 94px;
  max-width: none;
  object-fit: contain;
}

.home-importance-card h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-card);
  font-weight: 600;
  line-height: 1.18;
}

.home-importance-card p {
  max-width: 470px;
  margin: 12px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.62;
}

.home-highlights {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
  scroll-margin-top: 96px;
  padding: clamp(48px, 4vw, 64px) 0 clamp(42px, 3.8vw, 62px);
  background: #fff;
}

.home-highlights__inner {
  display: grid;
  width: min(100%, 1840px);
  margin-inline: auto;
  gap: clamp(36px, 3.8vw, 62px);
  padding-inline: clamp(24px, 2.1vw, 40px);
}

.home-highlights__heading {
  max-width: 1120px;
  margin: 0;
  text-align: left;
  opacity: 1;
  transform: none;
  transition: opacity 0.68s ease, transform 0.68s ease;
}

.home-highlights__heading h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(48px, 4.25vw, 72px);
  font-weight: 600;
  line-height: 1.04;
}

.home-highlights__heading h2 span {
  display: block;
  margin-bottom: 8px;
  color: var(--color-accent);
  font-size: clamp(62px, 5.5vw, 92px);
  font-weight: 600;
  line-height: 0.98;
}

.home-highlights__heading p {
  display: none;
}

.home-highlights__layout {
  position: relative;
  display: grid;
  grid-template-columns:
    minmax(320px, 0.9fr)
    minmax(520px, 1.42fr)
    minmax(320px, 0.9fr);
  column-gap: clamp(30px, 4vw, 86px);
  row-gap: 32px;
  align-items: center;
  min-height: 0;
  isolation: isolate;
}

.home-highlights__column {
  display: grid;
  z-index: 2;
  align-self: start;
  align-content: start;
  gap: clamp(22px, 1.8vw, 32px);
}

.home-highlights__column--right {
  align-self: start;
  gap: clamp(22px, 1.8vw, 32px);
  padding-top: 0;
}

.home-highlights__visual {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 0;
  align-self: start;
  place-items: center;
  padding-top: clamp(28px, 2.8vw, 54px);
  opacity: 1;
  transform: none;
  transition: opacity 0.72s ease, transform 0.72s ease;
}

.home-highlights__image {
  width: min(100%, 820px);
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 0;
  box-shadow: none;
  transform: none;
}

.home-highlight-card {
  display: grid;
  gap: 12px;
  min-height: clamp(198px, 13vw, 220px);
  padding: clamp(22px, 1.7vw, 30px);
  color: var(--color-text);
  text-align: left;
  background: #fff;
  border: 1px solid rgb(155 123 208 / 78%);
  border-radius: 8px;
  box-shadow: none;
  opacity: 1;
  transform: none;
  transition: opacity 0.62s ease, transform 0.62s ease, border-color 0.18s,
    box-shadow 0.18s;
}

.home-highlight-card:hover {
  border-color: rgb(155 123 208 / 90%);
  box-shadow: 0 18px 40px rgb(23 19 29 / 5%);
  transform: translateY(-2px);
}

.home-highlight-card__title {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(28px, 2vw, 38px);
  font-weight: 600;
  line-height: 1.12;
}

.home-highlight-card__text {
  color: var(--color-muted);
  font-size: clamp(16px, 1.18vw, 22px);
  line-height: 1.38;
}

.home-highlights--ready:not(.home-highlights--visible) .home-highlights__heading {
  opacity: 0;
  transform: translateY(28px);
}

.home-highlights--ready:not(.home-highlights--visible) .home-highlights__visual {
  opacity: 0;
  transform: translateY(36px) scale(0.96);
}

.home-highlights--ready:not(.home-highlights--visible) .home-highlight-card {
  opacity: 0;
  transform: translateY(30px);
}

.home-highlights--visible .home-highlights__heading,
.home-highlights--visible .home-highlights__visual,
.home-highlights--visible .home-highlight-card {
  opacity: 1;
  transform: none;
}

.home-highlights--visible .home-highlights__visual {
  transition-delay: 0.12s;
}

.home-highlights--visible .home-highlights__column--left .home-highlight-card:nth-child(1) {
  transition-delay: 0.18s;
}

.home-highlights--visible .home-highlights__column--right .home-highlight-card:nth-child(1) {
  transition-delay: 0.26s;
}

.home-highlights--visible .home-highlights__column--left .home-highlight-card:nth-child(2) {
  transition-delay: 0.34s;
}

.home-highlights--visible .home-highlights__column--right .home-highlight-card:nth-child(2) {
  transition-delay: 0.42s;
}

.home-highlights--visible .home-highlights__column--left .home-highlight-card:nth-child(3) {
  transition-delay: 0.5s;
}

.home-highlights--visible .home-highlights__column--right .home-highlight-card:nth-child(3) {
  transition-delay: 0.58s;
}

.home-highlights--visible .home-highlights__column--left .home-highlight-card:nth-child(4) {
  transition-delay: 0.66s;
}

.home-highlights--visible .home-highlights__column--right .home-highlight-card:nth-child(4) {
  transition-delay: 0.74s;
}

.home-highlights--visible .home-highlight-card:hover {
  transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {
  .home-highlights__heading,
  .home-highlights__visual,
  .home-highlight-card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.home-audience {
  padding: var(--section-y) 0;
  background: #fff;
}

.home-audience__inner {
  display: grid;
  gap: 32px;
}

.home-audience__heading {
  max-width: 790px;
}

.home-audience__eyebrow,
.home-audience-panel__eyebrow {
  width: fit-content;
  margin: 0 0 10px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-audience__heading h2 {
  max-width: 760px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.05;
}

.home-audience__heading > p:last-child {
  max-width: 660px;
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.68;
}

.home-audience__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.home-audience__tab {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid rgb(23 19 29 / 13%);
  border-radius: 999px;
  box-shadow: 0 10px 22px rgb(23 19 29 / 3%);
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.home-audience__tab:hover,
.home-audience__tab:focus-visible {
  border-color: rgb(155 123 208 / 40%);
  box-shadow: 0 16px 30px rgb(23 19 29 / 7%);
  outline: 0;
  transform: translateY(-1px);
}

.home-audience__tab--active,
.home-audience__tab--active:hover,
.home-audience__tab--active:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 18px 36px rgb(155 123 208 / 24%);
}

.home-audience-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 0.34fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: stretch;
  min-height: 360px;
  padding: clamp(30px, 4vw, 46px);
  background:
    linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(249 246 253 / 94%)),
    #fff;
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: 0 22px 52px rgb(23 19 29 / 7%);
}

.home-audience-panel__content {
  display: flex;
  flex-direction: column;
  align-items: start;
}

.home-audience-panel h3 {
  max-width: 780px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 600;
  line-height: 1.08;
}

.home-audience-panel__content > p:not(.home-audience-panel__eyebrow) {
  max-width: 690px;
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.68;
}

.home-audience-panel ul {
  display: grid;
  gap: 12px;
  max-width: 720px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.home-audience-panel li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: var(--color-text);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.48;
}

.home-audience-panel li svg {
  margin-top: 2px;
  color: var(--color-accent);
}

.home-audience-panel__link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin-top: 32px;
  padding: 0 24px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  transition: background-color 0.18s, transform 0.18s, box-shadow 0.18s;
}

.home-audience-panel__link:hover,
.home-audience-panel__link:focus-visible {
  background: #8768bd;
  box-shadow: 0 16px 30px rgb(155 123 208 / 22%);
  outline: 0;
  transform: translateY(-1px);
}

.home-audience-panel__metrics {
  display: grid;
  align-content: center;
  gap: 22px;
  padding-left: clamp(24px, 3vw, 40px);
  border-left: 1px solid rgb(23 19 29 / 10%);
}

.home-audience-panel__metric {
  display: grid;
  gap: 8px;
}

.home-audience-panel__metric strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 46px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 0.95;
}

.home-audience-panel__metric span {
  max-width: 260px;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.4;
}

.home-specialists {
  padding: var(--section-y) 0;
  background: var(--color-base);
}

.home-specialists__inner {
  display: grid;
  gap: 34px;
}

.home-specialists__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 1fr);
  gap: clamp(20px, 2.4vw, 34px);
  align-items: stretch;
}

.home-specialists__visual {
  position: relative;
  min-height: 492px;
  overflow: hidden;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.home-specialists__visual img {
  object-fit: cover;
  object-position: 42% center;
}

.home-specialists__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.home-specialist-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 18px;
  min-height: 276px;
  padding: 24px;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.home-specialist-card__content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 16px;
  min-height: 100%;
}

.home-specialist-card__content span {
  display: block;
  margin-top: 6px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.24;
  text-transform: uppercase;
}

.home-specialist-card__content p {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.58;
}

.home-specialist-card__content svg {
  margin-top: 3px;
  color: var(--color-accent);
}

.home-specialist-card__link {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  background: color-mix(in srgb, var(--color-accent) 9%, #fff);
  border: 1px solid color-mix(in srgb, var(--color-accent) 26%, transparent);
  border-radius: 8px;
  transition:
    color var(--transition-base),
    background var(--transition-base),
    border-color var(--transition-base),
    transform var(--transition-base),
    box-shadow var(--transition-base);
}

.home-specialist-card__link svg {
  margin: 0;
}

.home-specialist-card__link:hover,
.home-specialist-card__link:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 14px 30px rgba(150, 111, 214, 0.2);
  transform: translateY(-1px);
}

.home-catalog {
  padding: 86px 0 92px;
  background: #fff;
}

.home-catalog--collection {
  padding: 76px 0;
}

.home-catalog--collection + .home-catalog--collection {
  padding-top: 0;
}

.home-catalog__inner {
  display: grid;
  min-width: 0;
  gap: 30px;
}

.home-catalog__top {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.home-catalog__eyebrow {
  margin: 0 0 10px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-catalog__top h2 {
  max-width: 760px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.04;
}

.home-catalog__link,
.home-catalog__bottom a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  color: var(--color-accent);
  font-size: 15px;
  font-weight: 800;
  transition: color 0.18s, transform 0.18s;
}

.home-catalog__link:hover,
.home-catalog__bottom a:hover {
  color: #7657ad;
  transform: translateX(2px);
}

.home-catalog__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--color-border);
}

.home-catalog__filter {
  min-height: 42px;
  padding: 0 18px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 750;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    transform 0.18s;
}

.home-catalog__filter:hover,
.home-catalog__filter:focus-visible,
.home-catalog__filter--active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
}

.home-catalog__filter:hover {
  transform: translateY(-1px);
}

.home-catalog__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--color-muted);
  font-size: 14px;
}

.home-catalog__summary p {
  margin: 0;
}

.home-catalog__summary span {
  color: var(--color-accent);
  font-weight: 800;
}

.home-catalog__slider {
  display: grid;
  min-width: 0;
  align-items: center;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  gap: 8px;
  margin-inline: calc((var(--side-desktop) - 4px) * -1);
}

.home-catalog__slider-button {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  box-shadow: 0 14px 30px rgb(74 55 108 / 12%);
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    transform 0.18s;
}

.home-catalog__slider-button:hover,
.home-catalog__slider-button:focus-visible {
  color: #fff;
  background: var(--color-accent);
  outline: 0;
  transform: scale(1.04);
}

.home-catalog__slider-button--prev {
  justify-self: start;
}

.home-catalog__slider-button--next {
  justify-self: end;
}

.home-catalog__grid {
  --home-catalog-gap: clamp(22px, 2.1vw, 32px);
  display: flex;
  min-width: 0;
  align-items: stretch;
  gap: var(--home-catalog-gap);
  padding: 6px 0 8px;
  margin-bottom: -8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.home-catalog__grid::-webkit-scrollbar {
  display: none;
}

.home-catalog .catalog-product-card {
  flex: 0 0 calc((100% - (var(--home-catalog-gap) * 2)) / 3);
  align-self: stretch;
  scroll-snap-align: start;
}

.home-catalog .catalog-product-card__media {
  aspect-ratio: 1 / 0.9;
}

.home-catalog .catalog-product-card__body {
  padding: 24px;
}

.home-catalog__grid--fixed {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--home-catalog-gap);
  padding: 0;
  margin-bottom: 0;
  overflow: visible;
  overscroll-behavior-x: auto;
  scroll-snap-type: none;
}

.home-catalog__grid--fixed .catalog-product-card {
  flex: initial;
  min-width: 0;
  scroll-snap-align: none;
}

.home-catalog--sets .home-catalog__grid--fixed {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-catalog--sets {
  padding-top: 0;
  background: #fff;
}

.home-catalog-promo {
  position: relative;
  display: flex;
  min-height: 100%;
  overflow: hidden;
  color: #fff;
  background: #e87539;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 6%);
  isolation: isolate;
  transition: box-shadow 0.18s, transform 0.18s;
}

.home-catalog-promo:hover,
.home-catalog-promo:focus-visible {
  box-shadow: 0 24px 56px rgb(23 19 29 / 11%);
  outline: 0;
  transform: translateY(-2px);
}

.home-catalog-promo img {
  object-fit: cover;
  object-position: center bottom;
  transform: scale(1.02);
  z-index: -2;
}

.home-catalog-promo__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgb(28 22 38 / 0%) 0%, rgb(88 45 18 / 12%) 48%, rgb(88 45 18 / 62%) 100%),
    linear-gradient(135deg, rgb(232 117 57 / 48%) 0%, rgb(232 117 57 / 18%) 52%, rgb(255 255 255 / 4%) 100%);
}

.home-catalog-promo__content {
  display: flex;
  width: 100%;
  min-height: 100%;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  padding: clamp(22px, 2.3vw, 30px);
}

.home-catalog-promo__badge {
  width: fit-content;
  min-height: 30px;
  padding: 7px 11px 6px;
  color: #fff;
  background: #f47d38;
  border: 1px solid rgb(255 255 255 / 46%);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
}

.home-catalog-promo strong {
  max-width: 320px;
  font-family: var(--font-heading);
  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 600;
  line-height: 1.08;
}

.home-catalog-promo__content > span:not(.home-catalog-promo__badge, .home-catalog-promo__link) {
  max-width: 300px;
  color: rgb(255 255 255 / 86%);
  font-size: 15px;
  line-height: 1.5;
}

.home-catalog-promo__link {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
  padding: 0 16px;
  color: var(--color-accent);
  background: #fff;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
}

.home-catalog__bottom {
  display: flex;
  justify-content: center;
  padding-top: 4px;
}

.product-section {
  background: var(--color-base);
  padding: 72px 0 80px;
}

.product-section--compact {
  padding-bottom: 48px;
}

.product-section__inner {
  display: grid;
  min-width: 0;
  gap: 36px;
}

.product-section__heading,
.articles__heading {
  position: relative;
  display: grid;
  min-width: 0;
  place-items: end start;
  gap: 18px;
}

.product-section__heading h2,
.articles__heading h2,
.about-quality__copy h2,
.subscribe__form-block h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.06;
}

.product-section__heading-actions {
  position: absolute;
  right: 0;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
}

.product-section__heading-actions a,
.articles__heading a,
.article-card__read-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-accent);
  font-size: 19px;
  font-weight: 600;
  transition: color 0.18s, transform 0.18s;
}

.article-card__read-link {
  font-size: 13px;
}

.product-section__heading-actions a:hover,
.articles__heading a:hover,
.article-card__read-link:hover {
  color: #7657ad;
  transform: translateX(2px);
}

.product-section__slider-shell {
  position: relative;
  min-width: 0;
}

.product-section__slider-button {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  box-shadow: 0 14px 30px rgb(74 55 108 / 12%);
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    transform 0.18s, opacity 0.18s;
  transform: translateY(-50%);
}

.product-section__slider-button:hover {
  color: #fff;
  background: var(--color-accent);
  transform: translateY(-50%) scale(1.04);
}

.product-section__slider-button--prev {
  left: -68px;
}

.product-section__slider-button--next {
  right: -68px;
}

.product-section__grid {
  --product-gap: clamp(22px, 2vw, 34px);
  display: flex;
  min-width: 0;
  gap: var(--product-gap);
  padding: 6px 0 8px;
  margin-bottom: -8px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.product-section__grid::-webkit-scrollbar {
  display: none;
}

.product-card {
  display: flex;
  flex: 0 0 calc((100% - (var(--product-gap) * 2)) / 3);
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgb(236 231 245 / 76%);
  border-radius: 8px;
  scroll-snap-align: start;
  box-shadow: inset 0 0 0 1px transparent;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.product-card:hover {
  border-color: rgb(155 123 208 / 62%);
  box-shadow: inset 0 0 0 1px rgb(155 123 208 / 34%);
  transform: translateY(-2px);
}

.product-card__image-link {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.88;
  overflow: hidden;
  background: #f7f3f4;
  user-select: none;
}

.product-card__badge {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 1;
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 14px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  pointer-events: none;
  white-space: nowrap;
}

.product-card__image {
  object-fit: contain;
  object-position: center;
  transition: transform 0.22s;
}

.product-card:hover .product-card__image {
  transform: scale(1.02);
}

.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 24px 24px 22px;
}

.product-card__body h3 {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 500;
  line-height: 1.45;
}

.product-card__body h3 a:hover {
  color: var(--color-accent);
}

.product-card__description {
  min-height: 42px;
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.product-card__rating {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500;
}

.product-card__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--color-accent);
}

.product-card__star {
  fill: currentcolor;
  stroke: none;
}

.product-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.product-card__footer p {
  margin: 0;
  color: var(--color-text);
  font-size: 19px;
  font-weight: 600;
}

.product-card__footer s,
.product-detail__price-row s {
  display: inline-block;
  margin-left: 10px;
  color: var(--color-muted);
  font-size: 0.78em;
  font-weight: 500;
}

.product-card__add {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  transition: background-color 0.18s, border-color 0.18s, transform 0.18s;
}

.product-card__add:hover,
.product-card__add--added {
  background: #6d55a2;
  border-color: #6d55a2;
}

.product-card__add:hover {
  transform: translateY(-1px);
}

.wellness-banner {
  position: relative;
  width: min(100%, var(--container));
  min-height: 156px;
  max-height: 400px;
  aspect-ratio: 18 / 5;
  margin-inline: auto;
  overflow: hidden;
  background: var(--color-blue);
}

.wellness-banner__image {
  object-fit: cover;
  object-position: center 32%;
}

.wellness-banner__nav {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(28px, 3.2vw, 48px);
  padding-inline: var(--side-desktop);
}

.wellness-banner__item {
  display: inline-flex;
  align-items: center;
  gap: clamp(28px, 3.2vw, 48px);
}

.wellness-banner__item-text {
  color: #fff;
  font-size: clamp(22px, 2.35vw, 34px);
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 1px 14px rgb(23 19 29 / 26%);
}

.wellness-banner__separator {
  color: rgb(255 255 255 / 82%);
  font-size: clamp(26px, 2.35vw, 34px);
  font-weight: 300;
  line-height: 1;
  text-shadow: 0 1px 12px rgb(23 19 29 / 22%);
}

.articles {
  background: var(--color-base);
  padding: 48px 0 80px;
}

.articles__inner {
  display: grid;
  gap: 36px;
}

.articles__heading {
  gap: 16px;
}

.articles__heading > a {
  position: absolute;
  right: 0;
  bottom: 8px;
}

.articles__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(22px, 2vw, 34px);
}

.article-card {
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.article-card__image-link {
  position: relative;
  display: block;
  aspect-ratio: 1.56;
  overflow: hidden;
  background: var(--color-blue);
}

.article-card__image {
  object-fit: cover;
  transition: transform 0.22s;
}

.article-card:hover .article-card__image {
  transform: scale(1.018);
}

.article-card__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 21px 22px 24px;
}

.article-card__body > p:first-child {
  display: none;
}

.article-card__body h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-card);
  font-weight: 600;
  line-height: 1.15;
}

.article-card__body h3 a:hover {
  color: var(--color-accent);
}

.article-card__description {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.5;
}

.home-science,
.home-aging,
.home-trust {
  background: var(--color-base);
}

.home-science {
  padding: var(--section-y) 0;
}

.home-science--technology {
  background: #fff;
}

.home-science__inner {
  display: grid;
  gap: 30px;
}

.home-science__heading {
  display: grid;
  max-width: 760px;
  gap: 10px;
}

.home-science__banner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(520px, 48vw, 660px);
  overflow: hidden;
  background: var(--surface-soft);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.home-science__banner-image {
  object-fit: cover;
  object-position: 76% center;
}

.home-science__banner-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgb(255 255 255 / 98%) 0%,
      rgb(255 255 255 / 94%) 35%,
      rgb(255 255 255 / 66%) 55%,
      rgb(255 255 255 / 8%) 82%
    ),
    linear-gradient(180deg, rgb(255 255 255 / 8%), rgb(251 248 253 / 18%));
}

.home-science__panel {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  width: min(56%, 650px);
  padding: clamp(34px, 5vw, 70px);
}

.home-science__eyebrow {
  display: none;
}

.home-science h2,
.home-aging h2,
.home-trust h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.06;
}

.home-science__copy > p:not(.home-science__eyebrow),
.home-aging__heading > p,
.home-trust__content > p {
  max-width: 690px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.home-science__kicker {
  display: none;
}

.home-science__panel h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.06;
}

.home-science__lead {
  max-width: 560px;
  margin: 0;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.65;
}

.home-science__panel .home-science__list {
  max-width: 620px;
  gap: 14px;
  padding-top: 8px;
}

.home-science__panel .home-science__list li {
  color: var(--color-muted);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.home-science__list {
  display: grid;
  max-width: 720px;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.home-science__list li {
  position: relative;
  padding-left: 24px;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.55;
}

.home-science__list li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
}

.home-aging {
  padding: var(--section-y) 0;
  background: var(--color-base);
}

.home-aging__inner {
  display: grid;
  gap: 38px;
}

.home-aging__heading {
  display: grid;
  max-width: 900px;
  gap: 14px;
}

.home-aging__curve {
  display: grid;
  gap: 18px;
  padding: 28px;
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.home-aging__curve svg {
  display: block;
  width: 100%;
  height: auto;
}

.home-aging__grid-line {
  fill: none;
  stroke: rgb(155 123 208 / 18%);
  stroke-width: 1;
}

.home-aging__axis {
  fill: none;
  stroke: rgb(23 19 29 / 40%);
  stroke-linecap: round;
  stroke-width: 2;
}

.home-aging__curve-fill {
  fill: rgb(155 123 208 / 8%);
}

.home-aging__curve-line {
  fill: none;
  stroke: var(--color-accent);
  stroke-linecap: round;
  stroke-width: 5;
}

.home-aging__curve-dot {
  fill: #fff;
  stroke: var(--color-accent);
  stroke-width: 5;
}

.home-aging__curve-labels {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.home-aging__curve-labels span {
  display: grid;
  align-content: start;
  gap: 6px;
}

.home-aging__curve-labels strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.home-aging__curve-labels small {
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.35;
}

.home-aging__timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  padding-top: 42px;
}

.home-aging__timeline::before {
  position: absolute;
  top: 18px;
  right: 4%;
  left: 4%;
  height: 2px;
  background: linear-gradient(90deg, var(--color-accent), rgb(155 123 208 / 18%));
  content: "";
}

.home-aging__milestone {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 150px;
  padding: 22px 18px 20px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.home-aging__milestone::before {
  position: absolute;
  top: -31px;
  left: 18px;
  width: 14px;
  height: 14px;
  background: var(--color-accent);
  border: 4px solid #fff;
  border-radius: 999px;
  box-shadow: 0 0 0 1px rgb(155 123 208 / 32%);
  content: "";
}

.home-aging__milestone strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}

.home-aging__milestone span {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.home-aging__content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  gap: clamp(24px, 3vw, 44px);
}

.home-aging__benefits,
.home-aging__usage {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
}

.home-aging__benefits {
  display: grid;
  gap: 22px;
  padding: 28px;
}

.home-aging__benefits h3,
.home-aging__usage h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 750;
  line-height: 1.14;
}

.home-aging__benefit-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.home-aging__benefit-list span {
  display: flex;
  min-height: 52px;
  align-items: center;
  padding: 12px 14px;
  color: var(--color-text);
  background: var(--color-lavender);
  border: 1px solid rgb(155 123 208 / 18%);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.home-aging__usage {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.home-aging__dose {
  display: grid;
  gap: 6px;
  padding-bottom: 18px;
  margin-bottom: 2px;
  border-bottom: 1px solid var(--color-border);
}

.home-aging__dose strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 42px;
  font-weight: 800;
  line-height: 0.96;
}

.home-aging__dose span,
.home-aging__usage div > span {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.home-aging__usage p {
  margin: 4px 0 0;
  color: var(--color-text);
  font-size: 14px;
  line-height: 1.45;
}

.home-aging__panel {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.home-aging__intro {
  display: grid;
  gap: 12px;
  max-width: 1060px;
}

.home-aging__intro h2 {
  color: var(--color-accent);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.08;
  text-transform: uppercase;
}

.home-aging__intro p {
  max-width: 1040px;
  margin: 0;
  color: var(--color-text);
  font-size: clamp(16px, 1.2vw, 19px);
  font-weight: 650;
  line-height: 1.45;
}

.home-aging__chart {
  margin-top: clamp(26px, 3.8vw, 46px);
}

.home-aging__chart svg {
  display: block;
  width: 100%;
  height: auto;
}

.home-aging__chart marker path {
  fill: var(--color-text);
}

.home-aging__chart .home-aging__grid-line {
  stroke: rgb(23 19 29 / 14%);
  stroke-width: 1.2;
}

.home-aging__chart .home-aging__axis {
  stroke: var(--color-text);
  stroke-linecap: round;
  stroke-width: 3;
}

.home-aging__chart .home-aging__curve-line {
  stroke: var(--color-accent);
  stroke-width: 3.5;
}

.home-aging__chart .home-aging__curve-dot {
  fill: var(--color-text);
  stroke: var(--color-text);
  stroke-width: 1;
}

.home-aging__age-line {
  fill: none;
  stroke: var(--color-text);
  stroke-linecap: round;
  stroke-width: 3;
}

.home-aging__early-line {
  fill: none;
  stroke: var(--color-accent);
  stroke-dasharray: 8 8;
  stroke-linecap: round;
  stroke-width: 3;
}

.home-aging__age-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 2.4vw, 34px);
  margin-top: -8px;
}

.home-aging__age-item {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.home-aging__age-item strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 750;
  line-height: 1;
}

.home-aging__age-item > span:last-child {
  max-width: 150px;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.3;
}

.home-aging__age-portrait {
  width: 72px;
  height: 72px;
  margin: 2px 0;
  background:
    radial-gradient(circle at 50% 30%, #fff 0 17%, transparent 18%),
    radial-gradient(ellipse at 50% 75%, rgb(155 123 208 / 56%) 0 34%, transparent 35%),
    linear-gradient(135deg, rgb(155 123 208 / 16%), rgb(155 123 208 / 34%));
  clip-path: polygon(24% 4%, 76% 4%, 100% 50%, 76% 96%, 24% 96%, 0 50%);
}

.home-aging__benefits {
  gap: 24px;
  padding: 0;
  margin-top: clamp(38px, 5vw, 66px);
  background: transparent;
  border: 0;
  box-shadow: none;
}

.home-aging__benefits h3 {
  color: var(--color-accent);
  font-size: clamp(24px, 2.4vw, 34px);
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.12;
  text-transform: uppercase;
}

.home-aging__benefit-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px clamp(34px, 8vw, 116px);
  max-width: 960px;
}

.home-aging__benefit-list span {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 16px;
  min-height: 68px;
  align-items: center;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 500;
  line-height: 1.22;
}

.home-aging__benefit-list i {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  clip-path: polygon(24% 4%, 76% 4%, 100% 50%, 76% 96%, 24% 96%, 0 50%);
  font-style: normal;
}

.home-aging__benefit-list em {
  font-style: normal;
}

.home-trust {
  padding: 86px 0;
}

.home-trust__inner {
  display: grid;
  max-width: 1060px;
  gap: 32px;
}

.home-trust__content {
  display: grid;
  gap: 18px;
}

.home-trust__partners {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 6px;
}

.home-trust__partners span {
  display: grid;
  min-height: 94px;
  place-items: center;
  padding: 14px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 18px;
  font-weight: 800;
  text-align: center;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.home-trust__documents {
  display: grid;
  gap: 12px;
  margin-top: 8px;
}

.home-trust__document {
  display: grid;
  grid-template-columns: auto minmax(0, 0.75fr) minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 78px;
  padding: 14px 16px;
  color: inherit;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.home-trust__document:hover,
.home-trust__document:focus-visible {
  border-color: rgb(155 123 208 / 52%);
  box-shadow: 0 16px 34px rgb(23 19 29 / 6%);
  outline: 0;
  transform: translateY(-1px);
}

.home-trust__document > span {
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
}

.home-trust__document strong {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
}

.home-trust__document small {
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.4;
}

.home-trust__document em {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--color-accent);
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.home-research,
.home-labs {
  background: var(--color-base);
}

.home-research {
  padding: var(--section-y) 0 var(--section-y-compact);
}

.home-labs {
  padding: var(--section-y-compact) 0 var(--section-y);
}

.home-research__inner,
.home-labs__inner {
  display: grid;
  gap: 32px;
}

.home-research__heading,
.home-labs__heading {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.5fr);
  gap: clamp(24px, 4vw, 64px);
  align-items: end;
}

.home-research__eyebrow,
.home-labs__eyebrow {
  margin: 0 0 10px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.home-research__heading h2,
.home-labs__heading h2 {
  max-width: 780px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.08;
}

.home-research__heading > p,
.home-labs__heading > p {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.66;
}

.home-labs__inner {
  gap: 54px;
}

.home-labs__heading {
  max-width: 940px;
  margin: 0 auto;
  grid-template-columns: 1fr;
  justify-items: center;
  gap: 28px;
  text-align: center;
}

.home-labs__heading h2 {
  max-width: 940px;
}

.home-labs__heading > p {
  max-width: 640px;
  font-size: 15px;
  line-height: 1.55;
}

.home-research__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 24px);
}

.home-labs__logo-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(24px, 4vw, 64px);
  align-items: center;
  padding: 10px 0 4px;
}

.home-research-card {
  position: relative;
  display: grid;
  min-height: 260px;
  align-content: space-between;
  gap: 22px;
  overflow: hidden;
  padding: 24px;
  color: inherit;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.home-research-card::after {
  display: none;
}

.home-research-card:hover,
.home-research-card:focus-visible {
  color: inherit;
  border-color: rgb(155 123 208 / 52%);
  box-shadow: var(--card-shadow-hover);
  outline: 0;
  transform: translateY(-2px);
}

.home-research-card--featured {
  background: #fff;
}

.home-research-card__topline {
  display: none;
}

.home-research-card__topline span:last-child {
  color: var(--color-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}

.home-research-card__icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  color: var(--color-accent);
  background: var(--icon-surface);
  border: 1px solid rgb(155 123 208 / 20%);
  border-radius: var(--card-radius);
}

.home-research-card__body {
  position: relative;
  z-index: 1;
  display: block;
}

.home-research-card h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-card);
  font-weight: 600;
  line-height: 1.12;
}

.home-research-card p {
  margin: 10px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.56;
}

.home-research-card__action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 7px;
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 800;
}

.home-research-card__action svg {
  transition: transform 0.18s;
}

.home-research-card:hover .home-research-card__action svg,
.home-research-card:focus-visible .home-research-card__action svg {
  transform: translateX(3px);
}

.home-lab-logo {
  display: grid;
  min-height: 170px;
  justify-items: center;
  align-items: center;
  padding: 10px;
}

.home-lab-logo__image {
  width: auto;
  max-width: min(100%, 210px);
  height: auto;
  max-height: 154px;
  object-fit: contain;
}

/* Shared cart and favorites pages */
.shop-state-page {
  min-height: 70vh;
  background: var(--color-base);
}

.shop-state-page__hero {
  padding: 46px 0 34px;
  border-bottom: 1px solid var(--color-border);
}

.shop-state-page__breadcrumbs {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 22px;
  color: var(--color-muted);
  font-size: 13px;
}

.shop-state-page__breadcrumbs a:hover,
.shop-state-page__breadcrumbs a:focus-visible {
  color: var(--color-accent);
}

.shop-state-page__heading {
  display: flex;
  align-items: baseline;
  gap: 14px;
}

.shop-state-page__heading h1 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(46px, 5.5vw, 72px);
  font-weight: 700;
  line-height: 0.96;
}

.shop-state-page__heading > span {
  color: var(--color-accent);
  font-size: 15px;
  font-weight: 700;
}

.shop-state-page__content {
  padding: 44px 0 86px;
}

.shop-state-empty {
  display: grid;
  min-height: 360px;
  place-items: center;
  align-content: center;
  gap: 18px;
  text-align: center;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.shop-state-empty > svg {
  color: var(--color-accent);
}

.shop-state-empty h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 36px) !important;
}

.shop-state-empty a,
.cart-summary > a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 22px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  transition: background-color 0.18s, transform 0.18s;
}

.shop-state-empty a:hover,
.shop-state-empty a:focus-visible,
.cart-summary > a:hover,
.cart-summary > a:focus-visible {
  background: #8666c4;
  outline: 0;
  transform: translateY(-1px);
}

.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 32px;
  align-items: start;
}

.cart-main {
  display: grid;
  gap: 24px;
}

.cart-list,
.cart-summary {
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.cart-list {
  overflow: hidden;
}

.cart-list__controls {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: flex-end;
  padding: 12px 22px;
  border-bottom: 1px solid var(--color-border);
}

.cart-list__toolbar,
.favorites-toolbar {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--color-muted);
  font-size: 13px;
}

.cart-list__toolbar {
  padding: 0 22px;
  border-bottom: 1px solid var(--color-border);
}

.cart-list__toolbar button,
.favorites-toolbar button {
  padding: 0;
  color: var(--color-muted);
  background: transparent;
  border: 0;
  font: inherit;
  cursor: pointer;
}

.cart-list__toolbar button:hover,
.cart-list__toolbar button:focus-visible,
.favorites-toolbar button:hover,
.favorites-toolbar button:focus-visible {
  color: var(--color-accent);
  outline: 0;
}

.cart-item {
  display: grid;
  grid-template-columns: 150px minmax(180px, 1fr) 116px minmax(100px, auto) 42px;
  gap: 22px;
  align-items: center;
  padding: 20px 22px;
}

.cart-item + .cart-item {
  border-top: 1px solid var(--color-border);
}

.cart-item__image {
  position: relative;
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--color-lavender);
  border-radius: 6px;
}

.cart-item__image img {
  object-fit: cover;
  object-position: center bottom;
}

.cart-item__details {
  display: grid;
  gap: 8px;
}

.cart-item__details > a {
  width: fit-content;
  color: var(--color-ink);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}

.cart-item__details > a:hover,
.cart-item__details > a:focus-visible {
  color: var(--color-accent);
}

.cart-item__details p {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
}

.cart-item__details strong {
  display: none;
  font-size: 17px;
}

.cart-item__quantity {
  display: grid;
  grid-template-columns: 36px 42px 36px;
  min-height: 42px;
  align-items: center;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.cart-item__quantity button {
  display: grid;
  height: 100%;
  place-items: center;
  padding: 0;
  color: var(--color-accent);
  background: transparent;
  border: 0;
  cursor: pointer;
}

.cart-item__quantity span {
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}

.cart-item__total {
  text-align: right;
  font-size: 17px;
  white-space: nowrap;
}

.cart-item__actions {
  display: grid;
  gap: 8px;
}

.cart-item__actions button {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  padding: 0;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  cursor: pointer;
}

.cart-item__actions button:hover,
.cart-item__actions button:focus-visible,
.cart-item__actions button.is-active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
}

.cart-item__actions button.is-active svg {
  fill: currentcolor;
}

.cart-delivery {
  display: grid;
  gap: 22px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.cart-delivery__heading {
  display: flex;
  align-items: center;
  gap: 14px;
}

.cart-delivery__heading > span {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 8px;
}

.cart-delivery__heading h2 {
  margin: 0;
  font-size: 24px !important;
}

.cart-delivery__heading p {
  margin: 5px 0 0;
  color: var(--color-muted);
  font-size: 13px;
}

.cart-delivery__form {
  display: grid;
  grid-template-columns: minmax(150px, 0.7fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.cart-delivery__form label {
  display: grid;
  gap: 7px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
}

.cart-delivery__form input {
  width: 100%;
  min-height: 44px;
  padding: 0 13px;
  color: var(--color-ink);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
}

.cart-delivery__form input:focus {
  border-color: var(--color-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgb(155 123 208 / 16%);
}

.cart-delivery__form button {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  color: #fff;
  background: var(--color-accent);
  border: 0;
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.cart-delivery__form button:disabled {
  cursor: wait;
  opacity: 0.72;
}

.cart-delivery__message,
.cart-delivery__loading {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
}

.cart-delivery__message--error {
  color: #b42318;
}

.cart-delivery__loading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cart-delivery__form button:disabled svg,
.cart-delivery__loading svg {
  animation: cart-delivery-spin 0.9s linear infinite;
}

.cart-delivery__options {
  display: grid;
  gap: 12px;
}

.cart-delivery-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 12px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.cart-delivery-option:hover,
.cart-delivery-option:focus-within,
.cart-delivery-option--selected {
  border-color: rgb(155 123 208 / 70%);
  box-shadow: 0 14px 32px rgb(78 57 120 / 8%);
}

.cart-delivery-option--selected {
  transform: translateY(-1px);
}

.cart-delivery-option input {
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
  accent-color: var(--color-accent);
}

.cart-delivery-option__body {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.cart-delivery-option__title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  color: var(--color-ink);
  font-weight: 700;
}

.cart-delivery-option__title strong {
  white-space: nowrap;
}

.cart-delivery-option__meta {
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}

.cart-delivery-option__badges,
.cart-delivery-option__points {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.cart-delivery-option__badges span,
.cart-delivery-option__points span {
  padding: 5px 8px;
  color: #6d55a2;
  background: var(--color-lavender);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}

.cart-delivery-option__points span {
  color: var(--color-muted);
  background: #f8f5fb;
  font-weight: 600;
}

.cart-summary {
  position: sticky;
  top: 150px;
  display: grid;
  gap: 24px;
  padding: 26px;
}

.cart-summary h2 {
  margin: 0;
  font-size: 28px !important;
}

.cart-summary dl {
  display: grid;
  gap: 14px;
  margin: 0;
}

.cart-summary dl > div,
.cart-summary__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
}

.cart-summary dt,
.cart-summary dd {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
}

.cart-summary dd {
  color: var(--color-ink);
  text-align: right;
}

.cart-summary__total {
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
  font-size: 16px;
}

.cart-summary__total strong {
  font-size: 24px;
}

.cart-summary__note {
  margin: -8px 0 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.5;
}

.cart-summary__promocode {
  display: grid;
  gap: 10px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-border);
}

.cart-summary__promocode > label {
  color: var(--color-ink);
  font-size: 14px;
  font-weight: 700;
}

.cart-summary__promocode-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.cart-summary__promocode-row input {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
}

.cart-summary__promocode-row input:focus {
  border-color: var(--color-accent);
  outline: 2px solid rgb(155 123 208 / 16%);
  outline-offset: 1px;
}

.cart-summary__promocode-row button {
  min-height: 44px;
  padding: 0 14px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.cart-summary__applied-promocodes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cart-summary__applied-promocodes span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 9px;
  color: #6d55a2;
  background: var(--color-lavender);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.cart-summary__applied-promocodes a {
  color: inherit;
  font-size: 18px;
  line-height: 0.8;
}

.cart-summary > a {
  width: 100%;
}

@keyframes cart-delivery-spin {
  to {
    transform: rotate(360deg);
  }
}

.favorites-toolbar {
  margin-bottom: 22px;
  padding: 0;
  border-bottom: 1px solid var(--color-border);
}

.favorites-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 24px;
}

@media (max-width: 1023px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }

  .cart-summary {
    position: static;
  }

  .cart-delivery__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cart-delivery__form button {
    grid-column: 1 / -1;
  }

  .cart-item {
    grid-template-columns: 130px minmax(160px, 1fr) 116px 42px;
  }

  .cart-item__total {
    display: none;
  }

  .cart-item__details strong {
    display: block;
  }

  .favorites-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .shop-state-page__hero {
    padding: 32px 0 26px;
  }

  .shop-state-page__content {
    padding: 28px 0 60px;
  }

  .shop-state-empty {
    min-height: 300px;
    padding: 28px 18px;
  }

  .cart-item {
    grid-template-columns: 104px minmax(0, 1fr) 38px;
    gap: 14px;
    align-items: start;
    padding: 16px;
  }

  .cart-list__toolbar {
    padding-inline: 16px;
  }

  .cart-item__details > a {
    font-size: 17px;
  }

  .cart-item__quantity {
    grid-column: 2;
    grid-template-columns: 34px 38px 34px;
    width: 106px;
  }

  .cart-item__actions {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .cart-summary {
    padding: 20px;
  }

  .cart-delivery {
    padding: 18px;
  }

  .cart-delivery__form {
    grid-template-columns: 1fr;
  }

  .cart-delivery-option {
    padding: 14px;
  }

  .cart-delivery-option__title {
    display: grid;
    gap: 4px;
  }

  .favorites-grid {
    grid-template-columns: 1fr;
  }
}

.home-lab-logo--collagen .home-lab-logo__symbol {
  width: 92px;
  height: 92px;
  border: 2px solid rgb(155 123 208 / 50%);
  border-radius: 999px;
  box-shadow: inset 0 0 0 8px #fff, inset 0 0 0 10px rgb(155 123 208 / 18%);
}

.home-lab-logo--alchemy .home-lab-logo__symbol {
  color: #8a7426;
  font-size: 74px;
  font-weight: 400;
}

.home-lab-logo--skolkovo .home-lab-logo__symbol {
  color: #9a7b18;
  font-size: 58px;
  letter-spacing: -0.08em;
}

.home-lab-logo strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 600;
  line-height: 1.1;
}

.home-lab-logo > span:not(.home-lab-logo__symbol) {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.research-page {
  background: var(--color-base);
}

.research-hub {
  color: var(--color-text);
  background: var(--color-base);
}

.research-hub-hero,
.research-article-hero {
  padding: clamp(52px, 6vw, 82px) 0 clamp(34px, 4vw, 56px);
}

.research-hub-hero__inner,
.research-hub-hero__content,
.research-article-hero__inner,
.research-article-hero__content {
  display: grid;
  gap: 22px;
  min-width: 0;
}

.research-breadcrumbs {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.research-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.research-breadcrumbs span,
.research-breadcrumbs a,
.research-article-hero h1 {
  min-width: 0;
  overflow-wrap: anywhere;
}

.research-hub-hero h1,
.research-article-hero h1 {
  max-width: 980px;
  margin: 0;
  font-size: clamp(54px, 7vw, 94px);
  line-height: 0.98;
}

.research-highlights,
.research-list,
.research-content,
.research-related {
  padding: 0 0 var(--section-y);
}

.research-highlights__grid,
.research-grid {
  display: grid;
  gap: clamp(18px, 2vw, 28px);
}

.research-highlights__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.research-highlight-card,
.research-card {
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.research-highlight-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 184px;
  padding: 24px;
}

.research-icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--color-accent);
  background: var(--icon-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.research-highlight-card h2 {
  margin: 0;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.research-highlight-card p,
.research-card p,
.research-content__inner p {
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.65;
}

.research-list__inner,
.research-related__inner {
  display: grid;
  gap: 26px;
}

.research-section-heading {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
}

.research-section-heading h2 {
  margin: 0;
}

.research-card__link:hover,
.research-card__link:focus-visible {
  color: #6d55a2;
  outline: 0;
  transform: translateX(2px);
}

.research-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.research-card {
  overflow: hidden;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.research-card:hover {
  border-color: rgb(155 123 208 / 38%);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.research-card__image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1.52;
  background: var(--surface-soft);
}

.research-card__image img,
.research-cover__image img {
  object-fit: cover;
}

.research-card__image img {
  transition: transform 0.22s;
}

.research-card:hover .research-card__image img {
  transform: scale(1.018);
}

.research-card__body {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
}

.research-card__meta,
.research-article-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 700;
}

.research-article-hero__meta span,
.research-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.research-card__meta span:first-child,
.research-article-hero__meta span:first-child {
  color: var(--color-accent);
}

.research-card h3 {
  margin: 0;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.1 !important;
}

.research-card h3 a:hover {
  color: var(--color-accent);
}

.research-card__link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  transition: color 0.18s, transform 0.18s;
}

.research-cover {
  padding: 0 0 clamp(42px, 5vw, 72px);
}

.research-cover__image {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  aspect-ratio: 2.45;
  background: var(--surface-soft);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.research-content__inner {
  display: grid;
  max-width: 880px;
  gap: 42px;
}

.research-content__inner section {
  display: grid;
  gap: 16px;
}

.research-content__inner h2 {
  margin: 0;
  font-size: clamp(30px, 3vw, 44px) !important;
}

.research-content__inner p {
  font-size: 18px;
  line-height: 1.78;
}

@media (max-width: 1023px) {
  .research-highlights__grid,
  .research-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .research-hub-hero,
  .research-article-hero {
    padding-top: 36px;
  }

  .research-hub-hero h1,
  .research-article-hero h1 {
    font-size: clamp(42px, 14vw, 58px);
  }

  .research-article-hero h1 {
    font-size: clamp(38px, 11vw, 46px);
    line-height: 1.05;
    overflow-wrap: break-word;
  }

  .research-content__inner p {
    font-size: 16px;
    line-height: 1.65;
  }

  .research-highlights__grid,
  .research-grid {
    grid-template-columns: 1fr;
  }

  .research-section-heading {
    display: grid;
    align-items: start;
  }

  .research-highlight-card,
  .research-card__body {
    min-height: 0;
    padding: 18px;
  }

  .research-cover__image {
    min-height: 260px;
    aspect-ratio: 1.2;
  }

  .research-content__inner {
    gap: 34px;
  }

  .research-content__inner h2 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }
}

.research-detail {
  display: grid;
  gap: 32px;
  padding-block: clamp(42px, 6vw, 84px) clamp(68px, 8vw, 108px);
}

.research-detail__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-size: 14px;
}

.research-detail__breadcrumbs a {
  color: var(--color-accent);
}

.research-detail__hero {
  display: grid;
  max-width: 860px;
  gap: 16px;
}

.research-detail__eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.research-detail__hero h1 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(44px, 6vw, 76px);
  font-weight: 600;
  line-height: 1.02;
}

.research-detail__hero p:not(.research-detail__eyebrow) {
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.66;
}

.research-detail__content {
  display: grid;
  grid-template-columns: minmax(220px, 0.34fr) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: start;
}

.research-detail__status,
.research-detail__points {
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.research-detail__status {
  display: grid;
  gap: 8px;
  padding: 22px;
}

.research-detail__status span {
  color: var(--color-muted);
  font-size: 13px;
}

.research-detail__status strong {
  color: var(--color-text);
  font-size: 18px;
}

.research-detail__points {
  padding: clamp(22px, 3vw, 34px);
}

.research-detail__points h2 {
  margin: 0 0 18px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 600;
  line-height: 1.12;
}

.research-detail__points ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.research-detail__points li {
  position: relative;
  padding-left: 22px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.58;
}

.research-detail__points li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
}

.home-certificates {
  padding: var(--section-y) 0;
  background: var(--color-base);
}

.home-certificates__inner {
  display: grid;
  gap: 34px;
}

.home-certificates__heading {
  display: grid;
  max-width: 760px;
  gap: 12px;
}

.home-certificates__eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.home-certificates__heading h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(42px, 4.5vw, 58px);
  font-weight: 800;
  line-height: 1.06;
}

.home-certificates__heading p:not(.home-certificates__eyebrow) {
  max-width: 620px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.68;
}

.home-certificates__docs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 30px);
}

.home-certificates__card {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.home-certificates__card:hover,
.home-certificates__card:focus-visible {
  border-color: rgb(155 123 208 / 56%);
  box-shadow: 0 24px 52px rgb(23 19 29 / 8%);
  outline: 0;
  transform: translateY(-2px);
}

.home-certificates__paper {
  position: relative;
  display: grid;
  min-height: 300px;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at 50% 54%, rgb(155 123 208 / 8%), transparent 34%),
    linear-gradient(180deg, #fbf8fd, #f7f3f4);
}

.home-certificates__paper::before {
  position: absolute;
  inset: 28px 58px;
  background: #fffdf8;
  border: 1px solid rgb(155 123 208 / 22%);
  border-radius: 6px;
  box-shadow: 0 18px 34px rgb(23 19 29 / 8%);
  content: "";
}

.home-certificates__paper-badge {
  position: relative;
  z-index: 1;
  display: inline-grid;
  width: 62px;
  height: 62px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid rgb(155 123 208 / 24%);
  border-radius: 999px;
}

.home-certificates__paper-title,
.home-certificates__paper-line,
.home-certificates__paper-seal {
  position: absolute;
  z-index: 1;
  display: block;
  background: rgb(155 123 208 / 22%);
  border-radius: 999px;
}

.home-certificates__paper-title {
  top: 82px;
  left: 35%;
  width: 30%;
  height: 10px;
}

.home-certificates__paper-line {
  left: 26%;
  width: 48%;
  height: 6px;
}

.home-certificates__paper-line:nth-child(3) {
  top: 176px;
}

.home-certificates__paper-line:nth-child(4) {
  top: 196px;
  width: 42%;
}

.home-certificates__paper-line:nth-child(5) {
  top: 216px;
  width: 36%;
}

.home-certificates__paper-seal {
  right: 27%;
  bottom: 54px;
  width: 50px;
  height: 50px;
  background: transparent;
  border: 2px solid rgb(155 123 208 / 32%);
}

.home-certificates__content {
  display: grid;
  align-content: start;
  gap: 11px;
  padding: 22px;
}

.home-certificates__meta {
  display: inline-flex;
  width: fit-content;
  min-height: 30px;
  align-items: center;
  gap: 7px;
  padding: 0 11px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.home-certificates__content strong {
  color: var(--color-text);
  font-size: 19px;
  font-weight: 800;
  line-height: 1.28;
}

.home-certificates__content > span:not(.home-certificates__meta, .home-certificates__action) {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.55;
}

.home-certificates__action {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  margin-top: 2px;
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 800;
}

.home-certificates__card:hover .home-certificates__action,
.home-certificates__card:focus-visible .home-certificates__action {
  color: #6d55a2;
}

.home-certificates__inner > h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: var(--heading-section);
  font-weight: 600;
  line-height: 1.08;
}

.home-certificates__slider {
  position: relative;
  display: grid;
  align-items: center;
  min-height: 640px;
}

.home-certificates__slider.home-certificates__slider--static {
  min-height: 0;
  padding-bottom: 0;
}

.home-certificates__viewport {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 320px));
  justify-content: center;
  gap: clamp(18px, 2.4vw, 32px);
  padding-inline: clamp(54px, 6vw, 88px);
}

.home-certificates__slider--static .home-certificates__viewport {
  padding-inline: 0;
}

.home-certificates__slide {
  display: grid;
  gap: 14px;
  margin: 0;
}

.home-certificates__image-link {
  display: block;
  color: inherit;
  cursor: pointer;
  border-radius: 6px;
  transition: box-shadow 0.18s, transform 0.18s;
}

.home-certificates__image-link:hover,
.home-certificates__image-link:focus-visible {
  box-shadow: 0 20px 48px rgb(155 123 208 / 16%);
  outline: 0;
  transform: translateY(-2px);
}

.home-certificates__slide img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
  box-shadow: 0 18px 42px rgb(23 19 29 / 8%);
}

.home-certificates__caption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 34px;
}

.home-certificates__caption strong {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
}

.home-certificates__caption span {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.home-certificates__arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--color-accent);
  background: transparent;
  border: 0;
  border-radius: 999px;
  transform: translateY(-50%);
  transition: color 0.18s, transform 0.18s;
}

.home-certificates__arrow:hover,
.home-certificates__arrow:focus-visible {
  color: #785ab3;
  outline: 0;
  transform: translateY(-50%) scale(1.04);
}

.home-certificates__arrow--prev {
  left: 0;
}

.home-certificates__arrow--next {
  right: 0;
}

.about-quality {
  padding: 0;
  margin-bottom: 0;
  background: #f7f3f4;
}

.about-quality__band {
  overflow: hidden;
  background: #f7f3f4;
}

.about-quality__inner {
  display: grid;
  grid-template-columns: minmax(310px, 0.78fr) minmax(0, 1.42fr);
  align-items: stretch;
  min-height: 420px;
}

.about-quality__copy {
  display: flex;
  max-width: 460px;
  flex-direction: column;
  justify-content: center;
  padding: 76px 52px 76px 0;
}

.about-quality__copy h2 {
  line-height: 1.08;
}

.about-quality__copy p {
  margin: 24px 0 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.72;
}

.about-quality__copy a {
  display: inline-flex;
  width: fit-content;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  margin-top: 30px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: transform 0.18s, background-color 0.18s, border-color 0.18s;
}

.about-quality__copy a:hover {
  background: #8768bd;
  border-color: #8768bd;
  transform: translateY(-1px);
}

.about-quality__visual {
  position: relative;
  min-height: 420px;
  margin-right: calc(var(--side-desktop) * -1);
}

.about-quality__image {
  object-fit: cover;
  object-position: center right;
}

.subscribe {
  padding: 48px 0 64px;
  background: #f7f3f4;
}

.subscribe__inner {
  display: grid;
  grid-template-columns: minmax(330px, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(44px, 5vw, 74px);
  align-items: center;
}

.subscribe__form-block {
  padding-right: clamp(28px, 4vw, 70px);
  border-right: 1px solid var(--color-border);
}

.subscribe__form-block h2 {
  line-height: 1.08;
}

.subscribe__form-block > p {
  margin: 14px 0 0;
  color: var(--color-muted);
  font-size: 14px;
}

.subscribe__form {
  margin-top: 24px;
}

.subscribe__form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
}

.subscribe__form-row input {
  min-width: 0;
  min-height: 48px;
  padding: 0 16px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-accent-light);
  border-right: 0;
  border-radius: 4px 0 0 4px;
}

.subscribe__form-row input::placeholder {
  color: #a29aaa;
}

.subscribe__form-row button {
  min-height: 48px;
  padding: 0 22px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 0 4px 4px 0;
  font-size: 14px;
  font-weight: 600;
  transition: background-color 0.18s, border-color 0.18s;
}

.subscribe__form-row button:hover {
  background: #8465bb;
  border-color: #8465bb;
}

.subscribe__consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin-top: 18px;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.5;
}

.subscribe__consent input {
  width: 17px;
  height: 17px;
  margin-top: 1px;
  accent-color: var(--color-accent);
}

.subscribe__consent a {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.subscribe__status {
  display: flex;
  min-height: 22px;
  align-items: center;
  gap: 6px;
  margin: 14px 0 0;
  font-size: 13px;
}

.subscribe__status--success {
  color: #4d7a50;
}

.subscribe__status--error {
  color: #a13d56;
}

.subscribe__services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.7vw, 24px);
}

.subscribe__service-tile {
  display: grid;
  min-height: 198px;
  align-content: start;
  justify-items: center;
  padding: 26px 18px 24px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.subscribe__service-tile svg {
  color: var(--color-accent);
}

.subscribe__service-tile h3 {
  margin: 14px 0 0;
  color: var(--color-text);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
}

.subscribe__service-tile p {
  margin: 10px 0 0;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.45;
}

.site-footer {
  color: var(--color-muted);
  background: var(--surface-soft);
  border-top: 1px solid var(--color-border);
  font-family: var(--font-body);
}

.site-footer__inner {
  display: grid;
  gap: clamp(28px, 3vw, 42px);
  align-items: start;
  padding-block: clamp(48px, 4.6vw, 68px) clamp(30px, 3.4vw, 46px);
  font-size: 14px;
  line-height: 1.55;
}

.site-footer__inner p,
.site-footer__inner h2 {
  margin: 0;
}

.site-footer__nav-grid {
  display: grid;
  grid-template-columns:
    minmax(150px, 0.85fr) minmax(170px, 0.95fr) minmax(180px, 0.95fr)
    minmax(270px, 1.25fr);
  gap: clamp(34px, 5vw, 86px);
  align-items: start;
}

.site-footer__column,
.site-footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer__column {
  gap: 15px;
}

.site-footer__column h2,
.site-footer__contacts h2 {
  margin-bottom: 14px;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 700;
  line-height: 1.25;
}

.site-footer__nav {
  display: contents;
}

.site-footer__links {
  gap: 16px;
}

.site-footer__links a,
.site-footer__contact-link,
.site-footer__contacts span {
  color: var(--color-muted);
  transition: color 0.18s, border-color 0.18s, background-color 0.18s;
}

.site-footer__links a:hover,
.site-footer__contact-link:hover {
  color: var(--color-accent);
}

.site-footer__contacts {
  gap: 18px;
  font-style: normal;
}

.site-footer__phone {
  width: fit-content;
  color: var(--color-accent);
  font-size: clamp(17px, 1.45vw, 20px);
  font-weight: 700;
  line-height: 1.12;
  transition: color 0.18s;
}

.site-footer__phone:hover,
.site-footer__phone:focus-visible {
  color: #8768bd;
  outline: 0;
}

.site-footer__contact-note {
  margin-top: -12px;
}

.site-footer__contact-group {
  display: grid;
  gap: 5px;
}

.site-footer__contact-group strong {
  color: var(--color-text);
  font-size: 14px;
  font-weight: 700;
}

.site-footer__contact-link {
  width: fit-content;
  font-size: 15px;
  font-weight: 500;
}

.site-footer__bottom {
  display: flex;
  min-height: 66px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 28px;
  border-top: 1px solid var(--color-border);
}

.site-footer__copyright {
  flex: 0 0 auto;
  color: rgb(113 104 123 / 72%);
  font-size: 13px;
  line-height: 1.4;
}

.site-footer__meta {
  min-width: 0;
}

.site-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px 24px;
}

.site-footer__legal a {
  color: rgb(113 104 123 / 72%);
  font-size: 13px;
  line-height: 1.4;
  transition: color 0.18s;
}

.site-footer__legal a:hover,
.site-footer__legal a:focus-visible {
  color: var(--color-accent);
  outline: 0;
}

.sale-page,
.delivery-page {
  color: var(--color-text);
  background: var(--color-base);
}

.sale-hero,
.delivery-hero {
  padding: clamp(42px, 5vw, 68px) 0 var(--section-y-compact);
}

.sale-breadcrumbs,
.delivery-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 22px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.sale-breadcrumbs a,
.delivery-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.sale-hero__banner {
  position: relative;
  min-height: clamp(420px, 43vw, 600px);
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.sale-hero__banner::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, #fff 0%, rgb(255 255 255 / 94%) 34%, rgb(255 255 255 / 58%) 58%, rgb(255 255 255 / 8%) 100%);
  content: "";
}

.sale-hero__image {
  object-fit: cover;
  object-position: center bottom;
}

.sale-hero__content {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: 640px;
  gap: 22px;
  padding: clamp(34px, 5vw, 72px);
}

.sale-hero h1,
.delivery-hero h1 {
  margin: 0;
  font-size: clamp(50px, 6.4vw, 92px);
  line-height: 0.98;
}

.sale-hero p,
.delivery-hero p,
.sale-offer__headline p,
.sale-offer-card p,
.sale-rules__content li,
.delivery-payment-card p,
.delivery-support__content p,
.delivery-support__checks li,
.delivery-faq__item p {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.65;
}

.sale-hero p,
.delivery-hero p {
  max-width: 650px;
  font-size: clamp(17px, 1.5vw, 20px);
}

.sale-hero__actions,
.delivery-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.sale-button,
.delivery-button,
.sale-rules__button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border-radius: 999px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.sale-button--primary,
.delivery-button--primary,
.sale-rules__button {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
}

.sale-button--secondary,
.delivery-button--secondary {
  color: var(--color-text);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 34%);
}

.sale-button:hover,
.sale-button:focus-visible,
.delivery-button:hover,
.delivery-button:focus-visible,
.sale-rules__button:hover,
.sale-rules__button:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.sale-button--primary:hover,
.sale-button--primary:focus-visible,
.delivery-button--primary:hover,
.delivery-button--primary:focus-visible,
.sale-rules__button:hover,
.sale-rules__button:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 16px 30px rgb(155 123 208 / 20%);
}

.sale-button--secondary:hover,
.sale-button--secondary:focus-visible,
.delivery-button--secondary:hover,
.delivery-button--secondary:focus-visible {
  color: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 16px 30px rgb(23 19 29 / 5%);
}

.sale-offer,
.sale-products,
.sale-rules,
.delivery-methods,
.delivery-payment,
.delivery-process,
.delivery-faq,
.delivery-support {
  padding: 0 0 var(--section-y);
}

.sale-offer__inner,
.sale-products__inner,
.delivery-methods__inner,
.delivery-faq__inner {
  display: grid;
  gap: 26px;
}

.sale-offer__headline {
  display: grid;
  max-width: 760px;
  gap: 12px;
}

.sale-offer__headline h2,
.sale-section-heading h2,
.delivery-section-heading h2,
.delivery-process h2,
.delivery-support__content h2,
.delivery-faq__inner > h2 {
  margin: 0;
}

.sale-offer__grid,
.sale-products__grid,
.delivery-hero__summary,
.delivery-payment__cards,
.delivery-process__list {
  display: grid;
  gap: 14px;
}

.sale-offer__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sale-offer-card,
.delivery-hero__summary article,
.delivery-payment-card,
.delivery-process__inner,
.delivery-process__item,
.delivery-support__panel,
.delivery-faq__item {
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.sale-offer-card {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 190px;
  padding: 24px;
}

.sale-icon,
.delivery-icon {
  display: inline-grid;
  width: 46px;
  height: 46px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--color-accent);
  background: var(--icon-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.sale-offer-card h3,
.delivery-payment-card h3 {
  margin: 0;
  font-family: var(--font-body) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.sale-section-heading {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
}

.sale-section-heading a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  transition: color 0.18s, transform 0.18s;
}

.sale-section-heading a:hover,
.sale-section-heading a:focus-visible {
  color: #6d55a2;
  outline: 0;
  transform: translateX(2px);
}

.sale-products__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.sale-products__grid .catalog-product-card__media {
  aspect-ratio: 1 / 0.98;
}

.sale-products__grid .catalog-product-card__body {
  padding: 22px;
}

.sale-products__grid .catalog-product-card__title {
  font-size: 19px;
}

.sale-products__grid .catalog-product-card__price {
  font-size: 28px;
}

.sale-products__grid .catalog-product-card__actions {
  grid-template-columns: 1fr;
}

.sale-rules__inner {
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: space-between;
  padding: clamp(26px, 4vw, 44px);
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.sale-rules__content {
  display: grid;
  max-width: 760px;
  gap: 18px;
}

.sale-rules__content ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sale-rules__content li {
  position: relative;
  padding-left: 20px;
}

.sale-rules__content li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
}

.delivery-hero__inner {
  display: grid;
}

.delivery-hero__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(26px, 3.4vw, 42px);
}

.delivery-hero__content {
  display: grid;
  max-width: 980px;
  gap: 22px;
}

.delivery-hero__summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.delivery-hero__summary article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 14px;
  align-items: center;
  padding: 18px 20px;
}

.delivery-hero__summary svg {
  grid-row: 1 / 3;
  color: var(--color-accent);
}

.delivery-hero__summary strong {
  color: var(--color-text);
  font-size: 24px;
  line-height: 1;
}

.delivery-hero__summary span {
  grid-column: 2;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.delivery-table-wrap {
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.delivery-table {
  width: 100%;
  border-collapse: collapse;
}

.delivery-table th,
.delivery-table td {
  padding: 18px 20px;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.delivery-table tr:last-child th,
.delivery-table tr:last-child td {
  border-bottom: 0;
}

.delivery-table thead th {
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.delivery-table tbody th {
  color: var(--color-text);
  font-weight: 800;
}

.delivery-table td {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.5;
}

.delivery-payment__inner {
  display: grid;
  gap: 24px;
}

.delivery-payment__cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.delivery-process__inner {
  display: grid;
  gap: 28px;
  padding: clamp(28px, 4.6vw, 52px);
  background:
    linear-gradient(135deg, #fff 0%, #fbf8ff 100%);
}

.delivery-payment-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  padding: 22px;
}

.delivery-process__list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.delivery-process__heading {
  display: grid;
  max-width: 820px;
  gap: 12px;
}

.delivery-process__heading p {
  max-width: 760px;
  margin: 0;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.62;
}

.delivery-process__item {
  position: relative;
  display: grid;
  min-height: 180px;
  align-content: start;
  gap: 18px;
  padding: 22px;
}

.delivery-process__item span {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  color: var(--color-accent);
  font-family: var(--font-body);
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
  background: var(--icon-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.delivery-process__item p {
  margin: 0;
  color: var(--color-text);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
}

.delivery-support__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 0.32fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
  padding: clamp(30px, 5vw, 58px);
  background:
    linear-gradient(135deg, #fff 0%, #fbf8ff 100%);
}

.delivery-support__content {
  display: grid;
  max-width: 800px;
  gap: 14px;
}

.delivery-support__eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.delivery-support__content h2 {
  max-width: 680px;
  font-size: clamp(36px, 4.2vw, 58px);
  line-height: 1.05;
}

.delivery-support__checks {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  padding: 4px 0 0;
  margin: 0;
  list-style: none;
}

.delivery-support__checks li {
  position: relative;
  padding-left: 18px;
  color: var(--color-text);
  font-weight: 700;
}

.delivery-support__checks li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  height: 7px;
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
}

.delivery-support__actions {
  display: grid;
  gap: 12px;
}

.delivery-faq__list {
  display: grid;
  gap: 10px;
}

.delivery-faq__item {
  overflow: hidden;
  box-shadow: 0 14px 34px rgb(23 19 29 / 3%);
}

.delivery-faq__item summary {
  display: flex;
  min-height: 70px;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  list-style: none;
}

.delivery-faq__item summary::-webkit-details-marker {
  display: none;
}

.delivery-faq__item summary svg {
  flex: 0 0 auto;
  color: var(--color-accent);
  transition: transform 0.18s;
}

.delivery-faq__item[open] summary svg {
  transform: rotate(180deg);
}

.delivery-faq__item p {
  max-width: 840px;
  padding: 0 24px 24px;
}

@media (max-width: 1023px) {
  .sale-offer__grid,
  .sale-products__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .delivery-hero__layout,
  .delivery-payment__inner {
    grid-template-columns: 1fr;
  }

  .delivery-support__panel {
    grid-template-columns: 1fr;
  }

  .delivery-hero__summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .delivery-process__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .sale-hero,
  .delivery-hero {
    padding-top: 34px;
  }

  .sale-hero__banner {
    min-height: 520px;
  }

  .sale-hero__banner::after {
    background:
      linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 95%) 46%, rgb(255 255 255 / 50%) 74%, rgb(255 255 255 / 2%) 100%);
  }

  .sale-hero__image {
    object-position: 58% bottom;
  }

  .sale-hero__content {
    max-width: none;
    padding: 26px 20px;
  }

  .sale-hero h1,
  .delivery-hero h1 {
    font-size: clamp(42px, 13vw, 58px);
  }

  .sale-hero p,
  .delivery-hero p {
    font-size: 16px;
  }

  .sale-hero__actions,
  .delivery-hero__actions,
  .sale-section-heading,
  .sale-rules__inner {
    align-items: stretch;
    flex-direction: column;
  }

  .sale-button,
  .delivery-button,
  .sale-rules__button,
  .sale-section-heading a {
    width: 100%;
  }

  .sale-offer__grid,
  .sale-products__grid,
  .delivery-hero__summary,
  .delivery-payment__cards,
  .delivery-process__list {
    grid-template-columns: 1fr;
  }

  .sale-offer-card,
  .sale-rules__inner,
  .delivery-payment-card,
  .delivery-process__inner,
  .delivery-support__panel {
    padding: 18px;
  }

  .delivery-support__checks {
    grid-template-columns: 1fr;
  }

  .sale-offer-card {
    min-height: 0;
  }

  .delivery-table,
  .delivery-table tbody,
  .delivery-table tr,
  .delivery-table th,
  .delivery-table td {
    display: block;
    width: 100%;
  }

  .delivery-table thead {
    display: none;
  }

  .delivery-table tr {
    padding: 16px 0;
    border-bottom: 1px solid var(--color-border);
  }

  .delivery-table tr:last-child {
    border-bottom: 0;
  }

  .delivery-table th,
  .delivery-table td {
    padding: 0 18px;
    border-bottom: 0;
  }

  .delivery-table tbody th {
    margin-bottom: 12px;
  }

  .delivery-table td {
    display: grid;
    grid-template-columns: minmax(96px, 0.42fr) minmax(0, 1fr);
    gap: 12px;
    padding-block: 4px;
  }

  .delivery-table td::before {
    content: attr(data-label);
    color: var(--color-muted);
    font-family: var(--font-small);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.02em;
    text-transform: uppercase;
  }

  .delivery-process__item {
    min-height: 0;
    padding: 16px;
  }

  .delivery-faq__item summary {
    min-height: 64px;
    padding: 18px;
    font-size: 16px;
  }

  .delivery-faq__item p {
    padding: 0 18px 20px;
    font-size: 15px;
  }
}

.contacts-page {
  color: var(--color-text);
  background: var(--color-base);
}

.contacts-hero {
  padding: clamp(52px, 6vw, 82px) 0 clamp(34px, 4vw, 56px);
}

.contacts-hero__inner,
.contacts-hero__content {
  display: grid;
  gap: 22px;
}

.contacts-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.contacts-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.contacts-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(54px, 7vw, 94px);
  line-height: 0.98;
}

.contacts-hero p {
  max-width: 640px;
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

.contacts-info {
  padding: 0 0 var(--section-y-compact);
}

.contacts-info__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 1.05fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: stretch;
}

.contacts-info__main {
  display: grid;
  gap: 18px;
  align-content: start;
}

.contacts-info__list {
  display: grid;
  gap: 12px;
}

.contacts-info__card {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 22px;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

a.contacts-info__card {
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

a.contacts-info__card:hover,
a.contacts-info__card:focus-visible {
  border-color: rgb(155 123 208 / 44%);
  box-shadow: var(--card-shadow-hover);
  outline: 0;
  transform: translateY(-1px);
}

.contacts-info__icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--color-accent);
  background: var(--icon-surface);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.contacts-info__card span span {
  display: block;
  margin: 0 0 6px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.contacts-info__card strong {
  display: block;
  color: var(--color-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
}

.contacts-map {
  min-height: 420px;
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.contacts-map__slot {
  display: grid;
  min-height: 100%;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 36px;
  color: var(--color-muted);
  text-align: center;
  background:
    linear-gradient(90deg, rgb(155 123 208 / 10%) 1px, transparent 1px),
    linear-gradient(rgb(155 123 208 / 10%) 1px, transparent 1px),
    #fbf9fd;
  background-size: 36px 36px;
}

.contacts-map__slot span {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contacts-map__slot strong {
  color: var(--color-text);
  font-size: clamp(22px, 2.3vw, 32px);
  line-height: 1.15;
}

.contacts-map__slot p {
  margin: 0;
  font-size: 16px;
}

.contacts-map__slot iframe,
.contacts-map__slot ymaps {
  width: 100%;
  height: 100%;
  border: 0;
}

.contacts-socials {
  padding: clamp(52px, 6vw, 76px) 0;
  background: #f6f5f8;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

.contacts-socials__inner {
  display: grid;
  justify-items: center;
  gap: 24px;
}

.contacts-socials h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(32px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.08;
  text-align: center;
}

.contacts-socials__buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.contacts-socials__button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 22px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 12px 26px rgb(23 19 29 / 8%);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.contacts-socials__button svg {
  flex: 0 0 auto;
  font-size: 20px;
}

.contacts-socials__button--telegram svg {
  color: #2ca5e0;
}

.contacts-socials__button--vk svg {
  color: #4c75a3;
}

.contacts-socials__button--instagram svg {
  color: #c13584;
}

.contacts-socials__button:hover,
.contacts-socials__button:focus-visible {
  border-color: rgb(155 123 208 / 44%);
  box-shadow: 0 16px 32px rgb(23 19 29 / 11%);
  outline: 0;
  transform: translateY(-1px);
}

.contacts-socials__quick {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  width: min(100%, 520px);
  margin-top: 10px;
  padding: 18px 22px;
  color: var(--color-muted);
  background: rgb(155 123 208 / 11%);
  border: 1px solid rgb(155 123 208 / 18%);
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.5;
  transition: border-color 0.18s, background-color 0.18s, transform 0.18s;
}

.contacts-socials__quick-icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border-radius: 999px;
}

.contacts-socials__quick strong {
  color: var(--color-accent);
  font-weight: 800;
}

.contacts-socials__quick:hover,
.contacts-socials__quick:focus-visible {
  background: rgb(155 123 208 / 15%);
  border-color: rgb(155 123 208 / 34%);
  outline: 0;
  transform: translateY(-1px);
}

.contacts-requisites {
  padding: var(--section-y-compact) 0 var(--section-y);
}

.contacts-requisites__inner {
  display: grid;
  gap: 22px;
}

.contacts-requisites__inner h2 {
  margin: 0;
}

.contacts-requisites__table-wrap {
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.contacts-requisites__table {
  width: 100%;
  border-collapse: collapse;
}

.contacts-requisites__table th,
.contacts-requisites__table td {
  padding: 22px 26px;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.contacts-requisites__table tr:last-child th,
.contacts-requisites__table tr:last-child td {
  border-bottom: 0;
}

.contacts-requisites__table th {
  width: 32%;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.contacts-requisites__table td {
  color: var(--color-text);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}

.faq-page {
  color: var(--color-text);
  background: var(--color-base);
}

.faq-hero {
  padding: clamp(52px, 6vw, 82px) 0 clamp(34px, 4vw, 56px);
}

.faq-hero__inner,
.faq-hero__content {
  display: grid;
  gap: 22px;
}

.faq-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.faq-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.faq-hero h1 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(54px, 7vw, 94px);
  line-height: 0.98;
}

.faq-hero p {
  max-width: 620px;
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

.faq-content {
  padding: 0 0 var(--section-y);
}

.faq-content__inner {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 76px);
  align-items: start;
}

.faq-nav {
  position: sticky;
  top: 152px;
  display: grid;
  gap: 10px;
}

.faq-nav a {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 12px 16px;
  color: var(--color-text);
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: 999px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 700;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    transform 0.18s;
}

.faq-nav a:hover,
.faq-nav a:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

.faq-sections {
  display: grid;
  gap: clamp(32px, 4vw, 54px);
}

.faq-section {
  scroll-margin-top: 170px;
}

.faq-section h2 {
  margin: 0 0 18px;
  font-size: clamp(30px, 3vw, 44px) !important;
}

.faq-section__list {
  display: grid;
  gap: 10px;
}

.faq-item {
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: 0 14px 34px rgb(23 19 29 / 3%);
}

.faq-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 72px;
  padding: 22px 24px;
  color: var(--color-text);
  cursor: pointer;
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.35;
  list-style: none;
}

.faq-item summary::-webkit-details-marker {
  display: none;
}

.faq-item summary svg {
  flex: 0 0 auto;
  color: var(--color-accent);
  transition: transform 0.18s;
}

.faq-item[open] summary svg {
  transform: rotate(180deg);
}

.faq-item p {
  max-width: 840px;
  margin: 0;
  padding: 0 24px 24px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.blog-page,
.article-page {
  color: var(--color-text);
  background: var(--color-base);
}

.blog-hero,
.article-hero {
  padding: clamp(52px, 6vw, 82px) 0 clamp(34px, 4vw, 56px);
}

.blog-hero__inner,
.blog-hero__content,
.article-hero__inner,
.article-hero__content {
  display: grid;
  gap: 22px;
}

.blog-breadcrumbs,
.article-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.blog-breadcrumbs a,
.article-breadcrumbs a {
  color: var(--color-accent);
  font-weight: 700;
}

.blog-hero h1,
.article-hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: clamp(54px, 7vw, 94px);
  line-height: 0.98;
}

.blog-hero p,
.article-hero__content > p {
  max-width: 760px;
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.7;
}

.blog-catalog {
  padding: 0 0 var(--section-y);
}

.blog-catalog__inner {
  display: grid;
  gap: 28px;
}

.blog-toolbar {
  display: grid;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.blog-search {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  color: var(--color-muted);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  transition: border-color 0.18s, box-shadow 0.18s;
}

.blog-search:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 13%);
}

.blog-search svg {
  flex: 0 0 auto;
}

.blog-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  font: inherit;
  outline: 0;
}

.blog-search input::placeholder {
  color: #a9a1b4;
}

.blog-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.blog-category,
.blog-pagination button {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.blog-category:hover,
.blog-category:focus-visible,
.blog-category--active,
.blog-pagination button:hover:not(:disabled),
.blog-pagination button:focus-visible:not(:disabled),
.blog-pagination__item--active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
}

.blog-category:hover,
.blog-category:focus-visible,
.blog-pagination button:hover:not(:disabled),
.blog-pagination button:focus-visible:not(:disabled) {
  box-shadow: 0 14px 28px rgb(155 123 208 / 16%);
  transform: translateY(-1px);
}

.blog-catalog__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.blog-catalog__heading h2,
.article-related__heading h2 {
  margin: 0;
}

.blog-catalog__heading p {
  margin: 0 0 8px;
  color: var(--color-muted);
  font-size: 15px;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.blog-card,
.blog-empty,
.article-related-card {
  overflow: hidden;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.blog-card {
  display: flex;
  flex-direction: column;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.blog-card:hover {
  border-color: rgb(155 123 208 / 38%);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-2px);
}

.blog-card__image-link,
.article-related-card__image {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--surface-soft);
}

.blog-card__image-link {
  aspect-ratio: 1.52;
}

.blog-card__image,
.article-related-card__image img,
.article-cover__image img {
  object-fit: cover;
}

.blog-card__image {
  transition: transform 0.22s;
}

.blog-card:hover .blog-card__image {
  transform: scale(1.018);
}

.blog-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
}

.blog-card__meta,
.article-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 700;
}

.blog-card__meta span,
.article-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.blog-card__meta span:first-child,
.article-hero__meta span:first-child {
  color: var(--color-accent);
}

.blog-card h3 {
  margin: 0;
  font-size: clamp(22px, 2vw, 28px) !important;
  line-height: 1.1 !important;
}

.blog-card h3 a:hover,
.article-related-card h3 a:hover {
  color: var(--color-accent);
}

.blog-card__body > p,
.article-related-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.6;
}

.blog-card__link {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  transition: color 0.18s, transform 0.18s;
}

.blog-card__link:hover,
.blog-card__link:focus-visible {
  color: #6d55a2;
  outline: 0;
  transform: translateX(2px);
}

.blog-empty {
  padding: 42px;
  text-align: center;
}

.blog-empty h2 {
  margin: 0 0 10px;
}

.blog-empty p {
  margin: 0;
  color: var(--color-muted);
}

.blog-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding-top: 10px;
}

.blog-pagination button:disabled {
  color: #bbb4c4;
  cursor: not-allowed;
  opacity: 0.7;
}

.blog-pagination__item {
  width: 42px;
  padding: 0;
}

.article-cover {
  padding: 0 0 clamp(42px, 5vw, 72px);
}

.article-cover__image {
  position: relative;
  min-height: 360px;
  overflow: hidden;
  aspect-ratio: 2.45;
  background: var(--surface-soft);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.article-content {
  padding: 0 0 var(--section-y);
}

.article-content__inner {
  display: grid;
  max-width: 880px;
  gap: 42px;
}

.article-content__inner section {
  display: grid;
  gap: 16px;
}

.article-content__inner h2 {
  margin: 0;
  font-size: clamp(30px, 3vw, 44px) !important;
}

.article-content__inner p {
  margin: 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.78;
}

.article-engagement,
.article-author {
  padding: 0 0 var(--section-y-compact);
}

.article-engagement__inner {
  display: grid;
  gap: clamp(28px, 4vw, 40px);
}

.article-engagement__panel {
  display: flex;
  min-height: 104px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px clamp(24px, 4vw, 48px);
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.article-comments h2,
.article-author h2 {
  margin: 0;
  font-family: var(--font-heading) !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  font-weight: var(--heading-weight) !important;
  line-height: 1.15 !important;
}

.article-vote {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: 16px;
}

.article-vote > span {
  margin-right: 4px;
}

.article-vote__button,
.article-share__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-small);
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.article-vote__button {
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--color-accent);
  background: var(--icon-surface);
  border: 1px solid var(--color-border);
  border-radius: 999px;
}

.article-share__button {
  min-height: 48px;
  gap: 12px;
  padding: 0 24px;
  color: var(--color-text);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
}

.article-vote__button--active,
.article-vote__button:hover,
.article-vote__button:focus-visible,
.article-share__button:hover,
.article-share__button:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 12px 24px rgb(155 123 208 / 16%);
  outline: 0;
  transform: translateY(-1px);
}

.article-comments {
  display: grid;
  gap: 20px;
}

.article-comments__form {
  display: grid;
  gap: 20px;
}

.article-comments__form textarea {
  width: 100%;
  min-height: 150px;
  padding: 22px 20px;
  color: var(--color-text);
  background: #fff;
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: none;
  font: inherit;
  outline: 0;
  resize: vertical;
  transition: border-color 0.18s, box-shadow 0.18s;
}

.article-comments__form textarea:focus {
  border-color: var(--color-accent-light);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 13%);
}

.article-comments__form button {
  display: inline-flex;
  width: fit-content;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #fff;
  background: var(--color-accent);
  border: 0;
  border-radius: 999px;
  font-family: var(--font-small);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.article-comments__form button:hover,
.article-comments__form button:focus-visible {
  background: var(--color-focus);
  box-shadow: 0 14px 28px rgb(111 78 179 / 16%);
  outline: 0;
  transform: translateY(-1px);
}

.article-comments__success {
  margin: 0;
  color: #4f7b46;
  font-size: 13px;
  font-weight: 700;
}

.article-author__inner {
  display: grid;
  max-width: 980px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  padding: 26px;
  background: var(--surface-card);
  border: var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

.article-author__avatar {
  display: grid;
  width: 62px;
  height: 62px;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border-radius: 999px;
  font-family: var(--font-logo);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.article-author h3 {
  margin: 8px 0 8px;
  font-family: var(--font-body) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.article-author p {
  max-width: 720px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.65;
}

.article-related {
  padding: 0 0 var(--section-y);
}

.article-related__inner {
  display: grid;
  gap: 24px;
}

.article-related__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.article-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.article-related-card__image {
  aspect-ratio: 1.52;
}

.article-related-card > div {
  display: grid;
  gap: 12px;
  padding: 20px;
}

.article-related-card span {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
}

.article-related-card h3 {
  margin: 0;
  font-size: clamp(20px, 1.7vw, 25px) !important;
  line-height: 1.15 !important;
}

.catalog-page,
.product-page {
  background: var(--color-base);
}

.catalog-hero {
  position: relative;
  min-height: unset;
  aspect-ratio: 4800 / 2314;
  overflow: hidden;
  padding: clamp(64px, 6vw, 86px) 0 clamp(54px, 5vw, 72px);
  background: #fbf8fd;
  isolation: isolate;
}

.catalog-hero__image {
  z-index: -2;
  object-fit: contain;
  object-position: center center;
}

.catalog-hero__shade {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    90deg,
    rgb(255 255 255 / 86%) 0%,
    rgb(255 255 255 / 76%) 28%,
    rgb(255 255 255 / 36%) 52%,
    rgb(255 255 255 / 0%) 72%
  );
  pointer-events: none;
}

.catalog-hero__inner {
  position: relative;
  display: grid;
  max-width: 650px;
  gap: 18px;
  z-index: 1;
}

.catalog-breadcrumbs {
  display: flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 600;
}

.catalog-breadcrumbs a {
  color: var(--color-accent);
  transition: color 0.18s;
}

.catalog-breadcrumbs a:hover,
.catalog-breadcrumbs a:focus-visible {
  color: #7657ad;
}

.catalog-breadcrumbs span[aria-current="page"] {
  color: var(--color-text);
}

.product-detail__back,
.catalog-grid__details {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 600;
}

.catalog-hero h1 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(48px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.04;
}

.product-detail__content h1 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 44px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.06;
}

.catalog-hero p,
.product-detail__lead {
  max-width: 680px;
  margin: 0;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.72;
}

.catalog-tags {
  padding: 56px 0 38px;
  background: #fff;
}

.catalog-tags__inner {
  display: grid;
  gap: 24px;
}

.catalog-tags__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.catalog-tags__heading h2 {
  margin: 0;
}

.catalog-tags__heading p {
  max-width: 420px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
  text-align: right;
}

.catalog-tags__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 1.6vw, 24px);
}

.catalog-tag-card {
  display: grid;
  min-height: 252px;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 16px 36px rgb(23 19 29 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.catalog-tag-card:hover,
.catalog-tag-card:focus-visible {
  border-color: rgb(155 123 208 / 48%);
  box-shadow: 0 20px 44px rgb(23 19 29 / 8%);
  outline: 0;
  transform: translateY(-2px);
}

.catalog-tag-card--coming-soon {
  cursor: default;
}

.catalog-tag-card--coming-soon:hover,
.catalog-tag-card--coming-soon:focus-visible {
  border-color: var(--color-border);
  box-shadow: 0 16px 36px rgb(23 19 29 / 4%);
  transform: none;
}

.catalog-tag-card__image {
  position: relative;
  display: block;
  min-height: clamp(170px, 12.2vw, 210px);
  aspect-ratio: 16 / 9;
  background: #fbf8fd;
}

.catalog-tag-card__image img {
  object-fit: cover;
  object-position: center;
}

.catalog-tag-card__body {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 18px 20px 22px;
}

.catalog-tag-card__body strong {
  color: var(--color-text);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.25;
}

.catalog-tag-card__body span {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.25;
}

.catalog-controls {
  padding: 30px 0 34px;
  background: #fff;
}

.catalog-controls__inner {
  display: grid;
  gap: 18px;
}

.catalog-controls__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
}

.catalog-controls__title {
  margin: 0;
  color: var(--color-text);
  font-size: 22px;
  font-weight: 750;
  line-height: 1.2;
}

.catalog-controls__heading p:not(.catalog-controls__title) {
  margin: 6px 0 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.45;
}

.catalog-controls__reset,
.catalog-empty button {
  display: flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 38%);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    transform 0.18s;
}

.catalog-controls__reset:hover,
.catalog-controls__reset:focus-visible,
.catalog-empty button:hover,
.catalog-empty button:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-filter {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: end;
}

.catalog-filter__field {
  position: relative;
  display: grid;
  flex: 0 1 210px;
  gap: 6px;
  min-width: 188px;
}

.catalog-filter__field span {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.catalog-filter__field select {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 40px 0 14px;
  color: var(--color-text);
  background:
    linear-gradient(45deg, transparent 50%, var(--color-muted) 50%) calc(100% - 18px)
      50% / 6px 6px no-repeat,
    linear-gradient(135deg, var(--color-muted) 50%, transparent 50%) calc(100% - 14px)
      50% / 6px 6px no-repeat,
    #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  font-weight: 650;
  appearance: none;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.catalog-filter__field select:hover {
  border-color: rgb(155 123 208 / 52%);
}

.catalog-filter__field select:focus-visible {
  background-color: #fff;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
  outline: 0;
}

.catalog-filter__reset {
  align-self: end;
}

.catalog-controls__type-trigger {
  position: relative;
  display: inline-flex;
  min-height: 42px;
  min-width: 270px;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 0 42px 0 14px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s;
}

.catalog-controls__type-trigger:hover {
  border-color: rgb(155 123 208 / 52%);
}

.catalog-controls__type-trigger:focus-visible,
.catalog-controls__type-trigger--open {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
}

.catalog-controls__type-trigger svg:first-child {
  flex-shrink: 0;
  color: var(--color-accent);
}

.catalog-controls__type-trigger svg:last-child {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--color-muted);
  pointer-events: none;
  transform: translateY(-50%);
  transition: transform 0.18s;
}

.catalog-controls__type-trigger--open svg:last-child {
  transform: translateY(-50%) rotate(180deg);
}

.catalog-controls__type-count {
  display: inline-grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  padding: 0 7px;
  margin-left: auto;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.catalog-controls__type-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 22;
  display: grid;
  width: 336px;
  padding: 6px;
  background: #fff;
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 12%);
}

.catalog-controls__type-option {
  display: grid;
  min-height: 58px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 9px 12px;
  color: var(--color-text);
  background: transparent;
  border: 0;
  border-radius: 6px;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.16s, color 0.16s;
}

.catalog-controls__type-option > span:first-child > span {
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.catalog-controls__type-option small {
  display: block;
  margin-top: 3px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

.catalog-controls__type-option-count {
  display: inline-grid;
  min-width: 28px;
  height: 28px;
  place-items: center;
  padding: 0 8px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.catalog-controls__type-option:hover,
.catalog-controls__type-option:focus-visible {
  color: var(--color-accent);
  background: var(--color-lavender);
  outline: 0;
}

.catalog-controls__type-option--active,
.catalog-controls__type-option--active:hover,
.catalog-controls__type-option--active:focus-visible {
  color: #fff;
  background: var(--color-accent);
}

.catalog-controls__type-option--active small {
  color: rgb(255 255 255 / 78%);
}

.catalog-controls__type-option--active .catalog-controls__type-option-count {
  color: var(--color-accent);
  background: #fff;
}

.catalog-controls__sort-trigger {
  position: relative;
  display: inline-flex;
  min-height: 42px;
  min-width: 220px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 42px 0 15px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s;
}

.catalog-controls__sort-trigger:hover {
  border-color: rgb(155 123 208 / 52%);
}

.catalog-controls__sort-trigger:focus-visible,
.catalog-controls__sort-trigger--open {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
}

.catalog-controls__sort-trigger svg {
  position: absolute;
  top: 50%;
  right: 14px;
  color: var(--color-muted);
  pointer-events: none;
  transform: translateY(-50%);
  transition: transform 0.18s;
}

.catalog-controls__sort-trigger--open svg {
  transform: translateY(-50%) rotate(180deg);
}

.catalog-controls__sort-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  display: grid;
  width: 244px;
  padding: 6px;
  background: #fff;
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 12%);
}

.catalog-controls__sort-option {
  display: flex;
  min-height: 34px;
  align-items: center;
  justify-content: flex-start;
  padding: 0 12px;
  color: var(--color-text);
  background: transparent;
  border: 0;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.16s, color 0.16s;
}

.catalog-controls__sort-option:hover,
.catalog-controls__sort-option:focus-visible {
  color: var(--color-accent);
  background: var(--color-lavender);
  outline: 0;
}

.catalog-controls__sort-option--active,
.catalog-controls__sort-option--active:hover,
.catalog-controls__sort-option--active:focus-visible {
  color: #fff;
  background: var(--color-accent);
}

.catalog-grid-section {
  padding: 28px 0 80px;
  scroll-margin-top: 104px;
}

.catalog-grid-section__inner {
  display: grid;
  gap: 22px;
}

.catalog-grid-section__summary {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px 24px;
  flex-wrap: wrap;
}

.catalog-grid-section__summary-left {
  display: flex;
  min-width: 0;
  align-items: end;
  gap: 12px 18px;
  flex-wrap: wrap;
}

.catalog-grid-section__sort {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 500;
  white-space: nowrap;
}

.catalog-grid-section__sort select {
  min-width: 190px;
  min-height: 42px;
  padding: 0 40px 0 14px;
  color: var(--color-text);
  background:
    linear-gradient(45deg, transparent 50%, var(--color-muted) 50%) calc(100% - 18px)
      50% / 6px 6px no-repeat,
    linear-gradient(135deg, var(--color-muted) 50%, transparent 50%) calc(100% - 14px)
      50% / 6px 6px no-repeat,
    #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-weight: 650;
  appearance: none;
  cursor: pointer;
  transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s;
}

.catalog-grid-section__sort select:hover {
  border-color: rgb(155 123 208 / 52%);
}

.catalog-grid-section__sort select:focus-visible {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
  outline: 0;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(22px, 2vw, 34px);
}

.catalog-empty {
  display: grid;
  min-height: 260px;
  place-items: center;
  justify-items: center;
  gap: 14px;
  padding: 40px 24px;
  background: linear-gradient(180deg, #fff, #fbf8fd);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  text-align: center;
}

.catalog-empty h2 {
  max-width: 620px;
  margin: 0;
}

.catalog-empty p {
  max-width: 520px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
}

.catalog-grid__card {
  flex-basis: auto;
}

.catalog-pagination {
  display: grid;
  justify-items: center;
  gap: 22px;
  padding-top: 18px;
}

.catalog-pagination__load-more {
  display: inline-flex;
  min-width: 190px;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, box-shadow 0.18s,
    transform 0.18s;
}

.catalog-pagination__load-more:hover,
.catalog-pagination__load-more:focus-visible {
  color: #fff;
  background: var(--color-accent);
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-pagination__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-pagination__item {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s, opacity 0.18s;
}

.catalog-pagination__item:hover,
.catalog-pagination__item:focus-visible {
  color: var(--color-accent);
  border-color: rgb(155 123 208 / 46%);
  box-shadow: 0 10px 22px rgb(23 19 29 / 6%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-pagination__item--active,
.catalog-pagination__item--active:hover,
.catalog-pagination__item--active:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.catalog-pagination__item:disabled {
  color: #b7afbf;
  cursor: default;
  opacity: 0.62;
  transform: none;
}

.catalog-pagination__item:disabled:hover {
  color: #b7afbf;
  background: #fff;
  border-color: var(--color-border);
  box-shadow: none;
}

.catalog-pagination__item svg {
  stroke-width: 2;
}

.catalog-reviews {
  padding: clamp(64px, 8vw, 104px) 0;
  background: #fff;
  border-top: 1px solid var(--color-border);
}

.catalog-reviews__inner {
  display: grid;
  gap: clamp(28px, 4vw, 42px);
}

.catalog-reviews__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.catalog-reviews__eyebrow {
  margin: 0 0 8px;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.catalog-reviews__heading h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(38px, 4.5vw, 56px);
  font-weight: 800;
  line-height: 1.02;
}

.catalog-reviews__submit {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s,
    transform 0.18s;
}

.catalog-reviews__submit:hover,
.catalog-reviews__submit:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-reviews__slider {
  position: relative;
  padding-inline: 36px;
}

.catalog-reviews__grid {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
}

.catalog-review-card {
  display: flex;
  min-height: 318px;
  flex-direction: column;
  gap: 20px;
  padding: 26px;
  background: #fff;
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 4%);
}

.catalog-review-card__topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.catalog-review-card h3 {
  margin: 0;
  color: var(--color-text);
  font-size: 16px;
  font-weight: 800;
}

.catalog-review-card__stars {
  display: inline-flex;
  flex-shrink: 0;
  gap: 3px;
  color: #f3c533;
}

.catalog-review-card__stars svg {
  fill: currentcolor;
  stroke: none;
}

.catalog-review-card__text {
  display: block;
  flex: 1;
  min-height: 0;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.58;
}

.catalog-review-card__actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  margin-top: auto;
  width: 100%;
}

.catalog-review-card__link {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  background: transparent;
  color: var(--color-accent);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.18s, border-color 0.18s, background-color 0.18s;
}

.catalog-review-card__link:hover,
.catalog-review-card__link:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
}

.catalog-reviews__arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 0.18s, border-color 0.18s, opacity 0.18s,
    transform 0.18s;
}

.catalog-reviews__arrow:hover,
.catalog-reviews__arrow:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  outline: 0;
  transform: translateY(calc(-50% - 1px));
}

.catalog-reviews__arrow:disabled {
  color: #c9c2d2;
  background: #f0edf5;
  border-color: #f0edf5;
  box-shadow: none;
  cursor: default;
  opacity: 0.82;
}

.catalog-reviews__arrow:disabled:hover {
  transform: translateY(-50%);
}

.catalog-reviews__arrow--prev {
  left: 0;
}

.catalog-reviews__arrow--next {
  right: 0;
}

.catalog-reviews__dots {
  display: inline-flex;
  justify-self: center;
  align-items: center;
  gap: 8px;
  padding: 6px 9px;
  background: #efedf3;
  border-radius: 999px;
}

.catalog-reviews__dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  background: #b8afc4;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color 0.18s, transform 0.18s;
}

.catalog-reviews__dot:hover,
.catalog-reviews__dot:focus-visible {
  background: var(--color-accent);
  outline: 0;
  transform: scale(1.1);
}

.catalog-reviews__dot--active {
  background: var(--color-accent);
}

.catalog-faq {
  padding: 72px 0 84px;
  background: #fff;
}

.catalog-faq__inner {
  display: grid;
  gap: 32px;
}

.catalog-faq__heading {
  max-width: 760px;
  margin-inline: 0 auto;
  text-align: left;
}

.catalog-faq__eyebrow {
  margin: 0 0 10px;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.catalog-faq__heading h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(34px, 3.6vw, 48px);
  font-weight: 700;
  line-height: 1.12;
}

.catalog-faq__list {
  display: grid;
  width: min(100%, 980px);
  gap: 0;
  justify-self: center;
  border-top: 1px solid rgb(236 231 245 / 92%);
}

.catalog-faq__item {
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid rgb(236 231 245 / 92%);
}

.catalog-faq__question {
  display: grid;
  width: 100%;
  min-height: 72px;
  grid-template-columns: minmax(0, 1fr) 30px;
  gap: 18px;
  align-items: center;
  padding: 20px 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  font-family: var(--font-body);
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
  transition: color 0.18s;
}

.catalog-faq__question:hover {
  color: var(--color-text);
  outline: 0;
}

.catalog-faq__question:focus-visible {
  color: var(--color-text);
  outline: 2px solid rgb(155 123 208 / 24%);
  outline-offset: 4px;
}

.catalog-faq__question svg {
  justify-self: end;
  color: var(--color-accent);
  stroke-width: 1.8;
}

.catalog-faq__answer {
  max-width: 760px;
  padding: 0 54px 24px 0;
  margin: -6px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.65;
}

.catalog-consultation {
  padding: 72px 0 92px;
  background: #fff;
}

.catalog-consultation__panel {
  position: relative;
  display: grid;
  min-height: 520px;
  overflow: hidden;
  grid-template-columns: minmax(0, 0.92fr) minmax(460px, 1.08fr);
  gap: 28px;
  align-items: center;
  padding: clamp(34px, 5.4vw, 76px);
  background: #f7f3f4;
  border: 1px solid rgb(236 231 245 / 88%);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgb(23 19 29 / 6%);
}

.catalog-consultation__panel::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background: linear-gradient(
    90deg,
    #f7f3f4 0%,
    rgb(247 243 244 / 99%) 34%,
    rgb(247 243 244 / 88%) 50%,
    rgb(247 243 244 / 24%) 70%,
    transparent 100%
  );
  pointer-events: none;
}

.catalog-consultation__image {
  position: absolute;
  inset: 0;
  z-index: 0;
  object-fit: cover;
  object-position: center center;
}

.catalog-consultation__content {
  position: relative;
  z-index: 2;
  display: grid;
  max-width: 560px;
  gap: 24px;
}

.catalog-consultation__eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.catalog-consultation h2 {
  max-width: 640px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(40px, 4.4vw, 62px);
  font-weight: 650;
  line-height: 1.04;
}

.catalog-consultation__benefits {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.catalog-consultation__benefits li {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--color-text);
  font-size: 17px;
  line-height: 1.45;
}

.catalog-consultation__benefits svg {
  flex: 0 0 auto;
  color: var(--color-accent);
  stroke-width: 3;
}

.catalog-consultation__form {
  display: grid;
  max-width: 460px;
  gap: 14px;
}

.catalog-consultation__phone {
  display: flex;
  min-height: 64px;
  align-items: center;
  gap: 10px;
  padding: 0 20px;
  color: var(--color-muted);
  background: #fff;
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 999px;
  box-shadow: 0 16px 34px rgb(23 19 29 / 5%);
  transition: border-color 0.18s, box-shadow 0.18s;
}

.catalog-consultation__phone:focus-within {
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
}

.catalog-consultation__phone svg {
  flex: 0 0 auto;
  color: var(--color-accent);
}

.catalog-consultation__country {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
}

.catalog-consultation__phone input {
  width: 100%;
  min-width: 0;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  font: inherit;
  font-size: 15px;
  outline: 0;
}

.catalog-consultation__phone input::placeholder {
  color: #b7afbf;
}

.catalog-consultation__submit {
  display: inline-flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s,
    transform 0.18s;
}

.catalog-consultation__submit:hover,
.catalog-consultation__submit:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 16px 32px rgb(155 123 208 / 22%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-consultation__consent {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.45;
}

.catalog-consultation__consent input {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
  accent-color: var(--color-accent);
}

.catalog-consultation__success {
  margin: 0;
  color: #4f7b46;
  font-size: 13px;
  font-weight: 700;
}

.catalog-contacts {
  padding: 0 0 96px;
  background: #fff;
}

.catalog-contacts__inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(480px, 1fr);
  gap: clamp(52px, 7vw, 112px);
  align-items: center;
}

.catalog-contacts__content {
  max-width: 650px;
}

.catalog-contacts h2 {
  margin: 0 0 30px;
  color: #143331;
  font-family: var(--font-heading);
  font-size: clamp(42px, 4vw, 54px);
  font-weight: 800;
  line-height: 1.08;
}

.catalog-contacts__copy {
  display: grid;
  max-width: 640px;
  gap: 14px;
  margin: 0 0 30px;
}

.catalog-contacts__copy p {
  margin: 0;
  color: #737176;
  font-size: 17px;
  line-height: 1.58;
}

.catalog-contacts__details {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 0.92fr);
  gap: 18px 48px;
  max-width: 640px;
  margin: 0 0 32px;
}

.catalog-contacts__detail {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-width: 0;
  color: var(--color-text);
  transition: transform 0.18s;
}

a.catalog-contacts__detail:hover,
a.catalog-contacts__detail:focus-visible {
  outline: 0;
  transform: translateY(-1px);
}

.catalog-contacts__detail--wide {
  grid-column: 1 / -1;
  max-width: 560px;
}

.catalog-contacts__icon {
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #075968;
  background: #eef3f3;
  border-radius: 999px;
}

.catalog-contacts__label {
  display: block;
  margin-bottom: 2px;
  color: #727176;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
}

.catalog-contacts__detail strong {
  display: block;
  overflow-wrap: anywhere;
  color: #29272e;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.38;
}

.catalog-contacts__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.catalog-contacts__primary {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s,
    transform 0.18s;
}

.catalog-contacts__primary:hover,
.catalog-contacts__primary:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-contacts__messenger {
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  background: #fff;
  border: 1px solid currentcolor;
  border-radius: 999px;
  font-size: 22px;
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.catalog-contacts__messenger svg {
  width: 1em;
  height: 1em;
}

.catalog-contacts__messenger--telegram {
  color: #2aabee;
}

.catalog-contacts__messenger--whatsapp {
  color: #24d366;
}

.catalog-contacts__messenger--viber {
  color: #6651df;
}

.catalog-contacts__messenger--vk {
  color: #0077ff;
}

.catalog-contacts__messenger:hover,
.catalog-contacts__messenger:focus-visible {
  color: #fff;
  outline: 0;
  box-shadow: 0 14px 24px rgb(23 19 29 / 10%);
  transform: translateY(-1px);
}

.catalog-contacts__messenger--telegram:hover,
.catalog-contacts__messenger--telegram:focus-visible {
  background: #2aabee;
  border-color: #2aabee;
}

.catalog-contacts__messenger--whatsapp:hover,
.catalog-contacts__messenger--whatsapp:focus-visible {
  background: #24d366;
  border-color: #24d366;
}

.catalog-contacts__messenger--viber:hover,
.catalog-contacts__messenger--viber:focus-visible {
  background: #6651df;
  border-color: #6651df;
}

.catalog-contacts__messenger--vk:hover,
.catalog-contacts__messenger--vk:focus-visible {
  background: #0077ff;
  border-color: #0077ff;
}

.catalog-contacts__map {
  min-height: 460px;
  overflow: hidden;
  background: #f3f6f5;
  border: 1px solid #e3ecea;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(20 52 49 / 7%);
}

.catalog-contacts__map-slot {
  display: grid;
  width: 100%;
  height: 100%;
  min-height: inherit;
  place-items: center;
  background: #f3f6f5;
}

.catalog-contacts__map-placeholder {
  display: grid;
  max-width: 360px;
  justify-items: center;
  gap: 8px;
  padding: 28px;
  color: #5f6f6d;
  text-align: center;
}

.catalog-contacts__map-placeholder span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 12px;
  color: var(--color-accent);
  background: rgb(155 123 208 / 10%);
  border: 1px solid rgb(155 123 208 / 22%);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.catalog-contacts__map-placeholder strong {
  color: var(--color-ink);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.18;
}

.catalog-contacts__map-placeholder p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.5;
}

.catalog-contacts__map-slot iframe,
.catalog-contacts__map-slot ymaps {
  display: block;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.catalog-product-card {
  display: flex;
  height: 100%;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgb(236 231 245 / 86%);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.catalog-product-card:hover {
  border-color: rgb(155 123 208 / 62%);
  box-shadow: 0 22px 48px rgb(23 19 29 / 8%);
  transform: translateY(-2px);
}

.catalog-product-card__media {
  position: relative;
  display: block;
  aspect-ratio: 1 / 0.94;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgb(248 246 252 / 42%), rgb(247 243 244 / 92%)),
    #f7f3f4;
}

.catalog-product-card__badges {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  display: flex;
  max-width: calc(100% - 96px);
  flex-wrap: wrap;
  gap: 8px;
  pointer-events: none;
}

.catalog-product-card__badge {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 11px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}

.catalog-product-card__badge--sale {
  color: #fff;
  background: #e85f73;
  border-color: #e85f73;
}

.catalog-product-card__badge--new {
  color: #fff;
  background: #f47d38;
  border-color: #f47d38;
}

.catalog-product-card__badge--popular {
  color: #0d5f65;
  background: rgb(235 250 248 / 92%);
  border-color: rgb(13 95 101 / 18%);
}

.catalog-product-card__favorite {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: inline-grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--color-accent);
  background: rgb(255 255 255 / 92%);
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 999px;
  box-shadow: 0 12px 26px rgb(23 19 29 / 8%);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.catalog-product-card__favorite:hover,
.catalog-product-card__favorite:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 15px 30px rgb(155 123 208 / 24%);
  outline: 0;
  transform: translateY(-1px);
}

.catalog-product-card__favorite svg {
  fill: transparent;
  stroke-width: 2;
  transition: fill 0.18s;
}

.catalog-product-card__favorite--active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

.catalog-product-card__favorite--active svg {
  fill: currentcolor;
}

.catalog-product-card__image-link {
  position: absolute;
  inset: 0;
  display: block;
}

.catalog-product-card__image {
  padding: 0;
  object-fit: cover;
  object-position: center bottom;
  transition: transform 0.22s;
}

.catalog-product-card:hover .catalog-product-card__image {
  transform: scale(1.025);
}

.catalog-product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
}

.catalog-product-card__title {
  display: -webkit-box;
  min-height: calc(1.22em * 2);
  overflow: hidden;
  color: var(--color-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.22;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.catalog-product-card__title:hover {
  color: var(--color-accent);
}

.catalog-product-card__description {
  display: -webkit-box;
  min-height: calc(15px * 1.48 * 2);
  overflow: hidden;
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.48;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.catalog-product-card__price-row {
  display: flex;
  height: 54px;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0 0;
}

.catalog-product-card__old-price {
  display: block;
  margin-bottom: 4px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 600;
}

.catalog-product-card__price {
  margin: 0;
  color: var(--color-text);
  font-size: 28px;
  font-weight: 600;
  line-height: 1.1;
}

.catalog-product-card__meta-row {
  display: flex;
  min-height: 22px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.catalog-product-card__rating {
  display: inline-flex;
  min-width: 0;
  min-height: 18px;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
}

.catalog-product-card__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--color-accent);
}

.catalog-product-card__star {
  fill: currentcolor;
  stroke: none;
}

.catalog-product-card__stock {
  display: inline-flex;
  width: fit-content;
  min-height: 18px;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  white-space: nowrap;
}

.catalog-product-card__stock span {
  display: block;
  width: 8px;
  height: 8px;
  background: #76b66a;
  border-radius: 999px;
}

.catalog-product-card__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: center;
  margin-top: auto;
  padding-top: 8px;
}

.catalog-product-card__button {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 16px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  transition: background-color 0.18s, border-color 0.18s, transform 0.18s;
}

.catalog-product-card__button:hover,
.catalog-product-card__button--added {
  background: #6d55a2;
  border-color: #6d55a2;
}

.catalog-product-card__button[data-cart-feedback-state="loading"],
.catalog-product-card__button[data-cart-feedback-state="added"] {
  pointer-events: none;
}

.catalog-product-card__button[data-cart-feedback-state="loading"] {
  cursor: wait;
  opacity: 0.92;
}

.catalog-product-card__button[data-cart-feedback-state="added"] {
  background: #6d55a2;
  border-color: #6d55a2;
}

.catalog-product-card__button [data-cart-button-label] {
  display: inline-flex;
  min-width: 76px;
  justify-content: center;
}

.catalog-product-card__button:hover {
  transform: translateY(-1px);
}

.catalog-product-card__details {
  display: inline-flex;
  width: 100%;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 36%);
  border-radius: 8px;
  font-size: 15px;
  font-weight: 800;
  white-space: nowrap;
  transition: border-color 0.18s, background-color 0.18s, transform 0.18s;
}

.catalog-product-card__details:hover {
  background: var(--color-lavender);
  border-color: rgb(155 123 208 / 42%);
  transform: translateY(-1px);
}

.catalog-grid__category,
.product-detail__category {
  margin: 0;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.catalog-grid__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalog-grid__meta span,
.product-detail__benefits span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 11px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
}

.product-detail {
  padding: 32px 0 84px;
}

.product-detail__inner {
  display: grid;
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1fr);
  column-gap: clamp(28px, 4.4vw, 64px);
  row-gap: 24px;
  align-items: start;
}

.product-detail__inner > * {
  min-width: 0;
}

.product-detail__breadcrumbs {
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.4;
}

.product-detail__breadcrumbs a {
  color: var(--color-accent);
}

.product-detail__breadcrumbs span:last-child {
  color: var(--color-text);
}

.product-detail__back {
  grid-column: 1 / -1;
  margin-top: -8px;
}

.product-detail__media-column {
  display: grid;
  gap: 14px;
}

.product-detail__media {
  position: relative;
  aspect-ratio: 1 / 0.94;
  min-height: 540px;
  overflow: hidden;
  background: #f7f3f4;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  isolation: isolate;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
}

.product-detail__media img {
  object-fit: cover;
  object-position: center bottom;
}

.product-detail__video-panel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.product-detail__video-panel img {
  object-fit: cover;
  filter: saturate(0.96) brightness(0.78);
  transform: scale(1.02);
}

.product-detail__video-overlay {
  position: relative;
  z-index: 1;
  display: grid;
  max-width: 360px;
  justify-items: center;
  gap: 12px;
  padding: 28px;
  color: #fff;
  text-align: center;
}

.product-detail__video-overlay span {
  display: inline-grid;
  width: 82px;
  height: 82px;
  place-items: center;
  background: rgb(255 255 255 / 18%);
  border: 1px solid rgb(255 255 255 / 34%);
  border-radius: 999px;
  backdrop-filter: blur(12px);
}

.product-detail__video-overlay strong {
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
}

.product-detail__video-overlay p {
  margin: 0;
  color: rgb(255 255 255 / 86%);
  font-size: 15px;
  line-height: 1.5;
}

.product-detail__favorite {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 2;
  display: inline-grid;
  width: 48px;
  height: 48px;
  place-items: center;
  color: var(--color-accent);
  background: rgb(255 255 255 / 92%);
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 999px;
  box-shadow: 0 14px 28px rgb(23 19 29 / 8%);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.product-detail__favorite:hover,
.product-detail__favorite:focus-visible,
.product-detail__favorite--active {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 15px 30px rgb(155 123 208 / 24%);
  outline: 0;
  transform: translateY(-1px);
}

.product-detail__favorite svg {
  fill: transparent;
  stroke-width: 2;
  transition: fill 0.18s;
}

.product-detail__favorite--active svg {
  fill: currentcolor;
}

.product-detail__media-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: inline-grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--color-accent);
  background: rgb(255 255 255 / 92%);
  border: 1px solid rgb(236 231 245 / 92%);
  border-radius: 999px;
  box-shadow: 0 14px 28px rgb(23 19 29 / 10%);
  cursor: pointer;
  transform: translateY(-50%);
  backdrop-filter: blur(12px);
  transition: color 0.18s, background-color 0.18s, border-color 0.18s,
    box-shadow 0.18s, transform 0.18s;
}

.product-detail__media-arrow--prev {
  left: 18px;
}

.product-detail__media-arrow--next {
  right: 18px;
}

.product-detail__media-arrow:hover,
.product-detail__media-arrow:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: 0 16px 32px rgb(155 123 208 / 22%);
  outline: 0;
}

.product-detail__media-arrow--prev:hover,
.product-detail__media-arrow--prev:focus-visible {
  transform: translateY(-50%) translateX(-2px);
}

.product-detail__media-arrow--next:hover,
.product-detail__media-arrow--next:focus-visible {
  transform: translateY(-50%) translateX(2px);
}

.product-detail__gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.product-detail__gallery-item {
  position: relative;
  display: grid;
  aspect-ratio: 1 / 0.72;
  min-height: 0;
  place-items: center;
  overflow: hidden;
  padding: 0;
  color: var(--color-text);
  background: #f7f3f4;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  cursor: pointer;
  isolation: isolate;
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.product-detail__gallery-item img {
  z-index: 0;
  object-fit: cover;
  object-position: center;
}

.product-detail__gallery-item::after {
  display: none;
}

.product-detail__gallery-item:hover,
.product-detail__gallery-item:focus-visible,
.product-detail__gallery-item--active {
  border-color: rgb(155 123 208 / 58%);
  box-shadow: 0 14px 30px rgb(23 19 29 / 7%);
  outline: 0;
  transform: translateY(-1px);
}

.product-detail__gallery-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: inline-grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #fff;
  background: rgb(155 123 208 / 88%);
  border-radius: 999px;
  transform: translate(-50%, -50%);
}

.product-detail__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  padding-top: 2px;
}

.product-detail__composition-card {
  display: block;
  overflow: hidden;
  padding: 0;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: none;
}

.product-detail__composition-card dl {
  display: grid;
  gap: 0;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
}

.product-detail__composition-card dl div {
  display: grid;
  grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
  gap: 16px;
  padding: 13px 16px;
  background: #fff;
}

.product-detail__composition-card dl div + div {
  border-top: 1px solid var(--color-border);
}

.product-detail__composition-card dt {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.product-detail__composition-card dd {
  margin: 0;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

.product-detail__rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--color-muted);
  font-size: 14px;
  font-weight: 500;
}

.product-detail__summary-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.product-detail__stock {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  gap: 8px;
  color: #4f7b46;
  font-size: 14px;
  font-weight: 700;
}

.product-detail__stock span {
  display: block;
  width: 8px;
  height: 8px;
  background: #76b66a;
  border-radius: 999px;
  box-shadow: 0 0 0 4px rgb(118 182 106 / 16%);
}

.product-detail__details-link {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  padding: 0;
  color: var(--color-accent);
  background: transparent;
  border: 0;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: color 0.18s, transform 0.18s;
}

.product-detail__details-link:hover,
.product-detail__details-link:focus-visible {
  color: #6d55a2;
  outline: 0;
  transform: translateX(2px);
}

.product-detail__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}

.product-detail__facts div {
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.product-detail__facts dt {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.product-detail__facts dd {
  margin: 8px 0 0;
  color: var(--color-text);
  font-size: 16px;
  font-weight: 600;
}

.product-detail__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-detail__price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  padding-top: 4px;
}

.product-detail__price-row p {
  margin: 0;
  color: var(--color-text);
  font-size: 28px;
  font-weight: 700;
}

.product-detail__price-row s {
  display: inline-block;
  margin-left: 12px;
  color: var(--color-muted);
  font-size: 16px;
  font-weight: 600;
}

.product-detail__purchase {
  display: flex;
  width: min(100%, 430px);
  align-items: center;
  gap: 10px;
}

.product-detail__quantity {
  display: inline-grid;
  flex: 0 0 126px;
  width: 126px;
  min-width: 126px;
  min-height: 52px;
  grid-template-columns: 40px minmax(38px, 1fr) 40px;
  align-items: center;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.product-detail__quantity button {
  display: inline-grid;
  height: 100%;
  place-items: center;
  color: var(--color-muted);
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s;
}

.product-detail__quantity button:hover,
.product-detail__quantity button:focus-visible {
  color: var(--color-accent);
  background: var(--color-lavender);
  outline: 0;
}

.product-detail__quantity span {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

.product-detail__cart {
  display: inline-flex;
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s,
    transform 0.18s;
}

.product-detail__cart:hover,
.product-detail__cart:focus-visible,
.product-detail__cart--added {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  outline: 0;
}

.product-detail__cart:hover,
.product-detail__cart:focus-visible {
  transform: translateY(-1px);
}

.product-detail__cart[data-cart-feedback-state="loading"],
.product-detail__cart[data-cart-feedback-state="added"] {
  pointer-events: none;
}

.product-detail__cart[data-cart-feedback-state="loading"] {
  cursor: wait;
  opacity: 0.92;
}

.product-detail__cart[data-cart-feedback-state="added"] {
  background: #6d55a2;
  border-color: #6d55a2;
}

.product-detail__cart [data-cart-button-label] {
  display: inline-flex;
  min-width: 142px;
  justify-content: center;
}

.product-detail__tabs {
  display: grid;
  grid-column: 1 / -1;
  gap: 26px;
  padding-top: 18px;
}

.product-detail__tab-list {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 26px;
  overflow-x: auto;
  border-bottom: 1px solid var(--color-border);
  scrollbar-width: none;
}

.product-detail__tab-list::-webkit-scrollbar {
  display: none;
}

.product-detail__tab {
  position: relative;
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  padding: 0;
  color: var(--color-muted);
  background: transparent;
  border: 0;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.18s;
}

.product-detail__tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: transparent;
  content: "";
  transition: background-color 0.18s;
}

.product-detail__tab:hover,
.product-detail__tab:focus-visible,
.product-detail__tab--active {
  color: var(--color-accent);
  outline: 0;
}

.product-detail__tab--active::after {
  background: var(--color-accent);
}

.product-detail__tab-panel {
  min-height: 240px;
}

.product-detail__text-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  max-width: 1040px;
}

.product-detail__text-panel h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 750;
  line-height: 1.15;
}

.product-detail__text-panel p {
  max-width: 760px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.65;
}

.product-detail__legacy-description {
  max-width: 820px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.product-detail__legacy-description p + p {
  margin-top: 18px;
}

.product-detail__legacy-description ul {
  display: grid;
  gap: 6px;
  margin: 10px 0 18px;
  padding-left: 24px;
}

.product-detail__legacy-description li {
  padding-left: 2px;
}

.product-detail__usage-copy {
  max-width: 840px;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.7;
}

.product-detail__formula-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  max-width: 920px;
  overflow: hidden;
  padding: 24px;
  background: linear-gradient(135deg, #fbf8fd 0%, #fff 68%);
  border: 1px solid var(--color-border);
  border-radius: 16px;
}

.product-detail__formula-card::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: var(--color-accent);
  content: "";
}

.product-detail__formula-icon {
  display: grid;
  width: 54px;
  height: 54px;
  color: var(--color-accent);
  background: #f3edfb;
  border-radius: 50%;
  place-items: center;
}

.product-detail__formula-content {
  min-width: 0;
}

.product-detail__formula-label {
  display: block;
  margin-bottom: 8px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.product-detail__formula-text {
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.product-detail__formula-text strong {
  display: inline-block;
  margin-bottom: 5px;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.product-detail__storage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  max-width: 1040px;
}

.product-detail__storage-card {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 176px;
  align-content: start;
  gap: 16px;
  overflow: hidden;
  padding: 20px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 16px;
}

.product-detail__storage-icon {
  position: relative;
  z-index: 1;
  display: grid;
  width: 44px;
  height: 44px;
  color: var(--color-accent);
  background: #f1eafb;
  border-radius: 50%;
  place-items: center;
}

.product-detail__storage-content {
  position: relative;
  z-index: 1;
  display: grid;
  min-width: 0;
  gap: 6px;
}

.product-detail__storage-label {
  color: var(--color-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.product-detail__storage-card strong {
  color: var(--color-text);
  font-size: 19px;
  font-weight: 780;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.product-detail__storage-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.5;
}

.product-detail__storage-card--warning {
  background: #f4edfb;
  border-color: rgba(157, 116, 211, 0.44);
}

.product-detail__storage-card--warning .product-detail__storage-icon {
  background: #fff;
}

.product-detail__storage-card--warning strong {
  color: var(--color-accent);
  font-size: 16px;
}

@media (max-width: 900px) {
  .product-detail__storage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .product-detail__storage-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-detail__storage-card {
    min-height: 0;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border-radius: 12px;
  }
}

@media (max-width: 640px) {
  .product-detail__formula-card {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
    padding: 18px;
    border-radius: 12px;
  }

  .product-detail__formula-icon {
    width: 46px;
    height: 46px;
  }

  .product-detail__formula-text {
    font-size: 15px;
    line-height: 1.65;
  }
}

.product-detail__composition-table-wrap {
  max-width: 920px;
  overflow-x: auto;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.product-detail__composition-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
}

.product-detail__composition-table tr + tr {
  border-top: 1px solid var(--color-border);
}

.product-detail__composition-table th,
.product-detail__composition-table td {
  padding: 16px 18px;
  text-align: left;
  vertical-align: top;
}

.product-detail__composition-table th {
  width: 32%;
  color: var(--color-text);
  background: #fbf8fd;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}

.product-detail__composition-table td {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
}

.product-detail__info-grid,
.product-detail__ingredient-grid,
.product-detail__reviews {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.product-detail__info-grid article,
.product-detail__ingredient-grid article,
.product-detail__reviews article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.product-detail__info-grid span,
.product-detail__ingredient-grid h3,
.product-detail__reviews strong {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.product-detail__info-grid p,
.product-detail__ingredient-grid p,
.product-detail__reviews p {
  margin: 0;
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.55;
}

.product-detail__steps {
  display: grid;
  gap: 10px;
  padding-left: 20px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
}

.product-detail__document-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 24px);
}

.product-detail__document-card {
  display: grid;
  gap: 16px;
  min-height: 100%;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.product-detail__document-card:hover,
.product-detail__document-card:focus-visible {
  border-color: rgb(155 123 208 / 52%);
  box-shadow: 0 18px 38px rgb(23 19 29 / 6%);
  outline: 0;
  transform: translateY(-1px);
}

.product-detail__document-preview {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 260px;
  align-content: start;
  padding: 22px 18px 18px;
  overflow: hidden;
  color: var(--color-text);
  background:
    linear-gradient(180deg, #fff 0%, #fff 72%, #fbf8fd 100%);
  border: 1px solid #e6e1ee;
  border-radius: 6px;
}

.product-detail__document-preview-bar {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  background: var(--color-accent);
}

.product-detail__document-preview-kicker {
  color: var(--color-accent);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.product-detail__document-preview strong {
  max-width: 190px;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.12;
}

.product-detail__document-preview > span:not(.product-detail__document-preview-bar, .product-detail__document-preview-kicker, .product-detail__document-preview-sign) {
  display: block;
  height: 7px;
  background: #edeaf3;
  border-radius: 999px;
}

.product-detail__document-preview > span:nth-of-type(4) {
  width: 86%;
}

.product-detail__document-preview > span:nth-of-type(5) {
  width: 72%;
}

.product-detail__document-preview > span:nth-of-type(6) {
  width: 54%;
}

.product-detail__document-preview-sign {
  display: block;
  width: 128px;
  height: 40px;
  margin-top: 20px;
  background: linear-gradient(180deg, #f8f6fb, #f1eef7);
  border: 1px solid #e6e1ee;
  border-radius: 6px;
}

.product-detail__document-card h3 {
  margin: 0;
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.product-detail__document-card p {
  margin: 7px 0 0;
  color: var(--color-muted);
  font-size: 14px;
}

.product-detail__document-body,
.product-detail__document-footer {
  display: block;
}

.product-detail__document-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.product-detail__document-type {
  display: inline-flex;
  width: fit-content;
  min-height: 28px;
  align-items: center;
  padding: 0 10px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.product-detail__document-action {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  margin-top: 4px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 800;
  transition: background-color 0.18s, border-color 0.18s;
}

.product-detail__document-card:hover .product-detail__document-action,
.product-detail__document-card:focus-visible .product-detail__document-action {
  background: var(--color-lavender);
  border-color: rgb(155 123 208 / 42%);
}

.product-detail__reviews-layout {
  display: grid;
  gap: 18px;
  max-width: 860px;
}

.product-detail__review-form {
  display: grid;
  gap: 14px;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 38px rgb(23 19 29 / 4%);
}

.product-detail__review-form h3 {
  margin: 0;
  color: var(--color-text);
  font-size: 18px;
  font-weight: 800;
}

.product-detail__review-form-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 12px;
  align-items: end;
}

.product-detail__review-form label,
.product-detail__rating-field {
  display: grid;
  gap: 8px;
  color: var(--color-text);
  font-size: 13px;
  font-weight: 700;
}

.product-detail__rating-field {
  margin: 0;
  padding: 0;
  border: 0;
}

.product-detail__rating-field legend {
  padding: 0;
  font-size: 13px;
  font-weight: 700;
}

.product-detail__review-form input,
.product-detail__review-form select,
.product-detail__review-form textarea {
  width: 100%;
  min-width: 0;
  padding: 12px 14px;
  color: var(--color-text);
  background: #fbf8fd;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  outline: 0;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.product-detail__review-form textarea {
  resize: vertical;
}

.product-detail__review-form input:focus,
.product-detail__review-form select:focus,
.product-detail__review-form textarea:focus {
  background: #fff;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgb(155 123 208 / 14%);
}

.product-detail__star-rating {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 2px;
}

.product-detail__star-rating-button {
  display: inline-grid;
  width: 32px;
  height: 32px;
  place-items: center;
  padding: 0;
  color: #d8d1e6;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  transition: color 0.18s, background-color 0.18s, transform 0.18s;
}

.product-detail__star-rating-button svg {
  fill: transparent;
  stroke-width: 2;
}

.product-detail__star-rating-button--filled {
  color: #f4b42a;
}

.product-detail__star-rating-button--filled svg {
  fill: currentcolor;
}

.product-detail__star-rating-button:hover,
.product-detail__star-rating-button:focus-visible {
  color: #f4b42a;
  background: rgb(244 180 42 / 10%);
  outline: 0;
  transform: translateY(-1px);
}

.product-detail__star-rating-value {
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 700;
}

.product-detail__review-form > button {
  display: inline-flex;
  width: fit-content;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 20px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, box-shadow 0.18s;
}

.product-detail__review-form > button:hover,
.product-detail__review-form > button:focus-visible {
  background: #6d55a2;
  border-color: #6d55a2;
  box-shadow: 0 14px 28px rgb(155 123 208 / 18%);
  outline: 0;
}

.product-detail__review-success {
  color: #4f7b46;
  font-size: 14px;
  font-weight: 700;
}

.product-detail__reviews {
  grid-template-columns: 1fr;
  max-width: 860px;
}

.product-detail__reviews article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.product-detail__reviews span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 9px;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.product-detail__reviews .product-detail__review-stars {
  min-height: 0;
  align-items: center;
  gap: 2px;
  padding: 0;
  color: #d8d1e6;
  background: transparent;
  border-radius: 0;
}

.product-detail__review-star {
  fill: transparent;
  stroke-width: 2;
}

.product-detail__review-star--filled {
  color: #f4b42a;
  fill: currentcolor;
}

.product-detail__recommendations {
  display: grid;
  grid-column: 1 / -1;
  gap: 54px;
  padding-top: 28px;
}

.product-detail__shelf {
  display: grid;
  gap: 22px;
}

.product-detail__shelf h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.12;
}

.product-detail__shelf-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 22px);
}

.product-detail__shelf-grid .catalog-product-card {
  min-height: 100%;
}

.product-detail__shelf-grid .catalog-product-card__media {
  aspect-ratio: 1 / 0.86;
}

.product-detail__shelf-grid .catalog-product-card__badges {
  top: 14px;
  left: 14px;
  max-width: calc(100% - 82px);
  gap: 6px;
}

.product-detail__shelf-grid .catalog-product-card__badge {
  min-height: 26px;
  padding: 0 9px;
  font-size: 11px;
}

.product-detail__shelf-grid .catalog-product-card__favorite {
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
}

.product-detail__shelf-grid .catalog-product-card__body {
  gap: 10px;
  padding: 20px;
}

.product-detail__shelf-grid .catalog-product-card__title {
  font-size: 18px;
}

.product-detail__shelf-grid .catalog-product-card__description {
  min-height: calc(14px * 1.42 * 2);
  font-size: 14px;
  line-height: 1.42;
}

.product-detail__shelf-grid .catalog-product-card__price-row {
  padding-top: 3px;
}

.product-detail__shelf-grid .catalog-product-card__price {
  font-size: 26px;
}

.product-detail__shelf-grid .catalog-product-card__rating,
.product-detail__shelf-grid .catalog-product-card__stock {
  font-size: 13px;
}

.product-detail__shelf-grid .catalog-product-card__actions {
  gap: 9px;
  padding-top: 4px;
}

.product-detail__shelf-grid .catalog-product-card__button,
.product-detail__shelf-grid .catalog-product-card__details {
  min-height: 46px;
  padding-inline: 10px;
  font-size: 13px;
}

@media (max-width: 1023px) {
  section[id] {
    scroll-margin-top: 88px;
  }

  .container {
    padding-inline: var(--side-tablet);
  }

  .site-header__desktop-row,
  .site-header__desktop-nav,
  .site-header__contact {
    display: none;
  }

  .site-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    height: 76px;
    min-height: 76px;
  }

  .site-header__left-utility {
    grid-column: 1;
    display: flex;
    gap: 4px;
  }

  .site-header__left-utility .site-header__menu-button {
    display: inline-grid;
  }

  .site-header__search {
    display: none;
  }

  .site-header__logo {
    grid-column: 2;
    min-width: auto;
    justify-self: center;
    align-items: center;
    font-size: 23px;
    line-height: 1.05;
  }

  .site-header__logo img {
    width: clamp(120px, 32vw, 164px);
  }

  .site-header__left-utility,
  .site-header__utility {
    gap: 4px;
  }

  .site-header__action-label {
    display: none;
  }

  .site-header__left-utility button,
  .site-header__utility a,
  .site-header__menu-button {
    width: 34px;
    height: 34px;
  }

  .site-header__action-count {
    right: -3px;
    bottom: -3px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
  }

  .site-header__mobile-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-height: 0;
    overflow: hidden;
    background: var(--color-base);
    border-top: 1px solid transparent;
    transition: max-height 0.26s, border-color 0.22s;
  }

  .site-header__mobile-nav--open {
    max-height: calc(100dvh - 76px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border-color: var(--color-border);
  }

  .site-header__mobile-links {
    display: grid;
  }

  .site-header__mobile-links a {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    padding: 13px var(--side-tablet);
    color: var(--color-text);
    border-bottom: 1px solid var(--color-border);
    font-size: 15px;
    touch-action: manipulation;
  }

  .site-header__mobile-search {
    display: flex;
    min-height: 44px;
    margin: 14px var(--side-tablet) 8px;
    padding: 0 14px;
  }

  .site-header__mobile-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px var(--side-tablet) 16px;
    border-top: 1px solid var(--color-border);
  }

  .site-header__mobile-contact .site-header__mobile-phone {
    display: inline-flex;
    width: auto;
    min-width: 0;
    height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0;
    color: var(--color-ink);
    border: 0;
    white-space: nowrap;
    font-weight: 700;
  }

  .site-header__mobile-phone svg {
    flex: 0 0 auto;
    color: var(--color-accent);
  }

  .site-header__mobile-contact .site-header__socials {
    flex: 0 0 auto;
    gap: 10px;
  }

  .site-header__mobile-contact .site-header__social-link {
    width: 40px;
    height: 40px;
    padding: 0;
    border-bottom: 1px solid currentcolor;
    font-size: 17px;
  }

  .hero {
    min-height: 620px;
  }

  .hero__image {
    object-position: 70% center;
  }

  .hero__content {
    padding-block: 64px 54px;
  }

  .hero__copy {
    width: min(100%, 510px);
  }

  .hero__copy h1 {
    font-size: clamp(44px, 7vw, 64px);
    line-height: 1.02;
  }

  .home-usp,
  .home-importance,
  .home-highlights,
  .home-audience,
  .home-specialists,
  .home-research,
  .home-labs {
    padding: 64px 0;
  }

  .home-usp__intro,
  .home-importance__heading,
  .home-highlights__heading,
  .home-specialists__heading,
  .home-research__heading,
  .home-labs__heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 18px;
  }

  .home-usp__cards,
  .home-usp__bullets,
  .home-research__grid,
  .home-labs__logo-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-labs__logo-strip {
    gap: 32px 42px;
  }

  .home-labs .home-lab-logo:last-child {
    grid-column: 1 / -1;
  }

  .home-usp-card {
    min-height: 0;
  }

  .home-importance__grid,
  .home-specialists__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-importance-card {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .home-importance-card__icon {
    width: 72px;
    height: 72px;
  }

  .home-importance-card__icon img {
    width: 82px;
    height: 82px;
  }

  .home-catalog__grid--fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-catalog--sets .home-catalog__grid--fixed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-highlights__layout {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .home-highlights__visual {
    order: -1;
    min-height: 0;
  }

  .home-highlights__image {
    width: min(100%, 680px);
    transform: none;
  }

  .home-highlights__heading h2 span {
    font-size: clamp(50px, 9vw, 68px);
  }

  .home-highlights__column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .home-highlights__column--right {
    gap: 16px;
  }

  .home-catalog-promo {
    min-height: 430px;
  }

  .home-audience__inner {
    gap: 28px;
  }

  .home-audience__tabs {
    flex-wrap: nowrap;
    margin-inline: calc(var(--side-tablet) * -1);
    padding-inline: var(--side-tablet);
    overflow-x: auto;
    scrollbar-width: none;
  }

  .home-audience__tabs::-webkit-scrollbar {
    display: none;
  }

  .home-audience__tab {
    flex: 0 0 auto;
  }

  .home-audience-panel {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .home-audience-panel h3 {
    font-size: 36px;
  }

  .home-audience-panel__link {
    margin-top: 28px;
  }

  .home-audience-panel__metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
    gap: 18px;
    padding-top: 26px;
    padding-left: 0;
    border-top: 1px solid rgb(23 19 29 / 10%);
    border-left: 0;
  }

  .home-audience-panel__metric strong {
    font-size: 40px;
  }

  .home-research-card,
  .home-lab-logo {
    min-height: 0;
  }

  .research-detail__content {
    grid-template-columns: 1fr;
  }

  .home-specialists__layout {
    grid-template-columns: 1fr;
  }

  .home-specialists__visual {
    min-height: 380px;
  }

  .home-catalog {
    padding: 68px 0 74px;
  }

  .home-catalog--collection {
    padding: 62px 0 68px;
  }

  .home-catalog--collection + .home-catalog--collection {
    padding-top: 0;
  }

  .home-catalog__top {
    align-items: start;
    flex-direction: column;
  }

  .home-catalog__slider {
    margin-inline: calc((var(--side-tablet) - 4px) * -1);
  }

  .home-catalog .catalog-product-card {
    flex-basis: calc((100% - var(--home-catalog-gap)) / 2);
  }

  .home-science,
  .home-aging,
  .home-trust {
    padding: 64px 0;
  }

  .home-science__inner,
  .home-trust__inner,
  .home-aging__content-grid {
    grid-template-columns: 1fr;
  }

  .home-science__banner {
    min-height: 540px;
  }

  .home-science__panel {
    width: min(72%, 680px);
  }

  .home-aging__timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding-top: 0;
  }

  .home-aging__timeline::before,
  .home-aging__milestone::before {
    display: none;
  }

  .product-section {
    padding: 64px 0 68px;
  }

  .product-section--compact {
    padding-bottom: 44px;
  }

  .product-section__heading-actions,
  .articles__heading > a {
    position: static;
  }

  .product-section__slider-button--prev {
    left: 12px;
  }

  .product-section__slider-button--next {
    right: 12px;
  }

  .product-card {
    flex-basis: calc((100% - var(--product-gap)) / 2);
  }

  .articles {
    padding: 44px 0 68px;
  }

  .articles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-certificates {
    padding: 60px 0 72px;
  }

  .home-certificates__slider {
    min-height: 540px;
  }

  .home-certificates__viewport {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 18px;
    padding-inline: 54px;
  }

  .home-certificates__docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-certificates__paper {
    min-height: 280px;
  }

  .about-quality__inner {
    grid-template-columns: 1fr;
    gap: 34px;
    min-height: 0;
    padding-block: 76px;
  }

  .about-quality__copy {
    max-width: 620px;
    padding: 0;
  }

  .about-quality__visual {
    min-height: 350px;
    margin-right: 0;
    overflow: hidden;
    border-radius: 8px;
  }

  .subscribe {
    padding: 44px 0 56px;
  }

  .subscribe__inner {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .subscribe__form-block {
    padding-right: 0;
    border-right: 0;
  }

  .site-footer__nav-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
  }

  .site-footer__nav {
    display: contents;
  }

  .site-footer__contacts {
    display: flex;
    gap: 16px;
  }

  .catalog-tags__heading {
    align-items: start;
    flex-direction: column;
  }

  .catalog-tags__heading p {
    max-width: 620px;
    text-align: left;
  }

  .catalog-tags__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-controls__inner {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .catalog-controls__type,
  .catalog-controls__sort {
    justify-self: start;
  }

  .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-reviews__heading {
    align-items: start;
  }

  .catalog-reviews__slider {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px 12px;
    padding-inline: 0;
  }

  .catalog-reviews__grid {
    flex-basis: 100%;
    grid-template-columns: 1fr;
    order: 1;
  }

  .catalog-reviews__arrow {
    position: static;
    order: 2;
    transform: none;
  }

  .catalog-reviews__arrow:hover,
  .catalog-reviews__arrow:focus-visible,
  .catalog-reviews__arrow:disabled:hover {
    transform: translateY(-1px);
  }

  .catalog-faq {
    padding: 64px 0 72px;
  }

  .catalog-faq__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .catalog-faq__heading {
    max-width: 640px;
  }

  .catalog-consultation__panel {
    grid-template-columns: 1fr;
    min-height: 540px;
  }

  .catalog-consultation__content {
    max-width: 680px;
  }

  .catalog-consultation__image {
    object-position: 64% center;
  }

  .catalog-contacts__inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .catalog-contacts__content {
    max-width: 760px;
  }

  .catalog-contacts__map {
    min-height: 390px;
  }

  .product-detail__inner {
    grid-template-columns: 1fr;
  }

  .product-detail__media {
    min-height: 430px;
  }

  .product-detail__info-grid,
  .product-detail__document-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .product-detail__shelf-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) and (max-width: 1279px) {
  .product-detail__media {
    min-height: 0;
  }
}

@media (max-width: 767px) {
  section[id] {
    scroll-margin-top: 78px;
  }

  body {
    font-size: 15px;
    overflow-x: hidden;
  }

  .container {
    padding-inline: var(--side-mobile);
  }

  .site-header__inner {
    gap: 8px;
    height: 68px;
    min-height: 68px;
  }

  .site-header__logo {
    font-size: 18px;
    line-height: 1.05;
  }

  .site-header__logo img {
    width: clamp(112px, 36vw, 148px);
  }

  .site-header__mobile-links a {
    padding-inline: var(--side-mobile);
  }

  .site-header__mobile-search {
    margin-inline: var(--side-mobile);
  }

  .site-header__mobile-nav--open {
    max-height: calc(100dvh - 68px);
  }

  .site-header__mobile-contact {
    padding-inline: var(--side-mobile);
  }

  .hero {
    display: grid;
    min-height: 0;
    background: #fff;
  }

  .hero__visual {
    position: relative;
    inset: auto;
    height: min(78vw, 430px);
    min-height: 280px;
  }

  .hero__image {
    object-position: 70% center;
  }

  .hero__image-overlay {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 0%) 50%,
      rgb(255 255 255 / 86%) 86%,
      #fff 100%
    );
  }

  .hero__content {
    min-height: 0;
    align-items: flex-start;
    padding-block: 28px 44px;
  }

  .hero__copy {
    width: 100%;
  }

  .hero__copy h1 {
    max-width: 370px;
    font-size: clamp(40px, 13vw, 56px);
    line-height: 1.04;
  }

  .hero__copy p {
    max-width: 350px;
    margin-top: 18px;
    font-size: 15px;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }

  .hero__primary,
  .hero__secondary {
    width: 100%;
    min-height: 50px;
  }

  .home-usp,
  .home-importance,
  .home-highlights,
  .home-audience,
  .home-specialists,
  .home-research,
  .home-labs {
    padding: 52px 0;
  }

  .home-usp__inner,
  .home-importance__inner,
  .home-highlights__inner,
  .home-audience__inner,
  .home-specialists__inner,
  .home-research__inner,
  .home-labs__inner {
    gap: 26px;
  }

  .home-usp__intro,
  .home-importance__heading,
  .home-highlights__heading,
  .home-specialists__heading,
  .home-research__heading,
  .home-labs__heading {
    gap: 14px;
    min-width: 0;
  }

  .home-usp__intro > p:last-child,
  .home-importance__heading > p,
  .home-specialists__heading > p,
  .home-research__heading > p,
  .home-labs__heading > p {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.58;
    overflow-wrap: anywhere;
  }

  .home-importance__heading h2 {
    max-width: 100%;
    font-size: clamp(30px, 9vw, 34px) !important;
    overflow-wrap: anywhere;
  }

  .home-usp__cards,
  .home-usp__bullets,
  .home-importance__grid,
  .home-specialists__cards,
  .home-research__grid,
  .home-labs__logo-strip {
    grid-template-columns: 1fr;
  }

  .home-labs__logo-strip {
    display: flex;
    max-width: 360px;
    flex-wrap: wrap;
    gap: 24px 12px;
    align-items: center;
    justify-content: center;
    margin-inline: auto;
  }

  .home-lab-logo {
    display: flex;
    flex: 0 0 auto;
    min-height: 0;
    align-items: center;
    justify-content: center;
    padding: 0;
  }

  .home-lab-logo__image {
    width: 100%;
    height: auto;
    max-width: 100%;
    max-height: none;
  }

  .home-lab-logo:nth-child(1) {
    order: 3;
    width: clamp(78px, 22vw, 100px);
  }

  .home-lab-logo:nth-child(1) .home-lab-logo__image {
    width: 100%;
  }

  .home-lab-logo:nth-child(2) {
    order: 1;
    width: clamp(112px, 31vw, 138px);
  }

  .home-lab-logo:nth-child(3) {
    order: 4;
    width: clamp(146px, 40vw, 172px);
  }

  .home-lab-logo:nth-child(4) {
    order: 2;
    width: clamp(112px, 31vw, 136px);
  }

  .home-lab-logo:nth-child(5) {
    order: 5;
    width: clamp(112px, 31vw, 136px);
  }

  .home-lab-logo:nth-child(5) .home-lab-logo__image {
    width: 100%;
  }

  .home-usp-bullet {
    display: grid;
    min-height: 0;
    gap: 12px;
    padding: 20px;
  }

  .home-usp-bullet__value {
    font-size: 38px;
  }

  .home-usp-bullet__icon {
    width: 38px;
    height: 38px;
  }

  .home-usp-bullet p {
    max-width: none;
  }

  .home-usp-card {
    gap: 16px;
    padding: 22px;
  }

  .home-usp-card__topline {
    gap: 14px;
  }

  .home-usp-card__icon,
  .home-specialist-card__icon {
    width: 48px;
    height: 48px;
  }

  .home-usp-card__metric {
    min-width: 78px;
  }

  .home-usp-card__metric strong {
    font-size: 40px;
  }

  .home-usp-card h3,
  .home-specialist-card h3 {
    font-size: 19px;
  }

  .home-specialist-card__link {
    width: 100%;
    padding: 0 12px;
    justify-content: space-between;
    font-size: 13px;
  }

  .home-importance-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
    padding: 18px;
  }

  .home-importance-card__icon {
    width: 48px;
    height: 48px;
    transform: none;
  }

  .home-importance-card__icon img {
    width: 58px;
    height: 58px;
  }

  .home-importance-card h3 {
    min-width: 0;
    font-size: 19px;
    overflow-wrap: anywhere;
  }

  .home-importance-card p {
    max-width: none;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .home-highlights__heading h2 {
    font-size: 34px;
    line-height: 1.08;
  }

  .home-highlights__heading h2 span {
    font-size: clamp(38px, 11.4vw, 48px);
    line-height: 1;
    white-space: nowrap;
  }

  .home-highlights__layout {
    gap: 20px;
  }

  .home-highlights__visual {
    margin: -6px 0 0;
  }

  .home-highlights__image {
    width: min(112%, 560px);
    transform: translateX(-3%);
  }

  .home-highlights__column {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .home-highlight-card {
    min-height: 0;
    padding: 20px;
  }

  .home-highlight-card__title {
    font-size: 19px;
  }

  .home-audience__heading h2 {
    font-size: 34px;
    line-height: 1.08;
  }

  .home-audience__heading > p:last-child {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.58;
  }

  .home-audience__tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
  }

  .home-audience__tab {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 8px 10px;
    font-size: 13px;
    line-height: 1.18;
    text-align: center;
    white-space: normal;
  }

  .home-audience-panel {
    gap: 24px;
    padding: 22px;
  }

  .home-audience-panel h3 {
    font-size: 28px;
    line-height: 1.12;
  }

  .home-audience-panel__content > p:not(.home-audience-panel__eyebrow) {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.58;
  }

  .home-audience-panel ul {
    gap: 10px;
    margin-top: 20px;
  }

  .home-audience-panel li {
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 8px;
    font-size: 14px;
    line-height: 1.45;
  }

  .home-audience-panel__link {
    width: 100%;
    margin-top: 24px;
  }

  .home-audience-panel__metrics {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 22px;
  }

  .home-audience-panel__metric {
    gap: 6px;
  }

  .home-audience-panel__metric strong {
    font-size: 34px;
  }

  .home-audience-panel__metric span {
    max-width: none;
    font-size: 13px;
  }

  .home-research__heading h2,
  .home-labs__heading h2 {
    font-size: clamp(30px, 9vw, 40px);
  }

  .home-research-card {
    min-height: 220px;
    gap: 18px;
    padding: 20px;
  }

  .home-research-card__icon {
    width: 48px;
    height: 48px;
  }

  .home-research-card h3,
  .home-lab-logo strong {
    font-size: 22px;
  }

  .research-detail {
    gap: 24px;
    padding-block: 34px 64px;
  }

  .research-detail__hero h1 {
    font-size: clamp(36px, 11vw, 48px);
  }

  .research-detail__hero p:not(.research-detail__eyebrow),
  .research-detail__points li {
    font-size: 15px;
    line-height: 1.58;
  }

  .home-specialists__visual {
    height: clamp(340px, 72vw, 430px);
    min-height: 340px;
  }

  .home-specialists__visual .cl-fill-image {
    object-position: 50% 18%;
  }

  .home-specialist-card {
    grid-template-columns: 48px minmax(0, 1fr);
    min-height: 0;
    gap: 16px;
    padding: 20px;
  }

  .home-specialist-card__content {
    gap: 14px;
  }

  .home-specialist-card__content p {
    font-size: 14px;
    line-height: 1.55;
  }

  .home-catalog {
    padding: 54px 0 60px;
  }

  .home-catalog--collection {
    padding: 48px 0 56px;
  }

  .home-catalog--collection + .home-catalog--collection {
    padding-top: 0;
  }

  .home-catalog__inner {
    gap: 24px;
  }

  .home-catalog__top h2 {
    font-size: clamp(36px, 11vw, 48px);
  }

  .home-catalog__filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-wrap: initial;
    gap: 10px;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
  }

  .home-catalog__filter {
    justify-content: center;
    width: 100%;
    padding-inline: 12px;
  }

  .home-catalog__summary {
    align-items: start;
    flex-direction: column;
    gap: 6px;
  }

  .home-catalog__slider {
    display: block;
    margin-inline: 0;
  }

  .home-catalog__slider-button {
    display: none;
  }

  .home-catalog__grid {
    --home-catalog-gap: 18px;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--home-catalog-gap);
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    overscroll-behavior-x: auto;
    scroll-snap-type: none;
  }

  .home-catalog--sets .home-catalog__grid--fixed {
    grid-template-columns: 1fr;
  }

  .home-catalog .catalog-product-card {
    flex: initial;
    width: 100%;
    scroll-snap-align: none;
  }

  .home-catalog .catalog-product-card__media {
    aspect-ratio: 1 / 0.88;
  }

  .home-catalog .catalog-product-card__body {
    padding: 20px;
  }

  .home-catalog-promo {
    min-height: 430px;
  }

  .home-catalog-promo__content {
    padding: 22px;
  }

  .home-catalog-promo strong {
    font-size: 30px;
  }

  .home-catalog .catalog-product-card__title {
    min-height: calc(1.22em * 2);
    font-size: 17px;
  }

  .home-catalog .catalog-product-card__description {
    min-height: calc(14px * 1.42 * 2);
  }

  .home-catalog .catalog-product-card__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .home-catalog .catalog-product-card__button {
    padding-inline: 12px;
    font-size: 14px;
    white-space: nowrap;
  }

  .home-catalog .catalog-product-card__details {
    padding-inline: 12px;
    font-size: 14px;
  }

  .home-catalog__bottom a {
    width: 100%;
    justify-content: center;
  }

  .home-science,
  .home-aging,
  .home-trust {
    padding: 52px 0;
  }

  .home-science__inner,
  .home-science__banner,
  .home-science__panel,
  .home-aging__panel,
  .home-aging__intro {
    max-width: 100%;
    min-width: 0;
  }

  .home-science h2,
  .home-aging h2,
  .home-trust h2 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .home-science__panel {
    order: 1;
    min-width: 0;
    width: 100%;
    padding: 26px 34px 24px 20px;
    background: linear-gradient(180deg, #fff 0%, rgb(255 255 255 / 96%) 100%);
  }

  .home-science__panel h3 {
    max-width: 100%;
    font-size: clamp(24px, 8vw, 34px);
    overflow-wrap: anywhere;
  }

  .home-science__lead {
    max-width: 100%;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .home-science__panel .home-science__list {
    gap: 10px;
    padding-top: 0;
  }

  .home-science__panel .home-science__list li {
    min-width: 0;
    padding-left: 20px;
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  .home-science__panel .home-science__list li::before {
    top: 0.65em;
    width: 6px;
    height: 6px;
  }

  .home-science__banner {
    display: flex;
    width: calc(100vw - var(--side-mobile) - var(--side-mobile));
    max-width: calc(100vw - var(--side-mobile) - var(--side-mobile));
    min-height: 0;
    flex-direction: column;
    align-items: stretch;
  }

  .home-science__banner-image {
    position: relative !important;
    inset: auto !important;
    order: 2;
    width: 100% !important;
    height: 270px !important;
    object-position: 58% center;
  }

  .home-science__banner-shade {
    display: none;
  }

  .home-aging__curve {
    padding: 18px;
  }

  .home-aging__curve-labels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-aging__panel {
    padding: 0;
  }

  .home-aging__intro h2 {
    font-size: clamp(26px, 8vw, 34px);
  }

  .home-aging__intro p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .home-aging__chart {
    display: grid;
    gap: 18px;
    padding: 18px 18px 4px;
    margin-top: 24px;
    overflow: visible;
    background: linear-gradient(180deg, #fff, #fbf8fd);
    border: 1px solid var(--color-border);
    border-radius: 8px;
  }

  .home-aging__chart svg {
    display: none;
  }

  .home-aging__age-row {
    position: relative;
    grid-template-columns: 1fr;
    gap: 0;
    min-width: 0;
    padding-left: 30px;
    margin-top: 0;
  }

  .home-aging__age-row::before {
    position: absolute;
    top: 11px;
    bottom: 22px;
    left: 9px;
    width: 2px;
    background: linear-gradient(180deg, var(--color-accent), rgb(155 123 208 / 16%));
    border-radius: 999px;
    content: "";
  }

  .home-aging__age-item {
    position: relative;
    display: grid;
    grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);
    column-gap: 14px;
    align-items: start;
    padding-bottom: 18px;
  }

  .home-aging__age-item::before {
    position: absolute;
    top: 7px;
    left: -27px;
    width: 12px;
    height: 12px;
    background: #fff;
    border: 3px solid var(--color-accent);
    border-radius: 999px;
    box-shadow: 0 0 0 5px rgb(155 123 208 / 12%);
    content: "";
  }

  .home-aging__age-item strong {
    grid-row: 1 / span 2;
    font-size: 26px;
    white-space: nowrap;
  }

  .home-aging__age-item > span:last-child {
    max-width: none;
    font-size: 13px;
    line-height: 1.35;
  }

  .home-aging__age-portrait {
    width: 44px;
    height: 44px;
    margin: 0 0 4px;
  }

  .home-aging__benefits {
    padding: 0;
  }

  .home-aging__benefits h3 {
    font-size: clamp(23px, 7vw, 30px);
    overflow-wrap: anywhere;
  }

  .home-aging__timeline,
  .home-aging__benefit-list,
  .home-trust__partners {
    grid-template-columns: 1fr;
  }

  .home-aging__milestone {
    min-height: 0;
  }

  .home-aging__benefits,
  .home-aging__usage {
    padding: 20px;
  }

  .home-trust__partners span {
    min-height: 70px;
  }

  .home-trust__document {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
  }

  .home-trust__document small,
  .home-trust__document em {
    grid-column: 2;
  }

  .product-section {
    padding: 56px 0 60px;
  }

  .product-section--compact {
    padding-bottom: 40px;
  }

  .product-section__inner,
  .articles__inner {
    gap: 28px;
  }

  .product-section__heading h2,
  .product-section__heading-actions,
  .articles__heading h2 {
    width: 100%;
  }

  .product-section__heading h2,
  .articles__heading h2,
  .about-quality__copy h2,
  .subscribe__form-block h2 {
    font-size: 42px;
  }

  .product-section__heading-actions a,
  .articles__heading a {
    font-size: 16px;
  }

  .product-section__slider-shell {
    padding-top: 0;
    margin-top: 0;
  }

  .product-section__slider-button {
    display: none;
  }

  .product-section__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0;
    margin-bottom: 0;
    overflow: visible;
    overscroll-behavior-x: auto;
    scroll-snap-type: none;
  }

  .product-card {
    flex: initial;
    scroll-snap-align: none;
  }

  .product-card__body {
    padding: 22px 20px;
  }

  .product-card__image-link {
    aspect-ratio: 1 / 0.88;
  }

  .product-card__badge {
    top: 16px;
    left: 16px;
    min-height: 32px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .wellness-banner {
    height: 156px;
    aspect-ratio: auto;
  }

  .wellness-banner__image {
    object-position: 38% 32%;
  }

  .wellness-banner__nav {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px 16px;
    padding-inline: var(--side-mobile);
    overflow: visible;
  }

  .wellness-banner__item {
    gap: 18px;
  }

  .wellness-banner__item-text {
    font-size: 22px;
    white-space: normal;
  }

  .wellness-banner__separator {
    font-size: 24px;
  }

  .articles {
    padding: 40px 0 60px;
  }

  .articles__grid {
    grid-template-columns: 1fr;
  }

  .home-certificates {
    padding: 48px 0 60px;
  }

  .home-certificates__inner {
    gap: 24px;
  }

  .home-certificates__inner > h2 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .home-certificates__heading h2 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .home-certificates__heading p:not(.home-certificates__eyebrow) {
    font-size: 15px;
  }

  .home-certificates__docs {
    grid-template-columns: 1fr;
  }

  .home-certificates__paper {
    min-height: 260px;
  }

  .home-certificates__paper::before {
    inset: 24px 48px;
  }

  .home-certificates__slider {
    min-height: 0;
    padding-bottom: 68px;
  }

  .home-certificates__viewport {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: stretch;
    gap: 24px;
    overflow: visible;
    padding-inline: 0;
  }

  .home-certificates__slide {
    width: 100%;
  }

  .home-certificates__arrow {
    top: auto;
    bottom: 0;
    width: 48px;
    height: 48px;
    background: #fff;
    border: 1px solid var(--color-border);
    box-shadow: 0 14px 30px rgb(74 55 108 / 10%);
    transform: none;
  }

  .home-certificates__arrow:hover,
  .home-certificates__arrow:focus-visible {
    transform: translateY(-1px);
  }

  .home-certificates__arrow--prev {
    left: calc(50% - 60px);
  }

  .home-certificates__arrow--next {
    right: calc(50% - 60px);
  }

  .article-card__body h3,
  .article-card__description {
    min-height: 0;
  }

  .about-quality__inner {
    padding-block: 68px;
  }

  .about-quality__visual {
    min-height: 250px;
  }

  .subscribe {
    padding: 40px 0 52px;
  }

  .subscribe__form-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .subscribe__form-row input,
  .subscribe__form-row button {
    border: 1px solid var(--color-accent-light);
    border-radius: 4px;
  }

  .subscribe__services {
    grid-template-columns: 1fr;
  }

  .subscribe__service-tile {
    min-height: 0;
  }

  .site-footer__inner {
    gap: 28px;
    padding-block: 42px;
  }

  .site-footer__nav-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .site-footer__contacts {
    gap: 14px;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    min-height: 0;
    padding-top: 24px;
  }

  .site-footer__copyright {
    text-align: left;
  }

  .site-footer__legal {
    justify-content: flex-start;
  }

  .catalog-hero {
    min-height: unset;
    aspect-ratio: 2700 / 4800;
    padding: 34px 0 180px;
  }

  .catalog-hero__image {
    object-position: center center;
  }

  .catalog-hero__shade {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 94%) 0%,
      rgb(255 255 255 / 88%) 46%,
      rgb(255 255 255 / 36%) 72%,
      rgb(255 255 255 / 0%) 100%
    );
  }

  .catalog-hero h1 {
    max-width: 340px;
    font-size: clamp(38px, 11vw, 48px);
    line-height: 1.05;
  }

  .catalog-tags {
    padding: 42px 0 26px;
  }

  .catalog-tags__inner {
    gap: 20px;
  }

  .catalog-tags__heading {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  .catalog-tags__heading p {
    max-width: 100%;
    text-align: left;
  }

  .catalog-tags__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  .catalog-tag-card {
    grid-template-rows: auto 1fr;
    min-height: 0;
  }

  .catalog-tag-card__image {
    min-height: clamp(150px, 31vw, 188px);
    overflow: hidden;
  }

  .catalog-tag-card__image .cl-fill-image {
    object-position: center;
  }

  .catalog-tag-card__body {
    min-width: 0;
    min-height: 108px;
    padding: 16px;
  }

  .catalog-tag-card__body strong {
    max-width: 100%;
    font-size: clamp(15px, 3.9vw, 17px);
    line-height: 1.24;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  .catalog-tag-card__body span {
    font-size: 14px;
    line-height: 1.28;
    overflow-wrap: anywhere;
  }

  .product-detail__content h1 {
    font-size: 44px;
    line-height: 46.6px;
  }

  .catalog-controls {
    padding: 26px 0 30px;
  }

  .catalog-controls__heading {
    align-items: start;
    flex-direction: column;
    gap: 14px;
  }

  .catalog-controls__reset {
    width: 100%;
  }

  .catalog-filter {
    width: auto;
    flex-wrap: nowrap;
    gap: 10px;
  }

  .catalog-filter__field,
  .catalog-filter__reset {
    flex: 0 1 210px;
    width: auto;
  }

  .catalog-controls__type,
  .catalog-controls__sort {
    width: 100%;
    flex-wrap: wrap;
    align-items: start;
    gap: 8px;
  }

  .catalog-controls__type > span:first-child,
  .catalog-controls__sort > span:first-child {
    width: 100%;
  }

  .catalog-controls__type-trigger,
  .catalog-controls__type-menu,
  .catalog-controls__sort-trigger,
  .catalog-controls__sort-menu {
    width: 100%;
    min-width: 0;
  }

  .catalog-grid-section__summary {
    align-items: start;
    flex-direction: column;
  }

  .catalog-grid-section__summary-left {
    width: auto;
    align-items: end;
    flex-direction: row;
    gap: 12px 18px;
    flex-wrap: wrap;
  }

  .catalog-grid-section__sort {
    width: 100%;
    align-items: start;
    flex-direction: column;
    gap: 8px;
  }

  .catalog-grid-section__sort select {
    width: 100%;
    min-width: 0;
  }

  .catalog-grid {
    grid-template-columns: 1fr;
  }

  .catalog-reviews {
    padding: 56px 0 64px;
  }

  .catalog-reviews__heading {
    flex-direction: column;
    gap: 18px;
  }

  .catalog-reviews__heading h2 {
    font-size: clamp(42px, 12vw, 56px);
  }

  .catalog-reviews__submit {
    width: 100%;
  }

  .catalog-review-card {
    min-height: 0;
    padding: 22px;
  }

  .catalog-review-card__topline {
    align-items: start;
    flex-direction: column;
    gap: 10px;
  }

  .catalog-review-card__text {
    min-height: 0;
  }

  .catalog-review-card__actions {
    align-items: center;
  }

  .catalog-faq {
    padding: 54px 0 60px;
  }

  .catalog-faq__inner {
    gap: 20px;
  }

  .catalog-faq__heading h2 {
    font-size: 32px;
  }

  .catalog-faq__question {
    min-height: 58px;
    grid-template-columns: minmax(0, 1fr) 28px;
    gap: 14px;
    padding: 17px 0;
    font-size: 15px;
  }

  .catalog-faq__answer {
    padding: 0 42px 18px 0;
    font-size: 14px;
  }

  .catalog-consultation {
    padding: 46px 0 64px;
  }

  .catalog-consultation__panel {
    min-height: 0;
    gap: 26px;
    padding: 26px 20px 260px;
  }

  .catalog-consultation__panel::after {
    background: linear-gradient(
      180deg,
      #f7f3f4 0%,
      rgb(247 243 244 / 98%) 50%,
      rgb(247 243 244 / 68%) 70%,
      rgb(247 243 244 / 0%) 100%
    );
  }

  .catalog-consultation__image {
    object-position: 72% bottom;
  }

  .catalog-consultation__content {
    gap: 18px;
  }

  .catalog-consultation h2 {
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.08;
  }

  .catalog-consultation__benefits li {
    align-items: flex-start;
    font-size: 15px;
  }

  .catalog-consultation__form {
    max-width: none;
  }

  .catalog-consultation__phone {
    min-height: 58px;
    padding: 0 16px;
  }

  .catalog-consultation__submit {
    min-height: 54px;
    padding: 0 18px;
  }

  .catalog-consultation__consent {
    align-items: flex-start;
  }

  .catalog-contacts {
    padding: 0 0 64px;
  }

  .catalog-contacts__inner {
    gap: 28px;
  }

  .catalog-contacts h2 {
    margin-bottom: 20px;
    font-size: clamp(38px, 11vw, 48px);
  }

  .catalog-contacts__copy {
    gap: 10px;
    margin-bottom: 24px;
  }

  .catalog-contacts__copy p {
    font-size: 15px;
  }

  .catalog-contacts__details {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 24px;
  }

  .catalog-contacts__detail,
  .catalog-contacts__detail--wide {
    max-width: none;
  }

  .catalog-contacts__actions {
    gap: 10px;
  }

  .catalog-contacts__primary {
    width: 100%;
  }

  .catalog-contacts__messenger {
    width: 44px;
    height: 44px;
    font-size: 20px;
  }

  .catalog-contacts__map {
    min-height: 320px;
  }

  .product-detail {
    padding: 36px 0 64px;
  }

  .product-detail__breadcrumbs {
    gap: 6px;
    font-size: 12px;
  }

  .product-detail__media {
    min-height: 0;
  }

  .product-detail__gallery {
    gap: 8px;
  }

  .product-detail__gallery-item {
    min-height: 0;
    padding: 0;
  }

  .product-detail__media-arrow {
    width: 40px;
    height: 40px;
  }

  .product-detail__media-arrow--prev {
    left: 10px;
  }

  .product-detail__media-arrow--next {
    right: 10px;
  }

  .product-detail__composition-card {
    padding: 0;
  }

  .product-detail__composition-card dl div {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .product-detail__facts {
    grid-template-columns: 1fr;
  }

  .product-detail__purchase {
    display: flex;
    width: 100%;
  }

  .product-detail__cart {
    flex: 1 1 auto;
    width: auto;
  }

  .product-detail__quantity {
    flex-basis: 116px;
    width: 116px;
    min-width: 116px;
    grid-template-columns: 34px minmax(34px, 1fr) 34px;
  }

  .product-detail__tab-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    overflow: visible;
    border-bottom: 0;
  }

  .product-detail__tab {
    min-height: 52px;
    padding-inline: 10px;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    white-space: normal;
  }

  .product-detail__tab--active {
    color: #fff;
    background: var(--color-accent);
    border-color: var(--color-accent);
  }

  .product-detail__tab::after {
    display: none;
  }

  .product-detail__text-panel h2 {
    font-size: 28px;
  }

  .product-detail__info-grid,
  .product-detail__document-grid {
    grid-template-columns: 1fr;
  }

  .product-detail__review-form-row {
    grid-template-columns: 1fr;
  }

  .product-detail__review-form > button {
    width: 100%;
  }

  .product-detail__recommendations {
    gap: 38px;
    padding-top: 14px;
  }

  .product-detail__shelf {
    gap: 18px;
  }

  .product-detail__shelf h2 {
    font-size: 32px;
  }

  .product-detail__shelf-grid {
    grid-template-columns: 1fr;
  }
}

.reviews-stories {
  background: #fff;
}

.reviews-stories__hero {
  padding: 42px 0 62px;
  border-bottom: 1px solid var(--color-border);
}

.reviews-stories__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.reviews-stories__breadcrumbs a {
  color: var(--color-accent);
}

.reviews-stories__hero-row {
  display: flex;
  gap: clamp(28px, 6vw, 92px);
  align-items: end;
  justify-content: space-between;
  margin-top: 42px;
}

.reviews-stories__hero-row > div {
  max-width: 820px;
}

.reviews-stories h1 {
  max-width: 780px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(48px, 7vw, 92px);
  font-weight: 600;
  line-height: 1;
}

.reviews-stories__hero-row p {
  max-width: 710px;
  margin: 22px 0 0;
  color: var(--color-muted);
  font-size: 18px;
  line-height: 1.68;
}

.reviews-stories__hero-action {
  display: inline-flex;
  min-width: 188px;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(156 121 211 / 22%);
  font-family: var(--font-small);
  font-weight: 800;
  white-space: nowrap;
}

.reviews-stories__letters {
  padding: 58px 0 0;
}

.reviews-stories__marketplaces,
.reviews-stories__feed {
  padding: 70px 0 0;
}

.reviews-stories__section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(24px, 4vw, 70px);
  align-items: end;
  margin-bottom: 26px;
}

.reviews-stories__feed-heading {
  grid-template-columns: minmax(0, 1fr) auto;
}

.reviews-stories__section-head h2 {
  max-width: 680px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 40px;
  font-weight: 600;
  line-height: 1.08;
}

.reviews-stories__section-head > p {
  max-width: 510px;
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.62;
}

.reviews-stories__letters-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.reviews-stories__letter-card {
  display: grid;
  min-height: 296px;
  align-content: start;
  gap: 18px;
  padding: 24px;
  background:
    linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(249 246 253 / 92%)),
    #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 44px rgb(44 34 62 / 5%);
}

.reviews-stories__letter-mark {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid rgb(155 123 208 / 20%);
  border-radius: 8px;
}

.reviews-stories__letter-meta {
  display: grid;
  gap: 4px;
}

.reviews-stories__letter-meta strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
}

.reviews-stories__letter-meta span {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
}

.reviews-stories__letter-card h3 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.14;
}

.reviews-stories__letter-card p {
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.6;
}

.reviews-stories__marketplace-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.reviews-stories__marketplace-card {
  display: grid;
  min-height: 232px;
  align-content: start;
  gap: 12px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgb(44 34 62 / 4%);
  transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
}

.reviews-stories__marketplace-card:hover,
.reviews-stories__marketplace-card:focus-visible {
  border-color: rgb(155 123 208 / 42%);
  box-shadow: 0 20px 42px rgb(44 34 62 / 7%);
  outline: 0;
  transform: translateY(-1px);
}

.reviews-stories__marketplace-top {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.2;
}

.reviews-stories__marketplace-top svg {
  color: var(--color-accent);
}

.reviews-stories__marketplace-card > strong {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 54px;
  font-weight: 600;
  line-height: 0.95;
}

.reviews-stories__marketplace-card small,
.reviews-stories__marketplace-card em {
  color: var(--color-muted);
  font-size: 14px;
  font-style: normal;
  line-height: 1.42;
}

.reviews-stories__feed-inner {
  display: grid;
  gap: 52px;
}

.reviews-stories__feed-heading {
  margin-bottom: 0;
}

.reviews-stories__feed-heading > a {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  justify-self: end;
  padding: 0 24px;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  box-shadow: 0 14px 28px rgb(156 121 211 / 20%);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}

.reviews-stories__story {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
  padding-bottom: 72px;
  border-bottom: 1px solid var(--color-border);
}

.reviews-stories__author {
  display: grid;
  justify-items: center;
  gap: 14px;
  text-align: center;
}

.reviews-stories__avatar {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 34% 24%, rgb(255 255 255 / 28%), transparent 36%),
    linear-gradient(135deg, #b99ae4, #8f6bcc);
  border-radius: 999px;
  font-family: var(--font-heading);
  font-size: 34px;
  font-weight: 700;
}

.reviews-stories__author strong {
  display: block;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 17px;
  line-height: 1.25;
}

.reviews-stories__author span {
  display: block;
  margin-top: 4px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.4;
}

.reviews-stories__stars {
  display: inline-flex;
  gap: 2px;
  margin-top: 8px;
  color: #d6c6ed;
}

.reviews-stories__star--filled {
  color: var(--color-accent);
  fill: currentcolor;
}

.reviews-stories__content {
  display: grid;
  gap: 16px;
  max-width: 980px;
}

.reviews-stories__product-link {
  width: fit-content;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.reviews-stories__content h2,
.reviews-stories__form-intro h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 600;
  line-height: 1.18;
}

.reviews-stories__pros-cons {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 2px 0 0;
}

.reviews-stories__pros-cons div {
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-stories__pros-cons dt {
  margin: 0 0 7px;
  color: var(--color-text);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
}

.reviews-stories__pros-cons dd {
  margin: 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.55;
}

.reviews-stories__text {
  display: grid;
  gap: 10px;
  padding-top: 4px;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.72;
}

.reviews-stories__text span {
  color: var(--color-text);
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
}

.reviews-stories__text p {
  max-width: 840px;
  margin: 0;
}

.reviews-stories__gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}

.reviews-stories__gallery > div {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  background: var(--surface-soft);
  border: var(--card-border);
  border-radius: var(--card-radius);
}

.reviews-stories__gallery img {
  object-fit: cover;
  object-position: center bottom;
}

.reviews-stories__form-section {
  padding: 82px 0 104px;
}

.reviews-stories__form-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(36px, 6vw, 92px);
  align-items: start;
}

.reviews-stories__form-intro {
  position: sticky;
  top: 148px;
}

.reviews-stories__form-intro p {
  max-width: 430px;
  margin: 18px 0 0;
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.65;
}

.reviews-stories__form {
  display: grid;
  gap: 18px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 22px 56px rgb(44 34 62 / 7%);
}

.reviews-stories__form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.reviews-stories__form label {
  display: grid;
  gap: 8px;
  color: var(--color-text);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
}

.reviews-stories__form input,
.reviews-stories__form select,
.reviews-stories__form textarea {
  width: 100%;
  min-height: 52px;
  padding: 0 16px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  font: 500 15px/1.4 var(--font-body);
}

.reviews-stories__form textarea {
  min-height: 150px;
  padding-block: 14px;
  resize: vertical;
}

.reviews-stories__consent {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px !important;
  align-items: start;
  color: var(--color-muted) !important;
  font: 500 13px/1.5 var(--font-body) !important;
}

.reviews-stories__consent input {
  width: 18px;
  height: 18px;
  min-height: 0;
  margin-top: 2px;
  accent-color: var(--color-accent);
}

.reviews-stories__form button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px;
  color: #fff;
  background: var(--color-accent);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgb(156 121 211 / 22%);
  font-family: var(--font-small);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
}

.reviews-stories__success {
  margin: 0;
  color: #4b7b4b;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1023px) {
  .reviews-stories__hero-row,
  .reviews-stories__section-head,
  .reviews-stories__story,
  .reviews-stories__form-grid {
    grid-template-columns: 1fr;
  }

  .reviews-stories__hero-row {
    display: grid;
    align-items: start;
  }

  .reviews-stories__hero-action {
    width: 100%;
  }

  .reviews-stories__story {
    gap: 22px;
  }

  .reviews-stories__author {
    display: flex;
    justify-content: flex-start;
    text-align: left;
  }

  .reviews-stories__author .reviews-stories__stars {
    margin-top: 6px;
  }

  .reviews-stories__form-intro {
    position: static;
  }

  .reviews-stories__letters-grid,
  .reviews-stories__marketplace-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reviews-stories__section-head {
    align-items: start;
    margin-bottom: 22px;
  }

  .reviews-stories__feed-heading > a {
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .reviews-stories__hero {
    padding: 30px 0 42px;
  }

  .reviews-stories__hero-row {
    margin-top: 28px;
  }

  .reviews-stories h1 {
    font-size: clamp(38px, 12vw, 52px);
  }

  .reviews-stories__hero-row p {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.58;
  }

  .reviews-stories__letters {
    padding-top: 38px;
  }

  .reviews-stories__marketplaces,
  .reviews-stories__feed {
    padding-top: 50px;
  }

  .reviews-stories__section-head {
    gap: 12px;
    margin-bottom: 18px;
  }

  .reviews-stories__section-head h2 {
    font-size: 30px;
  }

  .reviews-stories__section-head > p {
    font-size: 15px;
    line-height: 1.56;
  }

  .reviews-stories__letters-grid,
  .reviews-stories__marketplace-grid {
    grid-template-columns: 1fr;
  }

  .reviews-stories__letter-card,
  .reviews-stories__marketplace-card {
    min-height: 0;
    padding: 20px;
  }

  .reviews-stories__letter-card h3 {
    font-size: 22px;
  }

  .reviews-stories__marketplace-card > strong {
    font-size: 44px;
  }

  .reviews-stories__feed-inner {
    gap: 40px;
  }

  .reviews-stories__story {
    padding-bottom: 48px;
  }

  .reviews-stories__avatar {
    width: 62px;
    height: 62px;
    font-size: 25px;
  }

  .reviews-stories__content h2,
  .reviews-stories__form-intro h2 {
    font-size: 28px;
  }

  .reviews-stories__pros-cons,
  .reviews-stories__gallery,
  .reviews-stories__form-row {
    grid-template-columns: 1fr;
  }

  .reviews-stories__pros-cons dd,
  .reviews-stories__text {
    font-size: 15px;
    line-height: 1.62;
  }

  .reviews-stories__gallery {
    gap: 12px;
  }

  .reviews-stories__form-section {
    padding: 54px 0 72px;
  }

  .reviews-stories__form {
    padding: 18px;
  }

  .reviews-stories__form button {
    width: 100%;
  }
}

@media (max-width: 1023px) {
  .blog-toolbar {
    grid-template-columns: 1fr;
  }

  .blog-categories {
    justify-content: flex-start;
  }

  .blog-grid,
  .article-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contacts-info__inner {
    grid-template-columns: 1fr;
  }

  .contacts-map {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .blog-hero,
  .article-hero {
    padding-top: 36px;
  }

  .blog-hero h1,
  .article-hero h1 {
    font-size: clamp(42px, 14vw, 58px);
  }

  .blog-hero p,
  .article-hero__content > p,
  .article-content__inner p {
    font-size: 16px;
    line-height: 1.65;
  }

  .blog-toolbar {
    gap: 14px;
  }

  .blog-categories {
    gap: 8px;
  }

  .blog-category {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
  }

  .blog-catalog__heading,
  .article-related__heading {
    display: grid;
    align-items: start;
  }

  .blog-catalog__heading p {
    margin: 0;
  }

  .blog-grid,
  .article-related__grid {
    grid-template-columns: 1fr;
  }

  .blog-card__body,
  .article-related-card > div {
    padding: 18px;
  }

  .blog-pagination {
    justify-content: flex-start;
  }

  .blog-pagination button {
    min-height: 40px;
    padding: 0 14px;
    font-size: 13px;
  }

  .blog-pagination__item {
    width: 40px;
    padding: 0;
  }

  .article-cover__image {
    min-height: 260px;
    aspect-ratio: 1.2;
  }

  .article-content__inner {
    gap: 34px;
  }

  .article-content__inner h2 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }

  .article-engagement__panel,
  .article-author__inner {
    padding: 18px;
  }

  .article-engagement__panel {
    display: grid;
    justify-content: stretch;
  }

  .article-vote {
    justify-content: flex-start;
  }

  .article-share__button,
  .article-comments__form button {
    width: 100%;
  }

  .article-comments__form textarea {
    min-height: 150px;
    padding: 18px;
  }

  .article-author__inner {
    grid-template-columns: 1fr;
  }

  .contacts-hero {
    padding-top: 36px;
  }

  .contacts-hero h1 {
    font-size: clamp(42px, 14vw, 58px);
  }

  .contacts-hero p {
    font-size: 16px;
    line-height: 1.6;
  }

  .contacts-info__card {
    padding: 18px;
  }

  .contacts-map {
    min-height: 320px;
  }

  .contacts-map__slot {
    padding: 24px;
  }

  .contacts-socials {
    padding: 44px 0;
  }

  .contacts-socials__inner {
    gap: 18px;
  }

  .contacts-socials__buttons {
    width: 100%;
    flex-direction: column;
  }

  .contacts-socials__button {
    width: 100%;
  }

  .contacts-socials__quick {
    grid-template-columns: 1fr;
    justify-items: center;
    margin-top: 4px;
    padding: 18px;
    text-align: center;
  }

  .contacts-requisites__table th,
  .contacts-requisites__table td {
    display: block;
    width: 100%;
    padding: 16px 18px;
  }

  .contacts-requisites__table th {
    padding-bottom: 6px;
    border-bottom: 0;
  }

  .contacts-requisites__table td {
    padding-top: 0;
  }

  .faq-hero {
    padding-top: 36px;
  }

  .faq-hero h1 {
    font-size: clamp(42px, 14vw, 58px);
  }

  .faq-hero p {
    font-size: 16px;
    line-height: 1.6;
  }

  .faq-content__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .faq-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
  }

  .faq-nav a {
    min-height: 42px;
    padding: 10px 14px;
    font-size: 13px;
  }

  .faq-section {
    scroll-margin-top: 110px;
  }

  .faq-section h2 {
    font-size: clamp(28px, 9vw, 36px) !important;
  }

  .faq-item summary {
    min-height: 64px;
    padding: 18px;
    font-size: 16px;
  }

  .faq-item p {
    padding: 0 18px 20px;
    font-size: 15px;
  }
}

@media (max-width: 560px) {
  .catalog-filter {
    width: 100%;
    flex-wrap: wrap;
  }

  .catalog-filter__field,
  .catalog-filter__reset {
    flex: 1 1 100%;
    width: 100%;
  }

  .catalog-grid-section__summary-left {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }
}

/* WordPress staging adapters: keep the Next.js visual system, only bridge WP markup. */
.admin-bar .site-header { top: 32px; }
.cl-fill-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.catalog-product-card__image-link .cl-fill-image,
.catalog-tag-card__image .cl-fill-image,
.product-detail__gallery-item .cl-fill-image { object-fit: cover; object-position: center; }
.hero__visual .cl-fill-image,
.catalog-hero .cl-fill-image,
.catalog-consultation__panel .cl-fill-image,
.home-specialists__visual .cl-fill-image,
.company-hero .cl-fill-image { object-fit: cover; }
.site-header button svg,
.catalog-product-card svg,
.product-detail svg,
.catalog-consultation svg,
.catalog-reviews svg,
.catalog-faq svg,
.delivery-page svg,
.company-page svg,
.home-specialist-card svg { display: block; }
.catalog-product-card__button.add_to_cart_button.added::after,
.catalog-product-card__button.add_to_cart_button.loading::after,
.product-detail__cart.add_to_cart_button.added::after,
.product-detail__cart.add_to_cart_button.loading::after { display: none; }
.added_to_cart.wc-forward { display: none !important; }
.product-detail__tab-panel[hidden] { display: none; }
.catalog-grid-section__summary form { margin: 0; }
.catalog-filter button.catalog-controls__reset { align-self: end; }
.wp-page__content { padding: 44px var(--side-desktop) 86px; }
.wp-page__content h1 { margin: 0 0 28px; font-family: var(--font-heading); font-size: clamp(42px, 7vw, 76px); font-weight: 700; letter-spacing: 0; line-height: .95; color: var(--color-text); }
.wp-page__content .container > * + * { margin-top: 20px; }
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title { font-family: var(--font-heading); font-weight: 700; }
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main,
.woocommerce-cart .wp-page__content,
.woocommerce-checkout .wp-page__content,
.woocommerce-account .wp-page__content { width: min(100%, var(--container)); margin-inline: auto; padding: 44px var(--side-desktop) 86px; }
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce table.shop_table { border: 1px solid var(--color-border); border-radius: 8px; overflow: hidden; }
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order { color: #fff; background: var(--color-accent); border-radius: 8px; font-family: var(--font-small); font-weight: 800; }
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover { color: #fff; background: #8768bd; }
.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select { border: 1px solid var(--color-border); border-radius: 8px; padding: 12px 14px; }
.woocommerce-cart-item__collagen-image { width: 96px; height: 96px; object-fit: cover; border-radius: 8px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color: var(--color-accent); background: var(--surface-soft); }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 767px) {
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main,
  .woocommerce-account .site-main,
  .wp-page__content,
  .woocommerce-cart .wp-page__content,
  .woocommerce-checkout .wp-page__content,
  .woocommerce-account .wp-page__content { padding-inline: var(--side-mobile); }
}

@media (max-width: 1023px) {
  .site-header__utility {
    display: grid;
    grid-template-columns: repeat(3, 34px);
    justify-self: end;
    width: 110px;
    min-width: 110px;
    gap: 4px;
  }

  .site-header__utility .site-header__action-link {
    display: grid;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    place-items: center;
    border-radius: 999px;
    font-size: 0;
  }

  .site-header__utility .site-header__action-label {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .site-header .container.site-header__inner {
    grid-template-columns: 34px minmax(0, 1fr) 34px !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: var(--side-mobile) !important;
  }

  .site-header__left-utility {
    grid-column: 1 !important;
    justify-self: start !important;
  }

  .site-header__logo {
    grid-column: 2 !important;
    justify-self: center !important;
    width: 124px !important;
  }

  .site-header__utility {
    grid-column: 3 !important;
    grid-template-columns: 34px;
    width: 34px;
    min-width: 34px;
    justify-self: end !important;
    overflow: visible;
  }

  .site-header__utility .site-header__action-link:not(.site-header__cart-link) {
    display: none !important;
  }
}

/* Homepage hero 0.4.15 — selected full-bleed lifestyle direction. */
body.home .hero.hero--lavender-panel {
  position: relative;
  display: block !important;
  min-height: clamp(590px, 48.23vw, 760px) !important;
  overflow: hidden !important;
  isolation: isolate;
  background: #f7f5f3 !important;
}

body.home .hero.hero--lavender-panel::before {
  display: none !important;
  content: none !important;
}

body.home .hero--lavender-panel .hero__visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

body.home .hero--lavender-panel .hero__visual picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

body.home .hero--lavender-panel .hero__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.home .hero--lavender-panel .hero__image-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background: linear-gradient(
    90deg,
    rgb(255 255 255 / 98%) 0%,
    rgb(255 255 255 / 93%) 27%,
    rgb(255 255 255 / 70%) 42%,
    rgb(255 255 255 / 22%) 56%,
    rgb(255 255 255 / 0%) 68%
  ) !important;
}

body.home .hero--lavender-panel .hero__content {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  min-height: inherit !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding-block: 64px !important;
}

body.home .hero--lavender-panel .hero__copy {
  position: relative;
  z-index: 2;
  display: flex !important;
  width: min(50%, 610px) !important;
  max-width: 610px !important;
  min-height: 0 !important;
  flex-direction: column;
  justify-content: center;
  padding: 0 !important;
  color: #17131d !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

body.home .hero--lavender-panel .hero__eyebrow {
  display: flex !important;
  align-items: center;
  gap: 20px;
  margin: 0 0 24px !important;
  color: var(--color-accent) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.25 !important;
  text-transform: uppercase;
}

body.home .hero--lavender-panel .hero__eyebrow::before {
  width: 64px;
  height: 2px;
  flex: 0 0 64px;
  background: var(--color-accent);
  content: "";
}

body.home .hero--lavender-panel .hero__copy h1 {
  max-width: 100% !important;
  margin: 0 !important;
  color: #17131d !important;
  font-size: clamp(52px, 5vw, 76px) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.02 !important;
}

body.home .hero--lavender-panel .hero__copy > p {
  max-width: 560px !important;
  margin: 30px 0 0 !important;
  color: #332e38 !important;
  font-size: clamp(18px, 1.5vw, 22px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

body.home .hero--lavender-panel .hero__actions {
  display: flex !important;
  width: auto !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  margin-top: 36px !important;
}

body.home .hero--lavender-panel .hero__actions .hero__secondary {
  display: inline-flex !important;
  width: auto !important;
  min-width: 222px !important;
  min-height: 58px !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 28px !important;
  color: #fff !important;
  background: var(--color-accent) !important;
  border: 1px solid var(--color-accent) !important;
  border-radius: 8px !important;
  box-shadow: 0 14px 28px rgb(87 60 135 / 13%);
  font-size: 16px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.home .hero--lavender-panel .hero__actions .hero__secondary:hover,
body.home .hero--lavender-panel .hero__actions .hero__secondary:focus-visible {
  color: #fff !important;
  background: #8465bd !important;
  border-color: #8465bd !important;
  box-shadow: 0 18px 34px rgb(87 60 135 / 18%);
  outline: 0;
  transform: translateY(-1px);
}

@media (min-width: 768px) and (max-width: 1023px) {
  body.home .hero.hero--lavender-panel {
    min-height: 620px !important;
  }

  body.home .hero--lavender-panel .hero__image {
    object-position: 58% center !important;
  }

  body.home .hero--lavender-panel .hero__image-overlay {
    background: linear-gradient(
      90deg,
      rgb(255 255 255 / 98%) 0%,
      rgb(255 255 255 / 91%) 34%,
      rgb(255 255 255 / 46%) 58%,
      rgb(255 255 255 / 0%) 76%
    ) !important;
  }

  body.home .hero--lavender-panel .hero__copy {
    width: min(58%, 520px) !important;
  }
}

@media (max-width: 767px) {
  body.home .hero.hero--lavender-panel {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column;
    background: #fff !important;
  }

  body.home .hero--lavender-panel .hero__visual {
    position: relative !important;
    inset: auto !important;
    height: clamp(330px, 102vw, 470px) !important;
    flex: 0 0 auto;
    order: 1;
  }

  body.home .hero--lavender-panel .hero__image {
    object-position: center 24% !important;
  }

  body.home .hero--lavender-panel .hero__image-overlay {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 0%) 64%,
      rgb(255 255 255 / 72%) 86%,
      #fff 100%
    ) !important;
  }

  body.home .hero--lavender-panel .hero__content {
    min-height: 0 !important;
    align-items: flex-start !important;
    order: 2;
    padding: 4px var(--side-mobile) 40px !important;
  }

  body.home .hero--lavender-panel .hero__copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.home .hero--lavender-panel .hero__eyebrow {
    gap: 12px;
    margin-bottom: 14px !important;
    font-size: 11px !important;
    letter-spacing: 0.14em !important;
  }

  body.home .hero--lavender-panel .hero__eyebrow::before {
    width: 36px;
    flex-basis: 36px;
  }

  body.home .hero--lavender-panel .hero__copy h1 {
    font-size: clamp(40px, 12vw, 54px) !important;
  }

  body.home .hero--lavender-panel .hero__copy > p {
    margin-top: 18px !important;
    font-size: 16px !important;
    line-height: 1.52 !important;
  }

  body.home .hero--lavender-panel .hero__actions {
    margin-top: 24px !important;
  }

  body.home .hero--lavender-panel .hero__actions .hero__secondary {
    min-width: 188px !important;
    min-height: 52px !important;
    padding-inline: 24px !important;
  }
}

/* Account profile: clear, separate profile and password sections. */
.cl-account-edit-form {
  display: grid;
  min-width: 0;
  gap: 24px;
}

.cl-account-edit-card {
  display: grid;
  min-width: 0;
  gap: 24px;
  margin: 0;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgb(44 34 62 / 5%);
}

.cl-account-edit-card__header {
  display: grid;
  gap: 8px;
  max-width: 720px;
}

.cl-account-edit-card__header span {
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.cl-account-edit-card__header h2,
.cl-account-edit-card__header p {
  margin: 0;
  text-align: left;
}

.cl-account-edit-card__header h2 {
  color: var(--color-text);
  font-size: clamp(30px, 3vw, 42px);
  font-weight: 500;
  line-height: 1.12;
}

.cl-account-edit-card__header p {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.65;
}

.cl-account-profile-grid,
.cl-account-password-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.cl-account-profile-grid__wide {
  grid-column: 1 / -1;
}

.cl-account-edit-form .form-row {
  min-width: 0;
  margin: 0;
}

.cl-account-edit-form .form-row label {
  display: block;
  margin-bottom: 8px;
  color: var(--color-text);
  font-size: 14px;
  font-weight: 700;
}

.cl-account-edit-form .form-row input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.cl-account-edit-form .form-row > span:not(.password-input) {
  display: block;
  margin-top: 8px;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.5;
}

.cl-account-password-card {
  background: linear-gradient(135deg, #fff 0%, #fbf8fe 100%);
  border-color: #dfd2f0;
}

.cl-account-edit-actions {
  display: flex;
  justify-content: flex-start;
}

.cl-account-edit-actions .button {
  min-height: 52px;
  padding-inline: 26px !important;
}

@media (max-width: 767px) {
  .cl-account-edit-card {
    gap: 20px;
    padding: 20px;
  }

  .cl-account-profile-grid,
  .cl-account-password-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .cl-account-profile-grid__wide {
    grid-column: auto;
  }

  .cl-account-edit-actions .button {
    width: 100%;
  }
}

/* Mobile forms: prevent browser zoom and sticky-header jumps while the keyboard is open. */
@media (max-width: 767px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    overflow-x: clip;
  }

  body form,
  body form .form-row,
  body form .form-group,
  .woocommerce,
  .account-shell,
  .checkout-shell,
  .cart-shell,
  .cart-list,
  .cart-summary {
    min-width: 0;
    max-width: 100%;
  }

  body form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
  body form textarea,
  body form select {
    max-width: 100%;
    box-sizing: border-box;
    font-size: 16px !important;
    touch-action: manipulation;
    scroll-margin-top: 24px;
  }

  html.cl-mobile-form-focus {
    scroll-behavior: auto !important;
  }

  html.cl-mobile-form-focus .site-header {
    position: relative !important;
    top: auto !important;
    transform: none !important;
  }
}

.favorites-grid__item[hidden],
[data-favorites-filled][hidden],
[data-favorites-empty][hidden] {
  display: none !important;
}

.favorites-grid__item,
.favorites-grid__item .catalog-product-card {
  min-width: 0;
  height: 100%;
}

.cart-list__toolbar-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.cart-list__toolbar-actions a {
  color: var(--color-muted);
  transition: color 0.18s;
}

.cart-list__toolbar-actions a:hover,
.cart-list__toolbar-actions a:focus-visible {
  color: var(--color-accent);
  outline: 0;
}

.cart-item__quantity input {
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  color: var(--color-text);
  background: transparent;
  border: 0;
  text-align: center;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  -moz-appearance: textfield;
}

.cart-item__quantity input::-webkit-outer-spin-button,
.cart-item__quantity input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.cart-item__quantity input:focus {
  outline: 0;
}

.cart-item__actions a {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  padding: 0;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  cursor: pointer;
  transition: background-color 0.18s, border-color 0.18s, color 0.18s;
}

.cart-item__actions a:hover,
.cart-item__actions a:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
}

.collagen-cart-form {
  margin: 0;
}

.collagen-cart-form .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce-thankyou-order-received {
  margin: 0 0 22px;
  padding: 16px 18px;
  color: var(--color-text);
  background: var(--surface-soft);
  border: 1px solid var(--color-border);
  border-top: 3px solid var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-small);
  font-weight: 400;
  line-height: 1.55;
}

.woocommerce-message strong,
.woocommerce-info strong,
.woocommerce-error strong {
  font-weight: 400;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none;
}

.account-shell,
.checkout-shell {
  padding: 28px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 50px rgb(78 57 120 / 5%);
}

.account-shell .woocommerce,
.checkout-shell .woocommerce {
  font-family: var(--font-small);
}

.account-shell h2,
.checkout-shell h2,
.checkout-shell h3,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  margin: 0 0 18px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: 0;
}

.woocommerce-account .account-shell .woocommerce {
  display: grid;
  gap: 24px;
}

.woocommerce-account .account-shell .woocommerce:has(.woocommerce-MyAccount-navigation) {
  grid-template-columns: 260px minmax(0, 1fr);
  align-items: start;
}

.woocommerce-MyAccount-navigation {
  padding: 12px;
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.woocommerce-MyAccount-navigation ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-MyAccount-navigation a {
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0 14px;
  color: var(--color-muted);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
}

.woocommerce-MyAccount-navigation .is-active a,
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation a:focus-visible {
  color: #fff;
  background: var(--color-accent);
  outline: 0;
}

.woocommerce-MyAccount-content {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.woocommerce-account .account-shell form.login,
.woocommerce-account .account-shell form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  display: grid;
  gap: 16px;
  margin: 0;
  padding: 0;
  border: 0;
}

.woocommerce-account .account-shell .u-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.woocommerce-account .account-shell .u-column1,
.woocommerce-account .account-shell .u-column2 {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.woocommerce form .form-row {
  display: grid;
  gap: 8px;
  margin: 0 0 14px;
  padding: 0;
}

.woocommerce form .form-row label {
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 800;
}

.woocommerce input.input-text,
.woocommerce textarea,
.woocommerce select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: none;
  font-family: var(--font-small);
  font-size: 14px;
}

.woocommerce textarea,
.woocommerce form .form-row textarea {
  min-height: 120px;
  padding-block: 14px;
}

.woocommerce input.input-text:focus,
.woocommerce textarea:focus,
.woocommerce select:focus {
  border-color: var(--color-accent);
  outline: 0;
  box-shadow: 0 0 0 3px rgb(155 123 208 / 16%);
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce #payment #place_order,
.woocommerce .account-shell button.button,
.woocommerce .checkout-shell button.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-small);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  transition: background-color 0.18s, border-color 0.18s, transform 0.18s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #payment #place_order:hover {
  color: #fff;
  background: #8666c4;
  border-color: #8666c4;
  transform: translateY(-1px);
}

.woocommerce table.shop_table,
.woocommerce-cart table.shop_table,
.woocommerce-checkout-review-order-table,
.woocommerce table.my_account_orders {
  overflow: hidden;
  margin: 0 0 20px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  border-collapse: separate;
  border-spacing: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  padding: 15px 16px;
  border-color: var(--color-border);
  color: var(--color-muted);
  font-family: var(--font-small);
}

.woocommerce table.shop_table th {
  color: var(--color-text);
  font-weight: 800;
}

.checkout-shell form.checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 32px;
  align-items: start;
}

.checkout-shell #customer_details,
.checkout-shell #order_review {
  min-width: 0;
}

.checkout-shell #order_review_heading,
.checkout-shell #order_review {
  grid-column: 2;
  grid-row: 1;
}

.checkout-shell #customer_details {
  grid-column: 1;
  grid-row: 1;
}

.checkout-shell #order_review {
  align-self: start;
  margin-top: 68px;
}

.checkout-shell .col2-set {
  display: grid;
  gap: 24px;
}

.checkout-shell .col2-set .col-1,
.checkout-shell .col2-set .col-2 {
  float: none;
  width: 100%;
  padding: 0;
}

.woocommerce-checkout #payment {
  background: var(--surface-soft);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
  padding: 18px;
  border-color: var(--color-border);
}

@media (max-width: 1023px) {
  .woocommerce-account .account-shell .woocommerce:has(.woocommerce-MyAccount-navigation),
  .checkout-shell form.checkout {
    grid-template-columns: 1fr;
  }

  .checkout-shell #customer_details,
  .checkout-shell #order_review_heading,
  .checkout-shell #order_review {
    grid-column: auto;
    grid-row: auto;
  }

  .checkout-shell #order_review {
    margin-top: 0;
  }

  .woocommerce-account .account-shell .u-columns {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .cart-list__toolbar {
    align-items: flex-start;
    padding-block: 14px;
  }

  .cart-list__toolbar-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
  }

  .cart-item__quantity input {
    font-size: 13px;
  }

  .account-shell,
  .checkout-shell {
    padding: 18px;
  }

  .woocommerce-MyAccount-content {
    padding: 18px;
  }
}

.woocommerce-form-login__rememberme {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 4px 0 0;
  color: var(--color-muted);
  font-family: var(--font-small);
  font-size: 14px;
}

.woocommerce-form-login__rememberme input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--color-accent);
}

.woocommerce form .show-password-input {
  top: 50%;
  display: none !important;
  transform: translateY(-50%);
  color: var(--color-accent);
}

@media (max-width: 480px) {
  .site-header .container.site-header__inner {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 68px !important;
    align-items: center !important;
    justify-content: center !important;
    padding-inline: 20px !important;
  }

  .site-header__left-utility {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .site-header__logo {
    width: 128px !important;
    min-width: 0 !important;
  }

  .site-header__utility {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    grid-template-columns: 34px !important;
    overflow: visible !important;
    transform: translateY(-50%) !important;
  }

  .site-header__utility .site-header__action-link {
    display: none !important;
  }

  .site-header__utility .site-header__cart-link {
    display: grid !important;
  }
}

@media (max-width: 767px) {
  .cart-item {
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 14px !important;
    overflow: hidden;
  }

  .cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    width: 104px;
  }

  .cart-item__details {
    grid-column: 2 !important;
    min-width: 0;
  }

  .cart-item__details > a {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.18;
  }

  .cart-item__quantity {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  .cart-item__actions {
    grid-column: 2 !important;
    grid-row: 3 !important;
    display: flex;
  }

  .cart-item__total {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .site-header__utility > .site-header__count-link,
  .site-header__utility > .site-header__account-link {
    display: none !important;
  }

  .site-header__utility > .site-header__cart-link {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 767px) {
  .site-header .container.site-header__inner {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 68px !important;
    align-items: center !important;
    justify-content: center !important;
    padding-inline: 20px !important;
  }

  .site-header__left-utility {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  .site-header__logo {
    width: 128px !important;
    min-width: 0 !important;
  }

  .site-header__utility {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    grid-template-columns: 34px !important;
    overflow: visible !important;
    transform: translateY(-50%) !important;
  }

  .site-header__utility > .site-header__count-link,
  .site-header__utility > .site-header__account-link {
    display: none !important;
  }

  .site-header__utility > .site-header__cart-link {
    display: grid !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 767px) {
  .site-header__logo {
    width: 118px !important;
  }

  .site-header__utility {
    right: 16px !important;
    width: 104px !important;
    min-width: 104px !important;
    grid-template-columns: repeat(3, 32px) !important;
    gap: 4px !important;
  }

  .site-header__utility > .site-header__action-link {
    display: grid !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    place-items: center !important;
    font-size: 0 !important;
  }

  .site-header__utility .site-header__action-label {
    display: none !important;
  }

  .site-header__utility .site-header__action-count {
    right: -4px;
    bottom: -4px;
  }
}

.checkout-shell {
  background: transparent;
  border: 0;
  box-shadow: none;
}

.checkout-shell #customer_details,
.checkout-shell #order_review {
  padding: 26px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 50px rgb(78 57 120 / 5%);
}

.checkout-shell #order_review_heading {
  margin: 0 0 -12px;
  color: var(--color-text);
  font-size: 28px !important;
}

.checkout-shell #billing_country_field,
.checkout-shell #shipping_country_field,
.checkout-shell .woocommerce-privacy-policy-text {
  display: none !important;
}

.checkout-shell .woocommerce-checkout-review-order-table {
  display: block;
  overflow: visible;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0;
}

.checkout-shell .woocommerce-checkout-review-order-table thead {
  display: none !important;
}

.checkout-shell .woocommerce-checkout-review-order-table tbody,
.checkout-shell .woocommerce-checkout-review-order-table tfoot {
  display: grid;
  gap: 0;
}

.checkout-shell .woocommerce-checkout-review-order-table tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid var(--color-border);
}

.checkout-shell .woocommerce-checkout-review-order-table tr:last-child {
  border-bottom: 0;
}

.checkout-shell .woocommerce-checkout-review-order-table th,
.checkout-shell .woocommerce-checkout-review-order-table td {
  display: block;
  padding: 0 !important;
  border: 0 !important;
  color: var(--color-muted);
  line-height: 1.45;
  text-align: left;
}

.checkout-shell .woocommerce-checkout-review-order-table th {
  color: var(--color-text);
  font-weight: 500;
}

.checkout-shell .woocommerce-checkout-review-order-table td:last-child {
  color: var(--color-ink);
  text-align: right;
  font-weight: 500;
  white-space: nowrap;
}

.checkout-shell .woocommerce-checkout-review-order-table tr.cart_item {
  padding-top: 0;
}

.cl-checkout-product {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.cl-checkout-product__image {
  display: block;
  width: 58px;
  height: 58px;
  flex: 0 0 auto;
  overflow: hidden;
  background: var(--color-lavender);
  border-radius: 8px;
}

.cl-checkout-product__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cl-checkout-product__name {
  min-width: 0;
  color: var(--color-text);
  font-weight: 500;
  line-height: 1.25;
}

.checkout-shell .product-quantity {
  display: inline-flex;
  margin-top: 4px;
  color: var(--color-muted);
  font-weight: 500;
}

.checkout-shell .woocommerce-shipping-totals.shipping {
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
}

.checkout-shell .woocommerce-shipping-totals.shipping td:last-child {
  text-align: left;
  white-space: normal;
}

.checkout-shell #shipping_method {
  display: grid;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.checkout-shell #shipping_method li {
  position: relative;
  display: grid;
  gap: 6px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.checkout-shell #shipping_method li::marker,
.checkout-shell #payment .payment_methods li::marker {
  content: "";
}

.checkout-shell #shipping_method input.shipping_method {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.checkout-shell #shipping_method label {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  cursor: pointer;
  font-weight: 500;
  line-height: 1.25;
  transition: border-color 0.18s, box-shadow 0.18s, background-color 0.18s, transform 0.18s;
}

.checkout-shell #shipping_method li:has(input.shipping_method:checked) label,
.checkout-shell #shipping_method li.cl-checkout-shipping-choice--selected label {
  background: var(--surface-soft);
  border-color: rgb(155 123 208 / 80%);
  box-shadow: 0 12px 26px rgb(78 57 120 / 8%);
  transform: translateY(-1px);
}

.checkout-shell #shipping_method label .woocommerce-Price-amount,
.checkout-shell #shipping_method label bdi {
  color: var(--color-ink);
  font-weight: 600;
  white-space: nowrap;
}

.cl-checkout-shipping-note {
  display: block;
  padding: 0 13px 3px;
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.45;
}

.checkout-shell .cart-subtotal {
  margin-top: 4px;
}

.checkout-shell .order-total {
  margin-top: 4px;
  padding-top: 18px !important;
}

.checkout-shell .order-total th,
.checkout-shell .order-total td {
  color: var(--color-text) !important;
  font-size: 18px;
  font-weight: 600;
}

.checkout-shell .order-total td,
.checkout-shell .order-total .woocommerce-Price-amount {
  font-size: 22px;
  font-weight: 700;
}

.checkout-shell .woocommerce table.shop_table.woocommerce-checkout-review-order-table th {
  font-weight: 500;
}

.checkout-shell .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.order-total th {
  font-weight: 600;
}

.checkout-shell #payment {
  margin-top: 18px;
  padding: 0;
  background: transparent;
  border: 0;
}

.checkout-shell #payment ul.payment_methods {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
}

.checkout-shell #payment ul.payment_methods:has(> li > .woocommerce-info) {
  display: none !important;
}

.checkout-shell #payment .payment_methods > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.checkout-shell #payment .payment_methods > li > .woocommerce-info {
  display: none !important;
}

.checkout-shell #payment div.form-row.place-order {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0 !important;
  border: 0;
}

.checkout-shell #payment #place_order {
  width: 100%;
  margin: 0;
}

@media (max-width: 1023px) {
  .checkout-shell #customer_details,
  .checkout-shell #order_review {
    padding: 22px;
  }

  .checkout-shell #order_review_heading {
    margin-bottom: -6px;
  }
}

@media (max-width: 767px) {
  .checkout-shell {
    padding: 0;
  }

  .checkout-shell #customer_details,
  .checkout-shell #order_review {
    padding: 18px;
  }

  .checkout-shell .woocommerce-checkout-review-order-table tr {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .checkout-shell .woocommerce-checkout-review-order-table td:last-child {
    text-align: left;
  }

  .checkout-shell #shipping_method label {
    align-items: flex-start;
  }
}

.account-auth-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 380px);
  gap: 24px;
  align-items: center;
  margin: 0 0 24px;
  padding: 28px;
  background:
    linear-gradient(90deg, rgb(255 255 255 / 96%) 0%, rgb(255 255 255 / 84%) 48%, rgb(246 240 252 / 78%) 100%),
    var(--surface-soft);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 50px rgb(78 57 120 / 5%);
}

.account-auth-intro span,
.cl-account-welcome span,
.cl-account-section__header span,
.cl-account-loyalty__header span,
.cl-account-stats article span {
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.account-auth-intro h2 {
  margin: 8px 0 12px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(30px, 3.2vw, 52px);
  font-weight: 700;
  line-height: 1.02;
}

.account-auth-intro p,
.account-auth-intro li {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
}

.account-auth-intro p {
  max-width: 640px;
  margin: 0;
}

.account-auth-intro ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.account-auth-intro li {
  position: relative;
  padding-left: 24px;
}

.account-auth-intro li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-accent);
  content: "✓";
  font-weight: 900;
}

.woocommerce-account .account-shell {
  overflow: visible;
}

.woocommerce-account .account-shell .u-column1 h2,
.woocommerce-account .account-shell .u-column2 h2 {
  margin-bottom: 16px;
  font-size: 26px;
}

.woocommerce-account .account-shell .u-column1::before,
.woocommerce-account .account-shell .u-column2::before {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  margin-bottom: 12px;
  padding: 0 10px;
  color: var(--color-accent);
  background: var(--surface-soft);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.woocommerce-account .account-shell .u-column1::before {
  content: "Для покупателей";
}

.woocommerce-account .account-shell .u-column2::before {
  content: "Новый аккаунт";
}

.woocommerce-account .account-shell .woocommerce-form-login__submit,
.woocommerce-account .account-shell .woocommerce-form-register__submit {
  width: 100%;
}

.woocommerce-account .woocommerce-LostPassword {
  margin: -6px 0 0;
}

.woocommerce-account .woocommerce-LostPassword a {
  color: var(--color-accent);
  font-weight: 800;
}

.woocommerce-account .woocommerce-form-row em {
  color: var(--color-muted);
  font-size: 12px;
}

.woocommerce-account .account-shell:has(.cl-account-auth-card),
.woocommerce-account .account-shell--register {
  max-width: 760px;
  margin-inline: auto;
}

.woocommerce-account .account-shell .cl-account-auth-card {
  display: grid;
  gap: 18px;
}

.cl-account-auth-card__copy {
  padding: 0;
}

.cl-account-auth-card__copy h2 {
  margin: 0 0 10px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(30px, 3.1vw, 42px);
  font-weight: 600;
  line-height: 1.08;
}

.cl-account-auth-card__copy p {
  max-width: 560px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.55;
}

.cl-account-auth-card__submit {
  gap: 12px;
}

.cl-account-auth-card__submit .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 700;
}

.cl-account-auth-card__submit .woocommerce-form__input-checkbox {
  accent-color: var(--color-accent);
}

.cl-account-auth-switch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 2px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  font-weight: 600;
}

.cl-account-auth-switch a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  padding: 0 16px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 32%);
  border-radius: 8px;
  text-decoration: none;
}

.cl-account-auth-switch a:hover,
.cl-account-auth-switch a:focus-visible {
  text-decoration: underline;
}

.woocommerce-account .account-shell .woocommerce-privacy-policy-text {
  display: none !important;
}

.cl-account-dashboard {
  display: grid;
  gap: 22px;
}

.cl-account-welcome {
  display: flex;
  gap: 22px;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  background:
    linear-gradient(120deg, rgb(255 255 255 / 94%), rgb(246 240 252 / 82%)),
    var(--surface-soft);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.cl-account-welcome h2 {
  margin: 6px 0 12px;
  font-size: clamp(36px, 4.2vw, 54px);
  font-weight: 600;
  line-height: 1.05;
}

.cl-account-welcome p {
  max-width: 560px;
  margin: 0;
  color: var(--color-muted);
  line-height: 1.55;
}

.cl-account-welcome small {
  display: block;
  margin: -1px 0 10px;
  color: var(--color-text);
  font-size: 13px;
  font-weight: 700;
}

.cl-account-welcome__button,
.cl-account-empty a,
.cl-account-section__header a,
.cl-account-order-card > a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.cl-account-section__header a,
.cl-account-order-card > a {
  color: var(--color-accent);
  background: #fff;
  border-color: rgb(155 123 208 / 34%);
}

.cl-account-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.cl-account-stats article,
.cl-account-loyalty,
.cl-account-coupons,
.cl-account-section,
.cl-account-actions a,
.cl-account-order-card,
.cl-account-empty {
  min-width: 0;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgb(78 57 120 / 4%);
}

.cl-account-stats article {
  display: grid;
  gap: 9px;
  padding: 18px;
}

.cl-account-stats strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}

.cl-account-stats p,
.cl-account-loyalty p,
.cl-account-coupons p,
.cl-account-empty p,
.cl-account-actions span {
  margin: 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.5;
}

.cl-account-loyalty,
.cl-account-coupons,
.cl-account-section {
  padding: 22px;
}

.cl-account-coupon-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.cl-account-coupon-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 18px;
  background: var(--surface-soft);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.cl-account-coupon-card__top,
.cl-account-coupon-card__footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.cl-account-coupon-card__top span {
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.cl-account-coupon-card__top strong {
  color: var(--color-text);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.cl-account-coupon-card small {
  color: var(--color-muted);
  font-size: 12px;
  font-weight: 500;
}

.cl-account-coupon-card a {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 14px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 34%);
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.cl-account-favorites {
  display: grid;
  gap: 18px;
}

.cl-account-favorites .shop-state-empty {
  min-height: 280px;
}

.cl-account-favorites .favorites-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.cl-account-loyalty__header,
.cl-account-section__header {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 18px;
}

.cl-account-loyalty__header h3,
.cl-account-section__header h3 {
  margin: 6px 0 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}

.cl-account-loyalty__header p {
  max-width: 260px;
  text-align: right;
}

.cl-account-loyalty__bar {
  height: 12px;
  overflow: hidden;
  background: var(--surface-soft);
  border-radius: 999px;
}

.cl-account-loyalty__bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--color-accent), #b99be8);
  border-radius: inherit;
}

.cl-account-loyalty__tiers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.cl-account-loyalty__tiers span {
  min-height: 38px;
  padding: 9px 10px;
  color: var(--color-muted);
  background: var(--surface-soft);
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.cl-account-loyalty__tiers span.is-active {
  color: var(--color-accent);
  background: #fff;
  border-color: rgb(155 123 208 / 40%);
}

.cl-account-order-list {
  display: grid;
  gap: 12px;
}

.cl-account-order-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.cl-account-order-card__top,
.cl-account-order-card__meta,
.cl-account-order-card__actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.cl-account-order-card__top strong {
  display: block;
  color: var(--color-text);
  font-size: 18px;
  font-weight: 900;
}

.cl-account-order-card__top span,
.cl-account-order-card__meta {
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 700;
}

.cl-account-order-card mark {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  color: var(--color-accent);
  background: var(--surface-soft);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.cl-account-order-card__meta span:last-child {
  color: var(--color-text);
  font-size: 18px;
  font-weight: 900;
}

.cl-account-order-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.cl-account-order-steps span {
  position: relative;
  min-height: 34px;
  padding: 9px 8px;
  color: var(--color-muted);
  background: var(--surface-soft);
  border-radius: 8px;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}

.cl-account-order-steps span.is-active {
  color: #fff;
  background: var(--color-accent);
}

.cl-account-order-card__actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.woocommerce .account-shell .cl-account-order-card__actions a.button {
  min-height: 40px;
  padding-inline: 16px;
}

.cl-account-empty {
  display: grid;
  gap: 12px;
  justify-items: start;
  padding: 22px;
}

.cl-account-empty h3,
.cl-account-empty h4 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 700;
}

.cl-account-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.cl-account-actions a {
  display: grid;
  gap: 8px;
  padding: 18px;
  color: inherit;
}

.cl-account-actions strong {
  color: var(--color-text);
  font-size: 16px;
  font-weight: 900;
}

.cl-account-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
.woocommerce-account .woocommerce-MyAccount-content > p:nth-child(2) {
  display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(a[href*="wc_send_verification"]) {
  display: none !important;
}

@media (max-width: 1023px) {
  .account-auth-intro,
  .cl-account-stats,
  .cl-account-actions {
    grid-template-columns: 1fr;
  }

  .cl-account-loyalty__tiers {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .account-auth-intro,
  .cl-account-welcome,
  .cl-account-loyalty,
  .cl-account-coupons,
  .cl-account-section,
  .cl-account-empty {
    padding: 18px;
  }

  .cl-account-welcome,
  .cl-account-loyalty__header,
  .cl-account-section__header,
  .cl-account-order-card__top,
  .cl-account-order-card__meta {
    display: grid;
  }

  .cl-account-welcome__button {
    width: 100%;
  }

  .cl-account-loyalty__header p {
    max-width: none;
    text-align: left;
  }

  .cl-account-order-steps,
  .cl-account-loyalty__tiers,
  .cl-account-coupon-list,
  .cl-account-favorites .favorites-grid {
    grid-template-columns: 1fr;
  }

  .cl-account-coupon-card__top,
  .cl-account-coupon-card__footer {
    display: grid;
    justify-content: stretch;
  }
}

/* Notebook desktop scale: keep desktop layout, but remove oversized monitor spacing. */
@media (min-width: 1024px) {
  :root {
    --container: 1180px;
    --side-desktop: 36px;
    --section-y: clamp(54px, 5vw, 72px);
    --section-y-compact: clamp(44px, 4vw, 60px);
    --heading-section: clamp(34px, 3.1vw, 44px);
    --heading-card: clamp(19px, 1.55vw, 24px);
  }

  body {
    font-size: 15px;
  }

  .site-header__inner {
    height: 70px;
    min-height: 70px;
    gap: 18px;
  }

  .site-header__logo {
    width: 154px;
    height: 52px;
  }

  .site-header__logo img {
    object-fit: cover;
    object-position: center;
  }

  .site-header__desktop-nav-inner {
    gap: clamp(12px, 1.55vw, 22px);
    font-size: 12.5px;
  }

  .site-header__utility {
    gap: 7px;
  }

  .site-header__action-link {
    height: 38px;
    min-height: 38px;
    padding: 0 10px;
    font-size: 12.5px;
  }

  .hero {
    min-height: clamp(520px, 68vh, 640px);
  }

  .hero__content {
    padding-block: 60px 54px;
  }

  .hero__copy h1 {
    font-size: clamp(46px, 5.1vw, 64px);
  }

  .hero__copy p {
    max-width: 500px;
    margin-top: 18px;
    font-size: 17px;
    line-height: 1.58;
  }

  .hero__actions {
    margin-top: 26px;
  }

  .hero__primary,
  .hero__secondary {
    min-width: 176px;
    min-height: 52px;
    padding-inline: 24px;
  }

  .home-catalog,
  .home-catalog--collection,
  .home-usp,
  .home-importance,
  .home-highlights,
  .home-audience,
  .home-specialists,
  .home-research,
  .home-labs {
    padding-top: 62px;
    padding-bottom: 66px;
  }

  .home-catalog--sets,
  .home-catalog--collection + .home-catalog--collection {
    padding-top: 0;
  }

  .home-catalog__inner {
    gap: 24px;
  }

  .home-catalog__top h2 {
    max-width: 620px;
  }

  .home-catalog__grid {
    --home-catalog-gap: 20px;
  }

  .home-catalog .catalog-product-card__media,
  .catalog-product-card__media {
    aspect-ratio: 1 / 0.72;
  }

  .home-catalog .catalog-product-card__body,
  .catalog-product-card__body {
    gap: 10px;
    padding: 18px;
  }

  .catalog-product-card__title {
    min-height: calc(1.2em * 2);
    font-size: 16px;
    line-height: 1.2;
  }

  .catalog-product-card__description {
    min-height: calc(13px * 1.45 * 2);
    font-size: 13px;
    line-height: 1.45;
  }

  .catalog-product-card__price-row {
    height: 46px;
    gap: 10px;
    padding-top: 4px;
  }

  .catalog-product-card__price {
    font-size: 24px;
  }

  .catalog-product-card__old-price,
  .catalog-product-card__rating,
  .catalog-product-card__stock {
    font-size: 12px;
  }

  .catalog-product-card__actions {
    gap: 10px;
    padding-top: 6px;
  }

  .catalog-product-card__button,
  .catalog-product-card__details {
    min-height: 46px;
    padding-inline: 12px;
    font-size: 13px;
  }

  .catalog-product-card__button [data-cart-button-label] {
    min-width: 64px;
  }

  .catalog-product-card__badges {
    top: 14px;
    left: 14px;
    max-width: calc(100% - 82px);
  }

  .catalog-product-card__badge {
    min-height: 28px;
    padding-inline: 10px;
    font-size: 11px;
  }

  .catalog-product-card__favorite {
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
  }

  .home-catalog-promo__content {
    gap: 10px;
    padding: 22px;
  }

  .home-catalog-promo strong {
    max-width: 270px;
    font-size: clamp(24px, 2.2vw, 31px);
  }

  .home-catalog-promo__content > span:not(.home-catalog-promo__badge, .home-catalog-promo__link) {
    max-width: 260px;
    font-size: 14px;
  }

  .home-highlights {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .home-highlights__inner {
    width: min(100%, 1180px);
    gap: 34px;
    padding-inline: var(--side-desktop);
  }

  .home-highlights__heading {
    max-width: 850px;
  }

  .home-highlights__heading h2 {
    font-size: clamp(34px, 3.2vw, 44px);
  }

  .home-highlights__heading h2 span {
    margin-bottom: 6px;
    font-size: clamp(50px, 4.8vw, 64px);
  }

  .home-highlights__layout {
    grid-template-columns:
      minmax(250px, 0.86fr)
      minmax(380px, 1.18fr)
      minmax(250px, 0.86fr);
    column-gap: clamp(26px, 3vw, 42px);
    align-items: start;
  }

  .home-highlights__visual {
    padding-top: 18px;
  }

  .home-highlights__image {
    width: min(100%, 560px);
  }

  .home-highlights__column,
  .home-highlights__column--right {
    gap: 18px;
  }

  .home-highlight-card {
    min-height: 150px;
    gap: 10px;
    padding: 18px;
  }

  .home-highlight-card__title {
    font-size: clamp(23px, 1.9vw, 28px);
  }

  .home-highlight-card__text {
    font-size: 14px;
    line-height: 1.45;
  }

  .catalog-hero,
  .sale-hero,
  .delivery-hero {
    padding-top: 46px;
    padding-bottom: 54px;
  }

  .catalog-hero h1,
  .sale-hero h1,
  .delivery-hero h1,
  .company-hero h1,
  .reviews-page__hero-content h1,
  .reviews-page__compact-hero h1,
  .reviews-page__stories-hero h1,
  .research-hub-hero h1,
  .research-article-hero h1,
  .research-detail__hero h1,
  .contacts-hero h1,
  .faq-hero h1,
  .blog-hero h1,
  .article-hero h1,
  .shop-state-page__hero h1 {
    font-size: clamp(42px, 4.8vw, 62px);
    line-height: 1.04;
  }

  .catalog-hero p,
  .sale-hero p,
  .delivery-hero p,
  .company-hero__lead,
  .contacts-hero p,
  .faq-hero p,
  .blog-hero p,
  .article-hero__content > p {
    font-size: 16px;
    line-height: 1.62;
  }

  .catalog-tags {
    padding-top: 42px;
    padding-bottom: 28px;
  }

  .catalog-tags__grid {
    gap: 18px;
  }

  .catalog-tag-card {
    min-height: 218px;
  }

  .catalog-grid-section {
    padding-top: 24px;
    padding-bottom: 66px;
  }

  .catalog-grid {
    gap: 20px;
  }

  .product-detail__content h1 {
    font-size: 38px;
  }

  .wp-page__content,
  .woocommerce-cart .site-main,
  .woocommerce-checkout .site-main,
  .woocommerce-account .site-main,
  .woocommerce-cart .wp-page__content,
  .woocommerce-checkout .wp-page__content,
  .woocommerce-account .wp-page__content {
    padding-top: 36px;
    padding-bottom: 68px;
  }
}

/* Codex final cascade — keep these rules last. */
@media (min-width: 768px) {
  .site-header__logo {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
  }

  .site-header__logo img {
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .site-header__cart-link {
    padding-inline: 10px !important;
  }

  .hero__image-overlay {
    background: none !important;
  }
}

@media (min-width: 1024px) {
  .catalog-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-catalog__grid--fixed {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-catalog--sets .home-catalog__grid--fixed {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .site-header .container.site-header__inner {
    display: grid !important;
    grid-template-columns: minmax(112px, 1fr) 44px 44px !important;
    grid-template-areas: "logo cart burger" !important;
    grid-template-rows: 68px !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: initial !important;
    min-height: 68px !important;
    padding-inline: 18px !important;
  }

  .site-header__logo {
    grid-area: logo !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: start !important;
    width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    transform: none !important;
    inset: auto !important;
  }

  body .site-header .site-header__utility .site-header__cart-link.site-header__action-link {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
  }

  .site-header__logo img {
    width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
    object-position: center !important;
  }

  .site-header__utility {
    grid-area: cart !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: static !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    align-self: center !important;
    justify-self: end !important;
    transform: none !important;
    inset: auto !important;
  }

  .site-header__left-utility {
    grid-area: burger !important;
    grid-column: 3 !important;
    grid-row: 1 !important;
    position: static !important;
    display: flex !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    align-self: center !important;
    justify-self: end !important;
    transform: none !important;
    inset: auto !important;
  }

  .site-header__count-link,
  .site-header__account-link,
  .site-header__action-label {
    display: none !important;
  }

  .site-header__cart-link,
  .site-header__menu-button {
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    transform: none !important;
    inset: auto !important;
  }

  .site-header__cart-link svg,
  .site-header__menu-button svg {
    width: 22px !important;
    height: 22px !important;
  }

  .site-header__action-count {
    top: 2px !important;
    right: 2px !important;
  }

  .hero {
    position: relative !important;
    display: block !important;
    min-height: calc(100svh - 68px) !important;
    overflow: hidden !important;
  }

  .hero__visual {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .hero__visual picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .hero__image {
    width: 100% !important;
    height: 100% !important;
    object-position: 50% 30% !important;
  }

  .hero__image-overlay {
    background: none !important;
  }

  .hero__content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    min-height: calc(100svh - 68px) !important;
    align-items: flex-end !important;
    justify-content: flex-end !important;
    padding-top: 220px !important;
    padding-bottom: 44px !important;
  }

  .hero__copy {
    max-width: 100% !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
  }

  .hero__copy h1,
  .hero__copy p {
    color: #fff !important;
  }

  .home-catalog-promo {
    min-height: 520px !important;
  }

  .home-catalog-promo .cl-fill-image {
    object-position: 50% 8% !important;
  }

  .home-catalog-promo__shade {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 24%, rgba(33, 20, 38, 0.72) 100%) !important;
  }

  .home-catalog-promo__content {
    justify-content: flex-end !important;
    min-height: 100% !important;
    padding-top: 300px !important;
  }
}

/* Client revision: make the six importance icons visibly larger. */
.home-highlights,
.home-highlights__inner {
  width: 100% !important;
  margin-left: 0 !important;
}

.home-importance-card {
  grid-template-columns: 110px minmax(0, 1fr) !important;
  align-items: start !important;
}

.home-importance-card__icon {
  width: 110px !important;
  min-width: 110px !important;
  height: 110px !important;
  transform: translateY(-32px) !important;
}

.home-importance-card__icon img {
  width: 128px !important;
  max-width: none !important;
  height: 128px !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-importance-card {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }

  .home-importance-card__icon {
    width: 94px !important;
    min-width: 94px !important;
    height: 94px !important;
    transform: translateY(-27.5px) !important;
  }

  .home-importance-card__icon img {
    width: 110px !important;
    height: 110px !important;
  }
}

@media (max-width: 767px) {
  .home-importance-card {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .home-importance-card__icon {
    width: 76px !important;
    min-width: 76px !important;
    height: 76px !important;
    transform: translateY(-22px) !important;
  }

  .home-importance-card__icon img {
    width: 88px !important;
    height: 88px !important;
  }
}

/* Keep catalog select chevrons above the later generic WooCommerce form rule. */
.woocommerce .catalog-filter__field select,
.woocommerce .catalog-grid-section__sort select {
  padding: 0 44px 0 14px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.25 7 7.25 13 1.25' stroke='%23756B84' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 14px 9px;
  appearance: none;
  -webkit-appearance: none;
}

/* Frontend revision: black importance copy and a scroll-led product story. */
.home-importance-card p {
  color: #17131b !important;
}

.catalog-product-card__button {
  justify-content: center;
  text-align: center;
}

.home-highlights {
  --highlights-progress: 0;
  --highlights-scale: 0.94;
  position: relative;
  padding: 0 !important;
  background: #fff !important;
}

.home-highlights__inner {
  position: relative;
}

.home-highlights__heading {
  position: relative;
  z-index: 3;
  max-width: 880px !important;
  margin: 0 !important;
  text-align: left !important;
}

.home-highlights__heading h2 {
  max-width: none !important;
  margin: 0 !important;
  color: #17131b !important;
  font-size: clamp(36px, 3.1vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

.home-highlights__heading h2 span {
  display: block !important;
  margin-bottom: 4px !important;
  color: #70478a !important;
  font-size: clamp(44px, 4vw, 60px) !important;
  line-height: 0.98 !important;
  white-space: normal !important;
}

.home-highlights__heading p {
  display: none !important;
}

.home-highlights__layout {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(250px, 0.92fr) minmax(340px, 1.18fr) minmax(250px, 0.92fr) !important;
  align-items: center !important;
  column-gap: clamp(18px, 2.8vw, 42px) !important;
  width: 100% !important;
  margin: 0 !important;
}

.home-highlights__visual {
  position: relative !important;
  z-index: 1;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
}

.home-highlights__image {
  display: block !important;
  width: 100% !important;
  max-width: 500px !important;
  height: auto !important;
  mix-blend-mode: multiply;
  filter: none !important;
}

.home-highlights__column {
  position: relative;
  z-index: 2;
  display: grid !important;
  align-content: center !important;
  gap: 12px !important;
  min-width: 0 !important;
}

.home-highlight-card {
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 96px !important;
  padding: 9px 13px !important;
  border: 1.5px solid rgba(155, 123, 208, 0.78) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: left !important;
}

.home-highlight-card__title {
  color: #17131b !important;
  font-size: clamp(18px, 1.3vw, 20px) !important;
  font-weight: 600 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.018em !important;
}

.home-highlight-card__text {
  margin-top: 0 !important;
  color: #4f4858 !important;
  font-size: clamp(12px, 0.88vw, 13px) !important;
  line-height: 1.32 !important;
}

@media (min-width: 1024px) {
  .home-highlights {
    min-height: 320vh !important;
    overflow: clip !important;
  }

  .home-highlights__inner {
    position: sticky !important;
    top: 70px !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: clamp(12px, 2.2vh, 20px) !important;
    width: min(calc(100% - 48px), 1220px) !important;
    height: calc(100vh - 70px) !important;
    min-height: 550px !important;
    padding: clamp(18px, 3.2vh, 30px) 0 12px !important;
    overflow: hidden !important;
  }

  .home-highlights__layout {
    min-height: 0 !important;
    height: 100% !important;
  }

  .home-highlights__visual {
    align-self: center !important;
    transform: scale(var(--highlights-scale)) !important;
    transform-origin: center center !important;
    transition: transform 100ms linear !important;
  }

  .home-highlights__column {
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    align-content: stretch !important;
    align-self: center !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 418px !important;
  }

  .home-highlight-card {
    --fact-shift: -36px;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  .home-highlights__column--right .home-highlight-card {
    --fact-shift: 36px;
  }

  .home-highlights--enhanced .home-highlight-card {
    opacity: 0 !important;
    transform: translate3d(var(--fact-shift), 12px, 0) !important;
    transition: opacity 500ms ease, transform 640ms cubic-bezier(0.2, 0.75, 0.2, 1), border-color 180ms ease, box-shadow 180ms ease !important;
  }

  .home-highlights--enhanced .home-highlight-card.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .home-highlights--enhanced .home-highlight-card.is-visible:hover {
    border-color: rgba(112, 71, 138, 0.96) !important;
    box-shadow: 0 12px 28px rgba(23, 19, 29, 0.06) !important;
    transform: translate3d(0, -2px, 0) !important;
  }
}

@media (max-width: 1023px) {
  .home-highlights {
    min-height: 0 !important;
    padding: 72px 0 80px !important;
    overflow: hidden !important;
  }

  .home-highlights__inner {
    position: static !important;
    display: grid !important;
    gap: 28px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  .home-highlights__heading h2 {
    font-size: clamp(34px, 6.5vw, 48px) !important;
  }

  .home-highlights__layout {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .home-highlights__visual {
    order: -1 !important;
    width: min(78vw, 560px) !important;
    margin: 0 auto !important;
    transform: none !important;
  }

  .home-highlights__column {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card {
    position: static !important;
    width: 100% !important;
    min-height: 132px !important;
    padding: 20px !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .home-highlight-card__title {
    font-size: 22px !important;
  }
}

@media (max-width: 767px) {
  .home-highlights {
    padding: 56px 0 64px !important;
  }

  .home-highlights__inner {
    width: min(calc(100% - 32px), 560px) !important;
  }

  .home-highlights__heading h2 {
    font-size: clamp(32px, 10vw, 42px) !important;
    line-height: 1.03 !important;
  }

  .home-highlights__heading h2 span {
    font-size: clamp(38px, 12vw, 48px) !important;
  }

  .home-highlights__visual {
    width: min(96vw, 430px) !important;
  }

  .home-highlights__column {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card {
    min-height: 0 !important;
    padding: 18px 20px !important;
    text-align: left !important;
  }

  .home-highlight-card__title {
    font-size: 22px !important;
  }

  .home-highlight-card__text {
    margin-top: 6px !important;
    font-size: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-highlights__visual,
  .home-highlight-card {
    transition: none !important;
  }

  .home-highlights--enhanced .home-highlight-card {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Delivery page revision: compact summary headings, clearer payment rhythm and four-step order flow. */
.delivery-hero__summary strong {
  font-size: clamp(18px, 1.5vw, 20px);
  line-height: 1.18;
}

.delivery-payment .delivery-section-heading {
  display: grid;
  gap: 18px;
}

.delivery-payment .delivery-section-heading p {
  margin: 0;
}

.delivery-payment-card > div {
  display: grid;
  align-content: start;
  gap: 8px;
}

.delivery-process__inner {
  padding: 0 var(--side-desktop);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

@media (max-width: 1023px) {
  .delivery-process__inner {
    padding-inline: var(--side-tablet);
  }
}

@media (max-width: 767px) {
  .delivery-process__inner {
    padding-inline: var(--side-mobile);
  }
}

/* Homepage grid: keep every section on the shared site container. */
.home-highlights__inner {
  width: min(100%, var(--container)) !important;
  margin-inline: auto !important;
}

@media (min-width: 1024px) {
  .home-highlights__inner {
    padding-inline: var(--side-desktop) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-highlights__inner {
    padding-inline: var(--side-tablet) !important;
  }
}

@media (max-width: 767px) {
  .home-highlights__inner {
    padding-inline: var(--side-mobile) !important;
  }
}

/* Frontend revision: featured new product, compact catalog hero and stable product gallery. */
.home-new-product {
  padding: 28px 0 80px;
  background: #fff;
}

.home-new-product__panel {
  display: grid;
  min-height: clamp(620px, 48vw, 700px);
  grid-template-columns: minmax(0, 55%) minmax(0, 45%);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  background: #fcfafe;
  border: 1px solid #eee8f5;
  border-radius: 24px;
  box-shadow: 0 24px 60px rgb(76 50 111 / 10%);
}

.home-new-product__content {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 16px;
  padding: clamp(44px, 4vw, 56px) clamp(36px, 3.6vw, 50px);
  background: #fff;
  position: relative;
  z-index: 2;
}

.home-new-product__eyebrow {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 0 16px;
  color: #8f6fd0;
  background: #fff;
  border: 1px solid #dfd1f5;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.home-new-product__content h2 {
  max-width: 650px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(40px, 3.65vw, 52px);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.02;
}

.home-new-product__content > p {
  max-width: 610px;
  margin: 0;
  color: #625a6d;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.55;
}

.home-new-product__benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.home-new-product__benefits > span {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 16px 0 8px;
  color: #3f344b;
  background: #fff;
  border: 1px solid #e6dcf5;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.home-new-product__benefit-icon {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  place-items: center;
  color: #9b7bd0;
  background: #f5effd;
  border-radius: 50%;
}

.home-new-product__price {
  margin-top: 4px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(34px, 2.8vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}

.home-new-product__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.home-new-product__link {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 24px;
  border: 1px solid var(--color-accent);
  border-radius: 9px;
  font-size: 15px;
  font-weight: 800;
  transition: color 0.18s, background 0.18s, transform 0.18s;
}

.home-new-product__link--primary {
  min-width: 252px;
  color: #fff;
  background: var(--color-accent);
}

.home-new-product__link--cart {
  min-width: 166px;
  color: #8b68ca;
  background: #fff;
}

.home-new-product__link--primary:hover,
.home-new-product__link--primary:focus-visible {
  color: #fff;
  background: #7657ad;
  outline: 0;
  transform: translateY(-1px);
}

.home-new-product__link--cart:hover,
.home-new-product__link--cart:focus-visible {
  color: #fff;
  background: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

.home-new-product__visual {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #f0e8f7;
  border-radius: 48% 24px 24px 48%;
}

.home-new-product__image {
  object-fit: cover;
  object-position: 52% 58%;
  transition: transform 0.45s ease;
}

.home-new-product__visual:hover .home-new-product__image,
.home-new-product__visual:focus-visible .home-new-product__image {
  transform: scale(1.025);
}

@media (prefers-reduced-motion: reduce) {
  .home-new-product__image,
  .home-new-product__link {
    transition: none;
  }
}

.product-detail__media {
  width: 100%;
  max-width: 100%;
  min-height: 0;
}

@media (min-width: 768px) {
  .catalog-hero {
    min-height: clamp(300px, 27vw, 350px);
    aspect-ratio: auto;
  }

  .catalog-hero__image {
    object-fit: cover;
    object-position: center 46%;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-new-product__panel {
    min-height: 610px;
    grid-template-columns: minmax(0, 56%) minmax(0, 44%);
  }

  .home-new-product__content {
    gap: 18px;
    padding: 40px 34px;
  }

  .home-new-product__content h2 {
    font-size: clamp(36px, 5vw, 48px);
  }

  .home-new-product__benefits {
    gap: 8px;
  }

  .home-new-product__benefits > span {
    min-height: 42px;
    padding-right: 12px;
    font-size: 12px;
  }

  .home-new-product__benefit-icon {
    width: 30px;
    height: 30px;
  }

  .home-new-product__actions {
    width: 100%;
  }

  .home-new-product__link {
    min-width: 0;
    flex: 1 1 160px;
    padding-inline: 16px;
  }

  .home-new-product__visual {
    border-radius: 44% 24px 24px 44%;
  }
}

@media (max-width: 767px) {
  .home-new-product {
    padding: 8px 0 56px;
  }

  .home-new-product__panel {
    grid-template-columns: 1fr;
    min-height: 0;
    border-radius: 18px;
  }

  .home-new-product__content {
    gap: 17px;
    padding: 30px 22px 26px;
  }

  .home-new-product__content h2 {
    font-size: clamp(31px, 9.1vw, 40px);
    line-height: 1.06;
  }

  .home-new-product__content > p {
    font-size: 15px;
    line-height: 1.58;
  }

  .home-new-product__benefits {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
  }

  .home-new-product__benefits > span {
    min-width: 0;
    min-height: 74px;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    padding: 9px 4px;
    font-size: 11px;
    text-align: center;
    white-space: normal;
  }

  .home-new-product__benefit-icon {
    width: 32px;
    height: 32px;
  }

  .home-new-product__price {
    font-size: 34px;
  }

  .home-new-product__actions {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }

  .home-new-product__link,
  .home-new-product__link--primary,
  .home-new-product__link--cart {
    width: 100%;
    min-width: 0;
  }

  .home-new-product__visual {
    min-height: clamp(380px, 112vw, 520px);
    border-radius: 48% 48% 18px 18px;
  }

  .home-new-product__image {
    object-position: 50% 60%;
  }
}

/* Keep the mobile highlights grid inside its padded content area. */
@media (max-width: 767px) {
  .home-highlights__inner,
  .home-highlights__layout,
  .home-highlights__column,
  .home-highlight-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .home-highlights__inner {
    padding-inline: var(--side-mobile) !important;
  }

  .home-highlights__visual {
    width: min(100%, 430px) !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Hero revision: selected lavender-panel concept. */
.hero.hero--lavender-panel {
  min-height: clamp(650px, calc(100svh - 71px), 820px);
  isolation: isolate;
  background: #8d79b8;
}

.hero.hero--lavender-panel::before {
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: clamp(600px, 45vw, 720px);
  border-radius: 0 48% 48% 0;
  background: #8d79b8;
  content: "";
  pointer-events: none;
}

.hero--lavender-panel .hero__image {
  object-position: center center;
}

.hero--lavender-panel .hero__image-overlay {
  background: none !important;
}

.hero--lavender-panel .hero__content {
  min-height: inherit;
  align-items: center;
  padding-block: 54px 46px;
}

.hero--lavender-panel .hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  width: min(100%, 560px);
  min-height: 500px;
  flex-direction: column;
  justify-content: center;
  color: #fff;
  text-shadow: none;
}

.hero--lavender-panel .hero__eyebrow {
  display: block;
  margin-bottom: 24px;
  color: #fff;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hero--lavender-panel .hero__copy h1 {
  max-width: 610px;
  color: #fff !important;
  font-size: clamp(46px, 4.3vw, 64px);
  font-weight: 650 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12;
}

.hero--lavender-panel .hero__copy > p {
  max-width: 520px;
  margin-top: 26px;
  color: rgb(255 255 255 / 88%);
  font-size: clamp(17px, 1.4vw, 21px);
  line-height: 1.55;
}

.hero--lavender-panel .hero__actions {
  align-items: center;
  gap: 28px;
  margin-top: 34px;
}

.hero--lavender-panel .hero__primary,
.hero--lavender-panel .hero__secondary {
  min-height: 58px;
  border-radius: 8px;
}

.hero--lavender-panel .hero__primary {
  min-width: 240px;
  color: #18131f;
  background: #fff;
  border-color: #fff;
}

.hero--lavender-panel .hero__primary:hover,
.hero--lavender-panel .hero__primary:focus-visible {
  color: #18131f;
  background: #f7f2fb;
  border-color: #f7f2fb;
}

.hero--lavender-panel .hero__secondary {
  min-width: 0;
  min-height: 40px;
  padding-inline: 0;
  color: #fff;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgb(255 255 255 / 78%);
  border-radius: 0;
}

.hero--lavender-panel .hero__secondary:hover,
.hero--lavender-panel .hero__secondary:focus-visible {
  color: #fff;
  background: transparent;
  border-color: #fff;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .hero.hero--lavender-panel::before {
    width: clamp(520px, 58vw, 640px);
  }

  .hero--lavender-panel .hero__image {
    object-position: 58% center;
  }

  .hero--lavender-panel .hero__copy {
    width: min(52vw, 500px);
  }

  .hero--lavender-panel .hero__copy h1 {
    font-size: clamp(42px, 5.4vw, 56px);
  }

}

@media (max-width: 767px) {
  .hero.hero--lavender-panel {
    display: flex !important;
    min-height: 0 !important;
    flex-direction: column;
    overflow: hidden !important;
    background: #8d79b8;
  }

  .hero.hero--lavender-panel::before {
    display: none;
  }

  .hero--lavender-panel .hero__visual {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: clamp(360px, 112vw, 500px) !important;
    min-height: 0 !important;
    flex: 0 0 auto;
    order: 2;
  }

  .hero--lavender-panel .hero__visual picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .hero--lavender-panel .hero__image {
    width: 100% !important;
    height: 100% !important;
    object-position: 50% 26% !important;
  }

  .hero--lavender-panel .hero__content {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    min-height: 0 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    order: 1;
    padding: 32px var(--side-mobile) 38px !important;
  }

  .hero--lavender-panel .hero__copy {
    display: flex;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0;
    padding: 0 !important;
    color: #fff !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  .hero--lavender-panel .hero__eyebrow {
    margin-bottom: 16px;
    font-size: 12px;
  }

  .hero--lavender-panel .hero__copy h1 {
    max-width: 100%;
    color: #fff !important;
    font-size: clamp(36px, 10.8vw, 48px);
    line-height: 1.08;
  }

  .hero--lavender-panel .hero__copy > p {
    max-width: 100%;
    margin-top: 18px;
    color: rgb(255 255 255 / 88%) !important;
    font-size: 15px;
    line-height: 1.52;
  }

  .hero--lavender-panel .hero__actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 24px;
  }

  .hero--lavender-panel .hero__primary,
  .hero--lavender-panel .hero__secondary {
    width: 100%;
    min-width: 0;
    min-height: 50px;
  }

  .hero--lavender-panel .hero__secondary {
    justify-self: center;
    width: auto;
    min-height: 38px;
  }

}

/* Homepage alignment and interaction refinements. */
@media (min-width: 1024px) {
  .hero.hero--lavender-panel {
    width: calc(100% - var(--side-desktop) - var(--side-desktop));
    margin-inline: auto;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .hero.hero--lavender-panel {
    width: calc(100% - var(--side-tablet) - var(--side-tablet));
    margin-inline: auto;
  }
}

@media (min-width: 768px) {
  .home-importance__heading {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2vw, 26px);
  }
}

.home-new-product__price {
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0;
}

@media (hover: hover) {
  .home-highlights--enhanced .home-highlight-card.is-visible:hover {
    border-color: rgb(155 123 208 / 100%) !important;
    background: #fbf9fe !important;
    box-shadow: 0 18px 40px rgb(23 19 29 / 8%) !important;
    transform: translateY(-3px) !important;
  }
}

@media (hover: none) {
  .home-highlights--enhanced .home-highlight-card:active {
    border-color: rgb(155 123 208 / 100%) !important;
    background: #f7f1fc !important;
    box-shadow: 0 12px 28px rgb(23 19 29 / 8%) !important;
    transform: scale(0.985) !important;
  }
}

/* Contact form — selected concept 03. */
.contacts-partner {
  padding: clamp(56px, 7vw, 92px) 0;
  background: #fff;
}

.contacts-partner__inner {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1fr);
  gap: 0;
  align-items: stretch;
  overflow: hidden;
  padding: 0;
  border: 1px solid #e8e0f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 20px 54px rgb(56 43 75 / 8%);
}

.contacts-partner__copy {
  display: flex;
  max-width: none;
  min-height: 650px;
  flex-direction: column;
  justify-content: flex-start;
  padding: clamp(44px, 4vw, 64px);
  padding-top: clamp(86px, 8vw, 108px);
  color: #fff;
  background: linear-gradient(145deg, #a687d7 0%, #8e6bc5 100%);
}

.contacts-partner__eyebrow {
  margin: 0 0 20px;
  color: rgb(255 255 255 / 86%) !important;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.contacts-partner__copy h2 {
  max-width: 390px;
  margin: 0 0 22px;
  color: #fff !important;
  font-size: clamp(44px, 3.35vw, 58px) !important;
  font-weight: 700 !important;
  line-height: 0.98;
  letter-spacing: -0.05em;
}

.contacts-partner__copy > p:not(.contacts-partner__eyebrow) {
  max-width: 430px;
  margin: 0;
  color: rgb(255 255 255 / 88%) !important;
  font-size: 17px !important;
  line-height: 1.58;
}

.contacts-partner__form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: center;
  gap: 18px 16px;
  padding: clamp(38px, 4vw, 62px);
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

.contacts-partner__form .contacts-partner__field {
  display: grid;
  gap: 8px;
  margin: 0;
  color: #5f5668;
  font-size: 13px;
  font-weight: 700;
}

.contacts-partner__field--phone,
.contacts-partner__field--message,
.contacts-partner__notice,
.contacts-partner__form button {
  grid-column: 1 / -1;
}

.contacts-partner__form input,
.contacts-partner__form textarea {
  width: 100%;
  min-height: 52px;
  padding: 13px 15px;
  border: 1px solid #dfd7e9;
  border-radius: 10px;
  background: #fff;
  color: #221c29;
  font: inherit;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contacts-partner__form textarea {
  min-height: 126px;
  resize: vertical;
}

.contacts-partner__form input:focus,
.contacts-partner__form textarea:focus {
  border-color: #9b7bd0;
  box-shadow: 0 0 0 3px rgb(155 123 208 / 13%);
}

.contacts-partner__form button {
  min-height: 54px;
  margin-top: 2px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(90deg, #714ebb 0%, #6040ad 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 750;
  cursor: pointer;
  box-shadow: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.contacts-partner__form button:hover,
.contacts-partner__form button:focus-visible {
  background: #5d3ba8;
  outline: none;
  transform: translateY(-1px);
}

/* Homepage refinements requested with the selected contact concept. */
.home-importance-card {
  grid-template-columns: 122px minmax(0, 1fr) !important;
}

.home-importance-card__icon {
  width: 122px !important;
  min-width: 122px !important;
  height: 122px !important;
  transform: translate(-12px, -34px) !important;
}

.home-importance-card__icon img {
  width: 140px !important;
  height: 140px !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-importance-card {
    grid-template-columns: 102px minmax(0, 1fr) !important;
  }

  .home-importance-card__icon {
    width: 102px !important;
    min-width: 102px !important;
    height: 102px !important;
    transform: translate(-9px, -29px) !important;
  }

  .home-importance-card__icon img {
    width: 118px !important;
    height: 118px !important;
  }
}

@media (max-width: 767px) {
  .contacts-partner {
    padding: 42px 0 58px;
  }

  .contacts-partner__inner {
    grid-template-columns: 1fr;
    border-radius: 16px;
  }

  .contacts-partner__copy {
    min-height: 0;
    padding: 36px 24px 38px;
  }

  .contacts-partner__copy h2 {
    margin-bottom: 16px;
    font-size: clamp(38px, 12vw, 50px);
  }

  .contacts-partner__copy > p:not(.contacts-partner__eyebrow) {
    font-size: 15px;
  }

  .contacts-partner__form {
    grid-template-columns: 1fr;
    gap: 15px;
    padding: 28px 20px 24px;
  }

  .contacts-partner__field--name,
  .contacts-partner__field--email,
  .contacts-partner__field--phone,
  .contacts-partner__field--message {
    grid-column: 1;
  }

  .home-new-product__visual {
    order: 1;
  }

  .home-new-product__content {
    order: 2;
  }

  .home-importance-card {
    grid-template-columns: 84px minmax(0, 1fr) !important;
  }

  .home-importance-card__icon {
    width: 84px !important;
    min-width: 84px !important;
    height: 84px !important;
    transform: translate(-7px, -24px) !important;
  }

  .home-importance-card__icon img {
    width: 98px !important;
    height: 98px !important;
  }
}

/* Reviews slider, distributor partnership and real Yandex maps. */
.catalog-review-card[hidden] {
  display: none !important;
}

.catalog-reviews__grid {
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.contacts-map__slot {
  width: 100%;
  height: 100%;
  min-height: 420px;
  padding: 0;
  background: #f4f0f8;
}

.contacts-map__slot iframe {
  display: block;
  width: 100%;
  min-height: 420px;
  height: 100%;
}

.contacts-distributors {
  scroll-margin-top: 120px;
  padding: clamp(64px, 8vw, 104px) 0;
  background: #fff;
}

.contacts-distributors__showcase {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
  align-items: center;
}

.contacts-distributors__visual {
  position: relative;
  overflow: hidden;
  min-height: 640px;
  background: #f3eef8;
  border: 1px solid #e8e0f1;
  border-radius: 18px;
}

.contacts-distributors__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.contacts-distributors__form.contacts-partner__form {
  position: relative;
  z-index: 2;
  min-height: 566px;
  align-content: center;
  margin-left: -72px;
  padding: clamp(34px, 3.7vw, 54px);
  background: rgb(255 255 255 / 98%);
  border: 1px solid #e8e0f1;
  border-radius: 18px;
  box-shadow: 0 26px 64px rgb(48 34 68 / 14%);
}

.contacts-distributors__form-heading {
  display: grid;
  grid-column: 1 / -1;
  gap: 13px;
  margin-bottom: 8px;
}

.contacts-distributors__form-heading .contacts-partner__eyebrow {
  margin: 0;
  color: var(--color-accent) !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contacts-distributors__form-heading h2 {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(38px, 3.8vw, 58px);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1;
}

.contacts-distributors__form-heading > p:last-child {
  max-width: 640px;
  margin: 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.58;
}

.contacts-distributor-map {
  padding: clamp(64px, 8vw, 104px) 0;
  background: linear-gradient(180deg, #f8f5fb 0%, #fff 100%);
  border-top: 1px solid #eee8f4;
}

.contacts-distributor-map__inner {
  display: grid;
  gap: 28px;
}

.contacts-distributor-map__heading {
  display: grid;
  max-width: 860px;
  gap: 10px;
}

.contacts-distributor-map__heading p {
  margin: 0;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contacts-distributor-map__heading h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(40px, 4.5vw, 64px);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1;
}

.contacts-distributor-map__heading span {
  color: var(--color-muted);
  font-size: 17px;
  line-height: 1.6;
}

.contacts-distributor-map__frame {
  overflow: hidden;
  min-height: 560px;
  background: #ebe5f2;
  border: 1px solid #ded3ea;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgb(48 34 68 / 9%);
}

.contacts-distributor-map__frame iframe {
  display: block;
  width: 100%;
  min-height: 560px;
  border: 0;
}

.contacts-distributor-map__locations {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contacts-distributor-map__locations li {
  padding: 9px 14px;
  color: #5d4a79;
  background: #fff;
  border: 1px solid #ded3ea;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 1023px) {
  .contacts-distributors__showcase {
    grid-template-columns: minmax(0, 1fr) minmax(370px, 0.9fr);
  }

  .contacts-distributors__visual {
    min-height: 560px;
  }

  .contacts-distributors__form.contacts-partner__form {
    margin-left: -44px;
    padding: 36px;
  }
}

@media (max-width: 767px) {
  .contacts-map__slot,
  .contacts-map__slot iframe {
    min-height: 320px;
  }

  .contacts-distributors {
    padding: 48px 0 64px;
  }

  .contacts-distributors__showcase {
    grid-template-columns: 1fr;
  }

  .contacts-distributors__visual {
    min-height: 0;
    aspect-ratio: 4 / 3;
    border-radius: 16px;
  }

  .contacts-distributors__form.contacts-partner__form {
    z-index: 2;
    min-height: 0;
    margin: -26px 12px 0;
    padding: 30px 20px 24px;
    border-radius: 16px;
  }

  .contacts-distributors__form-heading h2 {
    font-size: clamp(36px, 11vw, 48px);
  }

  .contacts-distributor-map {
    padding: 54px 0 70px;
  }

  .contacts-distributor-map__frame,
  .contacts-distributor-map__frame iframe {
    min-height: 420px;
  }

  .contacts-distributor-map__locations {
    gap: 8px;
  }

  .contacts-distributor-map__locations li {
    padding: 8px 12px;
    font-size: 12px;
  }
}

/* Reviews: service-page heading, specialist letters and verified marketplace feedback. */
.reviews-stories h1 {
  max-width: 780px;
  font-size: clamp(42px, 4.8vw, 62px);
  line-height: 1.04;
}

.reviews-stories__eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reviews-stories__letters-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.reviews-stories__letter-card {
  display: grid;
  min-height: 0;
  gap: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 44px rgb(44 34 62 / 6%);
}

.reviews-stories__letter-sheet {
  position: relative;
  display: flex;
  min-height: 376px;
  flex-direction: column;
  padding: 28px 24px 24px;
  background:
    linear-gradient(180deg, rgb(255 255 255 / 96%), rgb(251 249 253 / 98%)),
    #fff;
}

.reviews-stories__letter-sheet::after {
  display: block;
  width: 64px;
  height: 1px;
  margin-top: auto;
  background: rgb(155 123 208 / 48%);
  content: "";
}

.reviews-stories__letter-mark {
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  border-radius: 8px;
}

.reviews-stories__letter-kicker {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reviews-stories__letter-sheet blockquote {
  margin: 18px 0 24px;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.56;
}

.reviews-stories__letter-signature {
  margin-top: auto;
  color: var(--color-muted);
  font-size: 13px;
  font-style: italic;
  line-height: 1.4;
}

.reviews-stories__letter-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 18px 20px;
  background: #fff;
  border-top: 1px solid var(--color-border);
}

.reviews-stories__letter-avatar {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  color: #fff;
  background: var(--color-accent);
  border-radius: 8px;
  font-family: var(--font-heading);
  font-size: 18px;
  font-weight: 700;
}

.reviews-stories__letter-meta > span:last-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.reviews-stories__letter-meta strong {
  font-size: 15px;
}

.reviews-stories__letter-meta small {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.35;
}

.reviews-stories__marketplace-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.reviews-stories__marketplace-card {
  min-height: 250px;
}

.reviews-stories__marketplace-logo {
  width: auto;
  height: 34px;
  max-width: 210px;
  object-fit: contain;
  object-position: left center;
}

.reviews-stories__marketplace-card > strong.reviews-stories__marketplace-label {
  margin-top: 18px;
  color: var(--color-text);
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
}

.reviews-stories__real-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.reviews-stories__real-card {
  display: grid;
  min-width: 0;
  gap: 18px;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 18px 40px rgb(44 34 62 / 5%);
}

.reviews-stories__real-card header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.reviews-stories__real-card header > span:nth-child(2) {
  display: grid;
  gap: 3px;
}

.reviews-stories__real-card header strong {
  color: var(--color-text);
  font-size: 16px;
}

.reviews-stories__real-card header small {
  color: var(--color-muted);
  font-size: 12px;
}

.reviews-stories__real-card .reviews-stories__avatar {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  font-size: 22px;
}

.reviews-stories__source-logo {
  width: auto;
  height: 22px;
  max-width: 92px;
  object-fit: contain;
}

.reviews-stories__real-card blockquote {
  min-height: 78px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

.reviews-stories__source-link {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 800;
}

.catalog-review-card__source {
  display: flex;
  min-width: 72px;
  justify-content: flex-end;
}

.catalog-review-card__source img {
  width: auto;
  height: 20px;
  max-width: 84px;
  object-fit: contain;
}

.catalog-review-card__meta {
  margin-top: -10px;
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.45;
}

/* Shared CTA system: compact corners, purple primary and outlined secondary. */
:is(
    .hero__primary,
    .company-button--primary,
    .sale-button--primary,
    .delivery-button--primary,
    .sale-rules__button,
    .catalog-reviews__submit,
    .catalog-consultation__submit,
    .catalog-product-card__button,
    .product-detail__cart,
    .catalog-contacts__primary,
    .shop-state-empty > a,
    .cart-summary > a,
    .cart-delivery__form button,
    .reviews-stories__hero-action,
    .reviews-stories__feed-heading > a,
    .reviews-stories__form button,
    .contacts-partner__form button,
    .article-comments__form button,
    .home-new-product__link--primary,
    .cl-account-welcome__button,
    .cl-account-empty a,
    .product-detail__review-form button,
    .checkout-shell #payment #place_order,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button
  ) {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  box-shadow: none;
}

:is(
    .hero__secondary,
    .company-button--secondary,
    .sale-button--secondary,
    .delivery-button--secondary,
    .catalog-product-card__details,
    .catalog-review-card__link,
    .product-detail__document-action,
    .home-new-product__link--cart,
    .reviews-stories__source-link,
    .catalog-pagination__load-more,
    .cl-account-section__header a,
    .cl-account-order-card > a,
    .site-header__action-link,
    button[data-favorites-clear],
    .cart-list__toolbar-actions [data-cart-update],
    .cart-list__toolbar-actions a
  ) {
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  box-shadow: none;
}

:is(
    .hero__primary,
    .company-button--primary,
    .sale-button--primary,
    .delivery-button--primary,
    .sale-rules__button,
    .catalog-reviews__submit,
    .catalog-consultation__submit,
    .catalog-product-card__button,
    .product-detail__cart,
    .catalog-contacts__primary,
    .shop-state-empty > a,
    .cart-summary > a,
    .cart-delivery__form button,
    .reviews-stories__hero-action,
    .reviews-stories__feed-heading > a,
    .reviews-stories__form button,
    .contacts-partner__form button,
    .article-comments__form button,
    .home-new-product__link--primary,
    .cl-account-welcome__button,
    .cl-account-empty a,
    .product-detail__review-form button,
    .checkout-shell #payment #place_order,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button
  ):hover,
:is(
    .hero__primary,
    .company-button--primary,
    .sale-button--primary,
    .delivery-button--primary,
    .sale-rules__button,
    .catalog-reviews__submit,
    .catalog-consultation__submit,
    .catalog-product-card__button,
    .product-detail__cart,
    .catalog-contacts__primary,
    .shop-state-empty > a,
    .cart-summary > a,
    .cart-delivery__form button,
    .reviews-stories__hero-action,
    .reviews-stories__feed-heading > a,
    .reviews-stories__form button,
    .contacts-partner__form button,
    .article-comments__form button,
    .home-new-product__link--primary,
    .cl-account-welcome__button,
    .cl-account-empty a,
    .product-detail__review-form button,
    .checkout-shell #payment #place_order,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button
  ):focus-visible {
  color: #fff;
  background: #6d55a2;
  border-color: #6d55a2;
  outline: 0;
  transform: translateY(-1px);
}

:is(
    .hero__secondary,
    .company-button--secondary,
    .sale-button--secondary,
    .delivery-button--secondary,
    .catalog-product-card__details,
    .catalog-review-card__link,
    .product-detail__document-action,
    .home-new-product__link--cart,
    .reviews-stories__source-link,
    .catalog-pagination__load-more,
    .cl-account-section__header a,
    .cl-account-order-card > a,
    .site-header__action-link,
    button[data-favorites-clear],
    .cart-list__toolbar-actions [data-cart-update],
    .cart-list__toolbar-actions a
  ):hover,
:is(
    .hero__secondary,
    .company-button--secondary,
    .sale-button--secondary,
    .delivery-button--secondary,
    .catalog-product-card__details,
    .catalog-review-card__link,
    .product-detail__document-action,
    .home-new-product__link--cart,
    .reviews-stories__source-link,
    .catalog-pagination__load-more,
    .cl-account-section__header a,
    .cl-account-order-card > a,
    .site-header__action-link,
    button[data-favorites-clear],
    .cart-list__toolbar-actions [data-cart-update],
    .cart-list__toolbar-actions a
  ):focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

/* The option-one hero has a deliberately stronger selector in its layout CSS.
 * Keep its CTA pair inside the shared button system as well. */
.hero--lavender-panel .hero__primary {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 8px;
}

.hero--lavender-panel .hero__secondary {
  min-width: 194px;
  min-height: 58px;
  padding: 0 28px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
}

.hero--lavender-panel .hero__primary:hover,
.hero--lavender-panel .hero__primary:focus-visible {
  color: #fff;
  background: #6d55a2;
  border-color: #6d55a2;
}

.hero--lavender-panel .hero__secondary:hover,
.hero--lavender-panel .hero__secondary:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
}

button[data-favorites-clear],
.cart-list__toolbar-actions [data-cart-update],
.cart-list__toolbar-actions a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 1023px) {
  .reviews-stories__letters-grid,
  .reviews-stories__real-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .reviews-stories__letters-grid,
  .reviews-stories__marketplace-grid,
  .reviews-stories__real-grid {
    grid-template-columns: 1fr;
  }

  .hero--lavender-panel .hero__secondary {
    width: 100%;
    justify-self: stretch;
  }

  .reviews-stories__letter-sheet {
    min-height: 330px;
  }

  .reviews-stories__real-card {
    padding: 20px;
  }

  .reviews-stories__real-card blockquote {
    min-height: 0;
    font-size: 20px;
  }
}

/* Legal documents imported from the original Collagen Live site. */
.legal-page {
  background: #fbfafc;
}

.legal-page__hero {
  padding: clamp(42px, 6vw, 76px) 0 clamp(30px, 4vw, 48px);
  background: #fff;
  border-bottom: 1px solid var(--color-border);
}

.legal-page__hero-inner {
  display: grid;
  gap: 16px;
}

.legal-page__breadcrumbs {
  margin-bottom: 14px;
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}

.legal-page__breadcrumbs a {
  color: var(--color-accent);
  font: inherit;
}

.legal-page__breadcrumbs span {
  font: inherit;
}

.legal-page__eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.legal-page__hero h1 {
  max-width: 980px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(42px, 4.8vw, 62px);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.legal-page__content-section {
  padding: clamp(36px, 6vw, 76px) 0 clamp(70px, 9vw, 118px);
}

.legal-page__document {
  max-width: 1040px;
  padding: clamp(28px, 4.5vw, 58px);
  margin-inline: auto;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 22px 54px rgb(44 34 62 / 6%);
  font-size: 16px;
  line-height: 1.72;
}

.legal-page__document strong {
  color: var(--color-text);
  font-weight: 800;
}

.legal-page__document ul {
  display: grid;
  gap: 8px;
  padding-left: 22px;
  margin: 12px 0 18px;
}

.legal-page__document li::marker {
  color: var(--color-accent);
}

@media (max-width: 767px) {
  .legal-page__document {
    padding: 24px 18px;
    font-size: 15px;
    line-height: 1.66;
  }
}

/* Reviews page refresh: site typography, document previews and editorial marketplace rows. */
.reviews-stories {
  color: var(--color-text);
  font-family: var(--font-body);
}

.reviews-stories__hero {
  padding: clamp(44px, 5vw, 68px) 0 clamp(40px, 4.5vw, 58px);
}

.reviews-stories__hero-row {
  margin-top: 24px;
}

.reviews-stories h1 {
  font-family: var(--font-heading);
  font-size: clamp(42px, 4.8vw, 62px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.04;
}

.reviews-stories__hero-row p {
  max-width: 680px;
  margin-top: 18px;
  font-size: 16px;
  line-height: 1.62;
}

.reviews-stories__letters,
.reviews-stories__marketplaces,
.reviews-stories__feed {
  padding-top: clamp(58px, 6.5vw, 82px);
}

.reviews-stories__section-head {
  margin-bottom: 30px;
}

.reviews-stories__section-head h2,
.reviews-stories__form-intro h2 {
  max-width: 760px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: clamp(32px, 3.1vw, 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.08;
}

.reviews-stories__section-head > div > p {
  max-width: 620px;
  margin: 12px 0 0;
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.58;
}

.reviews-stories__eyebrow {
  margin-bottom: 9px;
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.reviews-stories__letters-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2.5vw, 30px);
  align-items: start;
}

.reviews-stories__letter-card {
  display: block;
  min-height: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.reviews-stories__letter-open {
  display: block;
  width: 100%;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
  text-align: left;
  cursor: zoom-in;
}

.reviews-stories__letter-sheet {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 0;
  aspect-ratio: 210 / 297;
  flex-direction: column;
  padding: clamp(24px, 2.6vw, 34px);
  overflow: hidden;
  color: var(--color-text);
  background: #fff;
  border: 1px solid var(--color-border);
  border-top: 5px solid var(--color-accent);
  border-radius: 4px;
  box-shadow: 0 18px 38px rgb(44 34 62 / 9%);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.reviews-stories__letter-sheet::after {
  display: none;
}

.reviews-stories__letter-open:hover .reviews-stories__letter-sheet,
.reviews-stories__letter-open:focus-visible .reviews-stories__letter-sheet {
  border-color: rgb(155 123 208 / 55%);
  box-shadow: 0 24px 52px rgb(44 34 62 / 13%);
  outline: 0;
  transform: translateY(-3px);
}

.reviews-stories__letter-open:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 5px;
}

.reviews-stories__letter-head {
  display: flex;
  gap: 10px;
  align-items: center;
  padding-bottom: 18px;
  margin-bottom: 34px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
  font-family: var(--font-small);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reviews-stories__letter-logo {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.reviews-stories__letter-kicker {
  color: var(--color-accent);
  font-family: var(--font-small);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.reviews-stories__letter-sheet > strong {
  margin-top: 10px;
  font-family: var(--font-heading);
  font-size: clamp(21px, 2vw, 27px);
  font-weight: 700;
  line-height: 1.13;
}

.reviews-stories__letter-quote {
  display: block;
  margin-top: 26px;
  color: var(--color-muted);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.62;
}

.reviews-stories__letter-signature {
  display: grid;
  gap: 3px;
  padding-top: 18px;
  margin-top: auto;
  border-top: 1px solid var(--color-border);
}

.reviews-stories__letter-signature strong {
  color: var(--color-text);
  font-size: 13px;
  font-weight: 800;
}

.reviews-stories__letter-signature small {
  color: var(--color-muted);
  font-size: 11px;
  line-height: 1.4;
}

.reviews-stories__letter-expand {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin-top: 16px;
  color: var(--color-accent);
  font-size: 12px;
  font-weight: 800;
}

.reviews-stories__letter-meta {
  display: grid;
  gap: 3px;
  padding: 16px 4px 0;
  background: transparent;
  border: 0;
}

.reviews-stories__letter-meta strong {
  color: var(--color-text);
  font-size: 15px;
  font-weight: 800;
}

.reviews-stories__letter-meta small {
  color: var(--color-muted);
  font-size: 12px;
  line-height: 1.45;
}

.reviews-stories__letter-dialog {
  width: min(680px, calc(100vw - 32px));
  max-height: calc(100vh - 32px);
  padding: 0;
  overflow: auto;
  background: transparent;
  border: 0;
  border-radius: 8px;
}

.reviews-stories__letter-dialog::backdrop {
  background: rgb(23 19 29 / 64%);
  backdrop-filter: blur(5px);
}

.reviews-stories__letter-dialog > form {
  position: sticky;
  z-index: 2;
  top: 14px;
  display: flex;
  height: 0;
  justify-content: flex-end;
  padding-right: 14px;
}

.reviews-stories__letter-close {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  place-items: center;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 10px 24px rgb(44 34 62 / 12%);
  cursor: pointer;
}

.reviews-stories__letter-dialog-paper {
  min-height: min(920px, calc(100vh - 32px));
  padding: clamp(38px, 7vw, 72px);
  color: var(--color-text);
  background: #fff;
  border-top: 7px solid var(--color-accent);
}

.reviews-stories__letter-dialog-paper .reviews-stories__letter-head {
  margin-bottom: clamp(44px, 7vw, 76px);
}

.reviews-stories__letter-dialog-paper h3 {
  margin: 12px 0 0;
  font-family: var(--font-heading);
  font-size: clamp(30px, 5vw, 42px);
  font-weight: 700;
  line-height: 1.08;
}

.reviews-stories__letter-dialog-paper blockquote {
  margin: clamp(34px, 6vw, 58px) 0 0;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.72;
}

.reviews-stories__letter-dialog-signature {
  display: grid;
  gap: 5px;
  padding-top: 24px;
  margin-top: clamp(48px, 8vw, 80px);
  border-top: 1px solid var(--color-border);
  color: var(--color-muted);
  font-size: 13px;
}

.reviews-stories__letter-dialog-signature strong {
  color: var(--color-text);
  font-size: 16px;
}

.reviews-stories__marketplace-list {
  border-top: 1px solid var(--color-border);
}

.reviews-stories__marketplace-row {
  display: grid;
  grid-template-columns: minmax(200px, 0.72fr) minmax(0, 1.35fr) auto;
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  min-height: 178px;
  padding: 30px 0;
  border-bottom: 1px solid var(--color-border);
}

.reviews-stories__marketplace-brand {
  display: flex;
  min-height: 88px;
  align-items: center;
  padding-right: clamp(24px, 4vw, 56px);
  border-right: 1px solid var(--color-border);
}

.reviews-stories__marketplace-logo {
  width: auto;
  height: 48px;
  max-width: 240px;
  object-fit: contain;
  object-position: left center;
}

.reviews-stories__marketplace-copy {
  display: grid;
  gap: 8px;
  align-content: center;
}

.reviews-stories__marketplace-copy > strong {
  color: var(--color-text);
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.reviews-stories__marketplace-copy > span,
.reviews-stories__marketplace-copy > small {
  color: var(--color-muted);
  font-size: 15px;
  line-height: 1.5;
}

.reviews-stories__marketplace-rating {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.reviews-stories__marketplace-rating b {
  color: var(--color-accent);
  font-family: var(--font-heading);
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.reviews-stories__marketplace-rating .reviews-stories__stars {
  margin: 0;
}

.reviews-stories__marketplace-rating small {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.4;
}

.reviews-stories__marketplace-link {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 22px;
  color: var(--color-accent);
  background: #fff;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  transition: color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.reviews-stories__marketplace-link:hover,
.reviews-stories__marketplace-link:focus-visible {
  color: #fff;
  background: var(--color-accent);
  outline: 0;
  transform: translateY(-1px);
}

.reviews-stories__feed-inner {
  gap: 30px;
}

.reviews-stories__real-grid {
  gap: 18px;
}

.reviews-stories__real-card {
  gap: 14px;
  min-height: 290px;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 14px 34px rgb(44 34 62 / 5%);
}

.reviews-stories__real-card header {
  gap: 12px;
}

.reviews-stories__reviewer-icon {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 auto;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.reviews-stories__real-card header strong {
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.reviews-stories__real-card header small {
  font-size: 12px;
  line-height: 1.4;
}

.reviews-stories__source-logo {
  height: 20px;
  max-width: 82px;
}

.reviews-stories__real-card > .reviews-stories__stars {
  gap: 3px;
  margin: 0;
}

.reviews-stories__product-link {
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

.reviews-stories__real-card blockquote {
  min-height: 54px;
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.62;
}

.reviews-stories__source-link {
  margin-top: auto;
  font-size: 13px;
  font-weight: 800;
}

.reviews-stories__form-section {
  padding: clamp(68px, 7vw, 92px) 0 clamp(82px, 9vw, 112px);
}

.reviews-stories__form-intro {
  position: static;
}

.reviews-stories__form-intro p {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.62;
}

@media (max-width: 1023px) {
  .reviews-stories__letters-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reviews-stories__marketplace-row {
    grid-template-columns: minmax(170px, 0.75fr) minmax(0, 1fr);
  }

  .reviews-stories__marketplace-link {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .reviews-stories__hero {
    padding: 34px 0 42px;
  }

  .reviews-stories__hero-row {
    margin-top: 24px;
  }

  .reviews-stories h1 {
    font-size: clamp(40px, 13vw, 54px);
  }

  .reviews-stories__hero-row p {
    font-size: 15px;
  }

  .reviews-stories__letters,
  .reviews-stories__marketplaces,
  .reviews-stories__feed {
    padding-top: 50px;
  }

  .reviews-stories__section-head {
    margin-bottom: 22px;
  }

  .reviews-stories__section-head h2,
  .reviews-stories__form-intro h2 {
    font-size: 30px;
  }

  .reviews-stories__letters-grid,
  .reviews-stories__real-grid {
    grid-template-columns: 1fr;
  }

  .reviews-stories__letter-sheet {
    padding: 24px;
  }

  .reviews-stories__letter-sheet > strong {
    font-size: 23px;
  }

  .reviews-stories__letter-dialog-paper {
    padding: 52px 24px 34px;
  }

  .reviews-stories__marketplace-row {
    grid-template-columns: 1fr;
    gap: 18px;
    min-height: 0;
    padding: 28px 0;
  }

  .reviews-stories__marketplace-brand {
    min-height: 0;
    padding: 0 0 20px;
    border-right: 0;
    border-bottom: 1px solid var(--color-border);
  }

  .reviews-stories__marketplace-logo {
    height: 38px;
    max-width: 190px;
  }

  .reviews-stories__marketplace-link {
    grid-column: auto;
    width: 100%;
    justify-self: stretch;
  }

  .reviews-stories__feed-heading {
    grid-template-columns: 1fr;
  }

  .reviews-stories__real-card {
    min-height: 0;
    padding: 20px;
  }

  .reviews-stories__real-card blockquote {
    min-height: 0;
    font-size: 15px;
  }

  .reviews-stories__form-section {
    padding: 56px 0 72px;
  }
}

/* Homepage revision 0.3.77: full-width hero, one CTA and four equal mobile actions. */
body.home > main {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

body.home > main > section:not(.hero) {
  width: min(100%, var(--container)) !important;
  max-width: var(--container) !important;
  margin-inline: auto !important;
}

body.home .hero.hero--lavender-panel {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

.hero--lavender-panel .hero__actions {
  justify-content: flex-start;
}

.hero--lavender-panel .hero__actions .hero__secondary {
  color: #18131f;
  background: #fff;
  border-color: #fff;
}

.hero--lavender-panel .hero__actions .hero__secondary:hover,
.hero--lavender-panel .hero__actions .hero__secondary:focus-visible {
  color: #18131f;
  background: #f7f2fb;
  border-color: #f7f2fb;
}

@media (max-width: 767px) {
  .site-header .container.site-header__inner {
    grid-template-columns: minmax(42px, 1fr) auto 42px !important;
    grid-template-areas: "logo utility burger" !important;
    grid-template-rows: 68px !important;
    gap: 6px !important;
    padding-inline: 12px !important;
  }

  .site-header__utility {
    grid-area: utility !important;
    grid-column: 2 !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 42px !important;
    align-items: center !important;
    justify-self: end !important;
    gap: 6px !important;
  }

  .site-header__left-utility {
    grid-area: burger !important;
    grid-column: 3 !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
  }

  body .site-header .site-header__utility .site-header__action-link,
  body .site-header .site-header__left-utility .site-header__menu-button {
    position: relative !important;
    display: grid !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex: 0 0 42px !important;
    place-items: center !important;
    padding: 0 !important;
    color: var(--color-accent) !important;
    background: #fff !important;
    border: 1px solid var(--color-accent) !important;
    border-radius: 50% !important;
  }

  body .site-header .site-header__utility .site-header__cart-link.site-header__action-link {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    flex-basis: 42px !important;
  }

  body .site-header .site-header__utility .site-header__action-link:hover,
  body .site-header .site-header__utility .site-header__action-link:focus-visible,
  body .site-header .site-header__left-utility .site-header__menu-button:hover,
  body .site-header .site-header__left-utility .site-header__menu-button:focus-visible {
    color: #fff !important;
    background: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
  }

  .site-header__utility .site-header__action-link svg,
  .site-header__left-utility .site-header__menu-button svg {
    width: 20px !important;
    height: 20px !important;
  }

  .site-header__utility .site-header__action-label {
    display: none !important;
  }

  .site-header__utility .site-header__action-count {
    top: -5px !important;
    right: -4px !important;
    bottom: auto !important;
    min-width: 17px !important;
    height: 17px !important;
    padding: 0 4px !important;
    border: 2px solid #fff;
    font-size: 9px !important;
  }

  .hero--lavender-panel .hero__actions {
    display: flex;
    justify-content: flex-start;
  }

  .hero--lavender-panel .hero__actions .hero__secondary {
    width: auto;
    min-width: 180px;
    min-height: 50px;
    justify-self: auto;
    padding-inline: 26px;
  }

  body.home .hero.hero--lavender-panel {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
  }
}

/* About page advantages: vertical tabs with an explanatory panel. */
.company-advantages {
  display: grid;
  gap: 28px;
  margin-top: clamp(20px, 3vw, 36px);
}

.company-advantages__heading {
  display: grid;
  gap: 8px;
}

.company-advantages__heading > span,
.company-advantages__eyebrow {
  color: var(--cl-purple, #9b7ad6);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.company-advantages__heading h2 {
  margin: 0;
  color: var(--cl-text, #17131f);
  font-size: clamp(32px, 3.2vw, 48px);
  font-weight: 500;
  line-height: 1.08;
}

.company-advantages__layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr);
  gap: 24px;
  align-items: start;
}

.company-advantages__tabs {
  display: grid;
  align-content: start;
  gap: 8px;
}

.company-advantages__tab {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 22px;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e8def7;
  border-radius: 8px;
  background: #fff;
  color: var(--cl-text, #17131f);
  font: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.company-advantages__tab:hover,
.company-advantages__tab:focus-visible {
  border-color: var(--cl-purple, #9b7ad6);
  background: #faf7ff;
  outline: none;
  transform: translateX(3px);
}

.company-advantages__tab.is-active {
  border-color: var(--cl-purple, #9b7ad6);
  background: var(--cl-purple, #9b7ad6);
  color: #fff;
}

.company-advantages__number {
  color: #a79bb8;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.company-advantages__tab.is-active .company-advantages__number {
  color: rgba(255, 255, 255, 0.72);
}

.company-advantages__arrow {
  display: inline-flex;
  justify-content: flex-end;
  color: var(--cl-purple, #9b7ad6);
  transition: transform 180ms ease;
}

.company-advantages__tab.is-active .company-advantages__arrow {
  color: #fff;
  transform: translateX(2px);
}

.company-advantages__panels {
  min-width: 0;
}

.company-advantages__panel {
  position: relative;
  align-self: start;
  height: auto;
  min-height: 520px;
  overflow: hidden;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid #e8def7;
  border-radius: 8px;
  background: linear-gradient(135deg, #fbf9ff 0%, #f4edff 100%);
}

.company-advantages__panel::after {
  position: absolute;
  right: -72px;
  bottom: -92px;
  width: 240px;
  height: 240px;
  border: 1px solid rgba(155, 122, 214, 0.18);
  border-radius: 50%;
  content: '';
  pointer-events: none;
}

.company-advantages__panel[hidden] {
  display: none;
}

.company-advantages__panel.is-active {
  animation: company-advantage-in 240ms ease both;
}

.company-advantages__panel h3 {
  max-width: 700px;
  margin: 14px 0 24px;
  color: var(--cl-text, #17131f);
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 500;
  line-height: 1.08;
}

.company-advantages__body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  max-width: 720px;
  color: #5f576b;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.58;
}

.company-advantages__body p,
.company-advantages__body ul {
  margin: 0;
}

.company-advantages__body strong {
  color: var(--cl-text, #17131f);
  font-size: 0.92em;
  font-weight: 700;
  letter-spacing: 0.035em;
}

.company-advantages__body ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  padding: 0;
  list-style: none;
}

.company-advantages__body li {
  position: relative;
  padding-left: 18px;
  color: var(--cl-text, #17131f);
  font-weight: 600;
}

.company-advantages__body li::before {
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cl-purple, #9b7ad6);
  content: '';
}

@keyframes company-advantage-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767px) {
  .company-advantages {
    gap: 20px;
    margin-top: 24px;
  }

  .company-advantages__heading h2 {
    font-size: 32px;
  }

  .company-advantages__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .company-advantages__tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 6px;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .company-advantages__tab {
    flex: 0 0 min(78vw, 286px);
    min-height: 58px;
    scroll-snap-align: start;
  }

  .company-advantages__tab:hover,
  .company-advantages__tab:focus-visible {
    transform: none;
  }

  .company-advantages__panel {
    min-height: 370px;
    padding: 26px 22px 32px;
  }

  .company-advantages__panel h3 {
    margin-bottom: 18px;
    font-size: 30px;
  }

  .company-advantages__body {
    font-size: 16px;
  }

  .company-advantages__body ul {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-advantages__tab,
  .company-advantages__arrow,
  .company-advantages__panel.is-active {
    animation: none;
    transition: none;
  }
}

/* Home hero: a wider organic divider that echoes the flowing lines on the product labels. */
@media (min-width: 768px) {
  .hero.hero--lavender-panel::before {
    width: clamp(690px, calc(69vw - 70px), 970px);
    border-radius: 0 140px 140px 0;
    background: #8d79b8;
    clip-path: none;
  }
}

/* Client corrections 1–28: final layout and component overrides. */
.home-highlights {
  min-height: 0 !important;
  padding: 52px 0 78px !important;
  overflow: visible !important;
}

.home-highlights__inner {
  position: static !important;
  display: grid !important;
  grid-template-rows: none !important;
  gap: 28px !important;
  height: auto !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

.home-highlights__layout {
  height: auto !important;
  min-height: 0 !important;
}

.home-highlights__visual {
  transform: none !important;
}

.home-highlights__column {
  height: auto !important;
  max-height: none !important;
}

.home-highlight-card,
.home-highlights--enhanced .home-highlight-card,
.home-highlights--enhanced .home-highlight-card.is-visible {
  min-height: 142px !important;
  padding: 22px !important;
  opacity: 1 !important;
  transform: none !important;
}

.home-highlight-card__title {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
}

.home-highlight-card__text {
  margin-top: 7px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.home-catalog__grid--fixed,
.home-catalog--sets .home-catalog__grid--fixed {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-catalog .catalog-product-card__media,
.catalog-product-card__media {
  aspect-ratio: 1 / 1;
}

.home-catalog__bottom--mobile {
  display: none;
}

.home-catalog-promo {
  min-height: 100% !important;
}

.contacts-distributors__visual {
  min-height: 0;
  aspect-ratio: 4 / 5;
}

.contacts-distributors__image {
  object-fit: cover;
  object-position: center;
}

.delivery-methods__prepayment {
  margin-top: 12px !important;
  color: var(--color-text) !important;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.62 !important;
}

.delivery-payment .delivery-section-heading p,
.delivery-process__heading p {
  font-size: 17px !important;
  line-height: 1.62 !important;
}

.reviews-stories__specialist-card {
  display: flex;
  min-height: 310px;
  flex-direction: column;
  gap: 22px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 20px 44px rgb(44 34 62 / 6%);
}

.reviews-stories__specialist-icon {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 8px;
}

.reviews-stories__specialist-card blockquote {
  margin: 0;
  color: var(--color-text);
  font-size: 16px;
  line-height: 1.62;
}

.reviews-stories__specialist-card footer {
  display: grid;
  gap: 4px;
  margin-top: auto;
}

.reviews-stories__specialist-card footer small {
  color: var(--color-muted);
}

.company-hero > picture,
.company-technology__visual > picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.company-hero > picture img,
.company-technology__visual > picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-hero::before,
.company-technology__visual::after {
  display: none !important;
}

.company-technology__visual img {
  opacity: 1;
}

.company-advantages__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.company-advantage-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  gap: 20px;
  padding: 30px;
  background: #fff;
  border: 1px solid #e8def7;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgb(62 43 89 / 6%);
}

.company-advantage-card__number {
  color: var(--color-accent);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.company-advantage-card h3 {
  margin: 0;
  color: var(--color-text);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.18;
}

.company-advantage-card p {
  margin: auto 0 0;
  color: var(--color-muted);
  font-size: 16px;
  line-height: 1.62;
}

.product-detail__formula-text p {
  margin: 0 0 14px;
}

.product-detail__formula-text p:last-child {
  margin-bottom: 0;
}

.product-detail__review-error {
  margin: 0;
  padding: 12px 14px;
  color: #9b2637;
  background: #fff2f4;
  border: 1px solid #f1c4cb;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1023px) {
  .home-catalog__grid--fixed,
  .home-catalog--sets .home-catalog__grid--fixed,
  .company-advantages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .home-highlights {
    padding: 48px 0 64px !important;
  }

  .home-highlights__inner {
    gap: 26px !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card.is-visible {
    min-height: 0 !important;
    padding: 20px !important;
  }

  .home-highlight-card__title {
    font-size: 20px !important;
  }

  .home-highlight-card__text {
    font-size: 14px !important;
  }

  .home-catalog__grid--fixed,
  .home-catalog--sets .home-catalog__grid--fixed,
  .company-advantages__grid,
  .reviews-stories__letters-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-catalog__top .home-catalog__link {
    display: none;
  }

  .home-catalog__bottom--mobile {
    display: flex;
    padding-top: 18px;
  }

  .home-importance-card {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 18px !important;
    padding: 24px 18px !important;
  }

  .home-importance-card__icon {
    margin-left: 0 !important;
  }

  .contacts-distributors__visual {
    aspect-ratio: 4 / 3;
  }

  .company-hero {
    min-height: 760px;
    align-items: flex-start;
  }

  .company-hero__content,
  .company-technology__content {
    padding: 24px;
    background: rgb(255 255 255 / 90%);
    border-radius: 12px;
  }

  .company-technology__banner {
    min-height: 780px;
    align-items: start;
    padding-top: 24px;
  }

  .company-advantage-card {
    min-height: 0;
  }
}

/* Client review pass: restore the intended scale and WP-reference composition. */
@media (min-width: 768px) {
  .site-header__logo {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
  }

  .site-header__logo img {
    width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
  }

  .home-highlights {
    padding-top: 92px !important;
  }

  .home-highlights__layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1.05fr) minmax(0, 1fr) !important;
    column-gap: 28px !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card.is-visible {
    min-height: 176px !important;
    padding: 26px !important;
  }
}

.company-technology__visual::after {
  display: block !important;
  background:
    linear-gradient(90deg, rgb(255 255 255 / 99%) 0%, rgb(255 255 255 / 96%) 34%, rgb(255 255 255 / 75%) 49%, rgb(255 255 255 / 28%) 66%, rgb(255 255 255 / 0%) 100%),
    linear-gradient(180deg, rgb(255 255 255 / 8%), rgb(255 255 255 / 12%)) !important;
}

/* Keep the brand hero copy readable over the client-provided photography. */
.company-hero::before {
  display: block !important;
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgb(255 255 255 / 98%) 0%,
    rgb(255 255 255 / 95%) 26%,
    rgb(255 255 255 / 86%) 46%,
    rgb(255 255 255 / 58%) 63%,
    rgb(255 255 255 / 16%) 82%,
    rgb(255 255 255 / 0%) 100%
  ) !important;
}

.company-technology__visual img {
  opacity: 1 !important;
  object-position: center right !important;
}

.company-technology__content {
  max-width: 590px;
}

.company-technology__content > p {
  color: var(--color-muted) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.company-technology__facts {
  gap: 12px;
}

.company-technology-fact {
  min-height: 228px;
  padding: 24px;
}

.company-technology-fact h3 {
  color: var(--color-accent);
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 750;
  line-height: 1.25;
  text-transform: none;
}

.company-technology-fact p {
  font-size: 15px;
  line-height: 1.55;
}

@media (max-width: 767px) {
  .site-header__logo,
  .site-header__logo img {
    width: 50px !important;
    max-width: 50px !important;
    height: 50px !important;
  }

  .home-highlights {
    padding-top: 68px !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card.is-visible {
    min-height: 176px !important;
    padding: 24px !important;
  }

  .home-highlight-card__title {
    font-size: 24px !important;
  }

  .home-highlight-card__text {
    font-size: 15px !important;
  }

  .company-technology__banner {
    display: grid !important;
    min-height: 0 !important;
    align-items: stretch !important;
    padding-top: 0 !important;
  }

  .company-hero::before {
    background: linear-gradient(
      180deg,
      rgb(255 255 255 / 96%) 0%,
      rgb(255 255 255 / 90%) 52%,
      rgb(255 255 255 / 56%) 78%,
      rgb(255 255 255 / 10%) 100%
    ) !important;
  }

  .company-technology__visual {
    position: relative !important;
    inset: auto !important;
    grid-row: 2 !important;
    min-height: 360px !important;
    border-top: 1px solid rgb(236 231 245 / 72%) !important;
  }

  .company-technology__visual::after {
    background: linear-gradient(180deg, rgb(255 255 255 / 24%) 0%, rgb(255 255 255 / 0%) 34%) !important;
  }

  .company-technology__visual img {
    object-position: center !important;
  }

  .company-technology__content {
    grid-row: 1 !important;
    max-width: none;
    margin: 0 !important;
    padding: 28px 22px 30px !important;
    background: #fff !important;
    border-radius: 0 !important;
  }

  .company-technology__facts {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px;
  }

  .company-technology-fact {
    min-height: 220px;
  }
}

/* Delivery page: one body-copy scale throughout the page. */
.delivery-page p,
.delivery-page li,
.delivery-page th,
.delivery-page td,
.delivery-page small,
.delivery-page label {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  color: var(--color-muted) !important;
}

.delivery-page .delivery-payment .delivery-section-heading p {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  color: var(--color-muted) !important;
}

/* Company technology cards: one compact purple heading plus supporting copy. */
.company-page .company-technology__facts .company-technology-fact h3 {
  color: var(--color-accent) !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 750 !important;
  line-height: 1.25 !important;
  text-transform: none !important;
}

/* Revision 30–42: documents, account, reviews and checkout. */
.home-certificates__slider {
  min-height: 0;
  padding-inline: clamp(54px, 6vw, 88px);
}

.home-certificates__viewport {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 320px);
  justify-content: start;
  gap: clamp(18px, 2.4vw, 32px);
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  padding: 8px 4px 32px;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  touch-action: pan-x pan-y;
}

.home-certificates__viewport::-webkit-scrollbar {
  display: none;
}

.home-certificates__slide {
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.home-certificates__slide img {
  aspect-ratio: 604 / 838;
  object-fit: contain;
}

.home-certificates__arrow:disabled {
  cursor: default;
  opacity: 0.28;
  pointer-events: none;
}

.home-certificates__caption {
  align-items: flex-start;
}

.reviews-stories__rating-field {
  align-content: start;
  justify-items: start;
}

.product-detail__review-form .product-detail__star-rating-button {
  display: inline-grid;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  place-items: center;
  padding: 0;
  color: #b39acf;
  background: #f1ebf8;
  border: 1px solid #e1d4f0;
  border-radius: 7px;
  box-shadow: none;
}

.product-detail__review-form .product-detail__star-rating-button--filled,
.product-detail__review-form .product-detail__star-rating-button:hover,
.product-detail__review-form .product-detail__star-rating-button:focus-visible {
  color: #fff;
  background: var(--color-accent);
  border-color: var(--color-accent);
  box-shadow: none;
  transform: none;
}

.reviews-stories__form--product {
  width: 100%;
  max-width: 1100px;
  gap: 14px;
  padding: 24px;
  margin-inline: auto;
}

.reviews-stories__form--product textarea {
  min-height: 154px;
}

.reviews-stories__form--product > button {
  width: fit-content;
  min-height: 46px;
  padding-inline: 20px;
}

.product-detail__review-form .product-detail__review-consent {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: var(--color-muted);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

.product-detail__review-form .product-detail__review-consent input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
  margin: 1px 0 0;
  accent-color: var(--color-accent);
}

.reviews-stories__notice {
  margin: 0;
  padding: 13px 15px;
  color: #5b4779;
  background: #f5f0fb;
  border: 1px solid #e1d5f1;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
}

.reviews-stories__notice--success {
  color: #17653a;
  background: #eff9f3;
  border-color: #cbe8d6;
}

.reviews-stories__notice--error {
  color: #922828;
  background: #fff3f3;
  border-color: #f1cccc;
}

.cl-account-stats--orders {
  grid-template-columns: minmax(0, 360px);
}

.cl-account-addresses {
  display: grid;
  gap: 20px;
}

.cl-account-address-list {
  display: grid;
  gap: 12px;
}

.cl-account-address-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  box-shadow: 0 14px 34px rgb(44 34 62 / 4%);
}

.cl-account-address-card__icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--color-accent);
  background: var(--color-lavender);
  border-radius: 8px;
}

.cl-account-address-card strong {
  display: block;
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.5;
}

.cl-account-address-card p {
  margin: 5px 0 0;
  color: var(--color-muted);
  font-size: 13px;
  line-height: 1.45;
}

.cl-checkout-consents {
  display: grid;
  gap: 22px;
  margin: 26px 0 22px;
  padding: 0;
  color: #595261;
  background: transparent;
  border: 0;
  border-radius: 0;
  font-size: 16px;
  line-height: 1.6;
}

.cl-checkout-consents__marketing {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  color: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
  cursor: pointer;
}

.cl-checkout-consents__marketing input {
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  accent-color: var(--color-accent);
}

.cl-checkout-consents__privacy {
  margin: 0;
}

.cl-checkout-consents__privacy a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cart-summary .cl-checkout-consents--cart {
  gap: 14px;
  margin: 0;
  padding-top: 20px;
  border-top: 1px solid var(--color-border);
  font-size: 13px;
  line-height: 1.5;
}

.cart-summary .cl-checkout-consents--cart .cl-checkout-consents__marketing input {
  width: 18px;
  height: 18px;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-privacy-policy-text {
  display: none !important;
}

.legal-page__document,
.legal-page__document > div[data-customstyle] {
  color: #595261 !important;
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
}

.legal-page__document strong {
  color: #17131d !important;
  font-weight: 800 !important;
}

.legal-page__pending {
  display: grid;
  gap: 16px;
}

.legal-page__pending h2,
.legal-page__pending p {
  margin: 0;
}

.legal-page__pending a {
  color: var(--color-accent);
  font-weight: 700;
}

@media (max-width: 767px) {
  .home-certificates__slider {
    padding: 0 0 68px;
  }

  .home-certificates__viewport {
    grid-template-columns: none;
    grid-auto-columns: calc(100% - 28px);
    justify-content: start;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 0 24px;
  }

  .home-certificates__slide {
    width: auto;
  }

  .home-certificates__arrow {
    top: auto;
    bottom: 0;
  }

  .home-certificates__arrow--prev {
    left: calc(50% - 60px);
  }

  .home-certificates__arrow--next {
    right: calc(50% - 60px);
  }

  html,
  body {
    height: auto !important;
    min-height: 0 !important;
    overscroll-behavior-y: none;
  }

  body {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  .site-footer {
    margin-bottom: 0 !important;
  }

  .site-footer__inner {
    padding-bottom: max(28px, env(safe-area-inset-bottom)) !important;
  }

  .legal-page__document,
  .legal-page__document > div[data-customstyle] {
    font-size: 16px !important;
    line-height: 1.66 !important;
  }

  .cl-account-stats--orders {
    grid-template-columns: 1fr;
  }

  .cl-account-address-card {
    padding: 16px;
  }

  .product-detail__review-form .product-detail__star-rating-button {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }

  .reviews-stories__form--product {
    padding: 18px;
  }

  .reviews-stories__form--product > button {
    width: 100%;
  }

  .cl-checkout-consents {
    gap: 18px;
    font-size: 15px;
  }
}

/* Home merchandising: graphic banner plus a concise mobile selection. */
.home-catalog-promo--image-only {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: #f3edf8;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 6%);
}

.home-catalog-promo--image-only .home-catalog-promo__image {
  object-fit: cover;
  object-position: center;
  transform: none;
}

@media (max-width: 767px) {
  #shop .home-catalog__grid--products > .catalog-product-card:nth-of-type(n + 4),
  #sets .home-catalog__grid--sets > .catalog-product-card:nth-of-type(n + 4) {
    display: none;
  }

  .home-catalog-promo--image-only {
    min-height: 0 !important;
    aspect-ratio: 4 / 5;
  }

  .home-catalog--sets .home-catalog__bottom--mobile {
    display: flex;
  }
}

/* Reviews page: four full cosmetologist reviews without the promotional photo. */
.reviews-stories .reviews-stories__specialists-layout {
  display: block;
}

.reviews-stories .reviews-stories__specialists-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
  align-items: start;
}

.reviews-stories .reviews-stories__specialists-grid .home-specialist-card {
  min-height: 0;
  align-self: start;
}

@media (max-width: 767px) {
  .reviews-stories .reviews-stories__specialists-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Cart controls: actions first, followed by the product-list heading. */
@media (max-width: 767px) {
  .cart-list__toolbar {
    min-height: 50px;
    align-items: center;
    padding: 0 16px;
  }

  .cart-list__controls {
    min-height: 0;
    padding: 14px 16px;
  }

  .cart-list__controls .cart-list__toolbar-actions {
    display: flex;
    width: 100%;
    align-items: stretch;
    justify-content: stretch;
    gap: 8px;
  }

  .cart-list__controls .cart-list__toolbar-actions > * {
    min-width: 0;
    flex: 1 1 0;
    padding-inline: 9px;
    text-align: center;
    white-space: nowrap;
  }
}

/* Checkout validation: one clear instruction followed by missing field names. */
.woocommerce-checkout .woocommerce-error:has(.cl-required-field-name) {
  display: grid;
  gap: 8px;
  padding: 18px;
  color: #4f4658;
  background: #faf7fd;
  border: 1px solid #ded3eb;
  border-left: 4px solid var(--color-accent);
  border-top-width: 1px;
  list-style: none;
}

.woocommerce-checkout .woocommerce-error:has(.cl-required-field-name)::before {
  display: block !important;
  margin-bottom: 4px;
  color: var(--color-text);
  font-size: 16px;
  font-weight: 700;
  content: "Пожалуйста, заполните обязательные поля:";
}

.woocommerce-checkout .woocommerce-error .cl-required-field-name {
  position: relative;
  display: block;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.45;
}

.woocommerce-checkout .woocommerce-error .cl-required-field-name::before {
  position: absolute;
  top: 0.68em;
  left: 2px;
  width: 5px;
  height: 5px;
  background: var(--color-accent);
  border-radius: 999px;
  content: "";
  transform: translateY(-50%);
}

/* Revisions 28–29: compact mobile importance cards and scrollable product tabs. */
@media (max-width: 767.98px) {
  .home-importance-card {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    column-gap: 16px !important;
    padding: 24px 18px !important;
  }

  .home-importance-card__icon {
    transform: translate(-22px, -24px) !important;
  }

  .product-detail__tab-list {
    display: flex !important;
    min-width: 0;
    flex-flow: row nowrap;
    align-items: stretch;
    gap: 8px;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 4px 2px 8px;
    border-bottom: 0;
    scroll-behavior: smooth;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .product-detail__tab-list::-webkit-scrollbar {
    display: none;
  }

  .product-detail__tab {
    width: auto !important;
    min-width: max-content;
    min-height: 52px;
    flex: 0 0 auto !important;
    padding-inline: 18px;
    color: var(--color-muted) !important;
    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: 8px;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }

  .product-detail__tab:hover {
    color: var(--color-text) !important;
  }

  .product-detail__tab:focus-visible {
    color: var(--color-text) !important;
    outline: 2px solid var(--color-accent) !important;
    outline-offset: 1px;
  }

  .product-detail__tab.product-detail__tab--active,
  .product-detail__tab[aria-selected="true"],
  .product-detail__tab.product-detail__tab--active:hover,
  .product-detail__tab.product-detail__tab--active:focus,
  .product-detail__tab.product-detail__tab--active:focus-visible,
  .product-detail__tab[aria-selected="true"]:hover,
  .product-detail__tab[aria-selected="true"]:focus,
  .product-detail__tab[aria-selected="true"]:focus-visible {
    color: #fff !important;
    background: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
  }

  .product-detail__tab::after {
    display: none;
  }

  .product-detail__content,
  .product-detail__tabs {
    min-width: 0;
  }

  .product-detail__content h1 {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* Full-width, left-aligned FAQ rows on the shared 1180px site grid. */
.catalog-faq__heading,
.catalog-faq__list,
.delivery-faq__list,
.faq-section__list {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  justify-self: stretch;
  text-align: left;
}

.catalog-faq__question,
.delivery-faq__item summary,
.faq-item summary {
  width: 100%;
  text-align: left;
}

.catalog-faq__answer,
.delivery-faq__item p,
.faq-item p {
  max-width: none;
}

@media (min-width: 1024px) {
  .faq-content__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .faq-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
  }
}

/* Promocodes are managed in the cart; checkout only displays the applied discount. */
.checkout-shell .checkout_coupon,
.checkout-shell .woocommerce-form-coupon-toggle,
.checkout-shell .woocommerce-remove-coupon {
  display: none !important;
}

/* Order received: keep the confirmation readable and structurally grouped. */
.woocommerce-order-received .checkout-shell,
.woocommerce-order-received .checkout-shell .woocommerce,
.woocommerce-order-received .checkout-shell .woocommerce-order,
.woocommerce-order-received .checkout-shell .woocommerce-order-details,
.woocommerce-order-received .checkout-shell .woocommerce-customer-details {
  text-align: left;
}

.woocommerce-order-received .checkout-shell .woocommerce-order {
  display: grid;
  gap: 28px;
}

.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0;
  text-align: left;
}

.woocommerce-order-received .woocommerce-order > .woocommerce-order-overview {
  display: none !important;
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details {
  display: grid;
  gap: 18px;
  margin: 0;
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column__title {
  margin: 0 !important;
  text-align: left;
}

.cl-thankyou-order-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--color-border);
  border: 1px solid var(--color-border);
  border-radius: 8px;
  list-style: none;
}

.cl-thankyou-order-overview li {
  display: grid;
  min-width: 0;
  gap: 6px;
  align-content: start;
  padding: 18px 20px;
  color: var(--color-text);
  background: #fff;
  text-align: left;
}

.cl-thankyou-order-overview span {
  color: var(--color-muted);
  font-size: 14px;
  line-height: 1.4;
}

.cl-thankyou-order-overview strong {
  color: var(--color-text);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.35;
}

.woocommerce-order-received .woocommerce-table--order-details {
  width: 100%;
  margin: 0 !important;
  table-layout: auto;
}

.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td {
  padding: 16px 18px;
  vertical-align: top;
  text-align: left !important;
}

.woocommerce-order-received .woocommerce-table--order-details thead th {
  color: var(--color-text);
  background: var(--surface-soft);
}

.woocommerce-order-received .woocommerce-table--order-details .product-total,
.woocommerce-order-received .woocommerce-table--order-details tbody td:last-child,
.woocommerce-order-received .woocommerce-table--order-details tfoot td {
  text-align: right !important;
}

.woocommerce-order-received .woocommerce-table--order-details tfoot th {
  font-weight: 700;
}

.woocommerce-order-received .woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0 !important;
}

.woocommerce-order-received .woocommerce-columns--addresses::before,
.woocommerce-order-received .woocommerce-columns--addresses::after {
  display: none !important;
}

.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 22px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 8px;
}

.woocommerce-order-received .woocommerce-customer-details address {
  margin: 0;
  padding: 0;
  color: var(--color-muted);
  border: 0;
  font-style: normal;
  line-height: 1.7;
  text-align: left;
}

.woocommerce-order-received .woocommerce-customer-details address p {
  margin: 12px 0 0;
  padding: 0;
}

@media (max-width: 767px) {
  .woocommerce-order-received .checkout-shell .woocommerce-order {
    gap: 24px;
  }

  .woocommerce-order-received .woocommerce-order-details,
  .woocommerce-order-received .woocommerce-customer-details {
    gap: 14px;
  }

  .woocommerce-order-received .woocommerce-table--order-details th,
  .woocommerce-order-received .woocommerce-table--order-details td {
    padding: 14px 12px;
  }

  .woocommerce-order-received .woocommerce-table--order-details .product-name {
    width: 68%;
  }

  .woocommerce-order-received .woocommerce-table--order-details .product-total {
    width: 32%;
  }

  .woocommerce-order-received .woocommerce-columns--addresses {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 480px) {
  .cl-thankyou-order-overview {
    grid-template-columns: minmax(0, 1fr);
  }

  .cl-thankyou-order-overview li {
    grid-template-columns: minmax(112px, auto) minmax(0, 1fr);
    gap: 12px;
    align-items: baseline;
    padding: 14px 16px;
  }

  .cl-thankyou-order-overview strong {
    font-size: 16px;
  }

  .woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
    padding: 18px;
  }
}

/* Mobile account: one visual boundary per content section. */
@media (max-width: 767px) {
  .woocommerce-account .account-shell:has(.woocommerce-MyAccount-navigation) {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .woocommerce-account .account-shell .woocommerce:has(.woocommerce-MyAccount-navigation) {
    gap: 18px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .woocommerce-account .cl-account-edit-card {
    box-shadow: 0 12px 30px rgb(44 34 62 / 4%);
  }
}

/* Client revision 2026-09-08: final overrides. */
.catalog-hero p {
  max-width: 510px !important;
  color: #17131b !important;
  font-size: 17px !important;
  font-weight: 500;
  line-height: 1.55 !important;
}

.home-catalog-feature {
  position: relative;
  display: grid;
  min-width: 0;
  grid-column: span 2;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  isolation: isolate;
}

.home-catalog-feature__visual {
  position: relative;
  z-index: 0;
  display: block;
  min-width: 0;
  overflow: hidden;
  margin-right: -26px;
  background: #f3edf8;
  border-radius: 8px 0 0 8px;
  box-shadow: 0 18px 42px rgb(23 19 29 / 6%);
}

.home-catalog-feature__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.home-catalog-feature > .catalog-product-card {
  position: relative;
  z-index: 1;
  width: auto;
  min-width: 0;
  height: 100%;
  background: #fff;
  box-shadow: 0 20px 48px rgb(53 36 78 / 10%);
}

.home-highlights__column {
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
}

.home-highlights__image {
  max-width: 470px !important;
}

.home-specialists__cards,
.reviews-stories .reviews-stories__specialists-grid {
  grid-auto-rows: 1fr;
  align-items: stretch !important;
}

.home-specialist-card,
.reviews-stories .reviews-stories__specialists-grid .home-specialist-card {
  height: 100%;
  align-self: stretch;
}

.reviews-stories .home-specialist-card__review-text {
  max-height: calc(1.58em * 6);
  overflow: hidden;
}

.reviews-stories .home-specialist-card.is-expanded .home-specialist-card__review-text {
  max-height: none;
  overflow: visible;
}

.home-specialist-card__toggle {
  display: inline-flex;
  width: fit-content;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 16px;
  color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 9%, #fff);
  border: 1px solid color-mix(in srgb, var(--color-accent) 26%, transparent);
  border-radius: 8px;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.home-specialist-card__toggle span {
  display: inline !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  text-transform: none !important;
}

.home-specialist-card__toggle svg {
  margin: 0;
  transition: transform 180ms ease;
}

.home-specialist-card__toggle[aria-expanded="true"] svg {
  transform: rotate(90deg);
}

.company-page .company-technology__facts {
  gap: 12px !important;
}

.company-page .company-technology__facts .company-technology-fact {
  min-height: 176px !important;
  padding: 26px !important;
  background: #fff !important;
  border: 1.5px solid rgba(155, 123, 208, 0.78) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.company-page .company-technology__facts .company-technology-fact h3 {
  margin: 0 !important;
  color: #17131b !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.018em !important;
}

.company-page .company-technology__facts .company-technology-fact p {
  margin-top: 7px !important;
  color: #4f4858 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

.contacts-distributors__visual {
  min-height: 0 !important;
  aspect-ratio: 845 / 742 !important;
}

.contacts-distributors__image {
  object-fit: contain !important;
  object-position: center !important;
}

.site-footer__logo {
  display: inline-flex;
  width: 96px;
  height: 96px;
  align-items: center;
  justify-content: center;
}

.site-footer__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (min-width: 1024px) {
  .site-header__logo,
  .site-header__logo img {
    width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
  }

  .site-footer__nav-grid {
    grid-template-columns: 96px minmax(130px, 0.7fr) minmax(150px, 0.8fr) minmax(150px, 0.8fr) minmax(250px, 1.25fr);
    gap: clamp(24px, 3vw, 48px);
  }

  .home-highlights__layout {
    grid-template-columns: minmax(0, 1fr) minmax(400px, 1.55fr) minmax(0, 1fr) !important;
    column-gap: 24px !important;
  }

  .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card,
  .home-highlights--enhanced .home-highlight-card.is-visible {
    min-height: 150px !important;
    padding: 24px !important;
  }

  .home-highlights__visual {
    transform: scale(1.04) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .site-header__logo,
  .site-header__logo img {
    width: 70px !important;
    max-width: 70px !important;
    height: 70px !important;
  }
}

@media (max-width: 767px) {
  .site-header__logo,
  .site-header__logo img {
    width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
  }

  .catalog-hero p {
    max-width: 100% !important;
    color: #17131b !important;
    font-size: 15px !important;
  }

  .home-catalog-feature {
    display: block !important;
    grid-column: auto;
  }

  .home-catalog-feature__visual {
    display: none;
  }

  #shop .home-catalog__grid--products > .catalog-product-card:nth-of-type(n) {
    display: grid !important;
  }

  .home-highlights__image {
    max-width: 430px !important;
  }

  .company-page .company-technology__facts .company-technology-fact {
    min-height: 0 !important;
    padding: 24px !important;
  }

  .company-page .company-technology__facts .company-technology-fact h3 {
    font-size: 24px !important;
  }

  .site-footer__logo {
    width: 86px;
    height: 86px;
  }
}

/* Account logout confirmation dialog. */
body.cl-logout-dialog-open {
  overflow: hidden;
}

.cl-logout-dialog[hidden] {
  display: none;
}

.cl-logout-dialog {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.cl-logout-dialog__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(23, 19, 31, 0.48);
  opacity: 0;
  backdrop-filter: blur(5px);
  transition: opacity 180ms ease;
}

.cl-logout-dialog__panel {
  position: relative;
  width: min(100%, 470px);
  padding: 42px 40px 36px;
  color: #17131f;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0, rgba(184, 164, 223, 0.18), transparent 42%),
    #fff;
  border: 1px solid rgba(155, 123, 208, 0.3);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(38, 23, 57, 0.24);
  opacity: 0;
  transform: translateY(14px) scale(0.97);
  transition: opacity 180ms ease, transform 180ms ease;
}

.cl-logout-dialog.is-open .cl-logout-dialog__backdrop,
.cl-logout-dialog.is-open .cl-logout-dialog__panel {
  opacity: 1;
}

.cl-logout-dialog.is-open .cl-logout-dialog__panel {
  transform: translateY(0) scale(1);
}

.cl-logout-dialog__close {
  position: absolute;
  top: 16px;
  right: 16px;
  display: inline-grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  color: #6f6681;
  background: #f7f3fc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.cl-logout-dialog__close:hover,
.cl-logout-dialog__close:focus-visible {
  color: var(--color-accent);
  background: #eee6f8;
  transform: rotate(4deg);
}

.cl-logout-dialog__icon {
  display: inline-grid;
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  place-items: center;
  color: var(--color-accent);
  background: #f2ecfa;
  border: 1px solid rgba(155, 123, 208, 0.26);
  border-radius: 20px;
}

.cl-logout-dialog__panel h2 {
  margin: 0;
  color: #17131f;
  font-size: clamp(25px, 3vw, 31px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -0.025em;
}

.cl-logout-dialog__panel p {
  max-width: 370px;
  margin: 14px auto 0;
  color: #6f6681;
  font-size: 16px;
  line-height: 1.55;
}

.cl-logout-dialog__actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 28px;
}

.cl-logout-dialog__button {
  min-height: 52px;
  padding: 0 22px;
  border-radius: 11px;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.cl-logout-dialog__button:hover {
  transform: translateY(-1px);
}

.cl-logout-dialog__button--stay {
  color: #fff;
  background: var(--color-accent);
  border: 1px solid var(--color-accent);
  box-shadow: 0 10px 24px rgba(155, 123, 208, 0.28);
}

.cl-logout-dialog__button--stay:hover,
.cl-logout-dialog__button--stay:focus-visible {
  background: #8663bc;
  border-color: #8663bc;
}

.cl-logout-dialog__button--exit {
  color: var(--color-accent);
  background: #fff;
  border: 1px solid rgba(155, 123, 208, 0.62);
}

.cl-logout-dialog__button--exit:hover,
.cl-logout-dialog__button--exit:focus-visible {
  color: #6f49aa;
  background: #f7f3fc;
  border-color: var(--color-accent);
}

.cl-logout-dialog__button:focus-visible,
.cl-logout-dialog__close:focus-visible {
  outline: 3px solid rgba(155, 123, 208, 0.28);
  outline-offset: 3px;
}

@media (max-width: 520px) {
  .cl-logout-dialog {
    align-items: end;
    padding: 12px;
  }

  .cl-logout-dialog__panel {
    width: 100%;
    padding: 38px 22px 22px;
    border-radius: 24px;
  }

  .cl-logout-dialog__icon {
    width: 58px;
    height: 58px;
    margin-bottom: 18px;
    border-radius: 18px;
  }

  .cl-logout-dialog__actions {
    grid-template-columns: 1fr;
  }

  .cl-logout-dialog__button--stay {
    order: 1;
  }

  .cl-logout-dialog__button--exit {
    order: 2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cl-logout-dialog__backdrop,
  .cl-logout-dialog__panel,
  .cl-logout-dialog__close,
  .cl-logout-dialog__button {
    transition: none;
  }
}

/* Quantity selector shared by catalog, home and related-product cards. */
.catalog-product-card .catalog-product-card__actions--quantity {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.catalog-product-card .catalog-product-card__purchase {
  display: flex;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}
.catalog-product-card .catalog-product-card__purchase > .catalog-product-card__button {
  flex: 1 1 0;
  min-width: 0;
  min-height: 46px;
  padding-inline: 8px;
  font-size: 13px;
}
.catalog-product-card .catalog-product-card__actions--quantity > .catalog-product-card__details {
  min-height: 44px;
}
.catalog-product-card__quantity {
  display: flex;
  flex: 0 0 114px;
  align-items: stretch;
  min-height: 46px;
  overflow: hidden;
  color: var(--color-text, #332b3c);
  background: #fff;
  border: 1px solid rgb(155 123 208 / 45%);
  border-radius: 8px;
}
.catalog-product-card__quantity button {
  display: inline-flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-accent);
  font: 400 22px/1 Arial, sans-serif;
  cursor: pointer;
  touch-action: manipulation;
}
.catalog-product-card__quantity button:disabled {
  color: #c8bfd1;
  cursor: default;
}
.catalog-product-card__quantity button:hover:not(:disabled) {
  background: var(--color-lavender, #f5f1fa);
}
.catalog-product-card__quantity input {
  width: 24px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: inherit;
  background: transparent;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}
.catalog-product-card__quantity input::-webkit-inner-spin-button,
.catalog-product-card__quantity input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.catalog-product-card__quantity :is(button, input):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: -3px;
}
