@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;0,800;0,900;1,700&display=swap");

/* ДИА МЕНЮ · Стили лендинга */

/* --- CSS Переменные: Точная палитра из макетов --- */
:root {
  /* Фирменный бордовый / винный (Заголовки, плашка и главная кнопка) */
  --color-wine: #77141b;
  --color-wine-hover: #8c1821;
  --color-wine-active: #630f15;
  --color-wine-shadow: rgba(119, 20, 27, 0.32);

  /* Фирменный оливковый / темно-зеленый (Подзаголовок, бренд, маркеры) */
  --color-olive-dark: #384526;
  --color-olive-brand: #3a4724;
  --color-olive-subtext: #2a3220;
  --color-olive-divider: #9fa98a;
  --color-olive-bullet: #5d683e;
  --color-olive-caption: #768164;

  /* Фоновые оттенки */
  --color-bg-base: #f4efe6;
  --color-bg-section2: #ece7d6; /* Заданный цвет второй секции */
  --color-bg-card: #fcf9f4;
  --color-white: #ffffff;

  /* Шрифты */
  --font-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif;

  /* Геометрия */
  --border-radius-btn: 14px;
}

/* --- Сброс стилей --- */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  outline: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100%;
  background-color: var(--color-bg-base);
  font-family: var(--font-sans);
  color: var(--color-olive-dark);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden !important;
}

#diaMenuApp,
.dia-menu-app {
  display: block !important;
  position: relative !important;
  top: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}

#diaMenuApp #heroScreen,
#diaMenuApp .hero-screen,
#heroScreen,
.hero-screen {
  margin-top: 0 !important;
  top: 0 !important;
}

/* Full-bleed breakout для всех секций (100vw) */
.hero-screen,
.sugar-section,
.dishes-preview-section,
.dishes-nutrition-section,
.kit-section,
.how-to-section,
.preview-section,
.author-section,
.reviews-section,
.faq-section,
.final-buy-section {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  box-sizing: border-box !important;
}

/* Изоляция стилей лендинга от внешних стилей родительского сайта */
.hero-screen *,
.sugar-section *,
.dishes-preview-section *,
.dishes-nutrition-section *,
.kit-section *,
.how-to-section *,
.preview-section *,
.author-section *,
.reviews-section *,
.faq-section *,
.final-buy-section *,
.modal-overlay *,
.lightbox-overlay * {
  box-sizing: border-box;
}

/* Все внутренние контейнеры центрируются строго по центру экрана 100vw */
.hero-container,
.sugar-container,
.dishes-preview-container,
.nutrition-container,
.kit-container,
.how-to-container,
.preview-container,
.author-container,
.reviews-container,
.faq-container,
.final-buy-container {
  position: relative !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Принудительное растяжение фоновых картинок на 100vw */
.hero-bg-container,
.dishes-preview-bg-container,
.how-to-bg-container,
.reviews-bg-container,
.hero-screen .hero-bg-container,
.dishes-preview-section .dishes-preview-bg-container,
.how-to-section .how-to-bg-container,
.reviews-section .reviews-bg-container {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.hero-picture,
.dishes-preview-bg-picture,
.how-to-bg-picture,
.reviews-bg-picture,
.hero-bg-container picture,
.dishes-preview-bg-container picture,
.how-to-bg-container picture,
.reviews-bg-container picture {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: 100vw !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.hero-bg-image,
.dishes-preview-bg-image,
.how-to-bg-image,
.reviews-bg-image,
.hero-bg-container img,
.dishes-preview-bg-container img,
.how-to-bg-container img,
.reviews-bg-container img {
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  min-width: 100vw !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  transform: none !important;
}

.hero-bg-image {
  object-position: 72% center !important;
}

.dishes-preview-bg-image,
.how-to-bg-image,
.reviews-bg-image {
  object-position: center center !important;
}

/* --- Изоляция списков ul, li от сторонних маркеров и отступов CMS --- */
#diaMenuApp ul,
#diaMenuApp li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-indent: 0 !important;
}

#diaMenuApp li::before,
#diaMenuApp li::after,
#diaMenuApp :is(h1, h2, h3, h4, p)::before,
#diaMenuApp :is(h1, h2, h3, h4, p)::after,
#diaMenuApp :is(h1, h2, h3, h4, p)::first-letter,
#diaMenuApp :is(h1, h2, h3, h4, p)::first-line {
  content: none !important;
  display: none !important;
}

#diaMenuApp strong,
#diaMenuApp b {
  font-weight: 700 !important;
}

#diaMenuApp #sugarSection .sugar-bullet-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

#diaMenuApp #sugarSection .sugar-bullet-item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  text-align: left !important;
}

#diaMenuApp #sugarSection .sugar-bullet-text {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(20px, 1.8vw, 25px) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  color: #262e1c !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-indent: 0 !important;
  text-transform: none !important;
}

/* --- 5. ТОЧНЫЕ ПРАВИЛА ДЛЯ КАЖДОГО ЗАГОЛОВКА С МАКСИМАЛЬНЫМ ПРИОРИТЕТОМ ID --- */

/* 01. Главный заголовок Hero H2 (H1 теперь у рецепта выше) */
#diaMenuApp #heroScreen .hero-title,
#heroScreen .hero-title,
.hero-screen .hero-title,
#heroScreen h1 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(44px, 4.4vw, 64px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

#diaMenuApp #heroScreen .hero-title .title-line,
#heroScreen .hero-title .title-line,
.hero-screen .hero-title .title-line {
  display: block !important;
  width: 100% !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
}

.title-word {
  display: inline;
}

.hero-sub-br {
  display: none;
}

/* 02. Заголовок секции сахара H2 */
#diaMenuApp #sugarSection .sugar-section-title,
#sugarSection .sugar-section-title,
.sugar-section .sugar-section-title,
#sugarSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 3.4vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 28px 0 !important;
  padding: 0 !important;
}

/* 02. Переходный заголовок сахара H3 */
#diaMenuApp #sugarSection .sugar-transition-title,
#sugarSection .sugar-transition-title,
.sugar-section .sugar-transition-title,
#sugarSection h3 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(34px, 3.4vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 03. Заголовок примеров блюд H2 */
#diaMenuApp #dishesPreviewSection .dishes-preview-title,
#dishesPreviewSection .dishes-preview-title,
.dishes-preview-section .dishes-preview-title,
#dishesPreviewSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* 04. Заголовок состава комплекта H2 */
#diaMenuApp #kitSection .kit-section-title,
#diaMenuApp #kitSection .kit-title,
#kitSection .kit-section-title,
#kitSection .kit-title,
.kit-section .kit-section-title,
.kit-section .kit-title,
#kitSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(36px, 3.8vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
}

/* 05. Заголовок как пользоваться H2 */
#diaMenuApp #howToSection .how-to-title,
#howToSection .how-to-title,
.how-to-section .how-to-title,
#howToSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 4vw, 56px) !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* 06. Заголовок об авторе H2 */
#diaMenuApp #authorSection .author-section-title,
#diaMenuApp #authorSection .author-title,
#authorSection .author-section-title,
#authorSection .author-title,
.author-section .author-section-title,
.author-section .author-title,
#authorSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 24px 0 !important;
  padding: 0 !important;
}

/* 06. Имя автора H3 */
#diaMenuApp #authorSection .author-name,
#authorSection .author-name,
.author-section .author-name,
#authorSection h3 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(28px, 2.5vw, 36px) !important;
  font-weight: 900 !important;
  color: #77141b !important;
  line-height: 1.1 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

/* 07. Заголовок отзывов H2 */
#diaMenuApp #reviewsSection .reviews-section-title,
#diaMenuApp #reviewsSection .reviews-title,
#reviewsSection .reviews-section-title,
#reviewsSection .reviews-title,
.reviews-section .reviews-section-title,
.reviews-section .reviews-title,
#reviewsSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(36px, 3.8vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

/* 08. Заголовок FAQ H2 */
#diaMenuApp #faqSection .faq-section-title,
#faqSection .faq-section-title,
.faq-section .faq-section-title,
#faqSection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(36px, 3.8vw, 52px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 44px 0 !important;
  padding: 0 !important;
}

/* 09. Заголовок финальной покупки H2 */
#diaMenuApp #finalBuySection .final-buy-title,
#finalBuySection .final-buy-title,
.final-buy-section .final-buy-title,
#finalBuySection h2 {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(38px, 4vw, 54px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: #77141b !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

/* 09. Заголовок «В комплекте:» H3 */
#finalBuySection .final-package-title,
.final-buy-section .final-package-title,
#finalBuySection h3.final-package-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  font-weight: 900 !important;
  color: #77141b !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
}

/* 09. Заголовок «Как вы получите материалы:» H3 */
#finalBuySection .final-delivery-title,
.final-buy-section .final-delivery-title,
#finalBuySection h3.final-delivery-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: clamp(26px, 2.4vw, 34px) !important;
  font-weight: 900 !important;
  color: #77141b !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

/* --- 6. ТОЧНЫЕ ПРАВИЛА ДЛЯ ВСЕХ ПАРАГРАФОВ <p> С МАКСИМАЛЬНЫМ ПРИОРИТЕТОМ ID --- */

/* 01. Подзаголовок Hero */
#heroScreen .hero-subtitle,
.hero-screen .hero-subtitle,
#heroScreen p.hero-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(19px, 1.6vw, 23px) !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.36 !important;
  letter-spacing: -0.01em !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 38px 0 !important;
  padding: 0 !important;
  max-width: 500px !important;
}

/* 02. Подпись к графику сахара */
#sugarSection .sugar-graph-caption,
.sugar-section .sugar-graph-caption {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #768164 !important;
  line-height: 1.4 !important;
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  text-align: right !important;
  text-indent: 0 !important;
  text-transform: none !important;
}

/* 03. Подзаголовок примеров блюд */
#dishesPreviewSection .dishes-preview-subtitle,
.dishes-preview-section .dishes-preview-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(20px, 1.8vw, 24px) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.01em !important;
  color: #384526 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 04. Подзаголовок состава комплекта */
#kitSection .kit-subtitle,
.kit-section .kit-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 26px 0 !important;
  padding: 0 !important;
}

/* 05. Подзаголовок как пользоваться */
#howToSection .how-to-subtitle,
.how-to-section .how-to-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 06. Биография автора */
#authorSection .author-bio,
.author-section .author-bio {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  color: #384526 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 06. Сноска специалистов */
#authorSection .credential-footnote,
.author-section .credential-footnote {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #768164 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin-top: 14px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

/* 07. Подзаголовок отзывов */
#reviewsSection .reviews-subtitle,
.reviews-section .reviews-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(18px, 1.6vw, 22px) !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 08. Текст ответов FAQ */
#faqSection .faq-answer-text,
.faq-section .faq-answer-text {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #384526 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 08. Текст сноски FAQ */
#faqSection .faq-footnote-text,
.faq-section .faq-footnote-text {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

/* 09. Подзаголовок финальной покупки */
#finalBuySection .final-buy-subtitle,
.final-buy-section .final-buy-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: clamp(18px, 1.7vw, 22px) !important;
  font-weight: 700 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 09. Подзаголовок блока доставки */
#finalBuySection .final-delivery-subtitle,
.final-buy-section .final-delivery-subtitle {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #5d683e !important;
  line-height: 1.4 !important;
  text-align: left !important;
  text-transform: none !important;
  text-indent: 0 !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
}

/* Изоляция аватара автора */
.author-photo-img,
.author-avatar-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* 01. Главный экран (Hero) */
.hero-screen {
  position: relative;
  width: 100vw;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: var(--color-bg-base);
}

/* --- Фоновое изображение hero-bg на всю ширину и высоту --- */
.hero-bg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.hero-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* Градиентный фильтр: делает текст и карточку книги идеально контрастными */
.hero-bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(244, 239, 230, 0.97) 0%,
    rgba(244, 239, 230, 0.92) 35%,
    rgba(244, 239, 230, 0.65) 60%,
    rgba(244, 239, 230, 0.25) 85%,
    rgba(244, 239, 230, 0.1) 100%
  );
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
}

/* --- Контейнер первого экрана (смещен ниже для комфортного отступа) --- */
.hero-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  min-height: 100vh;
  margin: 0 auto;
  padding: 68px 64px 60px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* --- Верхняя линия (Шапка): Бренд и разделительная линия --- */
.hero-topbar {
  display: flex;
  align-items: center;
  width: 100%;
  gap: 24px;
  margin-bottom: 24px;
}

.brand-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.brand-leaf-icon {
  width: 26px;
  height: 24px;
  flex-shrink: 0;
  filter: drop-shadow(0 1px 2px rgba(68, 82, 41, 0.2));
}

.brand-name {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: var(--color-olive-brand);
  text-transform: uppercase;
}

.topbar-divider-line {
  flex: 1;
  height: 1px;
  background-color: var(--color-olive-divider);
  opacity: 0.65;
}

/* --- Главная область первого экрана: 2 колонки --- */
.hero-main-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 56px;
  width: 100%;
  margin: 40px 0 auto;
}

/* --- Левая колонка: Текст и кнопка --- */
.hero-left-col {
  max-width: 580px;
  flex-shrink: 0;
  text-align: left;
}

/* Фирменная плашка: ДИА МЕНЮ · КНИГА РЕЦЕПТОВ */
.hero-eyebrow-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(119, 20, 27, 0.24);
  padding: 8px 18px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(119, 20, 27, 0.08);
  margin-bottom: 22px;
}

.badge-dot {
  width: 7px;
  height: 7px;
  background-color: var(--color-wine);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(119, 20, 27, 0.7);
  flex-shrink: 0;
}

.badge-text {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--color-wine);
  text-transform: uppercase;
}

/* Главный заголовок: Что приготовить при диабете? */
.hero-title {
  font-family: var(--font-serif);
  font-size: clamp(44px, 4.4vw, 64px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 22px;
  display: flex;
  flex-direction: column;
}

.hero-title .title-line {
  display: block;
}

/* Подзаголовок: Любимая еда в низкоуглеводном исполнении */
.hero-subtitle {
  font-family: var(--font-sans);
  font-size: clamp(19px, 1.6vw, 23px);
  font-weight: 700;
  line-height: 1.36;
  letter-spacing: -0.01em;
  color: var(--color-olive-dark);
  margin-bottom: 38px;
  max-width: 500px;
}

/* Блок действия: Кнопка и подпись */
.hero-cta-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

/* Кнопка: Купить ДИА МЕНЮ — 990 ₽ */
.cta-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-wine);
  color: var(--color-white);
  border: none;
  border-radius: var(--border-radius-btn);
  padding: 20px 42px;
  font-family: var(--font-sans);
  font-size: 18.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  box-shadow: 0 10px 28px var(--color-wine-shadow),
    0 3px 6px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1),
    background-color 0.2s ease, box-shadow 0.2s ease;
}

.cta-button:hover {
  background-color: var(--color-wine-hover);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(119, 20, 27, 0.4), 0 4px 8px rgba(0, 0, 0, 0.12);
}

.cta-button:active {
  background-color: var(--color-wine-active);
  transform: translateY(1px);
  box-shadow: 0 6px 16px var(--color-wine-shadow);
}

/* Анимация переливающегося блика */
.cta-button::after {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 70%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.26),
    transparent
  );
  transform: skewX(-22deg);
  pointer-events: none;
  animation: shine-sweep 4.5s infinite 1.5s;
}

@keyframes shine-sweep {
  0% {
    left: -120%;
  }
  35%,
  100% {
    left: 160%;
  }
}

.cta-text {
  position: relative;
  z-index: 1;
}

/* Подпись под кнопкой: PDF · Можно распечатать */
.cta-subtext {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--color-olive-subtext);
  padding-left: 6px;
}

/* ==========================================================================
   ПРАВАЯ КОЛОНКА: ОБЛОЖКА КНИГИ ПО ДИАГОНАЛИ
   ========================================================================== */
.hero-right-col {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  perspective: 1200px;
}

.book-presentation-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Мягкое теплое свечение позади книги */
.book-glow-effect {
  position: absolute;
  width: 110%;
  height: 110%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.7) 0%,
    rgba(244, 239, 230, 0.2) 60%,
    transparent 80%
  );
  filter: blur(20px);
  z-index: 1;
  pointer-events: none;
}

/* Карточка книги: поворот по диагонали с 3D-перспективой */
.book-card {
  position: relative;
  z-index: 2;
  width: clamp(280px, 24vw, 360px);
  aspect-ratio: 1 / 1.414;
  transform: rotate(3deg) rotateY(-8deg) rotateX(2deg);
  transform-style: preserve-3d;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s ease;
  cursor: pointer;
}

.book-card:hover {
  transform: rotate(0.5deg) rotateY(-2deg) rotateX(0deg) translateY(-10px)
    scale(1.02);
}

.book-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.book-cover-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 4px 14px 14px 4px;
  box-shadow: 22px 28px 50px rgba(35, 42, 26, 0.32),
    8px 12px 20px rgba(0, 0, 0, 0.14), -1px 0 3px rgba(0, 0, 0, 0.1);
  user-select: none;
  -webkit-user-drag: none;
  font-size: 23px;
}

/* Имитация объемного корешка книги */
.book-spine-highlight {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 22px;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.2) 0%,
    rgba(0, 0, 0, 0.05) 18%,
    rgba(255, 255, 255, 0.35) 30%,
    rgba(0, 0, 0, 0.08) 45%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 3;
  border-radius: 4px 0 0 4px;
}

/* Имитация блока бумажных страниц снизу и справа */
.book-pages-edge {
  position: absolute;
  right: -9px;
  bottom: 5px;
  top: 6px;
  width: 14px;
  background: linear-gradient(
    to right,
    #d2c9b9 0%,
    #eae3d6 40%,
    #fbf8f2 80%,
    #ddd5c7 100%
  );
  border-radius: 0 4px 4px 0;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.18);
  z-index: -1;
}

/* Парящий бейдж на книге с зеленой SVG-иконкой из root */
.book-floating-tag {
  position: absolute;
  bottom: -36px;
  right: -12px;
  z-index: 5;
  background: #ffffff;
  color: var(--color-wine);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 800;
  padding: 10px 18px;
  border-radius: 999px;
  box-shadow: 0 8px 24px rgba(119, 20, 27, 0.22), 0 2px 6px rgba(0, 0, 0, 0.06);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(119, 20, 27, 0.15);
  animation: float-gentle 4s ease-in-out infinite;
}

.book-floating-tag .tag-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-olive-brand);
}

.book-floating-tag .tag-icon svg {
  fill: var(--color-olive-brand);
  color: var(--color-olive-brand);
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

@keyframes float-gentle {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

/* --- Нижняя панель с преимуществами --- */
.hero-bottom-bar {
  display: flex;
  align-items: center;
  gap: 36px;
  padding-top: 24px;
  border-top: 1px solid rgba(159, 169, 138, 0.45);
  width: 100%;
}

.feature-tag {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-olive-dark);
}

.feature-tag svg {
  flex-shrink: 0;
}

.hero-scroll-down-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--color-wine);
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(119, 20, 27, 0.22);
  padding: 8px 18px;
  border-radius: 999px;
  text-decoration: none;
  margin-left: auto;
  backdrop-filter: blur(6px);
  box-shadow: 0 2px 8px rgba(119, 20, 27, 0.1);
  transition: all 0.2s ease;
}

.hero-scroll-down-btn:hover {
  background: #ffffff;
  transform: translateY(2px);
  box-shadow: 0 4px 12px rgba(119, 20, 27, 0.18);
}

/* --- Выпуклая вниз плавная волна по центру (граница первого экрана) --- */
.hero-convex-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 64px;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}

.hero-convex-wave svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* 02. Секция сахара */
.sugar-section {
  position: relative;
  background-color: var(--color-bg-section2);
  padding: 60px 64px 90px;
  overflow: hidden;
  z-index: 5;
}

.sugar-container {
  max-width: 1360px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}

/* Сетка из 2 колонок */
.sugar-grid-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 68px;
  align-items: center;
}

/* --- Левая колонка: Заголовок + Схема графика --- */
.sugar-col-left {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.sugar-section-title {
  font-family: var(--font-serif);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 28px;
}

.sugar-graph-card {
  width: 100%;
}

.sugar-graph-svg-wrapper {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(56, 69, 38, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
  background-color: #f7f1e8;
  border: 1px solid rgba(220, 210, 198, 0.8);
}

.sugar-svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 300px;
}

.sugar-graph-caption {
  text-align: center;
  margin-top: 12px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-olive-caption);
  letter-spacing: 0.01em;
}

/* --- Правая колонка: Буллеты проблем + Переходный заголовок --- */
.sugar-col-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 12px;
  text-align: left;
}

.sugar-bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.sugar-bullet-item {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Крупный зеленый круг-маркер как на картинке */
.sugar-bullet-circle {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background-color: var(--color-olive-bullet);
  box-shadow: 0 2px 6px rgba(93, 104, 62, 0.28);
}

.sugar-bullet-text {
  font-family: var(--font-sans);
  font-size: clamp(20px, 1.8vw, 25px);
  font-weight: 700;
  line-height: 1.32;
  color: #262e1c;
  letter-spacing: -0.01em;
}

/* Переходный заголовок справа */
.sugar-transition-block {
  margin-top: 48px;
  padding-top: 8px;
}

.sugar-transition-title {
  font-family: var(--font-serif);
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--color-wine);
}

/* 03. Примеры блюд */
.dishes-preview-section {
  position: relative;
  width: 100%;
  min-height: 860px;
  background-color: var(--color-bg-section2);
  overflow: hidden;
  padding: 80px 0 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dishes-preview-bg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.dishes-preview-bg-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.dishes-preview-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Фоновый оверлей отключен по запросу: фон sec-3.jpg чистый, яркий и натуральный */
.dishes-preview-bg-overlay {
  display: none;
}

.dishes-preview-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 56px;
}

/* Двухколоночный макет секции 03: слева заголовок/подзаголовок, справа бейджи */
.dishes-preview-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: center;
  gap: 48px;
}

.dishes-preview-header {
  position: relative;
  text-align: left;
  max-width: 560px;
  margin: 0;
  padding: 16px 28px 16px 8px;
}

/* Органическое пятно неправильной формы с плавным затуханием к контуру */
.dishes-organic-spot {
  position: absolute;
  top: -50px;
  left: -140px;
  width: calc(100% + 80px);
  height: calc(100% + 160px);
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 62% 52% at 46% 48%,
    rgba(247, 242, 233, 0.96) 0%,
    rgba(247, 242, 233, 0.88) 46%,
    rgba(247, 242, 233, 0.58) 72%,
    rgba(247, 242, 233, 0.18) 88%,
    rgba(247, 242, 233, 0) 100%
  );
  border-radius: 46% 54% 64% 36% / 44% 56% 44% 56%;
  filter: blur(16px);
  -webkit-filter: blur(16px);
}

.dishes-preview-title {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 16px;
}

.dishes-preview-subtitle {
  position: relative;
  z-index: 1;
  font-family: var(--font-sans);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 700;
  line-height: 1.32;
  letter-spacing: -0.01em;
  color: var(--color-olive-dark);
}

/* Область для двух слегка плавающих бейджей в правой части картинки */
.dishes-floating-badges-area {
  position: relative;
  width: 100%;
  height: 230px;
}

.dish-floating-badge {
  position: absolute;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 12px 24px;
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(45, 53, 34, 0.16), 0 2px 6px rgba(0, 0, 0, 0.06);
  border: 1.5px solid rgba(255, 255, 255, 0.96);
  font-family: var(--font-sans);
  font-size: 15.5px;
  font-weight: 800;
  color: #232a1c;
  letter-spacing: -0.01em;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  cursor: default;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.3s ease;
  z-index: 5;
}

.badge-pin-icon {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-wine);
  box-shadow: 0 0 0 3px rgba(119, 20, 27, 0.2);
  display: inline-block;
  flex-shrink: 0;
}

/* Расположение бейджа шаурмы (крайняя левая сторона блока, смещен ниже) */
.badge-shawarma {
  top: 25px;
  left: 200px;
  animation: floatShawarma 4.6s ease-in-out infinite;
}

/* Расположение бейджа картошки (крайняя левая сторона блока, смещен еще ниже) */
.badge-dessert {
  top: 250px;
  left: -170px;
  animation: floatDessert 5.2s ease-in-out infinite 0.7s;
}

@keyframes floatShawarma {
  0%,
  100% {
    transform: translateY(0px) rotate(-1deg);
  }
  50% {
    transform: translateY(-8px) rotate(0.8deg);
  }
}

@keyframes floatDessert {
  0%,
  100% {
    transform: translateY(0px) rotate(1deg);
  }
  50% {
    transform: translateY(-9px) rotate(-0.6deg);
  }
}

.dish-floating-badge:hover {
  transform: translateY(-5px) scale(1.04) !important;
  box-shadow: 0 16px 36px rgba(45, 53, 34, 0.24);
}

/* Выпуклая вниз волна по центру на стыке с секцией 04 */
.dishes-convex-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 64px;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}

.dishes-convex-wave svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Примеры углеводов и ХЕ на порцию под секцией 03 (по образцу kitSection) */
#diaMenuApp .dishes-nutrition-section,
.dishes-nutrition-section {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  background-color: var(--color-bg-section2) !important;
  padding: 40px 0 0 !important;
  overflow: hidden !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

#diaMenuApp .nutrition-container,
.nutrition-container {
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 56px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

/* Двухколоночный макет секции примеров по образцу kit-horizontal-layout */
.nutrition-horizontal-layout {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: 48px !important;
  align-items: center !important;
  width: 100% !important;
}

/* ЛЕВАЯ КОЛОНКА: Заголовок + Стрелка + Сноска */
.nutrition-col-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: left !important;
}

#diaMenuApp .nutrition-section-title,
.nutrition-section-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(32px, 3.2vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  color: var(--color-wine) !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Анимированная штрихпунктирная стрелка с плавным поворотом вправо */
.nutrition-arrow-wrapper {
  margin: 0 !important;
  width: 100% !important;
  max-width: 340px !important;
  display: block;
  position: relative;
  left: 50%;
  top: -50px;
}

.nutrition-arrow-svg {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  overflow: visible !important;
}

@keyframes arrowDashFlow {
  from {
    stroke-dashoffset: 24;
  }
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes arrowTipNudge {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  }
}

.arrow-dash-line {
  stroke-dasharray: 7 5;
  animation: arrowDashFlow 1.2s linear infinite;
}

.arrow-tip {
  animation: arrowTipNudge 1.2s ease-in-out infinite;
  transform-origin: 216px 56px;
}

/* Сноска слева под стрелкой по аналогии с faq-bottom-footnote */
.nutrition-left-footnote {
  margin-top: 6px !important;
  width: 100% !important;
}

.nutrition-footnote-divider {
  width: 100% !important;
  height: 1.5px !important;
  background-color: #d5cebf !important;
  margin-bottom: 18px !important;
}

.nutrition-footnote-content {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.nutrition-footnote-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.nutrition-xe-icon {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

#diaMenuApp .nutrition-footnote-text,
.nutrition-footnote-text {
  font-family: var(--font-sans) !important;
  font-size: clamp(15px, 1.3vw, 17px) !important;
  font-weight: 700 !important;
  color: #2d381e !important;
  line-height: 1.35 !important;
  border-left: 1.5px solid #d5cebf !important;
  margin: 0 0 0 18px !important;
  padding: 0 0 0 18px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  text-align: left !important;
}

/* ПРАВАЯ КОЛОНКА: Две колонки карточек (слева картинка, справа текст) */
.nutrition-col-right {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.nutrition-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr) !important;
  gap: 20px !important;
  width: 100% !important;
}

.nutrition-food-card {
  background: #ffffff !important;
  border: 1.5px solid #ddd5c6 !important;
  border-radius: 20px !important;
  padding: 14px 18px !important;
  box-shadow: 0 6px 22px rgba(56, 69, 38, 0.06) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  box-sizing: border-box !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

.nutrition-food-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(56, 69, 38, 0.12) !important;
}

.nutrition-food-img-box {
  width: 200px !important;
  height: 100px !important;
  min-width: 200px !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  background-color: #ece7d6 !important;
}

.nutrition-food-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.35s ease !important;
}

.nutrition-food-card:hover .nutrition-food-img {
  transform: scale(1.05) !important;
}

.nutrition-food-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: left !important;
  flex: 1 !important;
}

#diaMenuApp .nutrition-food-title,
.nutrition-food-title {
  font-family: var(--font-sans) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #1e2514 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#diaMenuApp .nutrition-food-stats,
.nutrition-food-stats {
  font-family: var(--font-sans) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #384526 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* 04. Состав комплекта */
.kit-section {
  position: relative;
  width: 100%;
  background-color: var(--color-bg-section2);
  padding: 64px 0 90px;
  overflow: hidden;
  z-index: 5;
}

.kit-container {
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 56px;
  width: 100%;
  position: relative;
  z-index: 2;
}

/* Горизонтальный двухколоночный макет: растягивает колонки на одинаковую высоту */
.kit-horizontal-layout {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 64px;
  align-items: stretch;
}

/* --- ЛЕВАЯ КОЛОНКА (Заголовок, гайд, кнопка) --- */
.kit-col-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-align: left;
}

.kit-section-title {
  font-family: var(--font-serif);
  font-size: clamp(36px, 3.6vw, 48px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 20px;
}

/* Дополнительный блок: Плюс гайд по продуктам */
.guide-bonus-card {
  background: #ffffff;
  border: 1.5px solid #ddd5c6;
  border-radius: 18px;
  padding: 16px 22px;
  display: flex;
  align-items: center;
  gap: 18px;
  box-shadow: 0 6px 20px rgba(56, 69, 38, 0.05);
  margin-bottom: 20px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.guide-bonus-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(56, 69, 38, 0.1);
}

.guide-icon-wrapper {
  color: var(--color-olive-brand);
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.guide-icon-wrapper svg {
  width: 100%;
  height: 100%;
  fill: var(--color-olive-brand);
}

.guide-text-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

#diaMenuApp .guide-title,
.guide-title {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  color: #77141b !important;
  line-height: 1.2 !important;
}

.guide-description {
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 600;
  color: #4b553d;
  line-height: 1.35;
}

/* Кнопка заказа в левой колонке */
.kit-cta-wrapper {
  width: 100%;
}

.kit-cta-btn {
  width: 100%;
  padding: 18px 34px;
  font-size: 19px;
  font-weight: 800;
  border-radius: 999px;
  background: var(--color-wine);
  color: #ffffff;
  border: none;
  cursor: pointer;
  box-shadow: 0 12px 30px var(--color-wine-shadow);
  transition: all 0.25s ease;
  text-align: center;
}

.kit-cta-btn:hover {
  background: var(--color-wine-hover);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px var(--color-wine-shadow);
}

/* --- ПРАВАЯ КОЛОНКА (Список категорий) --- */
.kit-col-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-align: left;
}

.kit-categories-list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  width: 100%;
}

/* Уменьшенные внутренние отступы строчек и высота, синхронизированная по высоте с левой частью */
.kit-category-row {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 8px 0;
  border-bottom: 1.5px solid #d8d0c0;
}

.kit-category-row:first-child {
  border-top: 1.5px solid #d8d0c0;
}

#diaMenuApp .kit-num,
.kit-num {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: 58px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #77141b !important;
  min-width: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: -0.02em !important;
  text-indent: 0 !important;
  text-transform: none !important;
  transform: translateY(-2px);
}

.kit-divider-bar {
  width: 2px;
  height: 32px;
  background-color: #d5cebf;
  margin: 0 20px;
  border-radius: 2px;
  flex-shrink: 0;
  align-self: center;
}

.kit-label {
  font-family: var(--font-sans);
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 700;
  color: #232a1c;
  line-height: 1.25;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
}

/* 05. Как пользоваться книгой */
.how-to-section {
  position: relative;
  width: 100%;
  min-height: 860px;
  background-color: var(--color-bg-section2);
  overflow: hidden;
  padding: 80px 0 110px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.how-to-bg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.how-to-bg-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.how-to-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

.how-to-container {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 56px;
}

.how-to-grid-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
}

/* --- Левая колонка: Заголовок и подзаголовок (размытие картинки под текстом без подложки) --- */
.how-to-col-left {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Органические пятна под колонками секции 05 (по аналогии с dishes-organic-spot) */
.how-to-organic-spot {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    ellipse 70% 60% at 50% 50%,
    rgba(247, 242, 233, 1) 0%,
    rgba(247, 242, 233, 0.98) 55%,
    rgba(247, 242, 233, 0.88) 75%,
    rgba(247, 242, 233, 0.5) 90%,
    rgba(247, 242, 233, 0) 100%
  );
  border-radius: 46% 54% 64% 36% / 44% 56% 44% 56%;
  filter: blur(14px);
  -webkit-filter: blur(14px);
}

.how-to-spot-left {
  top: -45px;
  left: -40px;
  width: calc(100% + 80px);
  height: calc(100% + 90px);
  border-radius: 46% 54% 64% 36% / 44% 56% 44% 56%;
}

.how-to-spot-right {
  top: -40px;
  left: -40px;
  width: calc(100% + 80px);
  height: calc(100% + 80px);
  border-radius: 54% 46% 40% 60% / 50% 48% 52% 50%;
}

.how-to-header {
  position: relative;
  text-align: left;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 32px 36px;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.how-to-title {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-size: clamp(38px, 4vw, 56px);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 16px;
}

.how-to-subtitle {
  position: relative;
  z-index: 1;
  font-family: var(--font-sans);
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 700;
  color: var(--color-olive-dark);
  line-height: 1.35;
}

/* --- Правая колонка: Список с иконками (размытие картинки под списком без подложки) --- */
.how-to-col-right {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.how-to-list-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 32px 36px;
  background: transparent;
  border: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.how-to-rows-list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
}

/* Строки с легким фоном в тон секций без картинки (#ECE7D6) */
.how-to-row {
  display: flex;
  align-items: center;
  padding: 15px 24px;
  border-bottom: 1.5px solid rgba(56, 69, 38, 0.22);
  transition: background-color 0.2s ease;
}

.how-to-row:first-child {
  border-top: 1.5px solid rgba(56, 69, 38, 0.22);
}

.how-to-row-icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.how-to-divider-bar {
  width: 2px;
  height: 44px;
  background-color: #384526;
  margin: 0 24px;
  border-radius: 1px;
  flex-shrink: 0;
  align-self: center;
}

.how-to-row-label {
  font-family: var(--font-sans);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 800;
  color: #232a1c;
  line-height: 1.25;
  letter-spacing: -0.01em;
  align-self: center;
}

.how-to-note {
  position: relative;
  z-index: 1;
  font-family: var(--font-sans);
  font-size: 14.5px;
  font-weight: 600;
  color: #4b553d;
  margin-top: 16px;
  line-height: 1.35;
}

/* Выпуклая вниз волна по центру на стыке секции 05 и 06 */
.how-to-convex-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 64px;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}

.how-to-convex-wave svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* 05-b. Компактные блоки предпросмотра книги и гайда */
#diaMenuApp .preview-section,
.preview-section {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  background-color: var(--color-bg-section2) !important;
  padding: 56px 0 32px !important;
  overflow: hidden !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

#diaMenuApp .preview-container,
.preview-container {
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 56px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

.preview-block {
  width: 100%;
}

.preview-block:not(:last-child) {
  margin-bottom: 64px !important;
}

/* Двухколоночный макет секции предпросмотра: слева текст, справа компактные картинки в две колонки */
.preview-horizontal-layout {
  display: grid !important;
  grid-template-columns: 1.1fr 0.9fr !important;
  gap: clamp(32px, 4vw, 56px) !important;
  align-items: center !important;
  width: 100% !important;
}

/* ЛЕВАЯ КОЛОНКА: Текстовая часть */
.preview-col-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: left !important;
}

/* ПРАВАЯ КОЛОНКА: Компактные страницы без подложки */
.preview-col-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
}

.preview-block-header {
  margin-bottom: 24px;
  text-align: left;
}

#diaMenuApp .preview-block-title,
.preview-block-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  color: var(--color-wine) !important;
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#diaMenuApp .preview-block-subtitle,
.preview-block-subtitle {
  font-family: var(--font-sans) !important;
  font-size: clamp(16px, 1.4vw, 19px) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: #384526 !important;
  margin: 0 0 10px 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Сноска в блоках предпросмотра по аналогии с nutrition-left-footnote */
.preview-block-footnote {
  margin-top: 14px !important;
  width: 100% !important;
}

.preview-footnote-divider {
  width: 100% !important;
  height: 1.5px !important;
  background-color: #d5cebf !important;
  margin-bottom: 14px !important;
}

.preview-footnote-content {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

.preview-footnote-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 42px !important;
  height: 42px !important;
}

.preview-footnote-icon svg {
  width: 42px !important;
  height: 42px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

#diaMenuApp .preview-footnote-text,
.preview-footnote-text {
  font-family: var(--font-sans) !important;
  font-size: clamp(14px, 1.15vw, 15.5px) !important;
  font-weight: 700 !important;
  color: #2d381e !important;
  line-height: 1.35 !important;
  border-left: 1.5px solid #d5cebf !important;
  margin: 0 0 0 16px !important;
  padding: 0 0 0 16px !important;
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  text-align: left !important;
  text-indent: 0 !important;
  text-transform: none !important;
}

.preview-mobi-nav {
  display: none;
}

/* Сетка уменьшенных страниц: компактная ширина без подложки */
.preview-pair-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 16px !important;
  width: 100% !important;
  max-width: 440px !important;
}

.preview-page-col {
  width: 100%;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  background: transparent !important;
  border: none !important;
}

.preview-img-wrapper {
  position: relative !important;
  width: 100% !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  transition: transform 0.25s ease !important;
}

.preview-page-col:hover .preview-img-wrapper {
  transform: translateY(-3px) !important;
}

.preview-page-img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: transform 0.3s ease !important;
}

/* Плашка «Увеличить» по центру картинки: скрыта по умолчанию и плавно появляется при наведении */
.preview-zoom-badge {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  bottom: auto !important;
  right: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: rgba(247, 242, 233, 0.96) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(56, 69, 38, 0.22) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
  font-family: var(--font-sans) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #2d381e !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translate(-50%, calc(-50% + 8px)) scale(0.95) !important;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s !important;
  z-index: 3 !important;
}

.preview-page-col:hover .preview-zoom-badge,
.preview-img-wrapper:hover .preview-zoom-badge,
.preview-page-col:active .preview-zoom-badge {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate(-50%, -50%) scale(1) !important;
}

/* 06. Автор и специалисты */
#diaMenuApp .author-section,
.author-section {
  position: relative !important;
  width: 100vw !important;
  max-width: 100vw !important;
  left: 0 !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  background-color: var(--color-bg-section2) !important;
  padding: 32px 0 80px !important;
  overflow: hidden !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
}

#diaMenuApp .author-container,
.author-container {
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 56px !important;
  width: 100% !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

.author-grid-layout {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 64px !important;
  align-items: stretch !important;
}

/* --- Левая колонка: Автор --- */
.author-col-left {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  text-align: left !important;
  width: 100% !important;
}

.author-section-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(36px, 3.6vw, 48px) !important;
  font-weight: 900 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
  color: var(--color-wine) !important;
  margin-bottom: 24px !important;
}

.author-profile-card {
  display: flex !important;
  align-items: center !important;
  gap: 24px !important;
  background: transparent !important;
  border: 1px solid rgba(220, 210, 198, 0.8) !important;
  border-radius: 24px !important;
  padding: 24px 28px !important;
  box-shadow: 0 10px 32px rgba(56, 69, 38, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  box-sizing: border-box !important;
}

.author-profile-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 38px rgba(56, 69, 38, 0.12), 0 4px 10px rgba(0, 0, 0, 0.06) !important;
}

.author-avatar-wrapper {
  flex-shrink: 0;
}

.author-avatar-box {
  width: 95px;
  height: 115px;
  background: #e8dfc8;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1.5px solid #d5cebf;
  box-shadow: 0 4px 14px rgba(45, 53, 34, 0.08);
  flex-shrink: 0;
}

.author-photo-picture {
  width: 100%;
  height: 100%;
  display: block;
}

.author-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.author-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.author-name {
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 900;
  color: var(--color-wine);
  line-height: 1.15;
}

.author-bio {
  font-family: var(--font-sans);
  font-size: 15.5px;
  font-weight: 600;
  color: #384526;
  line-height: 1.4;
}

/* --- Правая колонка: Специалисты (высота строго подогнана под левую колонку) --- */
.author-col-right {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  text-align: left !important;
  width: 100% !important;
}

.author-credentials-list {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.credential-item {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
  padding: 20px 0 !important;
  border-bottom: 1.5px solid #d5cebf !important;
  box-sizing: border-box !important;
}

.credential-item:first-child {
  border-top: 1.5px solid #d5cebf !important;
}

.credential-icon-wrapper {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.credential-divider-bar {
  width: 1.5px;
  height: 48px;
  background-color: #d5cebf;
  margin: 0 24px;
  border-radius: 1px;
  flex-shrink: 0;
  align-self: center;
}

.credential-text {
  font-family: var(--font-sans);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 800;
  color: #232a1c;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

/* 07. Отзывы (слайдер Swiper) */
.reviews-section {
  position: relative;
  width: 100%;
  min-height: 820px;
  background-color: var(--color-bg-base);
  padding: 80px 0 140px;
  overflow: hidden;
}

.reviews-bg-container {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.reviews-bg-picture {
  display: block;
  width: 100%;
  height: 100%;
}

.reviews-bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.reviews-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 0 88px;
}

/* Контейнер слайдера: заголовок строго над карточками */
.reviews-slider-outer {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  position: relative;
}

/* Заголовок строго над карточками (левая сторона на одной вертикали с углом карточки) */
.reviews-header {
  width: 100%;
  margin: 0 0 36px 0;
  padding: 0;
  text-align: left;
}

.reviews-section-title {
  font-family: var(--font-serif);
  font-size: clamp(38px, 4.2vw, 56px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 12px;
  padding: 0;
}

.reviews-section-subtitle {
  font-family: var(--font-sans);
  font-size: clamp(16px, 1.6vw, 20px);
  font-weight: 700;
  color: var(--color-olive-dark);
  line-height: 1.35;
  padding: 0;
}

/* Область карусели со стрелками ЗА пределами карточек */
.reviews-carousel-wrapper {
  position: relative;
  width: 100%;
}

.reviews-swiper {
  width: 100%;
  overflow: hidden;
  padding-bottom: 6px;
  position: relative;
}

.reviews-swiper .swiper-wrapper {
  align-items: stretch;
}

.review-slide {
  height: auto;
  display: flex;
}

/* Карточка отзыва */
.review-card {
  width: 100%;
  background: rgba(247, 241, 232, 0.94);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(214, 204, 188, 0.9);
  border-radius: 24px;
  padding: 16px;
  box-shadow: 0 16px 42px rgba(56, 69, 38, 0.1), 0 4px 12px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.review-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 48px rgba(56, 69, 38, 0.14), 0 6px 16px rgba(0, 0, 0, 0.06);
}

/* Верхняя часть карточки: блюдо из книги */
.review-dish-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

.review-dish-box {
  position: relative;
  width: 100%;
  height: 280px;
  border-radius: 16px;
  overflow: hidden;
  background: #e8e0cf;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.review-dish-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.35s ease;
}

.review-card:hover .review-dish-image {
  transform: scale(1.03);
}

.review-dish-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 0 2px !important;
  text-align: left !important;
}

#diaMenuApp .review-dish-title,
.review-dish-title {
  font-family: var(--font-serif) !important;
  font-size: clamp(19px, 1.8vw, 23px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: var(--color-wine) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#diaMenuApp .review-dish-badge,
.review-dish-badge {
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #4a5829 !important;
  line-height: 1.3 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Разделитель между блюдом и отзывом */
.review-card-divider {
  width: 100% !important;
  height: 1.5px !important;
  background-color: #e2dacb !important;
  margin: 2px 0 !important;
  border: none !important;
}

/* Нижняя часть: оригинальный отзыв */
.review-feedback-section {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
}

.review-screen-box {
  position: relative;
  width: 100%;
  height: 155px;
  border-radius: 14px;
  overflow: hidden;
  background: #faf8f5;
  border: 1.5px solid #e6dfd2;
  cursor: zoom-in;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.review-screen-box:hover {
  border-color: #8c1821;
  box-shadow: 0 8px 24px rgba(119, 20, 27, 0.1);
}

.review-screen-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #faf8f5;
  display: block;
}

.review-feedback-meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  padding: 0 2px !important;
  text-align: left !important;
}

#diaMenuApp .review-feedback-author,
.review-feedback-author {
  font-family: var(--font-sans) !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  color: #2d381e !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

#diaMenuApp .review-feedback-quote,
.review-feedback-quote {
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-style: italic !important;
  line-height: 1.35 !important;
  color: #384526 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

/* Фирменный компактный бейдж «Увеличить скрин» в карточке отзыва */
#diaMenuApp .review-zoom-overlay,
.review-zoom-overlay {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  background: rgba(30, 36, 23, 0.78) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  color: #ffffff !important;
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  pointer-events: none !important;
  opacity: 0.88 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  z-index: 5 !important;
}

#diaMenuApp .review-screen-box:hover .review-zoom-overlay,
.review-screen-box:hover .review-zoom-overlay {
  opacity: 1 !important;
  transform: translateY(-2px) !important;
}

#diaMenuApp .review-zoom-overlay svg,
.review-zoom-overlay svg {
  width: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  stroke: #ffffff !important;
  fill: none !important;
  stroke-width: 2.2 !important;
  display: block !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#diaMenuApp .review-zoom-overlay span,
.review-zoom-overlay span {
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #ffffff !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

/* Внешние круглые кнопки навигации (ЗА пределами карточек по бокам) */
.reviews-swiper-nav-prev,
.reviews-swiper-nav-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #ffffff;
  border: 1.5px solid rgba(214, 204, 188, 0.9);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 15;
  transition: all 0.2s ease;
  user-select: none;
  outline: none;
}

.reviews-swiper-nav-prev {
  left: -74px;
}

.reviews-swiper-nav-next {
  right: -74px;
}

.reviews-swiper-nav-prev:hover,
.reviews-swiper-nav-next:hover {
  background: #faf8f2;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.16);
  transform: translateY(-50%) scale(1.08);
}

.reviews-swiper-nav-prev:active,
.reviews-swiper-nav-next:active {
  transform: translateY(-50%) scale(0.96);
}

.reviews-swiper-nav-prev.swiper-button-disabled,
.reviews-swiper-nav-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

/* Точки пагинации строго под карточками отзывов */
#diaMenuApp .reviews-swiper-pagination,
.reviews-swiper-pagination,
.reviews-swiper-pagination.swiper-pagination-bullets,
.reviews-swiper-pagination.swiper-pagination-horizontal {
  position: relative !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 32px auto 0 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  z-index: 10 !important;
}

#diaMenuApp .reviews-swiper-pagination .swiper-pagination-bullet,
.reviews-swiper-pagination .swiper-pagination-bullet {
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  background: #c8bfb2 !important;
  opacity: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  transition: all 0.25s ease !important;
  border-radius: 50% !important;
  border: none !important;
  display: inline-block !important;
  cursor: pointer !important;
}

#diaMenuApp .reviews-swiper-pagination .swiper-pagination-bullet-active,
.reviews-swiper-pagination .swiper-pagination-bullet-active {
  background: #4d5c2c !important;
  transform: scale(1.25) !important;
}

/* Выпуклая волна снизу секции 07 */
.reviews-convex-wave {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 80px;
  z-index: 5;
  pointer-events: none;
  line-height: 0;
}

.reviews-convex-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* 08. Вопросы перед покупкой (FAQ) */
.faq-section {
  position: relative;
  width: 100%;
  background-color: var(--color-bg-section2);
  padding: 50px 0 100px;
  overflow: hidden;
}

.faq-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.faq-section-title {
  font-family: var(--font-serif);
  font-size: clamp(38px, 4.2vw, 56px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 38px;
  text-align: left;
}

/* Аккордеон: две колонки по три вопроса */
.faq-columns-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  align-items: start;
}

.faq-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  background: #f8f5eb;
  border: 1px solid rgba(212, 203, 187, 0.75);
  border-radius: 20px;
  padding: 16px 22px;
  box-shadow: 0 2px 8px rgba(56, 69, 38, 0.03);
  transition: background-color 0.25s ease, border-color 0.25s ease,
    box-shadow 0.25s ease;
}

.faq-item:hover {
  border-color: rgba(186, 174, 155, 0.9);
  box-shadow: 0 4px 14px rgba(56, 69, 38, 0.06);
}

.faq-item.active {
  background: #faf8f2;
  border-color: rgba(190, 178, 158, 0.95);
  box-shadow: 0 6px 20px rgba(56, 69, 38, 0.07);
}

.faq-header {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 18px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  padding: 4px 0;
  outline: none;
}

.faq-toggle-icon {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #4d5c2c;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.faq-header:hover .faq-toggle-icon {
  background: #3b4722;
  transform: scale(1.05);
}

.faq-icon-line {
  position: absolute;
  background: #ffffff;
  border-radius: 2px;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
}

.faq-icon-line.horizontal {
  width: 16px;
  height: 2.4px;
}

.faq-icon-line.vertical {
  width: 2.4px;
  height: 16px;
}

.faq-line-v {
  transform-origin: center;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
}

.faq-item.active .faq-icon-line.vertical,
.faq-item.active .faq-line-v {
  transform: rotate(90deg);
  opacity: 0;
}

.faq-question-text {
  font-family: var(--font-sans);
  font-size: clamp(17px, 1.6vw, 19.5px);
  font-weight: 800;
  color: #1e2514;
  line-height: 1.3;
  letter-spacing: -0.01em;
}

.faq-content-collapse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-body {
  padding-bottom: 6px;
}

.faq-divider-line {
  height: 1px;
  background: #ddd5c4;
  margin: 12px 0 14px;
}

.faq-answer-text {
  font-family: var(--font-sans);
  font-size: 15.5px;
  line-height: 1.55;
  color: #384526;
  font-weight: 500;
}

.faq-answer-text + .faq-answer-text {
  margin-top: 10px !important;
}

/* Модальное окно лайтбокса (отзывы) */
.lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 2500;
  background: rgba(24, 30, 18, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.lightbox-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-card {
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
  position: relative;
  transform: translateY(20px) scale(0.96);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 1px solid rgba(164, 175, 144, 0.5);
  overflow: hidden;
  box-sizing: border-box;
}

.lightbox-card.lightbox-card-wide {
  max-width: min(94vw, 1020px);
  max-height: 94vh;
  padding: 16px;
}

.lightbox-overlay.open .lightbox-card {
  transform: translateY(0) scale(1);
}

.lightbox-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #efe8dc;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: var(--color-olive-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  z-index: 10;
}

.lightbox-close:hover {
  background: #dfd5c4;
}

.lightbox-body {
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  max-height: calc(90vh - 60px);
  width: 100%;
}

.lightbox-img-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.lightbox-full-image {
  max-width: 100%;
  max-height: calc(90vh - 80px);
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  display: block;
}

/* Модальное окно заказа */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(30, 36, 23, 0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

.modal-card {
  width: 100%;
  max-width: 460px;
  background: var(--color-bg-card);
  border-radius: 24px;
  padding: 32px 28px;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.3);
  position: relative;
  transform: translateY(20px) scale(0.97);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
  border: 1px solid rgba(164, 175, 144, 0.45);
}

.modal-overlay.open .modal-card {
  transform: translateY(0) scale(1);
}

.modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #efe8dc;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: var(--color-olive-dark);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.modal-close:hover {
  background: #dfd5c4;
}

.modal-badge {
  display: inline-block;
  background: #eae3d4;
  color: var(--color-olive-dark);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 6px;
  margin-bottom: 10px;
}

.modal-title {
  font-family: var(--font-serif);
  font-size: 22px;
  font-weight: 800;
  color: var(--color-wine);
  line-height: 1.2;
  margin: 0 0 4px 0;
}

.modal-desc {
  font-size: 13.5px;
  color: var(--color-olive-dark);
  margin: 0 0 14px 0;
  opacity: 0.95;
}

.modal-summary {
  background: #f3ece1;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 14px;
}

.summary-row {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #4c563d;
  margin-bottom: 6px;
}

.summary-row.total-row {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #d6cdbc;
  color: var(--color-olive-dark);
  font-weight: 700;
  font-size: 15px;
}

.summary-row .price-val {
  color: var(--color-wine);
  font-size: 18px;
}

.modal-pay-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 2px;
}

.modal-submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  text-decoration: none;
  background: var(--color-wine);
  color: #ffffff !important;
  border: none;
  border-radius: 12px;
  padding: 14px 18px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  box-shadow: 0 6px 18px var(--color-wine-shadow);
  transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
  margin: 0;
}

.modal-submit-btn:hover {
  background: var(--color-wine-hover);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 22px rgba(119, 20, 27, 0.35);
}

.modal-submit-btn:active {
  transform: translateY(0);
}

.form-guarantee {
  font-size: 12px;
  line-height: 1.4;
  color: #6d7760;
  text-align: center;
  margin: 0;
}

/* Реквизиты и контакты в модальном окне */
.modal-requisites-note {
  margin-top: 6px;
  padding-top: 10px;
  border-top: 1px dashed #d6cdbc;
  text-align: center;
}

.modal-requisites-text {
  font-family: var(--font-sans);
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: #6b7558 !important;
  margin: 0 !important;
}

.modal-requisites-link {
  color: #4a592d !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.15s;
}

.modal-requisites-link:hover {
  color: var(--color-wine) !important;
}

/* Блок контактов и реквизитов в финальной секции (подвал) */
.final-contacts-requisites {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid rgba(119, 20, 27, 0.15);
  text-align: center;
}

.requisites-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 13.5px;
  color: #556241;
}

.requisites-main-line,
.requisites-contact-line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1.4;
}

.requisites-name {
  font-weight: 700;
  color: #2d371e;
}

.requisites-inn {
  font-weight: 600;
  color: #4a5829;
}

.requisites-dot {
  color: #b4aa95;
  user-select: none;
}

.requisites-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #3b4722;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 600;
  transition: color 0.15s, opacity 0.15s;
}

.requisites-link:hover {
  color: var(--color-wine);
  text-decoration: underline;
}

.requisites-icon {
  display: inline-block;
  flex-shrink: 0;
  vertical-align: middle;
}

/* 09. Финальная покупка */
.final-buy-section {
  position: relative;
  width: 100%;
  background-color: var(--color-bg-base);
  overflow: hidden;
}

.final-buy-top-wave {
  width: 100%;
  height: 50px;
  line-height: 0;
  pointer-events: none;
}

.final-buy-top-wave svg {
  width: 100%;
  height: 100%;
  display: block;
}

.final-buy-container {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 36px 48px 100px;
}

/* Верхняя шапка секции 09 с разделительной линией до конца контейнера */
.final-topbar {
  display: flex;
  align-items: center;
  gap: 24px;
  width: 100%;
  margin-bottom: 40px;
}

.final-topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.final-topbar-title {
  font-family: var(--font-sans);
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.15em;
  color: var(--color-olive-brand);
  text-transform: uppercase;
}

.final-topbar-divider-line {
  flex: 1;
  height: 1px;
  background-color: var(--color-olive-divider);
  opacity: 0.65;
}

.final-showcase-grid {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 56px;
  align-items: center;
  margin-bottom: 64px;
}

.final-showcase-left {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.final-buy-header {
  text-align: left;
  margin: 0 0 24px;
  max-width: 100%;
}

.final-buy-title {
  font-family: var(--font-serif);
  font-size: clamp(34px, 3.6vw, 50px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 12px;
}

.final-buy-subtitle {
  font-family: var(--font-sans);
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 700;
  color: var(--color-olive-dark);
  line-height: 1.35;
}

/* Блок состава комплекта прямо под заголовками (по аналогии с credential-item) */
.final-kit-info {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: left;
}

/* Фирменный бейдж ГОТОВЫЙ КОМПЛЕКТ как в первом экране */
.final-package-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(119, 20, 27, 0.24);
  padding: 7px 18px;
  border-radius: 999px;
  box-shadow: 0 4px 16px rgba(119, 20, 27, 0.08);
  margin-bottom: 12px;
  align-self: flex-start;
}

.final-package-badge .badge-dot {
  width: 7px;
  height: 7px;
  background-color: var(--color-wine);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(119, 20, 27, 0.7);
  flex-shrink: 0;
}

.final-package-badge .badge-text {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--color-wine);
  text-transform: uppercase;
}

.final-package-title {
  font-family: var(--font-serif);
  font-size: 26px;
  font-weight: 900;
  color: #1e2514;
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}

.final-kit-list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 4px;
}

.kit-item-row {
  display: flex;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1.5px solid #d5cebf;
}

.kit-item-row:first-child {
  border-top: 1.5px solid #d5cebf;
}

.kit-item-icon-wrapper {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.kit-item-divider-bar {
  width: 1.5px;
  height: 38px;
  background-color: #d5cebf;
  margin: 0 20px;
  border-radius: 1px;
  flex-shrink: 0;
  align-self: center;
}

.kit-item-text {
  font-family: var(--font-sans);
  font-size: 16px;
  color: #2b351e;
  font-weight: 500;
  line-height: 1.42;
}

.kit-item-text strong {
  color: #171e0f;
  font-weight: 800;
}

/* Правая колонка: 3D-книга, увеличенная в разы + парящий бейдж стоимости */
.final-showcase-right {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.final-book-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  perspective: 1400px;
  width: 100%;
  padding: 30px 10px;
}

.final-book-presentation {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Книга увеличена в разы для создания сильного визуального акцента */
.final-3d-book-card {
  position: relative;
  z-index: 2;
  width: clamp(370px, 34vw, 490px);
  aspect-ratio: 1 / 1.414;
  transform: rotate(3.5deg) rotateY(-9deg) rotateX(2deg);
  transform-style: preserve-3d;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.4s ease;
  cursor: pointer;
}

.final-3d-book-card:hover {
  transform: rotate(0.5deg) rotateY(-2deg) rotateX(0deg) translateY(-8px)
    scale(1.02);
}

/* Парящий бейдж в нижнем углу книги как в первом экране с ценником стоимости */
.final-book-price-tag {
  position: absolute;
  bottom: -35px;
  right: -12px;
  z-index: 5;
  background: #ffffff;
  color: var(--color-wine);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 800;
  padding: 10px 22px;
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(119, 20, 27, 0.24), 0 3px 8px rgba(0, 0, 0, 0.08);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(119, 20, 27, 0.16);
  animation: float-gentle 4s ease-in-out infinite;
  white-space: nowrap;
}

.final-book-price-tag .tag-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  position: relative;
  top: 1px;
}

.final-book-price-tag .tag-icon-svg {
  display: block;
}

.final-book-price-tag .tag-text {
  display: inline-flex;
  align-items: baseline;
  line-height: 1;
}

.final-book-price-tag .tag-label {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 800;
  color: var(--color-wine);
  line-height: 1;
  margin-right: 5px;
}

.final-book-price-tag strong.tag-price {
  font-size: 17px;
  font-family: var(--font-serif);
  font-weight: 900;
  color: var(--color-wine);
  line-height: 1;
  margin-right: 2.5px;
}

.final-book-price-tag .tag-currency {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 800;
  color: var(--color-wine);
  line-height: 1;
  position: relative;
  top: 0.5px;
}

/* Порядок получения материалов */
.final-delivery-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: stretch;
  padding-top: 56px;
  border-top: 1.5px solid rgba(216, 208, 192, 0.9);
}

.final-delivery-col-left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-align: left;
}

.final-delivery-header-group {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.final-delivery-title {
  font-family: var(--font-serif);
  font-size: clamp(34px, 3.4vw, 46px);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin: 0;
}

.final-delivery-subtitle {
  font-family: var(--font-sans);
  font-size: 15.5px;
  line-height: 1.5;
  color: #4c5839;
  font-weight: 500;
  max-width: 440px;
  margin: 0;
}

.final-delivery-cta-wrapper {
  margin-top: auto;
  width: 100%;
  max-width: 460px;
}

.final-main-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 30px;
  border-radius: 999px;
  background-color: var(--color-wine);
  color: #ffffff;
  box-shadow: 0 12px 30px var(--color-wine-shadow);
  border: none;
  cursor: pointer;
  box-sizing: border-box;
  text-decoration: none;
  transition: all 0.25s ease;
}

.final-main-btn:hover {
  background-color: var(--color-wine-hover);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px var(--color-wine-shadow);
}

.btn-text-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  text-align: left;
}

.btn-text-main {
  font-family: var(--font-sans);
  font-size: 18.5px;
  font-weight: 800;
  line-height: 1.2;
}

.btn-text-sub {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 500;
  opacity: 0.92;
  letter-spacing: 0.01em;
}

.btn-arrow-icon {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.final-main-btn:hover .btn-arrow-icon {
  transform: translateX(4px);
}

/* Правая колонка: 3 пункта получения материалов (по аналогии с kit-category-row) */
.final-delivery-col-right {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  text-align: left;
}

.final-delivery-steps-list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  width: 100%;
}

.delivery-step-row {
  display: flex;
  align-items: center;
  flex: 1;
  padding: 16px 0;
  border-bottom: 1.5px solid #d8d0c0;
  background: transparent;
}

.delivery-step-row:first-child {
  border-top: 1.5px solid #d8d0c0;
}

#diaMenuApp .delivery-step-num,
.delivery-step-num {
  font-family: "Playfair Display", Georgia, "Times New Roman", serif !important;
  font-size: 52px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  color: #77141b !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: -0.02em !important;
  flex-shrink: 0 !important;
  text-indent: 0 !important;
  text-transform: none !important;
  transform: translateY(-2px);
}

.delivery-step-divider {
  width: 2px;
  height: 42px;
  background-color: #d5cebf;
  margin: 0 20px;
  border-radius: 2px;
  flex-shrink: 0;
  align-self: center;
}

.delivery-step-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.delivery-step-name {
  font-family: var(--font-sans);
  font-size: clamp(18px, 1.5vw, 21px);
  font-weight: 800;
  color: #232a1c;
  line-height: 1.25;
  margin: 0;
}

.delivery-step-desc {
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.45;
  color: #4c5839;
  margin: 0;
}

/* Нижняя общая информационная фраза */
.final-disclaimer-wrap {
  margin-top: 48px;
  text-align: center;
}

.final-disclaimer-divider {
  width: 100%;
  height: 1.5px;
  background-color: #d8d0c0;
  margin-bottom: 24px;
}

.final-disclaimer-text {
  font-family: var(--font-sans);
  font-size: clamp(13px, 1.25vw, 14.5px);
  font-weight: 500;
  line-height: 1.55;
  color: #5b6647;
  max-width: 820px;
  margin: 0 auto;
}

/* Адаптивность */
@media (max-width: 1080px) {
  .hero-container {
    padding: 56px 40px 48px;
  }
  .hero-main-layout {
    gap: 36px;
  }
  .hero-left-col {
    max-width: 480px;
  }
  .book-card {
    width: clamp(240px, 26vw, 300px);
  }
  .sugar-section {
    padding: 50px 40px 70px;
  }
  .sugar-grid-layout {
    gap: 40px;
  }
  .dishes-preview-container,
  .kit-container {
    padding: 0 40px;
  }
  .kit-horizontal-layout {
    gap: 48px;
  }
}

@media (max-width: 768px) {
  /* 01. Главный экран (Hero) на мобильных — в точности по макету */
  #diaMenuApp,
  .dia-menu-app {
    margin-top: 0 !important;
    padding-top: 0 !important;
    top: 0 !important;
  }
  #diaMenuApp #heroScreen,
  #diaMenuApp .hero-screen,
  #heroScreen,
  .hero-screen {
    margin-top: 0 !important;
    top: 0 !important;
    min-height: auto !important;
    height: auto !important;
    position: relative !important;
    z-index: 2 !important;
    overflow: hidden !important;
    background-color: #ebe8d7 !important;
    background-image: linear-gradient(
        180deg,
        #f4efe6 0%,
        #f4efe6 160px,
        rgba(244, 239, 230, 0.96) 195px,
        rgba(244, 239, 230, 0.55) 235px,
        rgba(244, 239, 230, 0) 275px
      ),
      url("/userfiles/images/hero-bg-mobi-2.jpg") !important;
    background-repeat: no-repeat, no-repeat !important;
    background-size: 100% 280px, 100% auto !important;
    background-position: 0 0, center clamp(100px, 28vw, 140px) !important;
    padding-bottom: 24px !important;
    border-bottom-left-radius: 50% 24px !important;
    border-bottom-right-radius: 50% 24px !important;
  }
  #diaMenuApp .hero-bg-container,
  #heroScreen .hero-bg-container,
  .hero-bg-container,
  .hero-picture,
  .hero-bg-image,
  .hero-bg-overlay {
    display: none !important;
  }
  .hero-container {
    padding: 16px 16px 20px !important;
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    position: relative !important;
    z-index: 3 !important;
  }
  .hero-topbar {
    margin-bottom: 14px !important;
    gap: 12px !important;
  }
  .brand-badge {
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .brand-leaf-icon {
    width: 22px !important;
    height: 20px !important;
  }
  .brand-name {
    font-size: 14px !important;
    letter-spacing: 0.07em !important;
  }
  .topbar-divider-line {
    flex: 1 !important;
    height: 1px !important;
    background: #9fa98a !important;
    opacity: 0.55 !important;
  }
  .hero-main-layout {
    display: flex !important;
    flex-direction: column !important;
    margin-top: 0 !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .hero-left-col {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #diaMenuApp #heroScreen .hero-eyebrow-badge,
  #heroScreen .hero-eyebrow-badge,
  .hero-eyebrow-badge {
    display: inline-block !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    padding: 0 !important;
    margin: 0 0 10px 0 !important;
    text-align: left !important;
    border-radius: 0 !important;
  }
  #diaMenuApp #heroScreen .hero-eyebrow-badge .badge-dot-svg,
  #heroScreen .hero-eyebrow-badge .badge-dot-svg,
  .hero-eyebrow-badge .badge-dot-svg {
    display: none !important;
  }
  #diaMenuApp #heroScreen .hero-eyebrow-badge .badge-text,
  #heroScreen .hero-eyebrow-badge .badge-text,
  .hero-eyebrow-badge .badge-text {
    font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI",
      Roboto, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    color: #384526 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  #diaMenuApp #heroScreen .hero-title,
  #heroScreen .hero-title {
    font-size: clamp(34px, 8.8vw, 46px) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 12px 0 !important;
    text-align: left !important;
  }
  .title-word {
    display: block !important;
  }
  #diaMenuApp #heroScreen .hero-subtitle,
  #heroScreen .hero-subtitle {
    font-size: clamp(16.5px, 4.4vw, 20px) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #384526 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
  }
  .hero-sub-br {
    display: block !important;
  }
  /* Кнопка заказа поднята выше и размещена прямо на картинке */
  .hero-cta-wrapper {
    margin-top: clamp(235px, 62vw, 310px) !important;
    margin-bottom: 14px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    position: relative !important;
    z-index: 6 !important;
  }
  .cta-button {
    width: 100% !important;
    max-width: 100% !important;
    padding: 13px 24px !important;
    border-radius: 999px !important;
    background: #77141b !important;
    box-shadow: 0 10px 28px rgba(119, 20, 27, 0.42),
      0 3px 8px rgba(0, 0, 0, 0.12) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .cta-button .cta-text {
    font-size: clamp(17px, 4.4vw, 20px) !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
  }
  .cta-subtext {
    margin-top: 2px !important;
    padding-left: 0 !important;
    text-align: center !important;
    width: 100% !important;
    line-height: 1.15 !important;
  }
  .cta-subtext span {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #384526 !important;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6) !important;
  }
  /* Полное скрытие книги, ее бейджа, кнопки подробнее и нижней панели */
  .hero-right-col,
  .book-card,
  .book-floating-tag,
  .book-presentation-wrapper,
  .hero-bottom-bar,
  .hero-scroll-down-btn {
    display: none !important;
  }
  /* Волна скрыта на мобильных, закругление формируется непосредственно скруглением картинки и первого экрана */
  .hero-convex-wave {
    display: none !important;
  }

  /* 02. Секция сахара — плавно заходит под выпуклый срез картинки */
  .sugar-section {
    position: relative !important;
    z-index: 1 !important;
    margin-top: -24px !important;
    padding: 70px 16px 56px !important;
  }
  .sugar-grid-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  #diaMenuApp #sugarSection .sugar-section-title,
  #sugarSection .sugar-section-title {
    font-size: clamp(28px, 7vw, 38px) !important;
    margin-bottom: 20px !important;
  }
  .sugar-graph-card {
    padding: 16px !important;
    border-radius: 18px !important;
  }
  .sugar-col-right {
    padding-left: 0 !important;
  }
  #diaMenuApp #sugarSection .sugar-bullet-list {
    gap: 16px !important;
    margin-top: 24px !important;
  }
  #diaMenuApp #sugarSection .sugar-bullet-text {
    font-size: clamp(16px, 4.2vw, 19.5px) !important;
  }
  .sugar-transition-block {
    margin-top: 28px !important;
    padding-top: 0 !important;
  }
  #diaMenuApp #sugarSection .sugar-transition-title,
  #sugarSection .sugar-transition-title {
    font-size: clamp(26px, 6.5vw, 34px) !important;
  }

  /* 03. Примеры блюд на мобильных — фоновое изображение sec-3-mobi(1).jpg, пятно убрано */
  #diaMenuApp #dishesPreviewSection,
  #diaMenuApp .dishes-preview-section,
  #dishesPreviewSection,
  .dishes-preview-section {
    background-image: url("/userfiles/images/sec-3-mobi(1).jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    background-color: var(--color-bg-section2) !important;
    padding: 20px 0 60px !important;
    height: 100% !important;
  }
  #diaMenuApp .dishes-preview-section,
  .dishes-preview-section {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    min-height: clamp(660px, 185vw, 840px) !important;
    position: relative !important;
    box-sizing: border-box !important;
  }
  #diaMenuApp .dishes-preview-bg-container,
  .dishes-preview-bg-container,
  #diaMenuApp .dishes-preview-bg-picture,
  .dishes-preview-bg-picture,
  #diaMenuApp .dishes-preview-bg-image,
  .dishes-preview-bg-image,
  #diaMenuApp .dishes-preview-bg-overlay,
  .dishes-preview-bg-overlay {
    display: none !important;
  }
  .dishes-preview-container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(540px, 150vw, 700px) !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 2 !important;
  }
  .dishes-preview-layout {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    position: relative !important;
    gap: 0 !important;
  }
  /* Поднят dishes-preview-header в левый верхний угол */
  .dishes-preview-header {
    position: relative !important;
    align-self: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    z-index: 5 !important;
  }
  #diaMenuApp #dishesPreviewSection .dishes-preview-title,
  #dishesPreviewSection .dishes-preview-title {
    font-size: clamp(28px, 7vw, 38px) !important;
    line-height: 1.1 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  #diaMenuApp #dishesPreviewSection .dishes-preview-subtitle,
  #dishesPreviewSection .dishes-preview-subtitle {
    font-size: clamp(16px, 4.2vw, 19px) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  /* Пятно под заголовком и подзаголовком на мобильных полностью скрыто */
  #diaMenuApp .dishes-organic-spot,
  .dishes-organic-spot {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  .dishes-floating-badges-area {
    position: absolute !important;
    inset: 0 !important;
    top: 36px !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    margin: 0 !important;
    z-index: 6 !important;
  }
  .dish-floating-badge {
    position: absolute !important;
    pointer-events: auto !important;
    width: fit-content !important;
    max-width: calc(100% - 24px) !important;
    padding: 7px 16px !important;
    gap: 8px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 6px 20px rgba(45, 53, 34, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.96) !important;
    box-sizing: border-box !important;
    animation: none !important;
  }
  .dish-floating-badge .badge-text {
    font-size: clamp(13px, 3.6vw, 14.5px) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
  .dish-floating-badge .badge-pin-svg {
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    flex-shrink: 0 !important;
  }
  /* Бедж "Шаурма в сырном лаваше" — по центру фоновой картинки */
  .dish-floating-badge.badge-shawarma,
  .badge-shawarma {
    top: 64% !important;
    left: 0 !important;
    bottom: auto !important;
    right: auto !important;
    transform: translateY(-50%) !important;
  }
  /* Бедж "Пирожное «Картошка»" — по нижней части фоновой картинки */
  .dish-floating-badge.badge-dessert,
  .badge-dessert {
    bottom: -10px !important;
    top: auto !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
  }
  .dishes-convex-wave {
    height: 38px !important;
  }

  /* 03-b. Примеры углеводов и ХЕ на мобильных (по образцу kitSection) */
  #diaMenuApp .dishes-nutrition-section,
  .dishes-nutrition-section {
    padding: 28px 0 36px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
  }
  #diaMenuApp .nutrition-container,
  .nutrition-container {
    padding: 0 16px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .nutrition-horizontal-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .nutrition-col-left,
  .nutrition-col-right {
    display: contents !important;
  }
  #diaMenuApp .nutrition-section-title,
  .nutrition-section-title {
    order: 1 !important;
    font-size: clamp(26px, 6.5vw, 36px) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
    text-align: left !important;
  }
  /* В мобильной версии стрелку скрыть!!! */
  #diaMenuApp .nutrition-arrow-wrapper,
  .nutrition-arrow-wrapper {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .nutrition-col-right {
    order: 2 !important;
  }
  .nutrition-cards-grid {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
  }
  .nutrition-food-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .nutrition-food-img-box {
    width: 86px !important;
    height: 86px !important;
    min-width: 86px !important;
    border-radius: 12px !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
  }
  .nutrition-food-body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: left !important;
    flex: 1 !important;
  }
  #diaMenuApp .nutrition-food-title,
  .nutrition-food-title {
    font-size: clamp(14px, 3.8vw, 15.5px) !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }
  #diaMenuApp .nutrition-food-stats,
  .nutrition-food-stats {
    font-size: clamp(12px, 3.2vw, 13px) !important;
    line-height: 1.32 !important;
    margin: 0 !important;
  }
  .nutrition-left-footnote {
    order: 3 !important;
    margin-top: 4px !important;
  }
  .nutrition-footnote-divider {
    margin-bottom: 16px !important;
  }
  #diaMenuApp .nutrition-footnote-text,
  .nutrition-footnote-text {
    font-size: clamp(13px, 3.6vw, 15px) !important;
    margin-left: 14px !important;
    padding-left: 14px !important;
    min-height: 36px !important;
  }
  .nutrition-xe-icon {
    width: 36px !important;
    height: 36px !important;
  }

  /* 04. Состав комплекта */
  .kit-section {
    padding: 48px 0 64px !important;
  }
  .kit-container {
    padding: 0 16px !important;
  }
  .kit-horizontal-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .kit-col-left,
  .kit-col-right {
    display: contents !important;
  }
  #diaMenuApp #kitSection .kit-section-title,
  #kitSection .kit-section-title,
  .kit-section-title {
    order: 1 !important;
    font-size: clamp(26px, 6.5vw, 36px) !important;
    margin-bottom: 24px !important;
  }
  #diaMenuApp #kitSection .kit-subtitle,
  #kitSection .kit-subtitle {
    font-size: clamp(16px, 4.2vw, 19px) !important;
  }
  .kit-categories-list {
    order: 2 !important;
    width: 100% !important;
    margin-bottom: 24px !important;
    padding: 22px 20px !important;
    border-radius: 20px !important;
    box-sizing: border-box !important;
  }
  .guide-bonus-card {
    order: 3 !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    margin-bottom: 18px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .guide-icon-wrapper {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    flex-shrink: 0 !important;
  }
  .guide-icon-wrapper svg {
    width: 32px !important;
    height: 32px !important;
  }
  .guide-text-content {
    flex: 1 !important;
    min-width: 0 !important;
  }
  #diaMenuApp .guide-title,
  #kitSection .guide-title,
  .guide-title {
    font-size: clamp(14.5px, 4vw, 18px) !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 4px 0 !important;
  }
  .guide-description {
    font-size: clamp(12.5px, 3.4vw, 14px) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
  .kit-cta-wrapper {
    order: 4 !important;
    width: 100% !important;
    margin-top: 0 !important;
  }
  .kit-cta-btn {
    padding: 14px 20px !important;
    font-size: 17px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .kit-category-row {
    padding: 12px 0 !important;
  }
  #diaMenuApp .kit-num,
  .kit-num {
    font-size: 44px !important;
    min-width: 32px !important;
  }
  .kit-divider-bar {
    height: 34px !important;
    margin: 0 14px !important;
  }
  #diaMenuApp .kit-label,
  .kit-label {
    font-size: clamp(16px, 4vw, 19px) !important;
    border-left: 2px solid #d5cebf !important;
    padding-left: 14px !important;
    margin-left: 14px !important;
    min-height: 34px !important;
  }

  /* 05. Как пользоваться книгой на мобильных — фоновое изображение how-to-section-images-mobi.jpg */
  #diaMenuApp #howToSection,
  #diaMenuApp .how-to-section,
  #howToSection,
  .how-to-section {
    background-image: url("/userfiles/images/how-to-section-images-mobi.jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    background-color: var(--color-bg-section2) !important;
    padding: 20px 0 28px !important;
    height: 100% !important;
    min-height: clamp(660px, 185vw, 840px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  #diaMenuApp .how-to-bg-container,
  .how-to-bg-container,
  #diaMenuApp .how-to-bg-picture,
  .how-to-bg-picture,
  #diaMenuApp .how-to-bg-image,
  .how-to-bg-image {
    display: none !important;
  }
  #diaMenuApp .how-to-container,
  .how-to-container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(540px, 150vw, 700px) !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 2 !important;
    flex: 1 !important;
  }
  .how-to-grid-layout {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    width: 100% !important;
    height: 100% !important;
    min-height: inherit !important;
    position: relative !important;
    gap: 32px !important;
    flex: 1 !important;
  }
  /* Заголовок и подзаголовок по верхней части картинки */
  .how-to-col-left {
    position: relative !important;
    align-self: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    z-index: 5 !important;
    width: 100% !important;
    height: auto !important;
  }
  .how-to-header {
    position: relative !important;
    align-self: flex-start !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
  }
  #diaMenuApp #howToSection .how-to-title,
  #howToSection .how-to-title {
    font-size: clamp(28px, 7vw, 38px) !important;
    line-height: 1.1 !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  #diaMenuApp #howToSection .how-to-subtitle,
  #howToSection .how-to-subtitle {
    font-size: clamp(16px, 4.2vw, 19px) !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  /* Пятно под текстом на мобильных полностью скрыто */
  #diaMenuApp .how-to-organic-spot,
  .how-to-organic-spot {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  /* Правая колонка <div class="how-to-col-right"> в нижней части фоновой картинки */
  .how-to-col-right {
    position: relative !important;
    margin-top: auto !important;
    align-self: flex-end !important;
    width: 100% !important;
    height: auto !important;
    z-index: 5 !important;
    transform: translateY(14px) !important;
  }
  .how-to-list-wrapper {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .how-to-rows-list {
    position: relative !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .how-to-row {
    padding: 8px 10px !important;
    border-bottom: 1.5px solid rgba(56, 69, 38, 0.22) !important;
  }
  .how-to-row:first-child {
    border-top: 1.5px solid rgba(56, 69, 38, 0.22) !important;
  }
  .how-to-row-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
  }
  .how-to-row-icon svg {
    width: 30px !important;
    height: 30px !important;
  }
  .how-to-divider-bar {
    height: 28px !important;
    margin: 0 10px !important;
  }
  #diaMenuApp #howToSection .how-to-row-label,
  #diaMenuApp .how-to-row-label,
  .how-to-row-label {
    font-size: clamp(13.5px, 3.4vw, 15.5px) !important;
    border-left: 2px solid #384526 !important;
    padding-left: 12px !important;
    margin-left: 12px !important;
    min-height: 30px !important;
    line-height: 1.22 !important;
  }
  .how-to-note {
    font-size: 12.5px !important;
    margin-top: 12px !important;
  }
  .how-to-convex-wave {
    height: 38px !important;
  }

  /* 05-b. Компактные блоки предпросмотра на мобильных */
  #diaMenuApp .preview-section,
  .preview-section {
    padding: 32px 0 20px !important;
  }
  #diaMenuApp .preview-container,
  .preview-container {
    padding: 0 16px !important;
  }
  .preview-horizontal-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .preview-col-left {
    width: 100% !important;
    margin-bottom: 16px !important;
  }
  .preview-col-right {
    width: 100% !important;
  }
  .preview-block-header {
    margin-bottom: 16px !important;
  }
  #diaMenuApp .preview-block-title,
  .preview-block-title {
    font-size: clamp(24px, 6.2vw, 32px) !important;
    line-height: 1.18 !important;
    margin-bottom: 8px !important;
  }
  #diaMenuApp .preview-block-subtitle,
  .preview-block-subtitle {
    font-size: clamp(14.5px, 3.8vw, 16.5px) !important;
    line-height: 1.35 !important;
    margin-bottom: 6px !important;
  }
  .preview-block-footnote {
    margin-top: 10px !important;
  }
  .preview-footnote-divider {
    margin-bottom: 12px !important;
  }
  .preview-footnote-icon {
    width: 36px !important;
    height: 36px !important;
  }
  .preview-footnote-icon svg {
    width: 36px !important;
    height: 36px !important;
  }
  #diaMenuApp .preview-footnote-text,
  .preview-footnote-text {
    font-size: clamp(13px, 3.6vw, 14.5px) !important;
    margin-left: 12px !important;
    padding-left: 12px !important;
    min-height: 36px !important;
  }
  /* Мобильный переключатель страниц по одной */
  .preview-mobi-nav {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-bottom: 16px !important;
    width: 100% !important;
  }
  .preview-nav-btn {
    font-family: var(--font-sans) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    padding: 7px 16px !important;
    border-radius: 999px !important;
    border: 1.5px solid #384526 !important;
    background: transparent !important;
    color: #384526 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .preview-nav-btn.active {
    background: #384526 !important;
    color: #ffffff !important;
    border-color: #384526 !important;
  }
  /* На телефоне страницы показываются по одной, по ширине почти на весь экран, без подложки */
  .preview-pair-grid {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    gap: 0 !important;
  }
  .preview-page-col {
    display: none !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
  }
  .preview-page-col.active {
    display: flex !important;
    width: 100% !important;
  }
  .preview-img-wrapper {
    width: 100% !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  .preview-page-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .preview-block:not(:last-child) {
    margin-bottom: 40px !important;
  }

  /* 06. Автор и специалисты */
  #diaMenuApp .author-section,
  .author-section {
    padding: 20px 0 56px !important;
  }
  #diaMenuApp .author-container,
  #authorSection .author-container,
  .author-container {
    padding: 0 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .author-grid-layout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  #diaMenuApp #authorSection .author-section-title,
  #authorSection .author-section-title {
    font-size: clamp(26px, 6.5vw, 36px) !important;
    margin-bottom: 18px !important;
  }
  .author-profile-card {
    padding: 18px 16px !important;
    gap: 16px !important;
    border-radius: 20px !important;
  }
  .author-avatar-box {
    width: 80px !important;
    height: 100px !important;
    border-radius: 14px !important;
  }
  .author-name {
    font-size: 22px !important;
  }
  #diaMenuApp #authorSection .author-bio,
  .author-bio {
    font-size: 14.5px !important;
  }
  .author-col-left,
  .author-col-right,
  .author-credentials-list {
    height: auto !important;
    width: 100% !important;
  }
  .credential-item {
    padding: 14px 0 !important;
    flex: none !important;
  }
  .credential-icon-wrapper {
    width: 48px !important;
    height: 48px !important;
  }
  .credential-icon-wrapper svg {
    width: 44px !important;
    height: 44px !important;
  }
  .credential-divider-bar {
    height: 36px !important;
    margin: 0 14px !important;
  }
  #diaMenuApp .credential-text,
  .credential-text {
    border-left: 1.5px solid #d5cebf !important;
    padding-left: 14px !important;
    margin-left: 14px !important;
    min-height: 36px !important;
    font-size: clamp(16px, 4vw, 19px) !important;
  }

  /* 07. Отзывы */
  #diaMenuApp #reviewsSection,
  #diaMenuApp .reviews-section,
  #reviewsSection,
  .reviews-section {
    background-image: url("/userfiles/images/reviews-section-mobi(1).jpg") !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center top !important;
    padding: 48px 0 70px !important;
    min-height: auto !important;
  }
  #diaMenuApp .reviews-bg-container,
  .reviews-bg-container,
  #diaMenuApp .reviews-bg-picture,
  .reviews-bg-picture,
  #diaMenuApp .reviews-bg-image,
  .reviews-bg-image {
    display: none !important;
  }
  .reviews-container {
    padding: 0 16px !important;
  }
  .reviews-header {
    margin-bottom: 24px !important;
  }
  #diaMenuApp #reviewsSection .reviews-section-title,
  #reviewsSection .reviews-section-title {
    font-size: clamp(26px, 6.5vw, 36px) !important;
  }
  #diaMenuApp #reviewsSection .reviews-section-subtitle,
  #reviewsSection .reviews-section-subtitle {
    font-size: clamp(14.5px, 3.8vw, 17.5px) !important;
  }
  .review-card {
    padding: 14px !important;
    border-radius: 20px !important;
    gap: 12px !important;
  }
  .review-dish-box {
    height: clamp(200px, 52vw, 260px) !important;
    border-radius: 14px !important;
  }
  .review-screen-box {
    height: clamp(110px, 28vw, 140px) !important;
    border-radius: 12px !important;
  }
  .reviews-swiper {
    width: calc(100% - 92px) !important;
    margin: 0 auto !important;
    overflow: hidden !important;
  }
  .reviews-swiper-nav-prev,
  .reviews-swiper-nav-next {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(214, 204, 188, 0.95) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
    z-index: 10 !important;
    padding: 0 !important;
    cursor: pointer !important;
    outline: none !important;
    user-select: none !important;
  }
  .reviews-swiper-nav-prev {
    left: 0 !important;
  }
  .reviews-swiper-nav-next {
    right: 0 !important;
  }
  .reviews-swiper-nav-prev:active,
  .reviews-swiper-nav-next:active {
    transform: translateY(-50%) scale(0.92) !important;
    background: #faf8f2 !important;
  }
  .reviews-swiper-nav-prev svg,
  .reviews-swiper-nav-next svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    stroke: #384526 !important;
    stroke-width: 2.8 !important;
    display: block !important;
  }
  #diaMenuApp .reviews-swiper-pagination,
  .reviews-swiper-pagination {
    margin: 20px auto 0 !important;
  }
  .reviews-convex-wave {
    height: 38px !important;
  }

  /* 08. Вопросы перед покупкой (FAQ) */
  .faq-section {
    padding: 44px 0 48px !important;
  }
  .faq-container {
    padding: 0 16px !important;
  }
  #diaMenuApp #faqSection .faq-section-title,
  #faqSection .faq-section-title {
    font-size: clamp(28px, 7vw, 38px) !important;
    margin-bottom: 24px !important;
  }
  .faq-columns-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .faq-item {
    padding: 14px 16px !important;
    border-radius: 16px !important;
  }
  .faq-question-text {
    font-size: clamp(15px, 4vw, 17.5px) !important;
  }
  #diaMenuApp #faqSection .faq-answer-text,
  .faq-answer-text {
    font-size: 14.5px !important;
  }

  /* 09. Финальная покупка */
  .final-buy-top-wave {
    height: 28px !important;
  }
  .final-buy-container {
    padding: 18px 16px 56px !important;
  }
  .final-topbar {
    margin-bottom: 22px !important;
    gap: 12px !important;
  }
  .final-topbar-title {
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
  }
  .final-showcase-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    margin-bottom: 36px !important;
  }
  #diaMenuApp #finalBuySection .final-buy-title,
  #finalBuySection .final-buy-title {
    font-size: clamp(28px, 7vw, 38px) !important;
  }
  #diaMenuApp #finalBuySection .final-buy-subtitle,
  #finalBuySection .final-buy-subtitle {
    font-size: clamp(15px, 4vw, 18px) !important;
  }
  #diaMenuApp #finalBuySection .final-package-title,
  #finalBuySection .final-package-title {
    font-size: 22px !important;
  }
  .kit-item-row {
    padding: 10px 0 !important;
  }
  .kit-item-icon-wrapper {
    width: 36px !important;
    height: 36px !important;
  }
  .kit-item-divider-bar {
    height: 30px !important;
    margin: 0 12px !important;
  }
  #diaMenuApp .kit-item-text,
  .kit-item-text {
    font-size: 14.5px !important;
    border-left: 1.5px solid #d5cebf !important;
    padding-left: 12px !important;
    margin-left: 12px !important;
    min-height: 30px !important;
  }
  .final-book-wrapper {
    padding: 10px 0 20px !important;
    display: flex !important;
    justify-content: center !important;
  }
  .final-3d-book-card {
    width: clamp(230px, 66vw, 290px) !important;
    margin: 0 auto !important;
  }
  .final-book-price-tag {
    font-size: 12px !important;
    padding: 8px 14px !important;
    bottom: -12px !important;
    right: -4px !important;
    gap: 6px !important;
  }
  .final-delivery-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding-top: 28px !important;
  }
  .final-delivery-col-left,
  .final-delivery-col-right {
    display: contents !important;
  }
  .final-delivery-header-group {
    order: 1 !important;
    margin-bottom: 24px !important;
  }
  .final-delivery-steps-list {
    order: 2 !important;
    width: 100% !important;
    margin-bottom: 28px !important;
  }
  .final-delivery-cta-wrapper {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 0 !important;
  }
  .delivery-step-row {
    padding: 12px 0 !important;
  }
  #diaMenuApp .delivery-step-num,
  .delivery-step-num {
    font-size: 38px !important;
    min-width: 32px !important;
  }
  .delivery-step-divider {
    height: 34px !important;
    margin: 0 12px !important;
  }
  .delivery-step-name {
    font-size: clamp(16px, 4vw, 19px) !important;
  }
  .delivery-step-desc {
    font-size: 13.5px !important;
  }
  #diaMenuApp .delivery-step-content,
  .delivery-step-content {
    border-left: 2px solid #d5cebf !important;
    padding-left: 12px !important;
    margin-left: 12px !important;
    min-height: 34px !important;
  }
  .final-main-btn {
    padding: 16px 20px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .btn-text-main {
    font-size: clamp(16px, 4.2vw, 19px) !important;
  }
  .final-disclaimer-wrap {
    margin-top: 36px !important;
  }
  .final-disclaimer-divider {
    margin-bottom: 18px !important;
  }
  .final-disclaimer-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  /* Модальные окна (адаптация под мобильные экраны без скролла) */
  #diaMenuApp .modal-overlay,
  .modal-overlay {
    padding: 8px 6px !important;
    align-items: center !important;
  }
  #diaMenuApp .modal-card,
  #diaMenuApp #orderModal .modal-card,
  .modal-card {
    padding: 16px 14px 12px !important;
    border-radius: 16px !important;
    width: calc(100% - 12px) !important;
    max-width: 380px !important;
    max-height: calc(100dvh - 16px) !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }
  #diaMenuApp .modal-close,
  .modal-close {
    top: 10px !important;
    right: 10px !important;
    width: 26px !important;
    height: 26px !important;
    font-size: 17px !important;
  }
  #diaMenuApp .modal-badge,
  .modal-badge {
    font-size: 9px !important;
    padding: 2px 6px !important;
    margin-bottom: 4px !important;
  }
  #diaMenuApp #orderModal .modal-title,
  #diaMenuApp .modal-title,
  .modal-title {
    font-size: 17px !important;
    line-height: 1.15 !important;
    margin: 0 0 2px 0 !important;
  }
  #diaMenuApp #orderModal .modal-desc,
  #diaMenuApp .modal-desc,
  .modal-desc {
    font-size: 11.5px !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
  }
  #diaMenuApp .modal-summary,
  .modal-summary {
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
    border-radius: 10px !important;
  }
  #diaMenuApp .summary-row,
  .summary-row {
    font-size: 11px !important;
    margin-bottom: 3px !important;
    line-height: 1.22 !important;
  }
  #diaMenuApp .summary-row span,
  .summary-row span {
    font-size: 11px !important;
  }
  #diaMenuApp .summary-row strong,
  .summary-row strong {
    font-size: 11px !important;
  }
  #diaMenuApp .summary-row.total-row,
  .summary-row.total-row {
    margin-top: 4px !important;
    padding-top: 4px !important;
    font-size: 12.5px !important;
  }
  #diaMenuApp .summary-row .price-val,
  .summary-row .price-val {
    font-size: 15px !important;
  }
  #diaMenuApp .modal-pay-wrapper,
  .modal-pay-wrapper {
    gap: 5px !important;
    margin-top: 2px !important;
  }
  #diaMenuApp .modal-submit-btn,
  .modal-submit-btn {
    padding: 10px 14px !important;
    font-size: 14px !important;
    border-radius: 10px !important;
    margin: 0 !important;
  }
  #diaMenuApp #orderModal .form-guarantee,
  #diaMenuApp .form-guarantee,
  .form-guarantee {
    font-size: 10px !important;
    line-height: 1.25 !important;
    margin: 2px 0 0 0 !important;
  }
  #diaMenuApp .modal-requisites-note,
  .modal-requisites-note {
    margin-top: 5px !important;
    padding-top: 6px !important;
  }
  #diaMenuApp #orderModal .modal-requisites-text,
  #diaMenuApp .modal-requisites-text,
  .modal-requisites-text {
    font-size: 10px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }
  #diaMenuApp .modal-requisites-link,
  .modal-requisites-link {
    font-size: 10px !important;
  }
  .final-contacts-requisites {
    margin-top: 20px !important;
    padding-top: 16px !important;
  }
  .requisites-inner {
    font-size: 12.5px !important;
    gap: 6px !important;
  }
  .requisites-main-line,
  .requisites-contact-line {
    gap: 6px !important;
  }
  .lightbox-card {
    padding: 16px !important;
    border-radius: 18px !important;
    width: calc(100% - 20px) !important;
    max-width: 600px !important;
  }
}

/* Экстра-маленькие экраны (320px – 360px) */
@media (max-width: 360px) {
  .hero-container,
  .sugar-section,
  .dishes-preview-container,
  .kit-container,
  .how-to-container,
  .author-container,
  .reviews-container,
  .faq-container,
  .final-buy-container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  #diaMenuApp .modal-card,
  #diaMenuApp #orderModal .modal-card,
  .modal-card {
    padding: 12px 10px 8px !important;
    max-width: 320px !important;
  }
  #diaMenuApp #orderModal .modal-title,
  .modal-title {
    font-size: 15.5px !important;
  }
  #diaMenuApp .modal-summary,
  .modal-summary {
    padding: 6px 8px !important;
    margin-bottom: 6px !important;
  }
  #diaMenuApp .summary-row,
  .summary-row {
    font-size: 10px !important;
    margin-bottom: 2px !important;
  }
  #diaMenuApp .summary-row span,
  #diaMenuApp .summary-row strong {
    font-size: 10px !important;
  }
  #diaMenuApp .modal-submit-btn,
  .modal-submit-btn {
    padding: 8px 10px !important;
    font-size: 13px !important;
  }
  .brand-name {
    font-size: 12.5px !important;
    letter-spacing: 0.05em !important;
  }
  #diaMenuApp #heroScreen .hero-title,
  #heroScreen .hero-title {
    font-size: 34px !important;
  }
  #diaMenuApp #heroScreen .hero-subtitle,
  #heroScreen .hero-subtitle {
    font-size: 16.5px !important;
  }
  .hero-cta-wrapper {
    margin-top: clamp(235px, 56vw, 250px) !important;
    margin-bottom: -20px !important;
  }
  #diaMenuApp #heroScreen,
  #diaMenuApp .hero-screen,
  #heroScreen,
  .hero-screen {
    background-color: #ebe8d7;
    border-bottom-left-radius: 50% 18px !important;
    border-bottom-right-radius: 50% 18px !important;
    padding-bottom: 20px !important;
  }
  .hero-convex-wave {
    display: none !important;
  }
  .sugar-section {
    margin-top: -18px !important;
    padding-top: 64px !important;
    background-color: #e1dabf !important;
  }
  .cta-button {
    padding: 18px 20px !important;
  }
  .cta-subtext {
    margin-top: -4px !important;
  }
  .cta-button .cta-text {
    font-size: 15.5px !important;
  }
  .final-main-btn .btn-text-main {
    font-size: 15.5px !important;
  }
  #diaMenuApp .kit-num,
  .kit-num,
  #diaMenuApp .delivery-step-num,
  .delivery-step-num {
    font-size: 34px !important;
    min-width: 28px !important;
  }
  .dish-floating-badge {
    padding: 5px 12px !important;
    gap: 6px !important;
  }
  .dish-floating-badge .badge-text {
    font-size: 12.5px !important;
  }
  .kit-categories-list {
    padding: 16px 14px !important;
  }
  .guide-bonus-card {
    padding: 10px 12px !important;
    gap: 10px !important;
  }
  .guide-icon-wrapper,
  .guide-icon-wrapper svg {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }
  #diaMenuApp .guide-title,
  #kitSection .guide-title,
  .guide-title {
    font-size: 13.5px !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .guide-description {
    font-size: 11.5px !important;
  }
  .kit-cta-btn {
    padding: 12px 18px !important;
  }
  .reviews-swiper {
    width: calc(100% - 76px) !important;
  }
  .reviews-swiper-nav-prev,
  .reviews-swiper-nav-next {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }
  .reviews-swiper-nav-prev svg,
  .reviews-swiper-nav-next svg {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    stroke-width: 2.6 !important;
  }
  .review-card {
    padding: 10px !important;
    border-radius: 18px !important;
    gap: 8px !important;
  }
  .review-dish-box {
    height: 200px !important;
    border-radius: 12px !important;
  }
  .review-screen-box {
    height: 110px !important;
    border-radius: 12px !important;
  }
  .faq-section {
    padding-bottom: 14px !important;
  }
  .final-buy-top-wave {
    height: 24px !important;
  }
  .final-buy-container {
    padding-top: 14px !important;
  }
  .faq-bottom-footnote {
    --faq-fn-margin: 12px;
    --faq-fn-pad: 12px;
  }
  .faq-leaf-icon {
    width: 28px !important;
    height: 24px !important;
    min-width: 28px !important;
  }
  #diaMenuApp .faq-footnote-text,
  #diaMenuApp #faqSection .faq-footnote-text,
  .faq-footnote-text {
    font-size: 13px !important;
    margin: 0 0 0 12px !important;
    padding: 0 0 0 12px !important;
  }
}

/* Защита от CMS (border-left, SVG и &nbsp;) */

/* --- 1. SVG-точки в бейджах первого экрана и финального комплекта --- */
.badge-dot-svg {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  filter: drop-shadow(0 0 4px rgba(119, 20, 27, 0.7)) !important;
}

/* SVG-пины в парящих бейджах секции 03 (Шаурма, Картошка) */
.badge-pin-svg {
  width: 10px !important;
  height: 10px !important;
  min-width: 10px !important;
  min-height: 10px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

/* --- 2. Неуязвимые вертикальные разделители (border-left на блоках с текстом) --- */
#diaMenuApp .kit-label,
.kit-label {
  border-left: 2px solid #d5cebf !important;
  padding-left: 20px !important;
  margin-left: 20px !important;
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
}

#diaMenuApp .how-to-row-label,
.how-to-row-label {
  border-left: 2px solid #384526 !important;
  padding-left: 24px !important;
  margin-left: 24px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
}

#diaMenuApp .credential-text,
.credential-text {
  border-left: 1.5px solid #d5cebf !important;
  padding-left: 24px !important;
  margin-left: 24px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
}

#diaMenuApp .kit-item-text,
.kit-item-text {
  border-left: 1.5px solid #d5cebf !important;
  padding-left: 20px !important;
  margin-left: 20px !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
}

#diaMenuApp .delivery-step-content,
.delivery-step-content {
  border-left: 2px solid #d5cebf !important;
  padding-left: 20px !important;
  margin-left: 20px !important;
  min-height: 42px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

#diaMenuApp .faq-footnote-text,
.faq-footnote-text {
  border-left: 1.5px solid #d5cebf !important;
  padding-left: 22px !important;
  margin-left: 22px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* Скрытие старых пустых тегов, если они еще остались в DOM */
.kit-divider-bar,
.how-to-divider-bar,
.credential-divider-bar,
.kit-item-divider-bar,
.delivery-step-divider,
.faq-footnote-bar,
.badge-dot,
.badge-pin-icon {
  display: none !important;
}

/* --- 3. Неуязвимый SVG переключатель аккордеона FAQ (+ / -) --- */
#diaMenuApp .faq-toggle-icon,
.faq-toggle-icon {
  position: relative !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  border-radius: 50% !important;
  background-color: #4d5c2c !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform 0.2s ease, background-color 0.2s ease !important;
}

.faq-header:hover .faq-toggle-icon {
  background-color: #3b4722 !important;
  transform: scale(1.06) !important;
}

.faq-toggle-svg {
  width: 16px !important;
  height: 16px !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.faq-line-h,
.faq-line-v {
  transform-origin: 8px 8px !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease !important;
}

.faq-item.active .faq-line-v {
  transform: rotate(90deg) !important;
  opacity: 0 !important;
}

.faq-item.active .faq-toggle-icon {
  background-color: #3b4722 !important;
}

/* --- 4. Защита служебных слоев от распирания неразрывными пробелами (&nbsp;) --- */
.topbar-divider-line,
.final-topbar-divider-line,
.hero-bg-overlay,
.dishes-preview-bg-overlay,
.dishes-organic-spot,
.how-to-organic-spot,
.book-glow-effect,
.book-pages-edge,
.book-spine-highlight,
.faq-divider-line,
.faq-footnote-divider,
.reviews-swiper-pagination {
  font-size: 0 !important;
  line-height: 0 !important;
}

/* ==========================================================================
   НОВЫЙ ВЕРХНИЙ БЛОК: РЕЦЕПТ ТВОРОЖНО-СЫРНОЙ ЛЕПЁШКИ
   ========================================================================== */
#recipeFeature,
#recipeFeature * {
  box-sizing: border-box;
}

#recipeFeature {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  overflow: hidden;
  color: var(--color-olive-dark);
  font-family: var(--font-sans);
  background: radial-gradient(
      circle at 82% 8%,
      rgba(119, 20, 27, 0.07),
      transparent 26%
    ),
    radial-gradient(circle at 8% 42%, rgba(93, 104, 62, 0.1), transparent 24%),
    var(--color-bg-base);
}

#recipeFeature h1,
#recipeFeature h2,
#recipeFeature h3,
#recipeFeature p,
#recipeFeature ul,
#recipeFeature ol,
#recipeFeature li,
#recipeFeature figure,
#recipeFeature figcaption {
  margin: 0;
  padding: 0;
  text-indent: 0;
}

#recipeFeature ul,
#recipeFeature ol,
#recipeFeature li {
  list-style: none;
}

.recipe-feature-inner {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 54px 64px 76px;
}

.recipe-feature-topbar {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 44px;
}

.recipe-feature-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-olive-brand);
}

.recipe-feature-brand-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--color-olive-bullet);
  box-shadow: 0 0 0 6px rgba(93, 104, 62, 0.1);
}

.recipe-feature-topline {
  height: 1px;
  flex: 1;
  background: linear-gradient(
    90deg,
    rgba(159, 169, 138, 0.75),
    rgba(159, 169, 138, 0)
  );
}

.recipe-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(380px, 0.96fr);
  gap: clamp(42px, 6vw, 84px);
  align-items: center;
}

.recipe-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px !important;
  padding: 9px 16px !important;
  border: 1px solid rgba(119, 20, 27, 0.18);
  border-radius: 999px;
  color: var(--color-wine);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 6px 20px rgba(119, 20, 27, 0.07);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.recipe-eyebrow::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-wine);
  box-shadow: 0 0 9px rgba(119, 20, 27, 0.45);
}

#recipeFeature .recipe-main-title {
  max-width: 760px;
  margin-bottom: 22px !important;
  color: var(--color-wine);
  font-family: var(--font-serif);
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.recipe-main-title .recipe-title-accent {
  color: var(--color-olive-brand);
}

.recipe-lead {
  max-width: 700px;
  margin-bottom: 30px !important;
  color: var(--color-olive-dark);
  font-size: clamp(18px, 1.65vw, 22px);
  font-weight: 600;
  line-height: 1.48;
}

.recipe-lead strong {
  color: var(--color-wine);
  font-weight: 800;
}

.recipe-nutrition-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.recipe-stat-card {
  min-height: 104px;
  padding: 16px 17px;
  border: 1px solid rgba(56, 69, 38, 0.12);
  border-radius: 20px;
  background: rgba(252, 249, 244, 0.92);
  box-shadow: 0 10px 28px rgba(56, 69, 38, 0.07);
}

.recipe-stat-number {
  display: block;
  color: var(--color-wine);
  font-family: var(--font-serif);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.025em;
}

.recipe-stat-label {
  display: block;
  margin-top: 7px;
  color: var(--color-olive-dark);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.recipe-nutrition-note {
  color: var(--color-olive-caption);
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.45;
}

.recipe-hero-visual {
  position: relative;
  min-height: 610px;
}

.recipe-hero-frame {
  position: absolute;
  inset: 0 0 34px 28px;
  overflow: hidden;
  border-radius: 36px 36px 78px 36px;
  background: #ddd;
  box-shadow: 0 28px 64px rgba(56, 69, 38, 0.2), 0 7px 20px rgba(0, 0, 0, 0.08);
  transform: rotate(1.2deg);
}

.recipe-hero-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
  border-radius: inherit;
  pointer-events: none;
}

.recipe-hero-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 48%;
}

.recipe-hero-badge {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: min(290px, 72%);
  padding: 18px 20px;
  border: 1px solid rgba(119, 20, 27, 0.14);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px rgba(119, 20, 27, 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.recipe-hero-badge-title {
  color: var(--color-wine);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.recipe-hero-badge-row {
  display: flex;
  gap: 16px;
  margin-top: 11px;
  color: var(--color-olive-dark);
  font-size: 14px;
  font-weight: 700;
}

.recipe-hero-badge-row span {
  position: relative;
}

.recipe-hero-badge-row span + span::before {
  content: "•";
  position: absolute;
  left: -11px;
  color: var(--color-olive-divider);
}

.recipe-body-section {
  margin-top: 76px;
  padding-top: 66px;
  border-top: 1px solid rgba(159, 169, 138, 0.45);
}

.recipe-section-kicker {
  margin-bottom: 10px !important;
  color: var(--color-olive-caption);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

#recipeFeature .recipe-section-title {
  margin-bottom: 30px !important;
  color: var(--color-wine);
  font-family: var(--font-serif);
  font-size: clamp(34px, 3.7vw, 52px);
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.025em;
}

.recipe-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 34px;
  align-items: stretch;
}

.recipe-ingredients-card,
.recipe-ingredients-photo {
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 14px 42px rgba(56, 69, 38, 0.08);
}

.recipe-ingredients-card {
  padding: clamp(26px, 4vw, 42px);
  background: var(--color-bg-card);
  border: 1px solid rgba(119, 20, 27, 0.1);
}

.recipe-ingredients-card h3 {
  margin-bottom: 22px !important;
  color: var(--color-olive-dark);
  font-family: var(--font-serif);
  font-size: clamp(26px, 2.4vw, 34px);
  font-weight: 900;
  line-height: 1.1;
}

.recipe-ingredient-list {
  display: grid;
  gap: 14px;
}

.recipe-ingredient-list li {
  position: relative;
  padding-left: 30px !important;
  color: #2d3522;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.42;
}

.recipe-ingredient-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0.05em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: white;
  background: var(--color-olive-bullet);
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.recipe-serving-note {
  margin-top: 25px !important;
  padding: 17px 18px !important;
  border-left: 3px solid var(--color-wine);
  border-radius: 0 14px 14px 0;
  background: rgba(119, 20, 27, 0.055);
  color: var(--color-olive-dark);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}

.recipe-ingredients-photo {
  min-height: 520px;
  background: #ddd;
}

.recipe-ingredients-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.recipe-steps-section {
  margin-top: 78px;
}

.recipe-steps-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.recipe-step-card {
  overflow: hidden;
  border: 1px solid rgba(56, 69, 38, 0.11);
  border-radius: 26px;
  background: rgba(252, 249, 244, 0.94);
  box-shadow: 0 14px 34px rgba(56, 69, 38, 0.08);
}

.recipe-step-photo {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #ddd;
}

.recipe-step-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recipe-step-index {
  position: absolute;
  top: 16px;
  left: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: var(--color-wine);
  box-shadow: 0 7px 20px rgba(119, 20, 27, 0.28);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.recipe-step-copy {
  padding: 22px 22px 26px;
}

.recipe-step-copy h3 {
  margin-bottom: 9px !important;
  color: var(--color-wine);
  font-family: var(--font-serif);
  font-size: 25px;
  font-weight: 900;
  line-height: 1.08;
}
.hero-article {
  display: none;
}

.recipe-step-copy p {
  color: var(--color-olive-dark);
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.52;
}

.recipe-finish-section {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(0, 1.18fr);
  gap: 24px;
  margin-top: 76px;
}

.recipe-finish-card {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 30px;
  background: #ddd;
  box-shadow: 0 18px 45px rgba(56, 69, 38, 0.11);
}

.recipe-finish-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recipe-finish-caption {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 16px 18px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 18px;
  color: #fff;
  background: rgba(37, 43, 30, 0.72);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}

.recipe-transition-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 70px;
  padding: 30px 34px;
  border: 1px solid rgba(119, 20, 27, 0.12);
  border-radius: 26px;
  background: linear-gradient(
    135deg,
    rgba(119, 20, 27, 0.065),
    rgba(255, 255, 255, 0.72)
  );
}

.recipe-transition-copy strong {
  display: block;
  margin-bottom: 5px;
  color: var(--color-wine);
  font-family: var(--font-serif);
  font-size: clamp(24px, 2.6vw, 34px);
  font-weight: 900;
  line-height: 1.1;
}

.recipe-transition-copy span {
  display: block;
  color: var(--color-olive-dark);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.45;
}

.recipe-transition-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  min-height: 54px;
  padding: 0 24px;
  border-radius: 14px;
  color: #fff !important;
  background: var(--color-wine);
  box-shadow: 0 10px 28px var(--color-wine-shadow);
  text-decoration: none !important;
  font-size: 15px;
  font-weight: 800;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.recipe-transition-link:hover {
  background: var(--color-wine-hover);
  transform: translateY(-2px);
}

.recipe-transition-link:focus-visible {
  outline: 3px solid var(--color-wine);
  outline-offset: 4px;
}

@media (max-width: 1024px) {
  .recipe-feature-inner {
    padding: 44px 34px 64px;
  }
  .recipe-hero-grid {
    grid-template-columns: 1fr 0.86fr;
    gap: 34px;
  }
  .recipe-hero-visual {
    min-height: 520px;
  }
  .recipe-content-grid {
    gap: 22px;
  }
  .recipe-steps-grid {
    gap: 16px;
  }
  .recipe-finish-card {
    min-height: 440px;
  }
}

@media (max-width: 820px) {
  .recipe-feature-inner {
    padding: 34px 22px 54px;
  }
  .recipe-feature-topbar {
    margin-bottom: 30px;
  }
  .recipe-hero-grid {
    grid-template-columns: 1fr;
  }
  .recipe-hero-copy {
    order: 1;
  }
  .recipe-hero-visual {
    order: 2;
    min-height: 610px;
  }
  .recipe-hero-frame {
    inset: 0 0 32px 0;
    transform: none;
    border-radius: 30px;
  }
  .recipe-hero-badge {
    left: 18px;
  }
  .recipe-body-section {
    margin-top: 58px;
    padding-top: 50px;
  }
  .recipe-content-grid {
    grid-template-columns: 1fr;
  }
  .recipe-ingredients-photo {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
  .recipe-steps-section {
    margin-top: 58px;
  }
  .recipe-steps-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .recipe-step-card {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
  }
  .recipe-step-photo {
    aspect-ratio: 4 / 5;
  }
  .recipe-step-copy {
    align-self: center;
  }
  .recipe-finish-section {
    grid-template-columns: 1fr;
    margin-top: 58px;
  }
  .recipe-finish-card {
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
  .recipe-transition-card {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .recipe-feature-inner {
    padding: 28px 16px 44px;
  }
  .recipe-feature-brand {
    font-size: 11px;
    letter-spacing: 0.09em;
  }
  .recipe-feature-topline {
    display: none;
  }
  #recipeFeature .recipe-main-title {
    font-size: clamp(39px, 12vw, 54px);
    line-height: 1.02;
  }
  .recipe-lead {
    font-size: 17px;
  }
  .recipe-nutrition-grid {
    grid-template-columns: 1fr;
  }
  .recipe-stat-card {
    min-height: 0;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
  }
  .recipe-stat-label {
    margin-top: 0;
    text-align: right;
  }
  .recipe-hero-visual {
    min-height: 480px;
  }
  .recipe-hero-frame {
    bottom: 38px;
    border-radius: 24px;
  }
  .recipe-hero-badge {
    left: 12px;
    right: 12px;
    width: auto;
    padding: 15px 16px;
  }
  .recipe-hero-badge-row {
    gap: 14px;
    font-size: 13px;
  }
  .recipe-body-section {
    margin-top: 46px;
    padding-top: 42px;
  }
  #recipeFeature .recipe-section-title {
    margin-bottom: 22px !important;
  }
  .recipe-ingredients-card {
    padding: 24px 20px;
  }
  .recipe-step-card {
    grid-template-columns: 1fr;
  }
  .recipe-step-photo {
    aspect-ratio: 16 / 12;
  }
  .recipe-step-copy {
    padding: 20px;
  }
  .recipe-finish-card {
    aspect-ratio: 4 / 5;
  }
  .recipe-transition-card {
    margin-top: 46px;
    padding: 24px 20px;
  }
  .recipe-transition-link {
    width: 100%;
  }
}

#diaMenuApp .nutrition-examples {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 24px 0;
  font-size: 16px;
  line-height: 1.6;
}
#diaMenuApp .feedback-button {
  font: 600 14px var(--font-sans);
  background: transparent;
  border: 1px solid #77141b;
  border-radius: 10px;
  color: #77141b;
  padding: 10px 16px;
  cursor: pointer;
}
#diaMenuApp button:focus-visible,
#diaMenuApp a:focus-visible {
  outline: 3px solid #77141b;
  outline-offset: 4px;
}
@media (max-width: 767px) {
  #diaMenuApp .nutrition-examples {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #diaMenuApp *,
  #diaMenuApp *::before,
  #diaMenuApp *::after {
    animation: none !important;
    transition: none !important;
  }
  html {
    scroll-behavior: auto;
  }
}
/* 02. Секция сахара */
.sugar-section {
  position: relative;
  background-color: var(--color-bg-section2);
  padding: 60px 64px 90px;
  overflow: hidden;
  z-index: 5;
}

.sugar-container {
  max-width: 1360px;
  margin: 0 auto;
  width: 100%;
  position: relative;
}

/* Сетка из 2 колонок */
.sugar-grid-layout {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 68px;
  align-items: center;
}

/* --- Левая колонка: Заголовок + Схема графика --- */
.sugar-col-left {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.sugar-section-title {
  font-family: var(--font-serif);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: var(--color-wine);
  margin-bottom: 28px;
}

.sugar-graph-card {
  width: 100%;
}

.sugar-graph-svg-wrapper {
  width: 100%;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(56, 69, 38, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
  background-color: #F7F1E8;
  border: 1px solid rgba(220, 210, 198, 0.8);
}

.sugar-svg {
  width: 100%;
  height: auto;
  display: block;
  max-height: 300px;
}

.sugar-graph-caption {
  text-align: center;
  margin-top: 12px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-olive-caption);
  letter-spacing: 0.01em;
}

/* --- Правая колонка: Буллеты проблем + Переходный заголовок --- */
.sugar-col-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 12px;
  text-align: left;
}

.sugar-bullet-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.sugar-bullet-item {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Крупный зеленый круг-маркер как на картинке */
.sugar-bullet-circle {
  width: 22px;
  height: 22px;
  min-width: 22px;
  border-radius: 50%;
  background-color: var(--color-olive-bullet);
  box-shadow: 0 2px 6px rgba(93, 104, 62, 0.28);
}

.sugar-bullet-text {
  font-family: var(--font-sans);
  font-size: clamp(20px, 1.8vw, 25px);
  font-weight: 700;
  line-height: 1.32;
  color: #262E1C;
  letter-spacing: -0.01em;
}

/* Переходный заголовок справа */
.sugar-transition-block {
  margin-top: 48px;
  padding-top: 8px;
}

.sugar-transition-title {
  font-family: var(--font-serif);
  font-size: clamp(34px, 3.4vw, 48px);
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.015em;
  color: var(--color-wine);
}

#diaMenuApp .bread-texture-image {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
  object-position: center 65%;
  border-radius: 12px;
}