/** Shopify CDN: Minification failed

Line 1980:0 Unexpected "@media"

**/
/* ==========================================================================
   Kaori — собственная реализация дизайна try-kaori.com
   Токены сняты из настроек оригинала; код написан с нуля.
   ========================================================================== */

/* --- Токены ------------------------------------------------------------ */
:root {
  /* Палитра */
  --c-bg:            #ffffff;
  --c-bg-warm:       #f7ece5;   /* тёплый песочный */
  --c-bg-cream:      #fcf7f4;   /* кремовый */
  --c-sage:          #526e58;   /* шалфейный — акцент 1 */
  --c-sage-deep:     #425846;
  --c-persimmon:     #d89b59;   /* хурма — акцент 2, кнопки */
  --c-persimmon-deep:#b8803f;
  --c-gold:          #c9a96e;
  --c-text:          #3e453f;
  --c-fg:            #2e2a39;
  --c-muted:         #6b6b6b;
  --c-faint:         #8e8e8e;
  --c-border:        #dfdfdf;
  --c-border-soft:   rgba(82, 110, 88,0.14);
  --c-on-dark:       #ffffff;

  /* Типографика */
  --font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-head: "EB Garamond", Georgia, "Times New Roman", serif;
  --head-weight: 600;
  --head-tracking: 0.78px;   /* замер оригинала */

  /* Геометрия */
  --page-width: 1400px;
  --gutter: clamp(20px, 5.6vw, 80px);
  --radius-btn: 6px;
  --radius-media: 12px;
  --radius-card: 12px;
  --radius-box: 24px;
  --radius-pill: 40px;

  /* Сетка */
  --grid-gap: 40px;
  --grid-gap-mobile: 20px;

  /* Тени */
  --shadow-card:  0.2rem 0.6rem 1.5rem rgba(62,69,63,0.10);
  --shadow-soft:  0 2px 12px rgba(28,28,28,0.06);
  --shadow-hover: 0 14px 32px rgba(28,28,28,0.10);
}

/* --- Сброс ------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 62.5%;              /* 1rem = 10px, как в оригинале */
  -webkit-text-size-adjust: 100%;
}

html, body { overflow-x: clip; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.7;
  color: var(--c-text);
  background: var(--c-bg);
  -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }
ul { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4 {
  font-family: var(--font-head);
  font-weight: var(--head-weight);
  letter-spacing: var(--head-tracking);
  color: var(--c-fg);
  line-height: 1.15;
  margin: 0;
}

h1 { font-size: clamp(3.2rem, 5vw, 5.4rem); }
h2 { font-size: clamp(2.8rem, 4vw, 4.4rem); }
h3 { font-size: clamp(1.8rem, 2.4vw, 2.4rem); }
p  { margin: 0; }

/* --- Раскладка --------------------------------------------------------- */
.wrap {
  max-width: var(--page-width);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.section--warm  { background: var(--c-bg-warm); }
.section--cream { background: var(--c-bg-cream); }

.eyebrow {
  font-size: 1.2rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--c-persimmon);
  text-align: center;
  margin-bottom: 14px;
}
.eyebrow::before, .eyebrow::after {
  content: "";
  display: inline-block;
  width: 28px; height: 1px;
  background: currentColor;
  vertical-align: middle;
  margin-inline: 12px;
  opacity: .6;
}

.section__head { text-align: center; margin-bottom: clamp(32px, 4vw, 52px); }
.section__head p { color: var(--c-muted); margin-top: 12px; font-size: 1.5rem; }

/* --- Кнопки ------------------------------------------------------------ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 26px;
  border: none;
  border-radius: var(--radius-btn);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .02em;
  transition: background-color .25s ease, transform .25s ease;
}
.btn--persimmon { background: var(--c-persimmon); color: #fff; width: 100%; padding: 16px 26px; border-radius: 8px; font-size: 1.5rem; }
.btn--persimmon:hover { background: var(--c-persimmon-deep); }
.btn--sage { background: var(--c-sage); color: #fff; }
.btn--sage:hover { background: var(--c-sage-deep); }

/* --- Шапка ------------------------------------------------------------- */
.header {
  background: var(--c-bg-cream);
  border-bottom: 1px solid rgba(82, 110, 88,.12);
}
.header__bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
  padding-block: 16px;
}
.header__nav { display: flex; gap: 28px; font-size: 1.3rem; font-weight: 500; }
.header__nav a:hover { color: var(--c-persimmon); }
.header__logo img { height: 22px; width: auto; }
.header__actions {
  justify-self: end;
  display: flex;
  gap: 20px;
  align-items: center;
}
.header__actions svg { width: 21px; height: 21px; display: block; }
.header__actions a { color: var(--c-fg); }
.header__actions a:hover { color: var(--c-persimmon); }

/* --- Hero -------------------------------------------------------------- */
.hero img { width: 100%; }
.hero__mobile { display: none; }

/* --- Полоса доверия ---------------------------------------------------- */
.trust { background: var(--c-bg-warm); padding-block: 22px; }
.trust__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.trust__item { display: flex; align-items: center; gap: 14px; justify-content: center; }
.trust__item img { width: 34px; height: 34px; object-fit: contain; flex: none; }
.trust__t {
  font-family: var(--font-head);
  font-style: italic;
  font-size: 1.5rem;
  color: var(--c-fg);
}
.trust__s { font-size: 1.3rem; color: var(--c-text); }

/* --- Сетка товаров ----------------------------------------------------- */
.products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--grid-gap);
}
.card {
  position: relative;
  background: #fff;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .3s ease, box-shadow .3s ease;
}
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-hover); }
.card__media { position: relative; padding: 10px; }
.card__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}
.card__badge {
  position: absolute;
  top: 20px; left: 20px;
  background: var(--c-sage);
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 4px;
  z-index: 2;
}
.card__kanji {
  position: absolute;
  right: 22px; bottom: 16px;
  width: 44px; height: 44px;
  border: 1px solid rgba(216,155,89,.55);
  display: grid; place-items: center;
  background: var(--c-bg-warm);
  color: var(--c-persimmon);
  border-radius: 50%;
  font-size: 1.5rem;
  z-index: 2;
}
.card__body { padding: 10px 22px 22px; text-align: left; }
.card__title { font-size: 2.2rem; margin-bottom: 4px; }
.card__price { font-size: 1.9rem; font-weight: 500; color: var(--c-fg); margin-bottom: 18px; }
.card__price del { color: var(--c-faint); margin-right: 8px; font-weight: 400; }
.card__price ins { text-decoration: none; font-weight: 700; color: var(--c-fg); }

/* --- Баннер-картинка --------------------------------------------------- */
.banner { position: relative; }
.banner img { width: 100%; }
.banner__mobile { display: none; }

/* --- Картинка + текст -------------------------------------------------- */
.imgtext {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
}
.imgtext__media img,
.imgtext__media video {
  width: 100%;
  border-radius: var(--radius-media);
  object-fit: cover;
}
.imgtext__body h2 { margin-bottom: 18px; }
.imgtext__body .btn { margin-top: 24px; }
.imgtext--center { text-align: center; }
.imgtext--center .imgtext__body { display: grid; justify-items: center; }

/* --- Отзывы (карточки в стиле соцсети) --------------------------------- */
.reviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.review {
  background: #fff;
  border-radius: 10px;
  box-shadow: var(--shadow-soft);
  padding: 16px 18px;
  font-size: 1.35rem;
}
.review__top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.review__avatar {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: #d8dbe0;
  flex: none;
  display: grid; place-items: center;
  color: #fff;
}
.review__avatar svg { width: 22px; height: 22px; }
.review__name { font-weight: 600; color: #050505; line-height: 1.2; }
.review__time { font-size: 1.2rem; color: var(--c-faint); }
.review__dots { margin-left: auto; color: var(--c-faint); letter-spacing: 2px; }
.review__text { color: #050505; line-height: 1.5; }
.review__text p + p { margin-top: 10px; }
.review__stats {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 10px;
  color: var(--c-faint);
  font-size: 1.25rem;
}
.review__likes { display: flex; align-items: center; gap: 5px; }
.review__likes span.emo { font-size: 1.4rem; }
.review__actions {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #e4e6eb;
  padding-top: 8px;
  color: #65676b;
  font-size: 1.3rem;
  font-weight: 500;
}
.review__actions span { display: inline-flex; align-items: center; gap: 6px; }

/* --- Подвал ------------------------------------------------------------ */
.footer { background: var(--c-sage); color: #fff; padding-block: 48px 0; }
.footer__grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 32px;
}
.footer__logo img { height: 24px; width: auto; filter: brightness(0) invert(1); }
.footer h3 {
  color: #fff;
  font-size: 1.8rem;
  margin-bottom: 16px;
}
.footer li { margin-bottom: 10px; }
.footer a { font-size: 1.35rem; opacity: .92; }
.footer a:hover { opacity: 1; text-decoration: underline; }
.footer__bottom {
  margin-top: 40px;
  padding-block: 16px;
  border-top: 1px solid rgba(255,255,255,.18);
  text-align: center;
  font-size: 1.25rem;
  opacity: .9;
}

/* --- Мобильная версия -------------------------------------------------- */
@media (max-width: 900px) {
  :root { --grid-gap: var(--grid-gap-mobile); }

  .header__nav { display: none; }

  .hero__desktop, .banner__desktop { display: none; }
  .hero__mobile, .banner__mobile { display: block; }

  .trust__grid { grid-template-columns: 1fr; gap: 14px; }
  .trust__item { justify-content: flex-start; }

  .products { grid-template-columns: 1fr; }
  .reviews  { grid-template-columns: 1fr; }

  .imgtext { grid-template-columns: 1fr; }
  .imgtext--flip .imgtext__media { order: -1; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
}

/* --- Баннер коллекции -------------------------------------------------- */
.collbanner {
  background: var(--c-bg-warm);
  text-align: center;
  padding-block: clamp(36px, 5vw, 64px);
}
.collbanner h1 { font-size: clamp(2.8rem, 4vw, 4.2rem); }

/* --- Панель фильтров --------------------------------------------------- */
.collbar {
  display: flex;
  align-items: center;
  gap: 18px;
  padding-block: 20px;
  border-bottom: 1px solid rgba(82, 110, 88,.16);
  font-size: 1.35rem;
  color: var(--c-muted);
  flex-wrap: wrap;
}
.collbar__count { margin-left: auto; }
.collbar select {
  font: inherit;
  color: var(--c-text);
  padding: 8px 12px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-btn);
  background: #fff;
}

/* Сетка коллекции — 4 колонки */
.products--4 { grid-template-columns: repeat(4, 1fr); padding-top: 36px; }
.card__badge--save { background: var(--c-persimmon); }

@media (max-width: 1100px) { .products--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .products--4 { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

/* --- Страница товара --------------------------------------------------- */
.pdp {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  padding-block: clamp(28px, 4vw, 56px);
}
.gallery__main img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-media);
}
.gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.gallery__thumbs img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: border-color .2s ease;
}
.gallery__thumbs img:hover, .gallery__thumbs img.is-active { border-color: var(--c-persimmon); }

.buybox h1 { font-size: clamp(2.8rem, 3.6vw, 4rem); margin-bottom: 10px; }
.buybox__price { font-size: 2.4rem; font-weight: 600; color: var(--c-fg); margin-bottom: 20px; }
.buybox__list { margin-bottom: 24px; }
.buybox__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 1.45rem;
  margin-bottom: 10px;
}
.buybox__list li::before {
  content: "✓";
  color: var(--c-sage);
  font-weight: 700;
  flex: none;
}
.buybox .btn { width: 100%; margin-bottom: 16px; }
.buybox__usp {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  border-top: 1px solid var(--c-border-soft);
  padding-top: 20px;
  text-align: center;
  font-size: 1.25rem;
  color: var(--c-text);
}

/* --- Сравнительная таблица --------------------------------------------- */
.compare { width: 100%; }
.compare__scroll { overflow-x: auto; }
.compare table { width: 100%; border-collapse: collapse; min-width: 560px; }
.compare th, .compare td {
  padding: 14px 12px;
  text-align: center;
  font-size: 1.35rem;
  border-bottom: 1px solid var(--c-border-soft);
}
.compare thead th {
  font-family: var(--font-head);
  font-size: 1.6rem;
  color: var(--c-fg);
}
.compare thead th:first-child { text-align: left; }
.compare tbody td:first-child { text-align: left; color: var(--c-text); }
.compare .col-kaori { background: rgba(82, 110, 88,.08); }
.compare .yes { color: var(--c-sage); font-weight: 700; }
.compare .no  { color: #c9695b; }

/* --- FAQ --------------------------------------------------------------- */

/* --- Гарантия ---------------------------------------------------------- */

/* --- Разделитель ------------------------------------------------------- */
.divider {
  height: 60px;
  display: grid;
  place-items: center;
}
.divider::after {
  content: "";
  display: block;
  width: min(1280px, calc(100% - 2 * var(--gutter)));
  height: 1px;
  background: var(--c-border-soft);
}

@media (max-width: 900px) {
  .pdp { grid-template-columns: 1fr; }
  .buybox__usp { grid-template-columns: 1fr; gap: 8px; }
}

/* --- Блок покупки: детали ---------------------------------------------- */
.buybox__rating {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.25rem;
  color: var(--c-muted);
  margin-bottom: 10px;
}
.buybox__stars { color: var(--c-persimmon); letter-spacing: 1px; }
.buybox__sub {
  font-size: 1.5rem;
  color: var(--c-text);
  margin-bottom: 18px;
  line-height: 1.6;
}
.buybox__list li::before { display: none; }
.buybox__list li .tick {
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--c-sage);
  color: #fff;
  display: grid; place-items: center;
  font-size: 1.05rem;
  flex: none;
  margin-top: 2px;
}
.buybox__stock {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--c-sage);
  color: #fff;
  border-radius: var(--radius-btn);
  padding: 10px 14px;
  font-size: 1.3rem;
  font-weight: 600;
  margin-bottom: 16px;
}
.buybox__stock small { font-weight: 400; opacity: .9; }
.btn--cta {
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 600;
  font-size: 1.6rem;
  padding: 18px 26px;
}

.buybox__usp { grid-template-columns: repeat(3, 1fr); gap: 16px; }
.buybox__usp div { display: grid; justify-items: center; gap: 8px; }
.buybox__usp .ico {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--c-bg-warm);
  display: grid; place-items: center;
  color: var(--c-sage);
  font-size: 1.8rem;
}

/* --- Карточка коллекции (отличается от карточки главной) ---------------- */
.products--4 .card__body { text-align: center; }
.products--4 .card__title { font-size: 1.7rem; margin-bottom: 8px; }
.products--4 .card__price { font-size: 1.6rem; margin-bottom: 14px; }
.products--4 .card__price ins { margin-right: 8px; }
.products--4 .card__price del { margin: 0; }
.products--4 .btn { background: var(--c-sage); }
.products--4 .btn:hover { background: var(--c-sage-deep); }

/* бейдж скидки — внизу слева на фото */
.card__badge--save {
  top: auto;
  bottom: 20px;
  left: 20px;
  background: var(--c-persimmon);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 4px;
  letter-spacing: .06em;
}
.card__badge--save::before { content: "🏷"; font-size: .95em; }

/* заголовок коллекции — без баннера, на общем фоне */
.collhead { text-align: center; padding-top: clamp(28px, 4vw, 44px); }
.collhead h1 { font-size: clamp(2.6rem, 3.4vw, 3.6rem); }

/* --- Платёжные иконки (свои; в Liquid заменяются нативными Shopify) ----- */
.pay-visa     { color: #1a1f71; }
.pay-mc       { color: #eb001b; }
.pay-amex     { color: #006fcf; }
.pay-apple    { color: #000; }
.pay-shop     { color: #5a31f4; }
.pay-discover { color: #ff6000; }

/* --- USP-иконки -------------------------------------------------------- */
.buybox__usp .ico svg { width: 22px; height: 22px; stroke: var(--c-sage); fill: none; stroke-width: 1.6; }

/* --- Секция-заголовок без отступов (эталон 88px) ------------------------ */
.richtext { padding-block: 22px; text-align: center; }
.richtext h2 { font-size: clamp(1.9rem, 2.4vw, 2.6rem); }

/* --- Отзыв с фото на карточке товара ----------------------------------- */
.pdpreview { margin: 0; }
.pdpreview img {
  width: 100%;
  max-width: 407px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-media);
  margin-inline: auto;
}
.pdpreview figcaption {
  margin-top: 12px;
  text-align: center;
  color: var(--c-muted);
  font-size: 1.35rem;
}

/* --- Квадратное медиа 650x650 ------------------------------------------ */
.imgtext__media--square video,
.imgtext__media--square img {
  width: 100%;
  max-width: 650px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-media);
}

/* --- Хвостовой отступ перед подвалом (эталон 110px) --------------------- */
.spacer { height: 110px; }

/* --- Тонкая подгонка высот под эталон ----------------------------------- */
.header__bar { padding-block: 23px; }              /* 55 -> 69 */
.pdp { padding-block: clamp(28px, 4vw, 86px); }    /* 859 -> 918 */
.richtext { padding-block: 29px; }                 /* 74 -> 88 */
.footer { padding-block: 61px 0; }                 /* 321 -> 347 */
                  /* 600 -> 680 */

/* --- Платёжные плашки: ближе к оригиналу по форме ----------------------- */
.pay-mc { position: relative; gap: 0; }
.pay-mc i {
  width: 13px; height: 13px;
  border-radius: 50%;
  display: block;
}
.pay-mc i:first-child { background: #eb001b; }
.pay-mc i:last-child  { background: #f79e1b; margin-left: -5px; }

/* ======================================================================== */
/* МОБИЛЬНАЯ ВЕРСИЯ — выверено по эталону 390px                             */
/* ======================================================================== */
@media (max-width: 900px) {

  /* Шапка: бургер слева, логотип по центру, корзина справа */
  .header__bar {
    grid-template-columns: 1fr auto 1fr;
    padding-block: 14px;
    gap: 12px;
  }
  .header__logo { justify-self: center; }
  .header__logo img { height: 20px; }
  .header__burger {
    display: grid;
    justify-self: start;
    gap: 4px;
    background: none;
    border: 0;
    padding: 4px;
  }
  .header__burger span {
    display: block;
    width: 20px; height: 2px;
    background: var(--c-fg);
    border-radius: 2px;
  }
  .header__actions .acc { display: none; }   /* аккаунта на мобиле нет */

  /* Галерея: слайдер во всю ширину, миниатюры -> точки */
  .pdp { padding-block: 0; }
  .gallery { margin-inline: calc(-1 * var(--gutter)); }
  .gallery__main img { border-radius: 0; }
  .gallery__thumbs { display: none; }
  .gallery__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 14px 0 4px;
  }
  .gallery__dots i {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: rgba(62,69,63,.28);
    display: block;
  }
  .gallery__dots i.is-active { background: var(--c-fg); transform: scale(1.5); }

  .buybox { padding-top: 6px; }
  .buybox__list li { margin-bottom: 6px; font-size: 1.4rem; }
  .buybox__list li .tick { width: 16px; height: 16px; font-size: .95rem; }

  }

/* ======================================================================== */
/* ТОЧНЫЕ МЕТРИКИ ОРИГИНАЛА (сняты через getComputedStyle)                  */
/* десктоп 1440px / мобайл 390px                                            */
/* ======================================================================== */

body {
  font-size: 16px;
  line-height: 28.8px;
  letter-spacing: 0.96px;
  color: rgba(62, 69, 63, 0.9);
}

/* Контейнер: max-width 1400 + боковые поля 50px */
.wrap {
  max-width: 1400px;
  padding-inline: 50px;
}

/* Отступы секций */
.section--trust { padding-block: 36px 32px; }
.trust          { padding-block: 36px 32px; }

/* Секция коллекции — во всю ширину, pt 64 / pb 112 */
.section--collection { padding-block: 64px 112px; }

/* Заголовки */
.eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 21.6px;
  font-weight: 500;
  letter-spacing: 2.64px;
  color: var(--c-sage);
  margin-bottom: 18px;
}

.section__head h2,
h2.collection-title {
  font-size: 48px;
  line-height: 52.8px;
  font-weight: 600;
  letter-spacing: -0.48px;
  color: #2c2c2c;
  margin-bottom: 14px;
}

.section__head p {
  font-size: 16px;
  line-height: 25.6px;
  letter-spacing: 0.9px;
  color: #6b6b6b;
  margin-top: 0;
}

.imgtext__body h2,
.faq + h2,

.card__title {
  font-size: 22px;
  line-height: 27.5px;
  font-weight: 600;
  letter-spacing: 0.78px;
  color: #2c2c2c;
  margin-bottom: 6px;
}

.footer h3 {
  font-size: 21.06px;
  line-height: 25.92px;
  font-weight: 600;
  letter-spacing: 0.78px;
  margin-bottom: 20px;
}

.footer { padding-block: 32px 20px; }

/* --- Мобильные метрики (390px) ----------------------------------------- */
@media (max-width: 900px) {
  body {
    font-size: 15px;
    line-height: 27px;
    letter-spacing: 0.9px;
  }
  .wrap { padding-inline: 20px; }

  .section__head h2,
  h2.collection-title {
    font-size: 34px;
    line-height: 37.4px;
    letter-spacing: -0.34px;
  }
  .section__head p { font-size: 16px; line-height: 25.6px; }

  .imgtext__body h2,

  .footer h3 { font-size: 18.72px; line-height: 23.04px; }
}

/* --- Фиксы специфичности ------------------------------------------------ */
.header__burger { display: none; }              /* только мобайл */
.header__bar { padding-block: 16px; }           /* эталон 69px */

.section__head .eyebrow,
p.eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  line-height: 21.6px;
  font-weight: 500;
  letter-spacing: 2.64px;
  color: var(--c-sage);
  margin-bottom: 18px;
}
.section__head .eyebrow::before,
.section__head .eyebrow::after { display: none; }

/* imgtext: эталон 532px на десктопе */
.imgtext { gap: 50px; }
.section .imgtext__media img { border-radius: var(--radius-media); }

@media (max-width: 900px) {
  .header__burger { display: grid; }
  .header__bar { padding-block: 14px; }
}

/* --- Высоты блоков по эталону (десктоп) --------------------------------- */
@media (min-width: 901px) {
  /* image_with_text: эталон 532px (460 контента + 36/36) */
  .imgtext__media img { height: 460px; object-fit: cover; width: 100%; }

  /* facebook testimonials: эталон 770px */
  .reviews { gap: 28px; }
  .review { padding: 20px 22px; }

  /* секция коллекции: эталон 896px */
  .section--collection { padding-block: 64px 90px; }
}

/* --- Мобильные блоки по эталону (390px) --------------------------------- */
@media (max-width: 900px) {
  /* Отзывы: горизонтальная карусель, эталон секции 472px */
  .reviews {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .reviews::-webkit-scrollbar { display: none; }
  .review { scroll-snap-align: center; padding: 14px 16px; }
  .review__text { font-size: 1.3rem; }

  /* Подвал: колонки в столбик, эталон 871px */
  .footer__grid { grid-template-columns: 1fr; gap: 26px; text-align: center; }
  .footer__logo img { margin-inline: auto; }
  .footer li { margin-bottom: 12px; }
}

/* --- Финальная подгонка мобильных высот --------------------------------- */
@media (max-width: 900px) {
  /* image_with_text: эталон 649px */
  .imgtext__media img { height: 289px; object-fit: cover; width: 100%; }
  /* секция коллекции: эталон 1810px */
  .section--collection { padding-block: 40px 44px; }
  .products { gap: 16px; }
}

/* --- Коллекция на мобильном: компактная карточка (эталон 2042px) -------- */
@media (max-width: 900px) {
  .products--4 { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .products--4 .card__body { padding: 8px 10px 14px; }
  .products--4 .card__title { font-size: 1.4rem; line-height: 1.3; }
  .products--4 .card__price { font-size: 1.35rem; margin-bottom: 10px; }
  .products--4 .btn { padding: 10px 12px; font-size: 1.25rem; }
  .products--4 .card__media { padding: 6px; }
  .collbar { font-size: 1.2rem; gap: 10px; padding-block: 14px; }
}

/* ======================================================================== */
/* ИКОНКИ                                                                   */
/* ======================================================================== */

/* Галочка буллета — реальная иконка магазина */
img.tick {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex: none;
  margin-top: 3px;
}

/* USP — реальные иконки магазина, без декоративного кружка */
.buybox__usp .ico {
  width: 46px;
  height: 46px;
  background: none;
  border-radius: 0;
}
.buybox__usp .ico img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

/* Универсальный инлайн-глиф */
svg.i {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  flex: none;
}
.buybox__stock svg.i { margin-right: 8px; }
.compare svg.i { width: 20px; height: 20px; }

/* FAQ: шеврон вместо +/− */

/* Отзывы: глифы соцсети */
.review__actions svg.i { width: 16px; height: 16px; opacity: .8; }
.review__likes .badge {
  display: inline-grid;
  place-items: center;
  width: 18px; height: 18px;
  border-radius: 50%;
  color: #fff;
}
.review__likes .badge--like { background: #1877f2; }
.review__likes .badge--love { background: #e0245e; margin-left: -6px; }
.review__likes .badge svg { width: 11px; height: 11px; }

/* Бейдж скидки: иконка тега */
.card__badge--save::before { content: none; }
.card__badge--save svg.i { width: 12px; height: 12px; }

/* Флаг в переключателе страны */
.flag { width: 20px; height: auto; border-radius: 2px; display: block; }

/* --- USP: иконки самодостаточные (кружок внутри файла), эталон 72px ------ */
.buybox__usp { gap: 20px; align-items: start; }
.buybox__usp .ico,
.buybox__usp .ico img { width: 72px; height: 72px; }
.buybox__usp div { gap: 12px; }
.buybox__usp div > span:last-child {
  font-family: var(--font-head);
  font-size: 18px;
  line-height: 23px;
  font-weight: 600;
  letter-spacing: 0.4px;
  color: var(--c-fg);
  max-width: 15ch;
}

/* Галочка буллета — эталон 22px */
img.tick { width: 22px; height: 22px; margin-top: 4px; }
.buybox__list li { gap: 12px; font-size: 16px; line-height: 30px; margin-bottom: 0; }

/* Плашка остатка: две строки */
.buybox__stock { align-items: center; padding: 12px 16px; }
.buybox__stock span { display: flex; align-items: center; font-size: 14px; letter-spacing: .04em; }
.buybox__stock small { display: block; font-size: 12px; margin-top: 1px; letter-spacing: 0; }
.buybox__stock .txt { display: block; }

/* Платёжные плашки — размер и цвета эталона */
.pay-visa     { background: #1a1f71; color: #fff; }
.pay-mc       { background: #000; gap: 0; }
.pay-amex     { background: #006fcf; color: #fff; font-style: normal; font-size: 10px; }
.pay-apple    { background: #fff; color: #000; font-style: normal; }
.pay-shop     { background: #5a31f4; color: #fff; font-style: normal; }
.pay-discover { background: #fff; color: #222; font-style: normal; font-size: 9px; }
.pay-mc i { width: 15px; height: 15px; }
.pay-mc i:last-child { margin-left: -6px; }

@media (max-width: 900px) {
  .buybox__usp { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .buybox__usp .ico, .buybox__usp .ico img { width: 54px; height: 54px; }
  .buybox__usp div > span:last-child { font-size: 14px; line-height: 18px; }
}

/* приоритет над ранним правилом .buybox__list li .tick */
.buybox__list li img.tick { width: 22px; height: 22px; }

/* --- Ссылка «Skip to content»: видна только при фокусе с клавиатуры ------ */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: 100;
}
.skip-link:focus {
  left: 12px;
  top: 12px;
  width: auto;
  height: auto;
  padding: 10px 18px;
  background: var(--c-sage);
  color: #fff;
  border-radius: var(--radius-btn);
  font-size: 1.4rem;
}

/* --- Секция гарантии: сплошной фон, печать и заголовок по центру -------- */

@media (max-width: 900px) {

}

/* ======================================================================== */
/* Сравнительная таблица: ярлык | наша колонка | остальные                   */
/* ======================================================================== */
.cmpx {
  /* локальные токены, чтобы не задевать глобальные линейки страницы */
  --rule-row: rgba(62, 69, 63, 0.26);
  --rule-row-warm: rgba(184, 128, 63, 0.5);
  --muted: rgba(62, 69, 63, 0.62);
  --muted-strong: rgba(62, 69, 63, 0.78);
  --card-bg: #fffaf6;
}

/* --- шапка блока, по центру --------------------------------------------- */
.cmpx__intro { max-width: 54ch; margin: 0 auto 46px; text-align: center; }

.cmpx__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--c-sage);
}
.cmpx__eyebrow::before,
.cmpx__eyebrow::after { content: ""; width: 26px; height: 1px; background: rgba(82, 110, 88, 0.4); }

.cmpx__heading {
  margin: 0;
  font-family: var(--font-head);
  font-size: 46px;
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: var(--c-fg);
  text-wrap: balance;
}

/* выделение в заголовке — только цветом, без смены начертания */
.cmpx__hl { color: var(--c-persimmon-deep); }

.cmpx__subhead {
  margin: 20px auto 0;
  max-width: 52ch;
  font-size: 16px;
  line-height: 1.7;
  color: var(--muted-strong);
}

/* --- таблица ------------------------------------------------------------ */
/* ячейки размещаются по явным координатам: при автоматическом размещении
   карточка занимает вторую колонку во всех строках и ячейки обтекают её,
   разъезжаясь по соседним колонкам. Число строк задаётся в разметке —
   без явных дорожек grid-row: 1 / -1 схлопывается в одну строку. */
.cmpx__grid {
  display: grid;
  grid-template-columns: minmax(150px, 1.05fr) minmax(150px, 1fr) minmax(150px, 1fr);
  position: relative;
  padding: 0 14px;
  background: var(--card-bg);
  border: 1px solid rgba(62, 69, 63, 0.14);
  border-radius: 14px;
  box-shadow: 0 18px 40px -30px rgba(62, 69, 63, 0.45);
}

.cmpx__row { display: contents; }

.cmpx__card {
  grid-column: 2;
  grid-row: 1 / -1;
  margin: -14px 0 -12px;
  border-radius: 12px;
  background: rgba(216, 155, 89, 0.09);
  border: 2px solid var(--c-persimmon-deep);
  box-shadow: 0 20px 40px -30px rgba(62, 69, 63, 0.5);
  pointer-events: none;
}

.cmpx__cell {
  position: relative;
  z-index: 1;
  padding: 23px 22px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cmpx__cell--lab   { grid-column: 1; padding-left: 12px; }
.cmpx__cell--ours  { grid-column: 2; text-align: center; align-items: center; }
.cmpx__cell--other { grid-column: 3; text-align: center; align-items: center; padding-right: 12px; }

.cmpx__row:not(:last-child) .cmpx__cell--lab,
.cmpx__row:not(:last-child) .cmpx__cell--other { border-bottom: 1px solid var(--rule-row); }
.cmpx__row:not(:last-child) .cmpx__cell--ours { border-bottom: 1px solid var(--rule-row-warm); }

.cmpx__cell--head { padding-top: 6px; padding-bottom: 22px; }
.cmpx__cell--ours.cmpx__cell--head { padding-top: 26px; }

.cmpx__coltitle {
  font-family: var(--font-head);
  font-size: 27px;
  line-height: 1.15;
  font-weight: 500;
  letter-spacing: 3.4px;
  color: var(--c-persimmon-deep);
}
.cmpx__coltitle--muted { letter-spacing: 0.4px; color: var(--muted-strong); }

.cmpx__pill {
  margin-top: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(216, 155, 89, 0.16);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c-persimmon-deep);
}

.cmpx__colnote { margin-top: 10px; font-size: 12px; letter-spacing: 0.4px; color: var(--muted); }

.cmpx__labhead {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted);
}

.cmpx__lab { font-size: 16px; line-height: 1.4; font-weight: 600; color: var(--c-text); }
.cmpx__val { font-size: 16px; line-height: 1.5; font-weight: 600; color: var(--c-text); text-wrap: balance; }
.cmpx__val--muted { font-weight: 400; color: var(--muted-strong); }

/* --- подвал ------------------------------------------------------------- */
.cmpx__foot { display: flex; flex-direction: column; align-items: center; gap: 16px; margin-top: 40px; }
.cmpx__fine { margin: 0; max-width: 62ch; text-align: center; font-size: 13px; line-height: 1.6; color: var(--muted); }

/* кнопка живёт по общей механике сайта: заливка расходится от центра,
   остаётся рамка и цветной текст — см. блок наведения ниже по файлу */
.cmpx__cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-block;
  padding: 16px 38px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--c-persimmon);
  color: #fff;
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  white-space: nowrap;
  transition: color .3s ease;
}
.cmpx__cta::before,
.cmpx__cta::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50.5%;
  z-index: -1;
  background: var(--c-persimmon);
  transition: transform .3s ease;
}
.cmpx__cta::before { left: 0; }
.cmpx__cta::after { right: 0; }
.cmpx__cta:hover { color: var(--c-persimmon-deep); }
.cmpx__cta:hover::before { transform: translateX(-100%); }
.cmpx__cta:hover::after { transform: translateX(100%); }

/* --- узкая ширина: та же таблица, сжатая -------------------------------- */
@media (max-width: 760px) {
  .cmpx__intro { margin-bottom: 30px; }
  .cmpx__heading { font-size: 27px; }
  .cmpx__subhead { font-size: 14px; line-height: 1.62; margin-top: 14px; }
  .cmpx__eyebrow { font-size: 10px; letter-spacing: 1.8px; margin-bottom: 14px; }
  .cmpx__eyebrow::before, .cmpx__eyebrow::after { width: 16px; }

  .cmpx__grid {
    grid-template-columns: minmax(74px, 0.92fr) minmax(86px, 1fr) minmax(78px, 1fr);
    padding: 0 7px;
    border-radius: 11px;
  }

  .cmpx__cell { padding: 15px 7px; }
  .cmpx__cell--lab { padding-left: 7px; }
  .cmpx__cell--other { padding-right: 7px; }
  .cmpx__cell--head { padding-top: 4px; padding-bottom: 14px; }
  .cmpx__cell--ours.cmpx__cell--head { padding-top: 16px; }

  .cmpx__card { margin: -9px 0 -8px; border-radius: 9px; border-width: 1.5px; }

  .cmpx__coltitle { font-size: 18px; letter-spacing: 1.5px; }
  .cmpx__coltitle--muted { letter-spacing: 0.2px; }
  .cmpx__pill { margin-top: 6px; padding: 3px 8px; font-size: 8px; letter-spacing: 1px; }
  .cmpx__colnote { margin-top: 6px; font-size: 10px; }
  .cmpx__labhead { font-size: 10px; letter-spacing: 1.4px; }

  .cmpx__lab { font-size: 13px; line-height: 1.35; }
  .cmpx__val { font-size: 13px; line-height: 1.42; }

  .cmpx__foot { margin-top: 26px; gap: 12px; }
  .cmpx__cta { display: block; width: 100%; text-align: center; padding: 15px 20px; }
  .cmpx__fine { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .cmpx__cta, .cmpx__cta::before, .cmpx__cta::after { transition: none; }
}

/* ======================================================================== */
/* СЕКЦИЯ ПРОДУКТА — точные значения, снятые с оригинала                    */
/* ======================================================================== */
.pdp-section {
  background: #f7ece5;
  padding-block: 36px;
}

/* колонки: flex 55/45, без gap — разделяет отступ правой колонки */
.pdp {
  display: flex;
  gap: 0;
  padding: 0;
  align-items: flex-start;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: 50px;
}
.pdp > .gallery { flex: 0 0 55%; max-width: 55%; }
.pdp > .buybox  { flex: 0 0 45%; max-width: 45%; padding-left: 50px; }
.pdp > .buybox > * { max-width: 600px; }

/* рейтинг */
.buybox__rating { font-size: 16px; line-height: 28.8px; letter-spacing: .96px; margin-bottom: 9px; }

/* заголовок */
.buybox h1 { font-size: 36px; line-height: 44.31px; letter-spacing: .78px; margin: 0; }

/* подзаголовок */
.buybox__sub { font-size: 17.6px; line-height: 24.64px; letter-spacing: .96px; margin: 0; }

/* буллеты */
.buybox__list { padding-top: 15px; margin: 0; }
.buybox__list li {
  font-size: 13px;
  line-height: 18.85px;
  letter-spacing: .96px;
  min-height: 20px;
  margin-bottom: 4px;
  gap: 10px;
  align-items: center;
}
.buybox__list li img.tick { width: 20px; height: 20px; margin: 0; }

/* плашка остатка */
.buybox__stock {
  background: #526e58;
  color: #fff;
  border-radius: 8px;
  padding: 5px 14px 5px 12px;
  gap: 10px;
  margin: 8px 0;
  min-height: 37px;
}
.buybox__stock .txt { font-size: 13px; line-height: 17px; font-weight: 700; letter-spacing: .04em; }
.buybox__stock small { font-weight: 400; font-size: 11px; line-height: 15px; letter-spacing: 0; }

/* кнопка */
.buybox .btn--cta {
  margin: 30px 0 24px;
  min-height: 49px;
  border-radius: 4px;
  font-size: 13px;
  line-height: 18.2px;
  letter-spacing: 1px;
  font-weight: 700;
  text-transform: uppercase;
}

/* платёжки */

/* USP */
.buybox__usp {
  margin: 15px 0;
  padding-top: 0;
  border-top: none;
  gap: 12px;
}
.buybox__usp .ico,
.buybox__usp .ico img { width: 56px; height: 56px; }
.buybox__usp div { gap: 0; }
.buybox__usp .ico { margin-bottom: 12px; }
.buybox__usp div > span:last-child {
  font-size: 15px;
  line-height: 20px;
  letter-spacing: .2px;
  max-width: 14ch;
}

/* отзыв-цитата */

@media (max-width: 900px) {
  .pdp { display: block; padding-inline: 20px; }
  .pdp > .gallery,
  .pdp > .buybox { max-width: 100%; flex: none; padding-left: 0; }
  .pdp-section { padding-block: 0 28px; }
}

/* --- Добор высот внутри блока покупки (эталон: 685px) ------------------- */
/* буллеты: 97px (было 107) — убираем зазор между строками */
.buybox__list li { margin-bottom: 0; }

/* плашка остатка: 37px (было 43) */
.buybox__stock { min-height: 37px; }
.buybox__stock .txt { line-height: 15px; }
.buybox__stock small { line-height: 13px; }

/* кнопка: 49px (было 54) */
.buybox .btn--cta { padding-block: 15px; min-height: 49px; }

/* USP: 112px (было 128) — подпись в две строки */
.buybox__usp div > span:last-child { font-size: 14px; line-height: 20px; max-width: 16ch; }

/* цитата: 101px (было 131) — в оригинале без рамки, фона и внутренних полей */

/* ======================================================================== */
/* Волна-разделитель: 4 слоя, скорости 10/8/6/4s (по замерам оригинала)     */
/* ======================================================================== */
.wavesep { width: 100%; overflow: hidden; line-height: 0; }
.wavesep__svg { width: 100%; height: 100%; display: block; }
.wavesep__svg > g > use { will-change: transform; }

@keyframes kaori-wave-a {
  0%   { transform: translateX(-100px); }
  100% { transform: translateX(60px); }
}
.wavesep__l1 { animation: kaori-wave-a 10s linear infinite; }
.wavesep__l2 { animation: kaori-wave-a  8s linear infinite; }
.wavesep__l3 { animation: kaori-wave-a  6s linear infinite; }
.wavesep__l4 { animation: kaori-wave-a  4s linear infinite; }

@media (prefers-reduced-motion: reduce) {
  .wavesep__svg > g > use { animation: none; }
}

/* ======================================================================== */
/* Карточки отзывов «Why People Love Kaori...»                              */
/* ======================================================================== */
.testicards { padding-block: 36px; }
.testicards .wrap { padding-inline: 50px; max-width: 1400px; }

.testicards__heading {
  font-family: var(--font-head);
  font-size: 39px;
  line-height: 48px;
  font-weight: 600;
  letter-spacing: 0.78px;
  text-align: center;
  margin: 0 0 30px;
}

.testicards__grid {
  display: grid;
  grid-template-columns: repeat(2, 407px);
  justify-content: start;
  gap: 60px;
}

.testicard {
  background: #f7ece5;
  border-radius: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.testicard__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}
.testicard__info { padding: 12.5px 20px; }
.testicard__text {
  font-size: 16px;
  line-height: 28.8px;
  letter-spacing: 0.96px;
  color: rgba(62, 69, 63, 0.9);
  text-align: center;
}
.testicard__caption {
  font-size: 14px;
  line-height: 15.4px;
  letter-spacing: 0.96px;
  color: rgba(62, 69, 63, 0.9);
  text-align: center;
  margin-top: 10px;
}

@media (max-width: 900px) {
  .testicards .wrap { padding-inline: 20px; }
  .testicards__heading { font-size: 29.25px; line-height: 36px; }
  .testicards__grid {
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    grid-template-columns: none;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .testicards__grid::-webkit-scrollbar { display: none; }
  .testicard { scroll-snap-align: center; }
}

/* волна, перевёрнутая по вертикали — свисает сверху */
.wavesep--flip .wavesep__svg { transform: scaleY(-1); }

/* --- Внутренности карточки отзыва: звёзды, бейдж, разделитель ----------- */
.testicard__info { padding: 12.5px 20px; }

/* ряд звёзд: 5 шт по 21px, по центру */
.testicard__stars {
  display: flex;
  justify-content: center;
  gap: 2px;
  margin: 2px 0 10px;
  height: 21px;
}
.testicard__star { width: 21px; height: 21px; display: block; }
.testicard__star svg { width: 21px; height: 21px; display: block; fill: #ececec; }
.testicard__star.is-on svg { fill: #ffcc00; }

/* круглый бейдж с кавычкой */
.testicard__quote {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 10px;
}
.testicard__quote svg { width: 28px; height: 28px; fill: rgba(255,255,255,.9); }

/* текст отзыва */
.testicard__text {
  font-size: 16px;
  line-height: 28.8px;
  letter-spacing: 0.96px;
  color: rgba(62, 69, 63, 0.9);
  text-align: center;
}
.testicard__text p { margin: 0; }

/* автор: линия сверху, курсив */
.testicard__author {
  border-top: 1px solid rgba(62, 69, 63, 0.06);
  margin-top: 7.5px;
  padding-top: 10px;
  text-align: center;
}
.testicard__author p { margin: 0; font-size: 14px; line-height: 15.4px; letter-spacing: 0.96px; }
.testicard__author em { font-style: italic; }

/* --- Иконка-галочка буллета: картинка, а не крашеный кружок -------------- */
.buybox__list li img.tick {
  background: none;
  border-radius: 0;
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex: none;
  margin: 0;
  padding: 0;
}
/* инлайновый запасной вариант — кружок с галочкой */
.buybox__list li .tick--svg {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--c-sage);
  color: #fff;
  display: grid;
  place-items: center;
  flex: none;
}
.buybox__list li .tick--svg svg { width: 13px; height: 13px; }

/* USP-иконка тоже без подложки */
.buybox__usp .ico img { background: none; }

/* --- Карточка цитаты в блоке покупки (по замерам оригинала) ------------- */

/* ======================================================================== */
/* ШАПКА — по замерам оригинала (69px, песочный фон, логотип 160×40)        */
/* ======================================================================== */
.header {
  background: #f7ece5;
  border-bottom: 1px solid rgba(62, 69, 63, 0.08);
  position: sticky;
  top: 0;
  z-index: 60;
}

.header__bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 12px 50px;
  max-width: 1400px;
  margin-inline: auto;
  min-height: 68px;
}

/* логотип 160×40 */
.header__logo { display: flex; align-items: center; max-width: 160px; }
.header__logo img { width: 160px; height: auto; max-width: 100%; display: block; }
.header__wordmark {
  font-family: var(--font-head);
  font-size: 26px;
  letter-spacing: 4px;
  color: var(--c-fg);
}

/* меню: 16px, тёмный текст */
.header__nav { display: flex; gap: 28px; align-items: center; }
.header__nav a {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0.96px;
  font-weight: 400;
  color: rgb(62, 69, 63);
}
.header__nav a:hover { color: var(--c-persimmon); }

/* иконки справа: аккаунт и корзина по 44×44, поиска на десктопе нет */
.header__actions { display: flex; align-items: center; gap: 0; justify-self: end; }
.header__actions a {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  color: rgb(62, 69, 63);
}
.header__actions svg { width: 21px; height: 21px; }
.header__actions .srch { display: none; }

@media (max-width: 900px) {
  .header__bar {
    grid-template-columns: 1fr auto 1fr;
    padding: 10px 20px;
    min-height: 56px;
    gap: 12px;
  }
  .header__logo { justify-self: center; max-width: 130px; }
  .header__logo img { width: 130px; }
  .header__nav { display: none; }
  .header__actions .acc { display: none; }
  .header__burger { display: grid; justify-self: start; }
}

/* ======================================================================== */
/* Наборы (bundles) — карточка 265×176, выбранная 191; колонка 100px        */

/* шапка выше закрытой панели, иконки кликабельны */
.header { z-index: 95; }
.header__actions a { position: relative; z-index: 1; cursor: pointer; }

/* иконка корзины: поле 22×22, вытянутая пропорция как в оригинале */
.header__actions .icon-cart { width: 22px; height: 22px; display: block; }
.header__actions svg { width: 21px; height: 21px; }
.cart__count { display: none; }   /* в оригинале счётчика у иконки нет */

/* --- Порядок наложения: панель корзины выше шапки ----------------------- */
.header { z-index: 60; }          /* липкая панель покупки — под корзиной */

/* ======================================================================== */
/* Корзина — точные значения, снятые с наполненной панели оригинала         */
/* --- Строки со скидкой: замерено на корзине с активной скидкой ---------- */

/* ======================================================================== */
/* КОРЗИНА — итоговые значения (панель песочная, тело светлое)             */

/* ======================================================================== */
/* КОРЗИНА-ПАНЕЛЬ                                                           */
/* ======================================================================== */
.cartd { position: fixed; inset: 0; z-index: 200; visibility: hidden; }
.cartd.is-open { visibility: visible; }
.cartd:not(.is-open) { pointer-events: none; }
.cartd__overlay { position: absolute; inset: 0; background: rgba(46,42,57,.35); opacity: 0; transition: opacity .25s ease; }
.cartd.is-open .cartd__overlay { opacity: 1; }

.cartd__panel {
  position: absolute; top: 0; right: 0;
  width: 400px; max-width: 100vw; height: 100%;
  background: #f7ece5;
  display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .3s ease;
  box-shadow: -8px 0 30px rgba(28,28,28,.12);
}
.cartd.is-open .cartd__panel { transform: translateX(0); }

/* шапка */
.cartd__header {
  display: flex; align-items: center; justify-content: space-between;
  height: 56px; padding: 0 15px; background: #fcf7f4; flex: none;
}
.cartd__title {
  font-family: var(--font-head); font-size: 20px; line-height: 24.6px;
  font-weight: 600; letter-spacing: .78px; color: rgb(62,69,63); margin: 0;
}
.cartd__close { background: none; border: 0; padding: 4px; color: rgb(62,69,63); display: grid; place-items: center; }
.cartd__close svg { width: 20px; height: 20px; }

/* баннер */
.cartd__banner {
  background: var(--c-sage); color: #fff; margin: 0; flex: none;
  padding: 14px 22px; text-align: center;
  font-size: 14px; line-height: 19px; font-weight: 600; letter-spacing: .2px;
}

/* тело */
.cartd__body { flex: 1 1 auto; overflow-y: auto; background: #fcf7f4; padding: 0 15px 8px; }

/* позиция */
.cartd__item {
  display: grid; grid-template-columns: 90px 1fr; gap: 14px;
  padding: 16px 0; border-bottom: 1px solid rgba(62,69,63,.08);
}
.cartd__img { width: 90px; height: 90px; object-fit: cover; border-radius: 8px; }
.cartd__mid { position: relative; min-width: 0; padding-right: 26px; }

.cartd__trash { position: absolute; top: 0; right: 0; background: none; border: 0; padding: 0; color: rgba(62,69,63,.6); }
.cartd__trash svg { width: 18px; height: 18px; display: block; }

.cartd__name {
  display: block; font-family: var(--font-head);
  font-size: 17.25px; line-height: 21px; font-weight: 600; color: rgb(62,69,63);
}
.cartd__unit { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 3px; }
.cartd__unit del { font-size: 14px; color: rgba(62,69,63,.55); }
.cartd__unit b { font-size: 15px; font-weight: 700; color: rgb(62,69,63); }
.cartd__badge {
  display: inline-flex; align-items: center; gap: 3px;
  background: rgba(62,69,63,.08); color: rgba(62,69,63,.75);
  font-size: 11px; font-weight: 600; border-radius: 10px; padding: 2px 8px;
}
.cartd__badge svg { width: 10px; height: 10px; }
.cartd__supply { font-size: 14px; color: rgba(62,69,63,.75); margin-top: 4px; }

.cartd__bottom { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 8px; }

/* степпер: рамка со скруглением */
.cartd__qty {
  display: inline-flex; align-items: center;
  border: 1px solid rgba(62,69,63,.25); border-radius: 8px; height: 32px; background: transparent;
}
.cartd__qty button {
  width: 30px; height: 30px; background: none; border: 0; padding: 0;
  font-size: 16px; line-height: 1; color: rgb(62,69,63); display: grid; place-items: center;
}
.cartd__qty span { min-width: 30px; text-align: center; font-size: 15px; font-weight: 600; color: rgb(62,69,63); }

.cartd__lines { text-align: right; }
.cartd__linerow { display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; }
.cartd__linerow del { font-size: 14px; color: rgba(62,69,63,.5); }
.cartd__linerow b { font-size: 17px; font-weight: 700; color: rgb(62,69,63); }
.cartd__save { font-size: 14px; line-height: 18px; font-weight: 700; color: var(--c-sage); margin-top: 2px; }

/* допродажи */
.cartd__upsell { padding-top: 18px; }
.cartd__upsell h3 {
  font-family: var(--font-head); font-size: 20px; line-height: 24.6px;
  font-weight: 600; letter-spacing: .78px; color: rgb(62,69,63);
  text-align: center; margin: 0 0 12px;
}
.upsell {
  display: grid; grid-template-columns: 60px 1fr; gap: 12px; align-items: start;
  background: #fff; border-radius: 10px; padding: 10px;
  box-shadow: 0 1px 4px rgba(28,28,28,.06); margin-bottom: 10px;
}
.upsell img { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; }
.upsell__info { display: flex; flex-direction: column; gap: 3px; }
.upsell__name { font-family: var(--font-head); font-size: 15px; line-height: 19px; font-weight: 600; color: rgb(62,69,63); }
.upsell__price { display: flex; align-items: baseline; gap: 6px; }
.upsell__price b { font-size: 15px; font-weight: 700; color: rgb(62,69,63); }
.upsell__price del { font-size: 13px; color: rgba(62,69,63,.5); }
.upsell__add {
  width: 100%; height: 32px; margin-top: 4px;
  background: var(--c-sage); color: #fff; border: 0; border-radius: 6px;
  font-size: 14px; font-weight: 700;
}
.upsell__add:hover { background: var(--c-sage-deep); }

/* подвал */
.cartd__footer { flex: none; background: #fcf7f4; padding: 14px 15px 16px; border-top: 1px solid rgba(62,69,63,.1); }

.protect { display: grid; grid-template-columns: auto 1fr auto auto; gap: 10px; align-items: center; padding-bottom: 14px; cursor: pointer; }
.protect__icon { color: var(--c-sage); }
.protect__icon svg { width: 32px; height: 32px; display: block; }
.protect__text { display: flex; flex-direction: column; gap: 1px; }
.protect__text b { font-family: var(--font-head); font-size: 14px; font-weight: 600; color: rgb(62,69,63); }
.protect__text small { font-size: 11px; line-height: 14px; color: rgba(62,69,63,.7); }
.protect__price { font-size: 15px; font-weight: 700; color: rgb(62,69,63); }
.protect__switch input { position: absolute; opacity: 0; }
.protect__track { display: block; width: 38px; height: 22px; border-radius: 11px; background: rgba(62,69,63,.18); position: relative; transition: background .2s ease; }
.protect__knob { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: transform .2s ease; }
.protect__switch input:checked + .protect__track { background: var(--c-sage); }
.protect__switch input:checked + .protect__track .protect__knob { transform: translateX(16px); }

.cartd__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 15px; color: rgba(62,69,63,.75); margin-bottom: 6px; }
.cartd__row--total { font-size: 20px; font-weight: 700; color: rgb(62,69,63); margin-bottom: 12px; }
.cartd__row--total strong { font-size: 20px; font-weight: 700; }

.cartd__checkout {
  width: 100%; height: 52px; border-radius: 8px;
  background: var(--c-persimmon); color: #fff;
  font-size: 19px; font-weight: 700; letter-spacing: .5px; border: 0;
}
.cartd__checkout:hover { background: var(--c-persimmon-deep); }
.cartd__pay { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; padding-top: 12px; }
.cartd__pay svg { height: 24px; width: auto; }

body.cartd-open { overflow: hidden; }
@media (max-width: 480px) { .cartd__panel { width: 100%; } }

/* --- Корзина: правки по сплошному замеру наполненной панели -------------- */

/* баннер: обычное начертание, не полужирное */
.cartd__banner { font-weight: 400; font-size: 14px; line-height: 18.2px; letter-spacing: .96px; padding: 14px 15px; }

/* крестик 30×30, иконка 20 */
.cartd__close { width: 30px; height: 30px; padding: 0; }
.cartd__close svg { width: 20px; height: 20px; }

/* подвал: граница сверху и поля как в оригинале */
.cartd__footer { padding: 0 15px 16px; border-top: 1px solid rgba(62,69,63,.2); }

/* строка Discount — ШАЛФЕЙНАЯ, 13.8px, обычная */
.cartd__row {
  font-size: 13.8px;
  line-height: 15.18px;
  font-weight: 400;
  color: rgb(82, 110, 88);
  margin: 0;
}
.cartd__row [data-cart-discount] { color: rgb(82, 110, 88); font-weight: 400; }

/* строка Total — Inter 20.7px, обычная */
.cartd__row--total {
  font-size: 20.7px;
  line-height: 22.77px;
  font-weight: 400;
  color: rgb(62, 69, 63);
}
.cartd__row--total strong { font-size: 20.7px; line-height: 22.77px; font-weight: 400; }

/* блок итогов: зазор 10px между строками */
.cartd__sums, .cartd__footer > .cartd__row { }
.cartd__row + .cartd__row--total { margin-top: 10px; margin-bottom: 12px; }

/* карточка допродажи: фото 65×65 */
.upsell { grid-template-columns: 65px 1fr; padding: 10px; border-radius: 10px; }
.upsell img { width: 65px; height: 65px; }

/* страховка: карточка с радиусом 10px, тумблер 40×20 */
.protect {
  background: #fcf7f4;
  border-radius: 10px;
  padding: 10px;
  gap: 12px;
  margin-bottom: 12px;
}
.protect__icon svg { width: 50px; height: 50px; }
.protect__track { width: 40px; height: 20px; border-radius: 20px; background: rgba(62,69,63,.2); }
.protect__knob { width: 14px; height: 14px; top: 3px; left: 3px; }
.protect__switch input:checked + .protect__track .protect__knob { transform: translateX(20px); }

/* платёжки: плашка 48×34, иконка 38×24 */
.cartd__pay { gap: 0; }
.cartd__pay svg { width: 38px; height: 24px; margin: 5px; }

/* --- Бейдж набора в корзине: 57×16, кегль 8px (замер оригинала) --------- */
.cartd__badge {
  height: 16px;
  padding: 0 4px;
  gap: 3px;
  border-radius: 6px;
  background: rgba(62, 69, 63, .08);
  color: rgba(62, 69, 63, .9);
  font-size: 8px;
  line-height: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  white-space: nowrap;
}
.cartd__badge svg { width: 8px; height: 8px; }

/* ======================================================================== */
/* НАБОРЫ (bundles) — единственный актуальный блок                          */
/* ======================================================================== */
.bundles { margin: 16px 0 10px; }
.bundles__heading {
  font-size: 13px; line-height: 18px; letter-spacing: .04em;
  text-transform: uppercase; color: var(--c-muted); margin-bottom: 8px;
}
.bundles__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4.5px; align-items: stretch; }

.bundle { position: relative; display: block; cursor: pointer; }
.bundle input { position: absolute; opacity: 0; width: 0; height: 0; }

.bundle__card {
  position: relative;
  display: block;
  background: rgba(82, 110, 88, .05);
  border: 0;
  border-radius: 5px;
  box-shadow: inset 0 0 0 1px rgba(82, 110, 88, .3);
  padding: 20px 7px 10px;
  min-height: 176px;
  transition: background .18s ease, box-shadow .18s ease;
}
.bundle:hover .bundle__card { background: rgba(82, 110, 88, .09); }
.bundle.has-ribbon .bundle__card { padding-top: 35px; }
.bundle.is-active .bundle__card,
.bundle:has(input:checked) .bundle__card {
  background: rgba(82, 110, 88, .15);
  box-shadow: inset 0 0 0 2px rgb(82, 110, 88);
}

.bundle__ribbon {
  position: absolute; top: 0; left: 0; right: 0; height: 25px;
  display: grid; place-items: center;
  background: var(--c-sage); color: #fff;
  font-size: 12px; font-weight: 400; line-height: 1;
  border-radius: 4px 4px 5px 5px; padding: 4px 8px;
}

.bundle__main { width: 100px; margin-inline: auto; display: flex; flex-direction: column; align-items: center; }
.bundle__img { width: 100px; height: 80px; object-fit: contain; padding-top: 7px; display: block; }
.bundle__content { display: flex; flex-direction: column; align-items: center; width: 100%; margin-top: 5px; }

.bundle__title { font-size: 13px; line-height: 18px; font-weight: 700; color: #000; white-space: nowrap; }
.bundle__row { display: flex; align-items: baseline; justify-content: center; gap: 4px; white-space: nowrap; }
.bundle__row b { font-size: 13px; line-height: 18.2px; font-weight: 700; color: rgb(82, 110, 88); }
.bundle__unit { font-size: 14px; line-height: 17px; font-weight: 400; color: rgb(82, 110, 88); }
.bundle__was {
  display: block; font-size: 12px; line-height: 17px; font-weight: 400;
  color: rgb(85, 85, 85); text-decoration: line-through; text-align: center;
}

.bundle__gift {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  margin: 8px -7px -10px; padding: 7px 8px 6px;
  border-radius: 0 0 3px 3px; background: rgba(82, 110, 88, .12);
  font-size: 10px; line-height: 12px; font-weight: 700; letter-spacing: .03em;
  text-transform: uppercase; color: var(--c-sage-deep); text-align: center;
}
.bundle__gift svg { width: 11px; height: 11px; flex: none; }

@media (max-width: 900px) {
  .bundle__card { padding: 16px 5px 8px; min-height: 160px; }
  .bundle.has-ribbon .bundle__card { padding-top: 30px; }
  .bundle__main { width: 88px; }
  .bundle__img { width: 88px; height: 70px; }
}

/* --- Карточки набора одной высоты: лента не удлиняет карточку ------------ */
.bundle { height: 100%; }
.bundle__card { height: 100%; display: flex; flex-direction: column; }
.bundle__main { margin-top: auto; margin-bottom: auto; }

/* --- Фон страницы: бежевый, как в оригинале (волна прозрачна) ------------ */
body { background: #f7ece5; }
.wavesep { background: transparent; }

/* ======================================================================== */
/* Липкая панель покупки — по замерам оригинала                             */
/* ======================================================================== */
.stickybar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 50;
  background: #f7ece5;
  padding: 10px 0;
  transform: translateY(100%);
  transition: transform .3s ease;
}
.stickybar.is-visible { transform: translateY(0); }

.stickybar__in {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  max-width: 1400px;
  margin-inline: auto;
  padding: 0 50px;
  height: 52px;
}

.stickybar img { width: 52px; height: 52px; object-fit: cover; border-radius: 6px; flex: none; }

.stickybar__name {
  font-family: var(--font-head);
  font-size: 19px;
  line-height: 23.38px;
  font-weight: 600;
  color: rgb(62, 69, 63);
}
.stickybar__price {
  font-family: var(--font-body);
  font-size: 22px;
  line-height: 24.2px;
  font-weight: 700;
  color: rgb(82, 110, 88);
}

.stickybar .btn {
  width: auto;
  min-width: 171px;
  height: 52px;
  margin: 0 0 0 auto;
  padding: 0 28px;
  border-radius: 8px;
  font-size: 19px;
  font-weight: 700;
  color: #fff;
}

@media (max-width: 900px) {
  .stickybar__in { padding: 0 20px; gap: 12px; }
  .stickybar img { width: 44px; height: 44px; }
  .stickybar__name { font-size: 16px; line-height: 20px; }
  .stickybar__price { font-size: 18px; line-height: 20px; }
  .stickybar .btn { min-width: 0; height: 46px; padding: 0 20px; font-size: 16px; }
}

/* --- Липкая панель: фото и текст — одна группа слева -------------------- */
.stickybar__info { display: flex; align-items: center; gap: 15px; min-width: 0; }
.stickybar__text { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.stickybar__name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* --- Типографика по замерам живого оригинала ---------------------------- */
h1, h2, h3, h4 { letter-spacing: 0.78px; }
.buybox h1 { font-size: 36px; line-height: 44.31px; letter-spacing: 0.78px; }
.stickybar__price { letter-spacing: 1px; }
.buybox__price { letter-spacing: 1px; }

/* ======================================================================== */
/* Блок доверия «Purchase with confidence»                                  */
/* ======================================================================== */

.conf__icon--japan svg,

@media (max-width: 900px) {
  .conf__row { grid-template-columns: 50px 1fr; gap: 14px; padding: 14px; }

}

/* --- Галерея товара едет вместе со страницей (замер оригинала: sticky/30px) */
:root { --header-h: 69px; }

@media (min-width: 901px) {
  .pdp { align-items: flex-start; }
  .pdp > .gallery {
    position: sticky;
    top: calc(var(--header-h) + 30px);   /* у них 30px, плюс наша всегда липкая шапка */
    align-self: flex-start;
  }
}

/* на мобильном колонки идут друг под другом — липкость выключаем */
@media (max-width: 900px) {
  .pdp > .gallery { position: static; top: auto; }
}

/* --- Кнопка Add to cart: кегль 19px ------------------------------------- */
.buybox .btn--cta {
  font-size: 19px;
  line-height: 22px;
  font-weight: 700;
  letter-spacing: 1px;
}

/* --- Второй заголовок внутри текста блока «картинка + текст» ------------- */

/* ======================================================================== */
/* Наведение: заливка расходится от центра к краям, остаётся рамка и текст   */
/* две половины: ::before уезжает влево, ::after вправо, 0.3s                */
/* ======================================================================== */
.btn--persimmon,
.btn--sage,
.upsell__add,
.cartd__checkout,
.buybox .btn--cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: transparent;
  border: 0;
  transition: color .3s ease;
}

.btn--persimmon::before, .btn--persimmon::after,
.btn--sage::before, .btn--sage::after,
.upsell__add::before, .upsell__add::after,
.cartd__checkout::before, .cartd__checkout::after,
.buybox .btn--cta::before, .buybox .btn--cta::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50.5%;
  z-index: -1;
  transform: translateX(0);
  transition: transform .3s ease;
}

/* левая половина уезжает влево, правая вправо */
.btn--persimmon::before, .btn--sage::before, .upsell__add::before,
.cartd__checkout::before, .buybox .btn--cta::before { left: 0; }

.btn--persimmon::after, .btn--sage::after, .upsell__add::after,
.cartd__checkout::after, .buybox .btn--cta::after { right: 0; }

.btn--persimmon:not([disabled]):hover::before,
.btn--sage:not([disabled]):hover::before,
.upsell__add:not([disabled]):hover::before,
.cartd__checkout:not([disabled]):hover::before,
.buybox .btn--cta:not([disabled]):hover::before { transform: translateX(-100%); }

.btn--persimmon:not([disabled]):hover::after,
.btn--sage:not([disabled]):hover::after,
.upsell__add:not([disabled]):hover::after,
.cartd__checkout:not([disabled]):hover::after,
.buybox .btn--cta:not([disabled]):hover::after { transform: translateX(100%); }

/* персиковые */
.btn--persimmon, .cartd__checkout, .buybox .btn--cta {
  color: #fff;
  box-shadow: inset 0 0 0 1px var(--c-persimmon);
}
.btn--persimmon::before, .btn--persimmon::after,
.cartd__checkout::before, .cartd__checkout::after,
.buybox .btn--cta::before, .buybox .btn--cta::after { background: var(--c-persimmon); }

.btn--persimmon:not([disabled]):hover,
.cartd__checkout:not([disabled]):hover,
.buybox .btn--cta:not([disabled]):hover { color: var(--c-persimmon); background: transparent; }

/* зелёные, включая Add в корзине */
.btn--sage, .upsell__add {
  color: #fff;
  box-shadow: inset 0 0 0 1px var(--c-sage);
}
.btn--sage::before, .btn--sage::after,
.upsell__add::before, .upsell__add::after { background: var(--c-sage); }

.btn--sage:not([disabled]):hover,
.upsell__add:not([disabled]):hover { color: var(--c-sage); background: transparent; }

@media (prefers-reduced-motion: reduce) {
  .btn--persimmon::before, .btn--persimmon::after,
  .btn--sage::before, .btn--sage::after,
  .upsell__add::before, .upsell__add::after,
  .cartd__checkout::before, .cartd__checkout::after,
  .buybox .btn--cta::before, .buybox .btn--cta::after { transition: none; }
}

/* ======================================================================== */
/* Строка происхождения под логотипом: флаг + Made in Japan                  */
/* ======================================================================== */
.header__brand {
  display: flex;
  flex-direction: column;
  align-items: center;      /* логотип и строка центрируются друг под другом */
  gap: 3px;
  min-width: 0;
}

.header__origin {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-body);
  font-size: 9px;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--c-sage);
  white-space: nowrap;
  /* разрядка добавляет пустоту справа от последней буквы — компенсируем */
  margin-right: -1.5px;
}

.header__flag {
  width: 13px;
  height: 9px;
  display: block;
  flex: none;
  border-radius: 1px;
  /* белое поле флага на кремовом фоне само по себе не читается */
  box-shadow: 0 0 0 1px rgba(62, 69, 63, 0.18);
}

/* на мобильном логотип стоит по центру — строка едет за ним */
@media (max-width: 900px) {
  .header__origin { font-size: 8.5px; letter-spacing: 1.2px; }
}

/* ======================================================================== */
/* Блок состава: четыре компонента, четыре задачи                           */
/* ======================================================================== */
.ingr {
  /* тёмные токены живут только внутри блока */
  --ink: #223028;
  --rule: rgba(247, 236, 229, 0.14);
  --text: rgba(247, 236, 229, 0.7);
  --text-dim: rgba(247, 236, 229, 0.5);
  --font-jp: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  color: var(--c-cream, #f7ece5);
}

/* --- шапка: по центру, с иероглифом-подложкой ---------------------------- */
.ingr__head { display: flex; flex-direction: column; align-items: center; text-align: center; padding-bottom: 56px; }

.ingr__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  color: var(--c-persimmon);
}
.ingr__eyebrow::before,
.ingr__eyebrow::after { content: ""; width: 34px; height: 1px; background: rgba(216, 155, 89, 0.45); }

/* заголовок и знак в общем слое, чтобы знак центрировался по строкам */
.ingr__title { position: relative; display: inline-block; }

.ingr__ghost {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font-jp);
  font-size: 210px;
  line-height: 1;
  color: #f7ece5;
  opacity: 0.055;
  pointer-events: none;
  user-select: none;
}

.ingr__heading {
  position: relative;
  margin: 0;
  font-family: var(--font-head);
  font-size: 58px;
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: 0.2px;
  color: #f7ece5;
  text-wrap: balance;
}
.ingr__hl { color: var(--c-persimmon); }

.ingr__lede { margin: 22px auto 0; max-width: 46ch; font-size: 16px; line-height: 1.72; color: var(--text); }

.ingr__cta {
  display: inline-block;
  margin-top: 30px;
  padding: 15px 34px;
  border-radius: 8px;
  background: transparent;
  color: #f7ece5;
  box-shadow: inset 0 0 0 1px var(--rule);
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.ingr__cta:hover { background: #f7ece5; color: var(--ink); box-shadow: inset 0 0 0 1px #f7ece5; }

/* --- сетка 2×2, разделённая крестом линий -------------------------------- */
.ingr__grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--rule); }

.ingr__cell {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 26px;
  align-items: center;
  padding: 38px 44px 38px 0;
  position: relative;
  border-bottom: 1px solid var(--rule);
}

/* вертикаль креста — только у левого столбца, иначе линия удвоится */
.ingr__cell:nth-child(odd) { border-right: 1px solid var(--rule); padding-right: 44px; }
.ingr__cell:nth-child(even) { padding-left: 44px; }

.ingr__figure { position: relative; width: 132px; height: 132px; display: grid; place-items: center; }

.ingr__kanji {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-family: var(--font-jp);
  font-size: 132px;
  line-height: 1;
  color: #f7ece5;
  opacity: 0.07;
  pointer-events: none;
  user-select: none;
}

.ingr__photo {
  position: relative;
  display: block;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(247, 236, 229, 0.16);
}

/* оттиск печати: тонкое кольцо со смещением */
.ingr__figure::after {
  content: "";
  position: absolute;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  border: 1px solid var(--c-persimmon);
  opacity: .45;
  transform: translate(7px, 7px);
  pointer-events: none;
}

.ingr__job {
  display: inline-block;
  margin-bottom: 11px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(216, 155, 89, .45);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--c-persimmon);
}

.ingr__name {
  margin: 0 0 8px;
  font-family: var(--font-head);
  font-size: 28px;
  line-height: 1.18;
  font-weight: 500;
  color: #f7ece5;
}

.ingr__desc { margin: 0; max-width: 40ch; font-size: 14.5px; line-height: 1.6; color: var(--text); }
.ingr__foot { margin-top: 22px; font-size: 12px; line-height: 1.6; color: var(--text-dim); }

@media (max-width: 880px) {
  .ingr__head { padding-bottom: 34px; }
  .ingr__heading { font-size: 33px; }
  .ingr__ghost { font-size: 130px; }
  .ingr__eyebrow { margin-bottom: 18px; letter-spacing: 2px; }
  .ingr__eyebrow::before, .ingr__eyebrow::after { width: 20px; }
  .ingr__lede { font-size: 15px; margin-top: 16px; }
  .ingr__cta { margin-top: 24px; display: block; width: 100%; text-align: center; }

  .ingr__grid { grid-template-columns: 1fr; }
  .ingr__cell,
  .ingr__cell:nth-child(odd),
  .ingr__cell:nth-child(even) { padding: 24px 0; border-right: 0; gap: 18px; align-items: start; }

  .ingr__figure { width: 88px; height: 88px; }
  .ingr__photo { width: 80px; height: 80px; }
  .ingr__figure::after { width: 80px; height: 80px; transform: translate(5px, 5px); }
  .ingr__kanji { font-size: 88px; }

  .ingr__job { font-size: 9px; letter-spacing: 1.6px; margin-bottom: 8px; }
  .ingr__name { font-size: 21px; margin-bottom: 6px; }
  .ingr__desc { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .ingr__cta { transition: none; }
}

/* ======================================================================== */
/* Блок отзывов: карточки с фото, на узком экране — лента                    */
/* ======================================================================== */
.rv {
  --card: #fffaf6;
  --rule: rgba(62, 69, 63, 0.13);
  --muted: rgba(62, 69, 63, 0.6);
  --muted-strong: rgba(62, 69, 63, 0.78);
}

.rv__head { display: flex; flex-direction: column; align-items: center; text-align: center; }

.rv__heading {
  margin: 0;
  font-family: var(--font-head);
  font-size: 52px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: .2px;
  color: var(--c-fg);
  text-wrap: balance;
}

.rv__lede { margin: 18px auto 0; max-width: 48ch; font-size: 16px; line-height: 1.7; color: var(--muted-strong); }

/* --- карточки ----------------------------------------------------------- */
.rv__grid { margin-top: 50px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }

.rev {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--rule);
  box-shadow: 0 16px 36px -30px rgba(62, 69, 63, 0.5);
}

.rev__photo { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }

/* тёплая подложка под текстом — та же, что у выделенной колонки в таблице */
.rev__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  /* верхнее поле освобождает место под кавычку, севшую на стык */
  padding: 40px 28px 24px;
  text-align: center;
  background: rgba(216, 155, 89, 0.1);
}

/* кавычка садится на границу снимка и текста */
.rev__mark {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--c-sage);
  /* ободок цвета карточки отделяет кружок от снимка под ним */
  box-shadow: 0 0 0 4px var(--card);
  font-family: var(--font-head);
  font-size: 32px;
  line-height: 0;
  padding-top: 13px;
  color: var(--card);
}

.rev__stars { display: inline-flex; gap: 4px; margin-bottom: 15px; }
.rev__stars svg { width: 15px; height: 15px; fill: var(--c-persimmon); display: block; }

.rev__quote {
  margin: 0 0 auto;
  font-family: var(--font-head);
  font-size: 19px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-text);
  text-wrap: pretty;
}

.rev__by {
  margin: 20px 0 0;
  padding-top: 16px;
  width: 100%;
  border-top: 1px solid rgba(62, 69, 63, 0.12);
  font-size: 13px;
  color: var(--muted);
}
.rev__by b { font-weight: 600; color: var(--c-text); }

/* карточка без текста: снимок приглушён, звёзды погашены */
.rev--empty .rev__photo { opacity: .55; filter: saturate(.7); }
.rev--empty .rev__quote { color: var(--muted); font-style: italic; }
.rev--empty .rev__stars svg { fill: rgba(62, 69, 63, .22); }
.rev--empty .rev__mark { background: rgba(62, 69, 63, .22); }

.rv__foot { margin-top: 26px; text-align: center; font-size: 12px; color: var(--muted); }

@media (max-width: 820px) {
  .rv__heading { font-size: 31px; }
  .rv__lede { font-size: 15px; margin-top: 14px; }

  /* лента: карточки листаются вбок и прилипают по центру */
  .rv__grid {
    margin-top: 32px;
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    /* поля выносим наружу, чтобы крайние карточки не липли к краю экрана */
    padding: 4px 20px 12px;
    margin-inline: -20px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  .rv__grid::-webkit-scrollbar { display: none; }

  .rev { flex: 0 0 82%; scroll-snap-align: center; }

  .rev__body { padding: 36px 22px 22px; }
  .rev__mark { width: 40px; height: 40px; font-size: 28px; padding-top: 11px; box-shadow: 0 0 0 3px var(--card); }
  .rev__quote { font-size: 18px; line-height: 1.48; }
  .rev__by { margin-top: 18px; padding-top: 14px; }
}

/* --- полоса происхождения в конце блока состава -------------------------- */
.origin {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  margin-top: 34px;
  padding: 20px 24px;
  border: 1px solid rgba(247, 236, 229, 0.14);
  border-radius: 12px;
  background: rgba(247, 236, 229, 0.05);
}

/* кремовый кружок на тёмном фоне читается как оттиск печати */
.origin__seal {
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #f7ece5;
  font-family: var(--font-jp, "Noto Serif JP", serif);
  font-size: 17px;
  line-height: 1;
  color: #223028;
}

.origin__title {
  margin: 0;
  font-family: var(--font-head);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 500;
  color: #f7ece5;
}

.origin__text { margin: 6px 0 0; max-width: 56ch; font-size: 14px; line-height: 1.6; color: rgba(247, 236, 229, 0.7); }

.origin__mark { display: inline-flex; align-items: center; gap: 10px; }

/* белое поле флага на тёмном фоне без обводки теряет форму */
.origin__flag { width: 26px; height: 18px; display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(247, 236, 229, 0.25); }

.origin__label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #f7ece5;
  white-space: nowrap;
}

@media (max-width: 880px) {
  .origin { grid-template-columns: auto 1fr; gap: 16px; padding: 16px 18px; margin-top: 26px; }
  .origin__seal { width: 48px; height: 48px; font-size: 14px; }
  .origin__title { font-size: 19px; }
  .origin__text { font-size: 13.5px; }
  /* метка уходит под текст, иначе заголовок ломается */
  .origin__mark { grid-column: 1 / -1; }
}

/* ======================================================================== */
/* Buybox: гарантии на линейках, отзыв карточкой                            */
/* ======================================================================== */
/* коробки убраны, структуру держат горизонтальные линейки —
   тот же приём, что в сравнительной таблице */
.conf {
  margin: 22px 0 6px;
  background: none;
  border: 0;
  border-top: 1px solid rgba(62, 69, 63, .16);
}

.conf__head {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 16px 0 15px;
  background: none;
  border-bottom: 1px solid rgba(62, 69, 63, .13);
}
/* линия договаривает строку до правого края */
.conf__head::after { content: ""; flex: 1; height: 1px; background: rgba(82, 110, 88, .28); }

.conf__tick {
  width: 24px; height: 24px; flex: none;
  border-radius: 50%;
  background: var(--c-sage);
  color: #fff;
  display: grid; place-items: center;
}
.conf__tick svg { width: 12px; height: 12px; stroke: currentColor; fill: none; stroke-width: 3; }

.conf__label {
  font-family: var(--font-body);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--c-sage);
}

.conf__row {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid rgba(62, 69, 63, .13);
}
.conf__row:last-child { border-bottom: 0; padding-bottom: 4px; }

.conf__icon { width: 46px; display: grid; place-items: center; }
.conf__icon svg { width: 100%; height: auto; display: block; }
.conf__icon--shield { color: var(--c-sage); }
.conf__icon--shield svg { width: 34px; }
.conf__icon--japan svg, .conf__icon--usa svg { width: 44px; border-radius: 3px; }
.conf__icon--usa svg { box-shadow: 0 1px 4px rgba(28, 28, 28, .18); }

.conf__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }

/* название чернилами: шалфейное спорило с шалфейными иконками рядом */
.conf__title {
  font-family: var(--font-head);
  font-size: 19px;
  line-height: 1.2;
  font-weight: 600;
  letter-spacing: .3px;
  color: var(--c-fg);
}
.conf__text { font-family: var(--font-body); font-size: 14px; line-height: 1.55; color: rgba(62, 69, 63, .7); }

/* отзыв остаётся карточкой — чужая речь честно отделена от колонки */
.buybox__quote {
  margin: 18px 0 6px;
  padding: 18px;
  background: #fffaf6;
  border: 1px solid rgba(62, 69, 63, .13);
  border-radius: 12px;
}

.buybox__quote-text {
  font-family: var(--font-head);
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: .2px;
  color: var(--c-text);
}
.buybox__quote-text p { margin: 0; }

.buybox__quote-author {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid rgba(62, 69, 63, .13);
  font-family: var(--font-body);
  font-size: 12.5px;
  line-height: 1.4;
  letter-spacing: .2px;
  color: rgba(62, 69, 63, .6);
}

.buybox__quote-stars { display: inline-flex; gap: 2px; }
/* персиковые, как звёзды рейтинга наверху: жёлтые выпадали из палитры */
.buybox__quote-stars svg { width: 12px; height: 12px; fill: var(--c-persimmon); display: block; }

/* ======================================================================== */
/* Вопросы и ответы: аккордеон на линейках                                  */
/* ======================================================================== */
/* даёт браузеру анимировать раскрытие по высоте содержимого */
html { interpolate-size: allow-keywords; }

.faq__head { display: flex; flex-direction: column; align-items: center; text-align: center; margin-bottom: 44px; }

.faq__heading {
  margin: 0;
  font-family: var(--font-head);
  font-size: 48px;
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: .2px;
  color: var(--c-fg);
  text-wrap: balance;
}

.faq__lede { margin: 16px auto 0; max-width: 46ch; font-size: 16px; line-height: 1.7; color: rgba(62, 69, 63, .78); }

.faq__list { max-width: 760px; margin: 0 auto; border-top: 1px solid rgba(62, 69, 63, .16); }
.faq__item { border-bottom: 1px solid rgba(62, 69, 63, .16); }

.faq__q {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 24px 4px;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-head);
  font-size: 23px;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: .2px;
  color: var(--c-fg);
  transition: color .2s ease;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q:hover { color: var(--c-persimmon-deep); }
.faq__q:focus-visible { outline: 2px solid var(--c-persimmon-deep); outline-offset: 4px; border-radius: 4px; }

/* знак: плюс, который на раскрытии превращается в минус */
.faq__sign {
  position: relative;
  width: 30px; height: 30px;
  flex: none;
  border-radius: 50%;
  background: rgba(82, 110, 88, .12);
  transition: background .25s ease;
}
.faq__sign::before,
.faq__sign::after {
  content: "";
  position: absolute;
  top: 50%; left: 50%;
  width: 11px; height: 1.6px;
  border-radius: 2px;
  background: var(--c-sage);
  transform: translate(-50%, -50%);
  transition: transform .3s cubic-bezier(.4, 0, .2, 1), background .25s ease;
}
.faq__sign::after { transform: translate(-50%, -50%) rotate(90deg); }

.faq__item[open] .faq__sign { background: var(--c-sage); }
.faq__item[open] .faq__sign::before,
.faq__item[open] .faq__sign::after { background: #fff; }
/* вертикальная палочка ложится в горизонталь */
.faq__item[open] .faq__sign::after { transform: translate(-50%, -50%) rotate(0deg); }

.faq__a {
  max-width: 62ch;
  padding: 0 4px 26px;
  margin: 0;
  font-size: 15.5px;
  line-height: 1.72;
  color: rgba(62, 69, 63, .78);
}
.faq__a p { margin: 0; }
.faq__a p + p { margin-top: 10px; }

/* плавное раскрытие там, где браузер это умеет */
.faq__item::details-content {
  block-size: 0;
  overflow: hidden;
  opacity: 0;
  transition: block-size .35s cubic-bezier(.4, 0, .2, 1), opacity .3s ease, content-visibility .35s allow-discrete;
}
.faq__item[open]::details-content { block-size: auto; opacity: 1; }

.faq__foot { max-width: 760px; margin: 28px auto 0; text-align: center; font-size: 14px; color: rgba(62, 69, 63, .6); }
.faq__foot a { color: var(--c-persimmon-deep); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 820px) {
  .faq__head { margin-bottom: 30px; }
  .faq__heading { font-size: 30px; }
  .faq__lede { font-size: 15px; margin-top: 13px; }
  .faq__q { font-size: 19px; gap: 16px; padding: 19px 0; }
  .faq__sign { width: 26px; height: 26px; }
  .faq__a { font-size: 14.5px; line-height: 1.66; padding: 0 0 20px; }
  .faq__foot { font-size: 13px; margin-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .faq__q, .faq__sign, .faq__sign::before, .faq__sign::after,
  .faq__item::details-content { transition: none; }
}

/* ======================================================================== */
/* Гарантия: векторная печать и иероглиф подложкой                          */
/* ======================================================================== */
.grt {
  position: relative;
  overflow: hidden;
  text-align: center;
}

/* иероглиф подложкой — тот же приём, что в блоке состава */
.grt__ghost {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
  font-size: 420px;
  line-height: 1;
  color: currentColor;
  opacity: .05;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.grt__in { position: relative; display: grid; justify-items: center; max-width: 720px; margin: 0 auto; }

/* печать собрана из окружностей: насечку рисует пунктир, весь текст прямой */
.grt__seal { width: 250px; height: 250px; display: block; }
.grt__seal circle { fill: none; stroke: currentColor; }
.grt__seal .tick { stroke-width: 7; stroke-dasharray: 1.6 9.4; opacity: .55; }
.grt__seal .num { font-family: var(--font-head); font-size: 92px; font-weight: 500; fill: currentColor; }
.grt__seal .cap { font-family: var(--font-body); font-size: 14px; font-weight: 600; letter-spacing: 6px; fill: currentColor; opacity: .8; }

.grt__sealcap {
  margin: 16px 0 30px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.6px;
  text-transform: uppercase;
  opacity: .7;
}

.grt__heading {
  margin: 0;
  max-width: 17ch;
  font-family: var(--font-head);
  font-size: 40px;
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: .3px;
  color: currentColor;
  text-wrap: balance;
}

@media (max-width: 820px) {
  .grt__ghost { font-size: 260px; opacity: .045; }
  .grt__seal { width: 172px; height: 172px; }
  .grt__sealcap { margin: 13px 0 22px; font-size: 10px; letter-spacing: 2.2px; }
  .grt__heading { font-size: 28px; line-height: 1.18; max-width: 15ch; }
}

/* ======================================================================== */
/* Единый вертикальный ритм секций                                          */
/* ======================================================================== */
:root { --section-y: 44px; }

.section,
.cmpx,
.faq,
.rv,
.ingr { padding-block: var(--section-y); }

/* у гарантии отступ в сокращённой записи вместе с боковыми полями */
.grt { padding: var(--section-y) 24px; }

@media (max-width: 820px) {
  :root { --section-y: 32px; }
  .grt { padding: var(--section-y) 20px; }
}

/* --- пустая корзина: центрируем блок целиком, а не абзацы по отдельности -- */
.cart--empty .section__head { text-align: center; }

.cart__empty {
  display: grid;
  justify-items: center;
  gap: 22px;
  padding-block: 36px 24px;
  text-align: center;
}

.cart__emptytext { margin: 0; font-size: 17px; line-height: 1.6; color: rgba(62, 69, 63, .7); }

/* кнопка в корзине не должна растягиваться на всю ширину */
.cart__empty .btn { width: auto; min-width: 220px; }

/* --- типографика блока «медиа + текст» ----------------------------------- */
/* заголовок секции: раньше правила не было вовсе и он падал на общий h2,
   выходя мельче подзаголовка внутри текста */
.imgtext__body > h2 {
  font-family: var(--font-head);
  font-size: 32px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0.78px;
  color: var(--c-text);
  margin: 0 0 14px;
}

.imgtext__body .rte h2 {
  font-family: var(--font-head);
  font-size: 32px;
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: 0.78px;
  color: var(--c-text);
  margin: 26px 0 12px;
}

.imgtext__body p,
.imgtext__body .rte p {
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0.4px;
  color: rgba(62, 69, 63, 0.86);
  margin: 0;
}
.imgtext__body .rte p + p { margin-top: 14px; }

@media (max-width: 820px) {
  .imgtext__body > h2,
  .imgtext__body .rte h2 { font-size: 26px; line-height: 1.18; }
  .imgtext__body .rte h2 { margin-top: 20px; }
  .imgtext__body p,
  .imgtext__body .rte p { font-size: 15px; line-height: 1.7; }
}

/* --- прокрутка к колонке покупки ---------------------------------------- */
html { scroll-behavior: smooth; }
/* липкая шапка накрыла бы цель, поэтому отводим её вниз */
#buy, [id^="shopify-section-"] { scroll-margin-top: 96px; }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* --- выдвижная корзина: пустое состояние -------------------------------- */
.cartd__empty {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 14px;
  min-height: 60vh;
  padding: 24px 28px;
  text-align: center;
}

.cartd__emptyicon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  margin-bottom: 4px;
  border-radius: 50%;
  background: rgba(82, 110, 88, .1);
  color: var(--c-sage);
}
.cartd__emptyicon svg { width: 26px; height: 26px; }

.cartd__emptytitle {
  margin: 0;
  font-family: var(--font-head);
  font-size: 22px;
  line-height: 1.25;
  font-weight: 600;
  color: var(--c-fg);
}

.cartd__emptytext { margin: 0; max-width: 32ch; font-size: 14px; line-height: 1.6; color: rgba(62, 69, 63, .6); }

/* кнопка наследовала растяжение от товарных — возвращаем ей свою ширину */
.cartd__emptycta { width: auto; min-width: 210px; margin-top: 6px; }

/* ======================================================================== */
/* Форма обратной связи                                                     */
/* ======================================================================== */
.cf { padding-block: var(--section-y); }

.cf__head { max-width: 62ch; margin: 0 auto 34px; text-align: center; }

.cf__heading {
  margin: 0;
  font-family: var(--font-head);
  font-size: 40px;
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: .3px;
  color: var(--c-fg);
  text-wrap: balance;
}

.cf__intro { margin-top: 16px; }
.cf__intro p { margin: 0; font-size: 16px; line-height: 1.7; color: rgba(62, 69, 63, .78); }
.cf__intro p + p { margin-top: 10px; }

.cf__form { max-width: 720px; margin: 0 auto; display: grid; gap: 14px; }

/* имя и почта рядом, остальное на всю ширину */
.cf__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.cf__field { display: block; }

.cf__field input,
.cf__field textarea {
  width: 100%;
  padding: 15px 17px;
  border: 1px solid rgba(62, 69, 63, .3);
  border-radius: 8px;
  background: transparent;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.5;
  color: var(--c-text);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.cf__field textarea { resize: vertical; min-height: 118px; }

.cf__field input::placeholder,
.cf__field textarea::placeholder { color: rgba(62, 69, 63, .55); }

.cf__field input:focus,
.cf__field textarea:focus {
  outline: none;
  border-color: var(--c-sage);
  box-shadow: 0 0 0 3px rgba(82, 110, 88, .14);
}

.cf__send {
  width: 100%;
  padding: 17px 26px;
  border: 0;
  border-radius: 8px;
  background: var(--c-sage);
  color: #fff;
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: .3px;
  cursor: pointer;
  transition: background .25s ease;
}
.cf__send:hover { background: var(--c-sage-deep); }
.cf__send:focus-visible { outline: 2px solid var(--c-sage-deep); outline-offset: 3px; }

.cf__ok, .cf__err {
  margin: 0;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.6;
}
.cf__ok { background: rgba(82, 110, 88, .12); color: var(--c-sage-deep); }
.cf__err { background: rgba(184, 128, 63, .14); color: var(--c-persimmon-deep); }

/* подпись поля нужна для доступности, но визуально её заменяет placeholder */
.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 760px) {
  .cf__heading { font-size: 28px; }
  .cf__intro p { font-size: 15px; }
  .cf__row { grid-template-columns: 1fr; }
}

/* --- галерея товара: лента со свайпом ------------------------------------ */
.gallery__main { position: relative; }

.gallery__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  border-radius: var(--radius-media);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.gallery__track::-webkit-scrollbar { display: none; }

/* каждый кадр занимает ровно ширину ленты — отсюда и центрирование */
.gallery__slide {
  flex: 0 0 100%;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  scroll-snap-align: center;
  border-radius: 0;
}

.gallery__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 250, 246, .92);
  color: var(--c-fg);
  box-shadow: 0 2px 10px rgba(62, 69, 63, .18);
  cursor: pointer;
  transition: opacity .2s ease, background .2s ease;
}
.gallery__arrow svg { width: 18px; height: 18px; }
.gallery__arrow--prev { left: 12px; }
.gallery__arrow--next { right: 12px; }
.gallery__arrow:hover { background: #fffaf6; }
/* на краях ленты стрелка гаснет, но остаётся на месте — без скачков вёрстки */
.gallery__arrow:disabled { opacity: .25; cursor: default; }
.gallery__arrow:focus-visible { outline: 2px solid var(--c-persimmon-deep); outline-offset: 2px; }

.gallery__dots i { cursor: pointer; }

@media (max-width: 900px) {
  .gallery__track { border-radius: 0; }
  .gallery__arrow { width: 34px; height: 34px; }
  .gallery__arrow--prev { left: 8px; }
  .gallery__arrow--next { right: 8px; }
}

/* --- галерея на узком экране -------------------------------------------- */
@media (max-width: 900px) {
  /* поля .pdp здесь НЕ обнуляем: в разметке это один элемент .wrap.pdp,
     и обнуление снимало отступы всей страницы, из-за чего галерея
     вылезала за экран на 20px с каждой стороны */
  .pdp > .gallery {
    flex: none;
    width: auto;      /* при width:100% отрицательные поля не растягивают блок */
    max-width: none;
    position: static;
    top: auto;
  }

  /* вытягиваем ровно на величину поля страницы — получается во всю ширину */
  .gallery { margin-inline: -20px; }
}

/* --- стрелки галереи: полупрозрачные, всегда внутри кадра ---------------- */
.gallery__arrow {
  background: rgba(255, 250, 246, .62);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 1px 6px rgba(62, 69, 63, .12);
}
.gallery__arrow:hover { background: rgba(255, 250, 246, .85); }

/* ── подписка ─────────────────────────────────────────────────────────── */
.buybox__app { margin: 14px 0; }
.buybox__app:empty { display: none; margin: 0; }

.cartd__plan {
  display: block;
  margin: 2px 0 0;
  font-size: 11px;
  letter-spacing: .4px;
  color: #526e58;
}

/* ── селектор подписки ─────────────────────────────────────────────────
   На классы приложения не опираемся: боевая версия расходится с
   открытым исходником. Строки размечает theme.js своим классом
   .kaori-subrow, активную помечает .is-active — без :has(), чтобы
   состояние не зависело от поддержки селектора. */
.buybox__app { margin: 14px 0 18px; font-family: var(--font-body); }
.buybox__app:empty { display: none; margin: 0; }

/* Гасим ВСЮ подложку приложения — белую коробку оно вешает инлайном,
   а на какой именно элемент, зависит от версии. Поэтому бьём по всему
   поддереву, а нужный фон возвращаем ниже более точными правилами. */
.buybox__app,
.buybox__app * {
  background: transparent !important;
  background-color: transparent !important;
}

.buybox__app fieldset,
.buybox__app > div,
.buybox__app > div > div {
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}

/* строка выбора */
.buybox__app .kaori-subrow {
  display: block;
  border: 0 !important;
  border-bottom: 0 !important;
  margin: 0 0 6px !important;
  padding: 13px 16px !important;
  border-radius: 5px;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(82, 110, 88, .3);
  background: rgba(82, 110, 88, .05) !important;
  transition: background .18s ease, box-shadow .18s ease;
}

.buybox__app .kaori-subrow:hover {
  background: rgba(82, 110, 88, .09) !important;
}

/* выбранная строка — как активная карточка набора */
.buybox__app .kaori-subrow.is-active {
  background: rgba(82, 110, 88, .15) !important;
  box-shadow: inset 0 0 0 2px rgb(82, 110, 88);
}

.buybox__app .kaori-subrow label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  cursor: pointer;
}

/* радиокнопка: белый кружок, шалфейное кольцо и точка */
.buybox__app input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex: none;
  width: 22px;
  height: 22px;
  margin: 0;
  border-radius: 50%;
  background: #fff !important;
  border: 2px solid #cfc7bf;
  display: grid;
  place-content: center;
  cursor: pointer;
  transition: border-color .18s ease;
}

.buybox__app input[type="radio"]:checked {
  border-color: var(--c-sage);
  border-width: 3px;
}

.buybox__app input[type="radio"]:checked::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-sage) !important;
}

.buybox__app input[type="radio"]:focus-visible {
  outline: 2px solid var(--c-sage);
  outline-offset: 2px;
}

/* типографика темы */
.buybox__app,
.buybox__app label,
.buybox__app li,
.buybox__app p,
.buybox__app span {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.35;
  letter-spacing: normal;
  color: var(--c-fg);
}

.buybox__app .kaori-subrow > label,
.buybox__app .kaori-subrow > div > label,
.buybox__app .kaori-subrow > p { font-weight: 700; }

.buybox__app ul { list-style: none; margin: 6px 0 0 !important; padding: 0 !important; }
.buybox__app ul label { font-size: 13px; font-weight: 400; color: var(--c-muted); }

/* цены в виджете не показываем — они уже есть в байбоксе */
.buybox__app .shopify_subscriptions_in_widget_price,
.buybox__app .allocation_price { display: none !important; }

.buybox__app .shopify_subscriptions_app_policy {
  margin: 10px 0 0 !important;
  font-size: 12px;
  color: var(--c-faint);
}

/* ── платёжные иконки ──────────────────────────────────────────────────
   Фильтр отдаёт <svg> с width/height в атрибутах; задаём размер здесь,
   чтобы ряд был ровным независимо от того, что вернёт Shopify. */
.buybox__pay {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 15px 0 24px;
  min-height: 24px;
}

.buybox__pay svg { width: 38px; height: 24px; display: block; }
