/*
Theme Name:   Hello Elementor Child — Добрый мёд
Theme URI:    https://honeycompany.ru
Description:  Дочерняя тема для Hello Elementor. Весь дизайн — через Elementor + кастомный CSS.
Author:       Добрый мёд
Template:     hello-elementor
Version:      1.0.2
Text Domain:  hello-elementor-child
*/

/* =============================================================
   Добрый мёд — Custom Styles
   Дизайн: чистый, редакторский, B2B-пищевой сектор
   Цветовая схема B (охра + оливковый) + зелёные CTA
   ============================================================= */

/* ----- DESIGN TOKENS --------------------------------------------- */
:root {
  --bg:         #F8F4EC;
  --bg-alt:     #EDE8D9;
  --bg-dark:    #33302A;
  --bg-darker:  #141209;
  --white:      #FDFAF3;

  --text:       #272320;
  --text-2:     #6A5E4E;
  --text-3:     #9A8E7E;

  --line:       #D8D0BF;
  --line-dark:  rgba(255,255,255,.1);

  --accent:     #A06818;
  --accent-bg:  #F5EDDB;
  --olive:      #4E6030;
  --olive-bg:   #E6EDD9;

  --cta:        #3F5A4E;
  --cta-hover:  #2C4035;
  --cta-light:  #E7ECE7;

  --font-h: 'PT Serif', Georgia, 'Times New Roman', serif;
  --font-b: 'Manrope', -apple-system, 'Segoe UI', sans-serif;

  --max:    1200px;
  --gap:    24px;
  --r:      6px;

  /* Алиасы для блока «Блог/Статья» (раньше переменные не были объявлены) */
  --dark:        #33302A;
  --gold:        #C8A060;
  --cream:       #F0E8D6;
  --border:      #D8D0BF;
  --text-muted:  #6A5E4E;
  --font-serif:  'PT Serif', Georgia, 'Times New Roman', serif;
}

/* ----- HELLO ELEMENTOR OVERRIDES --------------------------------- */
body {
  font-family: var(--font-b);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elementor страницы — убираем лишние отступы */
body.elementor-page .page-content,
body.elementor-page .entry-content { padding: 0; }
.elementor-section-wrap { width: 100%; }

/* Сброс Hello Elementor стилей ссылок */
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }

/* ----- BASE RESET ------------------------------------------------ */
*, *::before, *::after { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
ul, ol { list-style: none; padding: 0; margin: 0; }

/* ----- CONTAINER ------------------------------------------------- */
.container {
  max-width: var(--max);
  margin: 0 auto;
  padding: 0 var(--gap);
}

/* ----- TYPOGRAPHY ------------------------------------------------ */
h1, h2, h3, h4, h5 {
  font-family: var(--font-h);
  line-height: 1.15;
  font-weight: 700;
  color: var(--text);
}
h1 { font-size: clamp(38px, 5vw, 60px); }
h2 { font-size: clamp(26px, 3.5vw, 40px); }
h3 { font-size: clamp(20px, 2.5vw, 26px); }
h4 { font-size: 18px; }
h5 { font-size: 14px; font-weight: 600; letter-spacing: .04em; }

p { margin-bottom: 1em; }
p:last-child { margin-bottom: 0; }

.label {
  font-size: 11px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--accent);
}
.label-olive { color: var(--olive); }
.label-muted { color: var(--text-3); }

/* ----- SECTION BASE --------------------------------------------- */
section { padding: 80px 0; }
.section-header { margin-bottom: 48px; }
.section-header .label { margin-bottom: 10px; }
.section-header h2 { margin-bottom: 14px; }
.section-header p { font-size: 17px; color: var(--text-2); max-width: 620px; line-height: 1.6; }
.section-header--center { text-align: center; }
.section-header--center p { margin: 0 auto; }

/* ----- BUTTONS --------------------------------------------------- */
.btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-b); font-size: 15px; font-weight: 600;
  padding: 12px 24px; border-radius: var(--r);
  border: 1.5px solid transparent;
  cursor: pointer; transition: .15s ease;
  white-space: nowrap; line-height: 1;
  text-decoration: none;
}
.btn-cta         { background: var(--cta);       color: #fff;         border-color: var(--cta); }
.btn-cta:hover   { background: var(--cta-hover); border-color: var(--cta-hover); }
.btn-cta-outline { background: transparent;      color: var(--cta);   border-color: var(--cta); }
.btn-cta-outline:hover { background: var(--cta); color: #fff; }
.btn-ghost       { background: transparent;      color: var(--white); border-color: rgba(255,255,255,.35); }
.btn-ghost:hover { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.06); }
.btn-outline     { background: transparent;      color: var(--text);  border-color: var(--line); }
.btn-outline:hover { border-color: var(--text-2); }
.btn-sm { font-size: 13px; padding: 9px 18px; }

/* Elementor кнопки — синхронизируем с нашей системой */
.elementor-button.btn-cta,
.elementor-button-wrapper .btn-cta { background: var(--cta) !important; border-color: var(--cta) !important; }

/* ----- FORMS ----------------------------------------------------- */
.form-row { display: grid; gap: 12px; }
.form-row--2 { grid-template-columns: 1fr 1fr; }
.form-row--3 { grid-template-columns: 1fr 1fr 1fr; }
.form-field { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.form-field label { font-size: 12px; font-weight: 600; color: var(--text-2); }
.form-field input,
.form-field select,
.form-field textarea {
  padding: 11px 14px;
  background: var(--white);
  border: 1.5px solid var(--line);
  border-radius: var(--r);
  font-size: 14px; color: var(--text);
  outline: none; transition: border-color .15s;
  -webkit-appearance: none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color: var(--cta); }
.form-field textarea { resize: vertical; min-height: 90px; }
.form-note { font-size: 12px; color: var(--text-3); margin-top: 6px; }
.form-note a { color: var(--olive); text-decoration: underline; }

/* =============================================================
   TOPBAR
   ============================================================= */
.topbar {
  background: var(--bg-darker);
  border-bottom: 1px solid rgba(255,255,255,.05);
  padding: 9px 0;
}
.topbar__inner {
  display: flex; justify-content: space-between; align-items: center;
  gap: 16px; flex-wrap: wrap;
  font-size: 12.5px; color: #7A7060;
}
.topbar__left, .topbar__right { display: flex; gap: 20px; align-items: center; }
.topbar__right a { color: #7A7060; transition: color .15s; }
.topbar__right a:hover { color: #D8A94E; }

/* =============================================================
   SITE HEADER
   ============================================================= */
.site-header {
  position: sticky; top: 0; z-index: 200;
  background: var(--white);
  border-bottom: 1px solid var(--line);
}
.site-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 16px 0;
}
.site-logo { display: flex; flex-direction: column; line-height: 1.2; text-decoration: none; flex-shrink: 0; }
.site-logo__name { font-family: var(--font-h); font-size: 19px; font-weight: 700; color: var(--text); letter-spacing: -.01em; white-space: nowrap; }
.site-logo__name span { color: var(--accent); }
.site-logo__sub { font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }

.site-nav { display: flex; gap: 0; align-items: center; flex-wrap: nowrap; }
.site-nav > li { display: flex; align-items: center; }
.site-nav a { font-size: 13px; font-weight: 500; color: var(--text-2); padding: 6px 9px; border-radius: 4px; transition: background .15s, color .15s; white-space: nowrap; }
.site-nav a:hover, .site-nav a.current-menu-item { background: var(--bg); color: var(--text); }
.site-nav .dropdown-toggle,
.site-nav .dropdown-symbol,
.site-nav button.dropdown-toggle,
.site-nav li > .sub-menu { display: none !important; }

.site-header__actions { display: flex; align-items: center; gap: 16px; }
.site-header__phone { font-size: 15px; font-weight: 700; color: var(--text); text-decoration: none; white-space: nowrap; }
.site-header__phone small { display: block; font-size: 11px; font-weight: 400; color: var(--text-3); }
.menu-toggle { display: none; background: none; border: 1.5px solid var(--line); border-radius: 4px; padding: 8px 10px; cursor: pointer; color: var(--text); font-size: 18px; line-height: 1; }

/* =============================================================
   HERO
   ============================================================= */

/* Overlay поверх фонового фото (Elementor overlay через JSON не рендерит ::before) */
.elementor-section:has(.hero__facts) {
  position: relative;
}
.elementor-section:has(.hero__facts)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(27, 24, 19, 0.62);
  z-index: 1;
  pointer-events: none;
}
.elementor-section:has(.hero__facts) .elementor-container {
  position: relative;
  z-index: 2;
}

.hero { background: var(--bg-dark); color: #EDE5D4; padding: 80px 0 72px; }
.hero__inner { display: grid; grid-template-columns: 1fr 400px; gap: 64px; align-items: start; }
.hero__label { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); margin-bottom: 20px; }
.hero h1 { color: #F0E8D6; margin-bottom: 22px; font-size: clamp(40px, 5.5vw, 64px); }
.hero h1 em { font-style: normal; color: #C8A060; }
.hero__lead { font-size: 17px; line-height: 1.7; color: #B8A990; margin-bottom: 24px; max-width: 540px; }
.hero__facts { display: flex; gap: 0; border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 32px; }
.hero__fact { padding: 14px 20px 14px 0; border-right: 1px solid rgba(255,255,255,.08); margin-right: 20px; font-size: 13px; color: #8A7E6E; }
.hero__fact:last-child { border-right: none; margin-right: 0; }
.hero__fact strong { display: block; font-size: 22px; color: #D8C8A4; font-family: var(--font-h); font-weight: 700; margin-bottom: 2px; }
.hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }

.hero__form { background: var(--white); border-radius: 8px; padding: 30px 26px; color: var(--text); border: 1px solid var(--line); }
.hero__form h3 { font-size: 18px; margin-bottom: 5px; color: var(--text); }
.hero__form p { font-size: 13px; color: var(--text-2); margin-bottom: 20px; }

/* =============================================================
   TRUST STRIP
   ============================================================= */
.trust-strip { background: var(--bg-alt); border-bottom: 1px solid var(--line); padding: 0; }
.trust-strip__inner { display: flex; align-items: stretch; border-left: 1px solid var(--line); }
.trust-item { flex: 1; padding: 18px 20px; border-right: 1px solid var(--line); font-size: 13px; color: var(--text-2); display: flex; align-items: center; gap: 10px; }
.trust-item__icon { width: 32px; height: 32px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; background: var(--accent-bg); border-radius: 4px; font-size: 16px; }
.trust-item__text strong { display: block; font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 1px; }
.trust-item__text span { font-size: 12px; color: var(--text-3); }

/* =============================================================
   PRODUCTS
   ============================================================= */
.products { background: var(--white); }
.products__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--line); }
.product-card { background: var(--white); display: flex; flex-direction: column; transition: background .15s; }
.product-card:hover { background: #FDFAF0; }
.product-card__img { height: 280px; background: var(--bg-alt); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.product-card__img-placeholder { font-family: var(--font-h); font-size: 64px; opacity: .12; user-select: none; }
.product-card__img-label { position: absolute; bottom: 12px; left: 12px; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--text-2); background: var(--white); padding: 4px 9px; border-radius: 3px; border: 1px solid var(--line); }
.product-card__body { padding: 22px 22px 14px; flex: 1; }
.product-card__body .label { margin-bottom: 6px; }
.product-card__body h3 { font-size: 19px; margin-bottom: 8px; }
.product-card__body p { font-size: 13.5px; color: var(--text-2); line-height: 1.55; }
.product-card__foot { padding: 14px 22px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); margin-top: auto; }
.product-card__foot-price { font-size: 13px; color: var(--text-3); }
.product-card__foot-price strong { color: var(--text); font-weight: 700; font-size: 15px; }
.product-card__foot a { font-size: 13px; font-weight: 600; color: var(--olive); transition: color .15s; }
.product-card__foot a:hover { color: var(--cta); }

.products__services { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 20px; }
.service-card { background: var(--bg-dark); color: #EDE5D4; border-radius: var(--r); padding: 32px 28px; display: flex; flex-direction: column; }
.service-card .label { color: var(--accent); margin-bottom: 12px; }
.service-card h3 { color: #F0E8D6; font-size: 22px; margin-bottom: 10px; }
.service-card p { font-size: 14px; color: #907E68; line-height: 1.6; margin-bottom: 20px; flex: 1; }
.service-card__list { margin-bottom: 24px; }
.service-card__list li { font-size: 13.5px; color: #B0A090; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,.06); display: flex; gap: 10px; align-items: baseline; }
.service-card__list li::before { content: '—'; color: var(--accent); flex-shrink: 0; }

/* =============================================================
   NUMBERS
   ============================================================= */
.numbers { background: var(--bg-alt); padding: 64px 0; }
.numbers__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.number-item { padding: 32px 28px; border-right: 1px solid var(--line); background: var(--white); }
.number-item:last-child { border-right: none; }
.number-item__val { font-family: var(--font-h); font-size: 52px; font-weight: 700; line-height: 1; color: var(--accent); margin-bottom: 6px; }
.number-item__val sup { font-size: 22px; vertical-align: super; }
.number-item__label { font-size: 14px; color: var(--text-2); line-height: 1.4; }
.number-item__label strong { display: block; font-size: 15px; font-weight: 600; color: var(--text); margin-bottom: 2px; }

/* =============================================================
   QUALITY
   ============================================================= */
.quality { background: var(--white); }
.quality__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.quality__text h2 { margin-bottom: 20px; }
.quality__text p { font-size: 16px; color: var(--text-2); margin-bottom: 16px; }
.quality__docs { margin-top: 28px; }
.quality__doc { padding: 14px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 52% 1fr; align-items: baseline; gap: 12px; }
.quality__doc:first-child { border-top: 1px solid var(--line); }
.quality__doc-name { font-size: 14px; font-weight: 600; color: var(--text); min-width: 0; }
.quality__doc-num { font-size: 12px; color: var(--text-3); font-family: monospace; min-width: 0; }
.quality__credentials { display: flex; flex-direction: column; gap: 20px; }
.quality__cred { padding: 22px 24px; border: 1px solid var(--line); border-radius: var(--r); border-left: 3px solid var(--accent); }
.quality__cred .label { margin-bottom: 6px; }
.quality__cred h4 { font-size: 16px; margin-bottom: 6px; color: var(--text); }
.quality__cred p { font-size: 13px; color: var(--text-2); line-height: 1.55; }

/* =============================================================
   SEGMENTS
   ============================================================= */
.segments { background: var(--bg-alt); }
.segments__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.segment-item { background: var(--white); padding: 24px 20px; transition: background .15s; }
.segment-item:hover { background: #FDFAF0; }
.segment-item__num { font-family: var(--font-h); font-size: 28px; font-weight: 700; color: var(--accent); opacity: .35; line-height: 1; margin-bottom: 14px; }
.segment-item h4 { font-size: 15px; margin-bottom: 8px; color: var(--text); }
.segment-item p { font-size: 13px; color: var(--text-2); line-height: 1.55; }

/* =============================================================
   CONDITIONS
   ============================================================= */
.conditions { background: var(--white); }
.conditions__table { width: 100%; border-collapse: collapse; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.conditions__table th { text-align: left; padding: 14px 18px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); background: var(--bg-alt); border-bottom: 1px solid var(--line); }
.conditions__table td { padding: 14px 18px; font-size: 14px; color: var(--text-2); border-bottom: 1px solid var(--line); vertical-align: top; }
.conditions__table td:first-child { font-weight: 600; color: var(--text); width: 220px; }
.conditions__table tr:last-child td { border-bottom: none; }
.conditions__table tr:hover td { background: var(--bg); }

/* =============================================================
   CTA SECTION
   ============================================================= */
.cta-section { background: var(--cta); color: #fff; padding: 72px 0; }
.cta-section__inner { display: grid; grid-template-columns: 1fr 440px; gap: 80px; align-items: center; }
.cta-section .label { color: rgba(255,255,255,.55); margin-bottom: 12px; }
.cta-section h2 { color: #fff; margin-bottom: 14px; }
.cta-section p { font-size: 17px; color: rgba(255,255,255,.75); margin-bottom: 28px; }
.cta-section .btn-cta { background: var(--white); color: var(--cta); border-color: var(--white); }
.cta-section .btn-cta:hover { background: #EBF2E0; }
.cta-section .btn-ghost { border-color: rgba(255,255,255,.4); }
.cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-contact { margin-top: 28px; font-size: 13px; color: rgba(255,255,255,.5); }
.cta-contact a { color: rgba(255,255,255,.75); }
.cta-form { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 8px; padding: 28px 26px; }
.cta-form h3 { color: #fff; font-size: 18px; margin-bottom: 16px; }
.cta-form .form-field label { color: rgba(255,255,255,.6); }
.cta-form .form-field input,
.cta-form .form-field select { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.2); color: #fff; }
.cta-form .form-field input::placeholder { color: rgba(255,255,255,.35); }
.cta-form .form-field input:focus,
.cta-form .form-field select:focus { border-color: rgba(255,255,255,.6); }
.cta-form .form-note { color: rgba(255,255,255,.4); }
.cta-form .form-note a { color: rgba(255,255,255,.6); }

/* =============================================================
   FAQ
   ============================================================= */
.faq { background: var(--bg); }
.faq__inner { display: grid; grid-template-columns: 280px 1fr; gap: 80px; align-items: start; }
.faq__sidebar h2 { margin-bottom: 14px; }
.faq__sidebar p { font-size: 15px; color: var(--text-2); }
.faq__list { border-top: 1px solid var(--line); }
.faq__item { border-bottom: 1px solid var(--line); }
.faq__question { width: 100%; text-align: left; background: none; border: none; cursor: pointer; padding: 18px 0; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--font-h); font-size: 16px; font-weight: 700; color: var(--text); transition: color .15s; }
.faq__question:hover { color: var(--olive); }
.faq__question[aria-expanded="true"] { color: var(--olive); }
.faq__icon { width: 22px; height: 22px; flex-shrink: 0; border: 1.5px solid var(--line); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--text-3); transition: .2s; font-style: normal; }
.faq__question[aria-expanded="true"] .faq__icon { background: var(--olive-bg); border-color: var(--olive); color: var(--olive); transform: rotate(45deg); }
.faq__answer { overflow: hidden; max-height: 0; transition: max-height .3s ease; }
.faq__answer-inner { padding: 0 0 20px; font-size: 14.5px; color: var(--text-2); line-height: 1.7; }
.faq__answer-inner a { color: var(--olive); text-decoration: underline; }

/* =============================================================
   CASES
   ============================================================= */
.cases { background: var(--white); }
.cases__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.case-card { border: 1px solid var(--line); border-radius: var(--r); padding: 28px 26px; transition: border-color .15s; }
.case-card:hover { border-color: var(--text-3); }
.case-card .label { margin-bottom: 10px; }
.case-card h4 { font-family: var(--font-h); font-size: 19px; font-weight: 700; margin-bottom: 10px; }
.case-card p { font-size: 14px; color: var(--text-2); margin-bottom: 16px; }
.case-card__result { padding: 12px 14px; background: var(--olive-bg); border-radius: 4px; font-size: 13.5px; font-weight: 600; color: var(--olive); border-left: 3px solid var(--olive); }

/* =============================================================
   FOOTER
   ============================================================= */
.site-footer { background: var(--bg-dark); color: #8A7E6E; padding: 60px 0 0; }
.site-footer__grid { display: grid; grid-template-columns: 260px 1fr 1fr 1fr; gap: 48px; padding-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,.07); }
.footer-brand .site-logo__name { font-size: 20px; color: #EDE5D4; }
.footer-brand .site-logo__sub { color: #4A4038; }
.footer-brand p { font-size: 13px; color: #6A5E4E; line-height: 1.65; margin-top: 14px; }
.footer-award { margin-top: 20px; padding: 14px 16px; background: rgba(160,104,24,.1); border: 1px solid rgba(160,104,24,.2); border-radius: var(--r); }
.footer-award__title { font-size: 12px; font-weight: 700; color: #C8A060; margin-bottom: 3px; }
.footer-award__sub { font-size: 12px; color: #6A5E4E; }
.footer-col h5 { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #3A3428; margin-bottom: 18px; }
.footer-col ul li { margin-bottom: 9px; }
.footer-col ul li a { font-size: 13.5px; color: #7A6E5E; transition: color .15s; }
.footer-col ul li a:hover { color: #D8A94E; }
.footer-contacts li { margin-bottom: 14px; }
.footer-contacts .fc-label { font-size: 10.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #3A3428; margin-bottom: 2px; }
.footer-contacts .fc-val { font-size: 13.5px; color: #8A7E6E; }
.footer-contacts a { color: #8A7E6E; transition: color .15s; }
.footer-contacts a:hover { color: #D8A94E; }
.site-footer__bottom { padding: 18px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 12px; color: #3A3428; }
.site-footer__bottom a { color: #4A4038; transition: color .15s; }
.site-footer__bottom a:hover { color: #8A7E6E; }
.footer-legal { display: flex; gap: 16px; }

/* =============================================================
   ORDER PAGE
   ============================================================= */
.order-hero { padding: 72px 0; }
.order-hero__inner { display: grid; grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: start; }
.order-hero__intro .label { margin-bottom: 12px; }
.order-hero__intro h1 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 16px; }
.order-hero__intro > p { font-size: 16px; color: var(--text-2); line-height: 1.65; margin-bottom: 32px; }
.order-contacts { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.order-contact-item__label { display: block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); margin-bottom: 2px; }
.order-contact-item__val { font-size: 15px; font-weight: 600; color: var(--text); text-decoration: none; }
.order-contact-item__val:hover { color: var(--accent); }
.order-trust { display: flex; flex-direction: column; gap: 8px; }
.order-trust__item { font-size: 14px; color: var(--text-2); }
.order-form-wrap { background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 36px 32px; }
.order-form__title { font-size: 22px; margin-bottom: 28px; color: var(--text); }
.order-form fieldset { border: none; padding: 0; margin: 0 0 28px 0; }
.order-form fieldset legend { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); padding: 0; margin-bottom: 14px; width: 100%; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.order-form .form-row { margin-bottom: 12px; }
.checkbox-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 14px; background: var(--bg); border: 1.5px solid var(--line); border-radius: var(--r); }
.checkbox-item { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-2); cursor: pointer; padding: 4px 0; }
.checkbox-item input[type="checkbox"] { width: 15px; height: 15px; flex-shrink: 0; accent-color: var(--cta); cursor: pointer; padding: 0; border: none; }
.req { color: var(--accent); }

/* =============================================================
   UTILITY
   ============================================================= */
.text-center { text-align: center; }
.text-muted { color: var(--text-2); }
.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-40 { margin-top: 40px; }
.mb-8  { margin-bottom: 8px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 1024px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero__form { max-width: 480px; }
  .quality__inner { grid-template-columns: 1fr; gap: 48px; }
  .cta-section__inner { grid-template-columns: 1fr; gap: 40px; }
  .faq__inner { grid-template-columns: 1fr; gap: 32px; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .numbers__grid { grid-template-columns: repeat(2, 1fr); }
  .products__grid { grid-template-columns: repeat(2, 1fr); }
  .segments__grid { grid-template-columns: repeat(2, 1fr); }
  .order-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .order-form-wrap { padding: 28px 24px; }
}
@media (max-width: 768px) {
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  section { padding: 56px 0; }
  .site-nav { display: none; }
  .menu-toggle { display: block; }
  .site-nav.is-open { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--white); padding: 12px; border-bottom: 1px solid var(--line); box-shadow: 0 4px 20px rgba(0,0,0,.08); }
  .site-header { position: relative; }
  .site-header__inner { position: relative; flex-wrap: wrap; }
  .products__grid { grid-template-columns: 1fr; }
  .products__services { grid-template-columns: 1fr; }
  .cases__grid { grid-template-columns: 1fr; }
  .trust-strip__inner { flex-wrap: wrap; }
  .trust-item { min-width: 50%; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .topbar { display: none; }
  .form-row--2, .form-row--3 { grid-template-columns: 1fr; }
  .numbers__grid { grid-template-columns: 1fr 1fr; }
  .segments__grid { grid-template-columns: 1fr 1fr; }
  .checkbox-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .numbers__grid { grid-template-columns: 1fr; }
  .segments__grid { grid-template-columns: 1fr; }
  .hero__facts { flex-direction: column; }
  .hero__fact { border-right: none; margin-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); padding: 12px 0; }
}

/* =============================================================
   PRINT
   ============================================================= */
@media print {
  .site-header, .dm-header, .topbar, .hero__form, .cta-section, .menu-toggle { display: none; }
}

/* =============================================================
   PRODUCT PAGE
   ============================================================= */
/* Hero pills */
.product__hero-pills { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 28px; }
.product__hero-pill { display: flex; flex-direction: column; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.11); border-radius: 6px; padding: 9px 14px; }
.product__hero-pill-key { font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: rgba(240,232,214,.45); margin-bottom: 2px; }
.product__hero-pill-val { font-size: 13px; color: #EDE5D4; font-weight: 500; }

/* Hero CTA row */
.product__hero-cta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.product__hero-price { display: flex; flex-direction: column; }
.product__hero-price strong { font-size: 28px; color: #D8C8A4; font-family: var(--font-h); line-height: 1.1; }
.product__hero-price span   { font-size: 11.5px; color: rgba(240,232,214,.45); margin-top: 3px; }

/* Specs table — светлый фон */
.product__specs { width: 100%; border-collapse: collapse; }
.product__specs td { padding: 11px 14px; border-bottom: 1px solid var(--line); font-size: 13.5px; vertical-align: top; line-height: 1.5; }
.product__specs td:first-child { color: var(--text-3); width: 44%; font-weight: 500; padding-right: 16px; border-right: 1px solid var(--line); }
.product__specs td:last-child { color: var(--text); }
.product__specs tr:last-child td { border-bottom: none; }
.product__specs tr:first-child td { border-top: 1px solid var(--line); }

/* Form — светлая секция */
.product__form { background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: 28px 26px; }
.product__form h3 { font-size: 18px; margin-bottom: 4px; color: var(--text); }
.product__form > p { font-size: 12.5px; color: var(--text-3); margin-bottom: 18px; }

/* Contact note */
.product__contact-note { background: var(--bg-alt); border-left: 3px solid var(--accent); padding: 14px 18px; border-radius: 0 6px 6px 0; font-size: 13.5px; color: var(--text-2); line-height: 1.6; }

.product__features { list-style: none; padding: 0; margin: 0; }
.product__features li { padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14.5px; color: var(--text-2); display: flex; gap: 10px; align-items: baseline; }
.product__features li::before { content: '✓'; color: var(--cta); flex-shrink: 0; font-weight: 700; }
.product__features li:last-child { border-bottom: none; }

.docs-strip {
  display: flex; gap: 0; border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden; margin-top: 32px;
}
.doc-item {
  flex: 1; padding: 20px 18px; border-right: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 4px;
}
.doc-item:last-child { border-right: none; }
.doc-item strong { font-size: 13.5px; font-weight: 700; color: var(--text); }
.doc-item span   { font-size: 12px; color: var(--text-3); }

@media (max-width: 768px) {
  .docs-strip { flex-direction: column; }
  .doc-item { border-right: none; border-bottom: 1px solid var(--line); }
  .doc-item:last-child { border-bottom: none; }
}

/* =============================================================
   IMAGE SWITCHER — компактный переключатель фото
   (карточки на главной + hero продуктовых страниц)
   ============================================================= */
.img-sw {
  position: relative; width: 100%; overflow: hidden;
  background: var(--bg-alt);
  border-radius: 0;
  /* Явная высота по умолчанию — переопределяется ниже */
  height: 280px;
  /* Жёсткая фиксация — содержимое не может раздвинуть контейнер */
  min-height: 0; max-height: none;
  flex-shrink: 0;
}
.product-card__img .img-sw { height: 280px; }
.hero__photo .img-sw        { height: 420px; border-radius: 8px; margin-bottom: 0; }

.img-sw__slides {
  display: flex;
  /* height задаётся явно через JS и наследование — не через 100% чтобы не зависеть от родителя */
  height: 100%;
  transition: transform .3s ease;
  /* Запрещаем flex children раздвигать контейнер */
  align-items: stretch;
}
.img-sw__slide {
  flex: 0 0 100%;
  /* Фиксируем высоту слайда = высота контейнера, без возможности расширения */
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  background: var(--bg-alt);
}
.img-sw__slide img {
  /* cover: заполняет слот полностью, одинаковый вид при любых пропорциях фото */
  width: 100%; height: 100%; object-fit: cover; display: block;
  /* Запрещаем изображению менять размер родителя */
  flex-shrink: 0;
}
/* Карточки на главной — contain чтобы банки не обрезались */
.product-card__img .img-sw__slide img {
  object-fit: contain;
}
/* Наборы — горизонтальные фото, cover */
.product-card:has([src*="nabor"]) .img-sw__slide img {
  object-fit: cover;
}
/* Placeholder slide (до загрузки реальных фото) */
.img-sw__slide--ph {
  flex-direction: column; gap: 8px;
}
.img-sw__slide--ph svg { opacity: .18; }
.img-sw__slide--ph span {
  font-size: 11px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-3);
}

/* Стрелки */
.img-sw__btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(255,255,255,.85); border: none; cursor: pointer;
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--text); line-height: 1;
  transition: background .15s; z-index: 2;
  padding: 0;
}
.img-sw__btn:hover { background: #fff; }
.img-sw__btn--prev { left: 8px; }
.img-sw__btn--next { right: 8px; }
/* Скрываем стрелки если один слайд */
.img-sw[data-total="1"] .img-sw__btn,
.img-sw[data-total="1"] .img-sw__dots { display: none; }

/* Точки */
.img-sw__dots {
  position: absolute; bottom: 8px; left: 50%; transform: translateX(-50%);
  display: flex; gap: 5px; z-index: 2;
}
.img-sw__dots span {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.5); transition: background .2s;
  cursor: pointer;
}
.img-sw__dots span.active { background: #fff; }

/* Hero variant — тёмный фон */
.hero__photo .img-sw__btn {
  background: rgba(51,48,42,.7); color: #F0E8D6;
}
.hero__photo .img-sw__btn:hover { background: rgba(51,48,42,.9); }
.hero__photo .img-sw__dots span { background: rgba(240,232,214,.4); }
.hero__photo .img-sw__dots span.active { background: #F0E8D6; }

/* =============================================================
   SERVICE PAGE — шаги
   ============================================================= */
.service__steps { display: flex; flex-direction: column; gap: 20px; margin-top: 28px; }
.service__step  { display: flex; gap: 16px; align-items: flex-start; }
.service__step-num {
  font-family: var(--font-h); font-size: 28px; font-weight: 700;
  color: var(--accent); opacity: .6; line-height: 1; flex-shrink: 0; width: 36px;
}
.service__step-body h4 { font-size: 15px; font-weight: 700; color: #F0E8D6; margin-bottom: 4px; }
.service__step-body p  { font-size: 13px; color: rgba(240,232,214,.55); line-height: 1.6; }

/* =============================================================
   FORM SUCCESS / ERROR STATES
   ============================================================= */
.dm-form-success {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; text-align: center;
  padding: 40px 24px; min-height: 200px;
}
.dm-form-success__icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: var(--cta); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; margin-bottom: 16px;
}
.dm-form-success h3 { font-size: 20px; color: var(--text); margin-bottom: 8px; }
.dm-form-success p  { font-size: 14px; color: var(--text-2); line-height: 1.6; }
.dm-form-success p a { color: var(--cta); font-weight: 600; }

/* На тёмном фоне (hero__form) */
.hero__form .dm-form-success h3 { color: var(--text); }
.hero__form .dm-form-success p  { color: var(--text-2); }

.dm-form-error {
  font-size: 13px; color: #c0392b; margin-top: 8px;
  padding: 8px 12px; background: #fdf0ef;
  border-radius: 4px; border-left: 3px solid #c0392b;
}

/* =============================================================
   DM HEADER (sticky, все страницы)
   ============================================================= */
.dm-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  transition: box-shadow .2s;
}
/* WP Admin Bar offset (admin-bar class is on body, not html) */
body.admin-bar .dm-header { top: 32px; }
body.admin-bar .dm-header__spacer { height: 96px; }
@media screen and (max-width: 782px) {
  body.admin-bar .dm-header { top: 46px; }
  body.admin-bar .dm-header__spacer { height: 110px; }
}
.dm-header.is-scrolled { box-shadow: 0 2px 16px rgba(0,0,0,.07); }
.dm-header__inner {
  max-width: var(--max); margin: 0 auto;
  padding: 0 24px;
  height: 64px;
  display: flex; align-items: center; gap: 24px;
}
.dm-header__spacer { height: 64px; }

/* Логотип */
.dm-header__logo { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
.dm-header__logo img { height: 36px; width: auto; }
.dm-header__logo-text { font-family: var(--font-h); font-size: 20px; font-weight: 700; color: var(--text); letter-spacing: -.01em; }

/* Навигация */
.dm-header__nav { flex: 1; overflow: hidden; }
.dm-nav { list-style: none; display: flex; gap: 0; margin: 0; padding: 0; flex-wrap: nowrap; }
.dm-nav li { display: flex; }
.dm-nav a {
  font-size: 12.5px; font-weight: 500; color: var(--text-2);
  padding: 5px 8px; border-radius: 4px;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.dm-nav a:hover,
.dm-nav .current-menu-item > a,
.dm-nav .current-page-ancestor > a { background: var(--bg); color: var(--text); }

/* Контакты */
.dm-header__contacts { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.dm-header__phone-wrap { display: flex; flex-direction: column; text-align: right; }
.dm-header__phone { font-size: 14px; font-weight: 700; color: var(--text); text-decoration: none; white-space: nowrap; line-height: 1.25; }
.dm-header__phone:hover { color: var(--accent); }
.dm-header__email { font-size: 11px; color: var(--text-3); text-decoration: none; white-space: nowrap; line-height: 1.3; transition: color .15s; }
.dm-header__email:hover { color: var(--accent); }
.dm-header__hours { font-size: 10.5px; color: var(--text-3); white-space: nowrap; line-height: 1.3; }

/* Соцсети */
.dm-header__socials { display: flex; gap: 8px; align-items: center; }
.dm-social {
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 6px;
  color: var(--text-2);
  background: var(--bg);
  border: 1px solid var(--line);
  transition: background .15s, color .15s, border-color .15s;
  text-decoration: none;
}
.dm-social:hover { background: var(--bg-alt); color: var(--text); border-color: var(--text-3); }

/* CTA-кнопка в шапке */
.btn--sm { font-size: 13px; padding: 8px 16px; }

/* Бургер */
.dm-header__burger {
  display: none;
  background: none; border: 1.5px solid var(--line);
  border-radius: 4px; padding: 7px 8px; cursor: pointer;
  flex-direction: column; gap: 4px; flex-shrink: 0;
}
.dm-header__burger span {
  display: block; width: 20px; height: 2px;
  background: var(--text); border-radius: 2px;
  transition: .2s;
}

/* Мобильное меню */
.dm-header.is-open .dm-header__nav {
  display: block;
  position: fixed;
  top: 64px; left: 0; right: 0;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  padding: 12px 24px 20px;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.dm-header.is-open .dm-nav { flex-direction: column; gap: 2px; }
.dm-header.is-open .dm-nav a { padding: 10px 12px; font-size: 15px; }

/* Форма-чекбокс */
.form-field--checkbox { padding: 4px 0; }
.form-check { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--text-2); cursor: pointer; }
.form-check input[type="checkbox"] { width: 16px; height: 16px; accent-color: var(--cta); cursor: pointer; flex-shrink: 0; }

/* =============================================================
   DM FOOTER
   ============================================================= */
.dm-footer {
  background: var(--bg-dark);
  color: #8A7E6E;
}
.dm-footer__inner {
  max-width: var(--max); margin: 0 auto;
  padding: 56px 24px 48px;
  display: grid;
  grid-template-columns: 240px 1fr 1fr 220px;
  gap: 40px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.dm-footer__col-title {
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #C8A060;
  margin-bottom: 14px;
}
.dm-footer__nav { list-style: none; padding: 0; margin: 0; }
.dm-footer__nav li { margin-bottom: 8px; }
.dm-footer__nav a { font-size: 13.5px; color: #7A6E5E; text-decoration: none; transition: color .15s; }
.dm-footer__nav a:hover { color: var(--accent); }

.dm-footer__logo-text { font-family: var(--font-h); font-size: 20px; font-weight: 700; color: #EDE5D4; }
.dm-footer__logo-text + .dm-footer__tagline,
.dm-footer__col--brand img { display: block; }
.dm-footer__tagline { font-size: 13px; color: #6A5E4E; line-height: 1.6; margin-top: 10px; }
.dm-footer__col--brand .dm-header__socials,
.dm-footer__socials { display: flex; flex-direction: row; gap: 8px; align-items: center; margin-top: 16px; }
.dm-footer__col--brand .dm-social { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); color: #7A6E5E; }

/* Бренд-цвета соцсетей в футере (глиф белый) */
.dm-footer__socials a[href*="t.me"],
.dm-footer__socials a[href*="telegram"] { background: #229ED9; border-color: #229ED9; color: #fff; }
.dm-footer__socials a[href*="vk.ru"],
.dm-footer__socials a[href*="vk.com"]  { background: #0077FF; border-color: #0077FF; color: #fff; }
.dm-footer__socials a[href*="instagram"] {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  border-color: transparent; color: #fff;
}
.dm-footer__socials .dm-social { transition: opacity .15s, transform .15s; }
.dm-footer__socials a[href*="t.me"]:hover,
.dm-footer__socials a[href*="vk.ru"]:hover,
.dm-footer__socials a[href*="vk.com"]:hover,
.dm-footer__socials a[href*="instagram"]:hover { opacity: .88; color: #fff; transform: translateY(-1px); }

.dm-footer__contacts-list { list-style: none; padding: 0; margin: 0; }
.dm-footer__contacts-list li { margin-bottom: 8px; font-size: 13.5px; color: #7A6E5E; }
.dm-footer__contacts-list a { color: #8A7E6E; text-decoration: none; transition: color .15s; }
.dm-footer__contacts-list a:hover { color: var(--accent); }

.dm-footer__bottom { background: var(--bg-darker); }
.dm-footer__bottom-inner {
  max-width: var(--max); margin: 0 auto;
  padding: 16px 24px;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 8px;
  font-size: 12px; color: #3A3428;
}
.dm-footer__bottom-nav { display: flex; gap: 16px; list-style: none; padding: 0; margin: 0; }
.dm-footer__bottom-nav a { color: #4A4038; text-decoration: none; transition: color .15s; }
.dm-footer__bottom-nav a:hover { color: #8A7E6E; }

/* =============================================================
   RESPONSIVE — шапка / подвал / главная (768px)
   ============================================================= */
/* На экранах < 1300px убираем email — он есть в подвале */
@media (max-width: 1300px) {
  .dm-header__email { display: none; }
}

/* Полное горизонтальное меню (10 пунктов) показываем только на широких
   экранах ≥1280px, где оно помещается; ниже — бургер с теми же пунктами */
@media (max-width: 1279px) {
  .dm-header__nav { display: none; }
  .dm-header__contacts .dm-header__phone-wrap { display: none; }
  .dm-header__burger { display: flex; }
}
@media (min-width: 1280px) {
  .dm-nav a { font-size: 12px; padding: 5px 6px; }
  .dm-header__socials { display: none; } /* соцсети остаются в подвале */
}
@media (max-width: 900px) {
  .dm-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
}

@media (max-width: 768px) {
  /* Hero двухколоночный → одноколонный */
  .elementor-section .elementor-row { flex-direction: column !important; }
  .elementor-col-60, .elementor-col-40,
  .elementor-col-58, .elementor-col-42 { width: 100% !important; }
  /* Hero form — убираем ограничение ширины */
  .hero__form { border-radius: 0; padding: 24px 20px; }
  /* Сетки секций */
  .products__grid .elementor-widget-html { width: 100% !important; }
  /* CTA секция — одноколонная */
  .elementor-col-58 + .elementor-col-42 { margin-top: 0; }
  /* Контакты в шапке — скрываем на мобиле */
  .dm-header__contacts { gap: 8px; }
  .dm-header__socials { display: none; }
  /* Подвал */
  .dm-footer__inner { grid-template-columns: 1fr; gap: 28px; padding: 40px 24px 32px; }
  .dm-footer__bottom-inner { flex-direction: column; align-items: flex-start; gap: 6px; }
}

@media (max-width: 480px) {
  .dm-header__inner { padding: 0 16px; gap: 12px; }
  .dm-header__contacts .btn--sm { display: none; }
  .dm-header__spacer { height: 56px; }
  .dm-header { height: auto; }
  .dm-header__inner { height: 56px; }
}

/* ================================================================
   БЛОГ — архив и одиночная статья
   ================================================================ */

/* ── Архив: Hero ─────────────────────────────────────────────── */
.blog-hero {
  background: var(--dark);
  padding: 72px 24px 60px;
}
.blog-hero__inner {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.blog-hero__label {
  font-size: 13px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.blog-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3rem);
  color: var(--cream);
  margin-bottom: 16px;
}
.blog-hero__lead {
  color: #b8b0a4;
  font-size: 1.05rem;
  line-height: 1.65;
}

/* ── Архив: Grid постов ──────────────────────────────────────── */
.blog-posts {
  padding: 64px 24px 72px;
  background: var(--bg);
}
.blog-posts__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
@media (max-width: 900px) {
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .blog-grid { grid-template-columns: 1fr; }
}

/* ── Карточка поста ─────────────────────────────────────────── */
.blog-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s ease, transform .2s ease;
}
.blog-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.12);
  transform: translateY(-3px);
}
.blog-card__img-wrap {
  display: block;
  height: 200px;
  overflow: hidden;
  background: var(--bg-alt);
  flex-shrink: 0;
}
.blog-card__img-wrap--ph {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-muted);
}
.blog-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.blog-card:hover .blog-card__img {
  transform: scale(1.04);
}
.blog-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 22px 22px;
}
.blog-card__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.blog-card__cat {
  background: var(--gold);
  color: var(--dark);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
  text-decoration: none;
}
.blog-card__date {
  font-size: 12px;
  color: var(--text-muted);
}
.blog-card__title {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  line-height: 1.38;
  margin-bottom: 10px;
}
.blog-card__title a {
  color: var(--dark);
  text-decoration: none;
}
.blog-card__title a:hover {
  color: var(--accent);
}
.blog-card__excerpt {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.6;
  flex: 1;
  margin-bottom: 16px;
}
.blog-card__link {
  font-size: .9rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  margin-top: auto;
}
.blog-card__link:hover { text-decoration: underline; }

/* ── Пагинация ───────────────────────────────────────────────── */
.blog-pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
.blog-pagination .page-numbers {
  display: flex;
  list-style: none;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.blog-pagination .page-numbers li a,
.blog-pagination .page-numbers li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: .9rem;
  font-weight: 500;
  text-decoration: none;
  border: 1.5px solid var(--border);
  color: var(--text);
  transition: background .15s, color .15s;
}
.blog-pagination .page-numbers li .current,
.blog-pagination .page-numbers li a:hover {
  background: var(--accent);
  color: #fff;
  border-color: var(--accent);
}

/* ── Пустой архив ───────────────────────────────────────────── */
.blog-empty {
  text-align: center;
  padding: 60px 0;
  color: var(--text-muted);
}
.blog-empty a { color: var(--accent); }

/* ── CTA-полоса архива ───────────────────────────────────────── */
.blog-cta {
  background: var(--gold);
  padding: 48px 24px;
}
.blog-cta__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
}
.blog-cta__text h2 {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--dark);
  margin-bottom: 6px;
}
.blog-cta__text p {
  color: #5a4e2e;
  font-size: .95rem;
}
.blog-cta__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* ── Одиночная статья: Hero ──────────────────────────────────── */
.post-hero {
  background: var(--dark);
  padding: 56px 24px 48px;
}
.post-hero__inner {
  max-width: 800px;
  margin: 0 auto;
}
.post-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 13px;
  color: #7a7268;
  margin-bottom: 20px;
}
.post-breadcrumbs a {
  color: #9a9082;
  text-decoration: none;
}
.post-breadcrumbs a:hover { color: var(--gold); }
.post-breadcrumbs span[aria-current] { color: #b8b0a4; }
.post-cat-badge {
  background: var(--gold);
  color: var(--dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 4px;
  text-decoration: none;
}
.post-hero__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.post-hero__meta time,
.post-read-time {
  font-size: 13px;
  color: #7a7268;
}
.post-hero__title {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  color: var(--cream);
  line-height: 1.25;
  margin-bottom: 16px;
}
.post-hero__lead {
  font-size: 1.05rem;
  color: #b8b0a4;
  line-height: 1.65;
}

/* Фичер-изображение */
.post-featured-img {
  background: var(--dark);
  padding: 0 24px 0;
}
.post-featured-img__inner {
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 10px;
  overflow: hidden;
  transform: translateY(32px);
}
.post-featured-img__img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 460px;
  object-fit: cover;
}

/* ── Layout (статья + сайдбар) ───────────────────────────────── */
.post-layout {
  padding: 80px 24px 72px;
  background: var(--bg);
}
.post-layout__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 320px;
  gap: 48px;
  align-items: start;
}
@media (max-width: 960px) {
  .post-layout__inner {
    grid-template-columns: 1fr;
  }
  .post-sidebar {
    order: -1;
  }
}

/* ── Контент статьи ─────────────────────────────────────────── */
.post-content {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--text);
}
.post-content h2 {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  color: var(--dark);
  margin: 2.2em 0 .8em;
  padding-top: .5em;
  border-top: 2px solid var(--gold);
}
.post-content h3 {
  font-family: var(--font-serif);
  font-size: 1.2rem;
  color: var(--dark);
  margin: 1.8em 0 .6em;
}
.post-content p { margin-bottom: 1.2em; }
.post-content ul,
.post-content ol {
  padding-left: 1.5em;
  margin-bottom: 1.4em;
}
.post-content li { margin-bottom: .45em; }
.post-content strong { color: var(--dark); }
.post-content a { color: var(--accent); }
.post-content a:hover { text-decoration: underline; }
.post-content blockquote {
  border-left: 4px solid var(--gold);
  margin: 2em 0;
  padding: 16px 24px;
  background: var(--bg-alt);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--text-muted);
}
.post-content table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.6em;
  font-size: .93rem;
}
.post-content th,
.post-content td {
  text-align: left;
  padding: 10px 14px;
  border: 1px solid var(--border);
}
.post-content th {
  background: var(--bg-alt);
  font-weight: 600;
  color: var(--dark);
}

/* Теги */
.post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 40px;
  padding-top: 32px;
  border-top: 1px solid var(--border);
}
.post-tag {
  background: var(--bg-alt);
  color: var(--text-muted);
  border-radius: 4px;
  padding: 4px 12px;
  font-size: 13px;
  text-decoration: none;
}
.post-tag:hover { background: var(--gold); color: var(--dark); }

/* Автор */
.post-author {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  padding: 24px;
  background: var(--bg-alt);
  border-radius: 10px;
}
.post-author__img {
  border-radius: 50%;
  flex-shrink: 0;
}
.post-author__name {
  display: block;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 4px;
}
.post-author__bio {
  font-size: .9rem;
  color: var(--text-muted);
  line-height: 1.55;
  margin: 0;
}

/* ── Сайдбар ─────────────────────────────────────────────────── */
.post-sidebar {
  position: sticky;
  top: 100px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.post-sidebar__widget {
  background: #fff;
  border-radius: 10px;
  padding: 22px 22px 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,.07);
}
.post-sidebar__cta h3 {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  color: var(--dark);
  margin-bottom: 6px;
}
.post-sidebar__cta p {
  font-size: .875rem;
  color: var(--text-muted);
  margin-bottom: 16px;
}
.post-sidebar__cta .form-field {
  margin-bottom: 10px;
}
.post-sidebar__cta input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 13px;
  border: 1.5px solid var(--border);
  border-radius: 6px;
  font-size: .9rem;
  font-family: inherit;
  outline: none;
  transition: border-color .15s;
}
.post-sidebar__cta input:focus { border-color: var(--accent); }
.post-sidebar__price {
  background: var(--dark);
  text-align: center;
}
.post-sidebar__price p {
  font-size: .875rem;
  color: #9a9082;
  margin-bottom: 14px;
  line-height: 1.55;
}
.btn--full { width: 100%; justify-content: center; }
.post-sidebar__widget-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--dark);
  margin-bottom: 12px;
}
.post-sidebar__links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.post-sidebar__links li {
  border-bottom: 1px solid var(--border);
}
.post-sidebar__links li:last-child { border-bottom: none; }
.post-sidebar__links a {
  display: block;
  padding: 9px 0;
  font-size: .93rem;
  color: var(--text);
  text-decoration: none;
}
.post-sidebar__links a:hover { color: var(--accent); }

/* ── Похожие статьи ─────────────────────────────────────────── */
.related-posts {
  background: var(--bg-alt);
  padding: 64px 24px;
}
.related-posts__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.related-posts__title {
  font-family: var(--font-serif);
  font-size: 1.7rem;
  color: var(--dark);
  margin-bottom: 32px;
}
.blog-grid--related { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) {
  .blog-grid--related { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .blog-grid--related { grid-template-columns: 1fr; }
}


/* ── Toggle switch (прайс-лист) ─────────────────────────────── */
.form-field--toggle { padding: 4px 0; }

.form-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.form-toggle__input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.form-toggle__track {
  position: relative;
  display: inline-flex;
  width: 40px;
  height: 22px;
  background: #C0B09A;
  border-radius: 11px;
  transition: background 0.2s ease;
  flex-shrink: 0;
}

.form-toggle__thumb {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  transition: transform 0.2s ease;
}

.form-toggle__input:checked ~ .form-toggle__track {
  background: #C18A14;
}

.form-toggle__input:checked ~ .form-toggle__track .form-toggle__thumb {
  transform: translateX(18px);
}

.form-toggle__label {
  font-size: 14px;
  color: #33302A;
  line-height: 1.4;
}

/* На тёмном фоне hero */
.hero .form-toggle__label,
.elementor-section[data-settings*="33302A"] .form-toggle__label {
  color: #F7F2EA;
}

/* Поле email — анимированное появление */
.form-row--email {
  overflow: hidden;
  transition: max-height 0.3s ease, opacity 0.3s ease;
  opacity: 0;
  max-height: 0;
}

.form-row--email.is-visible {
  opacity: 1;
  max-height: 100px;
  display: block !important;
}

.form-required { color: #C18A14; font-size: 13px; }

/* =============================================================
   MOBILE POLISH — дополнительный адаптив для смартфонов
   (идёт последним → корректно перекрывает ранние правила)
   ============================================================= */

/* ---- Таблицы данных не вылезают за экран ---------------------- */
@media (max-width: 600px) {
  /* Таблица условий/доставки (до 3 колонок): фиксированная раскладка —
     колонки делят доступную ширину и переносят текст, не вылезая за экран */
  .conditions__table { table-layout: fixed; width: 100%; }
  .conditions__table th,
  .conditions__table td { padding: 8px 8px; font-size: 12px; line-height: 1.4; word-break: break-word; }
  .conditions__table td:first-child { width: 38%; }

  /* Характеристики товара */
  .product__specs td { padding: 10px 11px; font-size: 12.5px; }
  .product__specs td:first-child { width: 42%; padding-right: 10px; }

  /* Таблицы внутри статей блога */
  .post-content table { font-size: 12.5px; }
  .post-content th,
  .post-content td { padding: 8px 9px; }
}

/* ---- Инпуты ≥16px → iOS Safari не зумит при фокусе ------------- */
@media (max-width: 768px) {
  .form-field input,
  .form-field select,
  .form-field textarea,
  .post-sidebar__cta input { font-size: 16px; }
}

/* ---- Длинные e-mail/ссылки переносятся, а не растягивают блок -- */
@media (max-width: 768px) {
  .dm-footer__contacts-list a,
  .footer-contacts a,
  .order-contact-item__val,
  .post-content a { overflow-wrap: anywhere; word-break: break-word; }
}

/* ---- Мобильное меню: контакты + CTA внутри бургер-дропдауна ---- */
.dm-header__mobile-extra { display: none; }

@media (max-width: 1279px) {
  /* Дропдаун скроллится, если пунктов больше, чем высота экрана */
  .dm-header.is-open .dm-header__nav {
    overflow-y: auto;
    max-height: calc(100vh - 64px);
    -webkit-overflow-scrolling: touch;
  }
  .dm-header.is-open .dm-header__mobile-extra {
    display: block;
    margin-top: 10px;
    padding-top: 16px;
    border-top: 1px solid var(--line);
  }
  .dm-header__mobile-extra .dm-m-phone {
    display: block;
    font-family: var(--font-h);
    font-size: 21px; font-weight: 700;
    color: var(--text);
    line-height: 1.2;
  }
  .dm-header__mobile-extra .dm-m-sub {
    display: block;
    font-size: 12.5px; color: var(--text-3);
    margin-bottom: 12px;
  }
  .dm-header__mobile-extra .dm-m-email {
    display: inline-block;
    font-size: 14.5px; color: var(--olive);
    margin-bottom: 16px;
  }
  .dm-header__mobile-extra .dm-m-cta {
    display: flex; width: 100%;
    justify-content: center;
    padding: 13px 24px; font-size: 15px;
  }
}

/* ---- Мелкая полировка для очень узких экранов ----------------- */
@media (max-width: 380px) {
  .dm-header__inner { gap: 10px; }
  .hero__actions .btn,
  .cta-btns .btn { width: 100%; justify-content: center; }
}

/* ---- Страница «Контакты»: блок контактов + Яндекс.Карта -------- */
.dm-contacts { width: 100%; margin: 8px 0 0; }
.dm-contacts__grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 40px;
  align-items: stretch;
}
.dm-contacts__info .label { margin-bottom: 16px; }
.dm-contacts__list { display: flex; flex-direction: column; gap: 0; margin: 0 0 24px; }
.dm-contacts__list li {
  display: flex; flex-direction: column; gap: 3px;
  font-size: 16px; color: var(--text);
  padding: 14px 0; border-bottom: 1px solid var(--line);
}
.dm-contacts__list li:first-child { border-top: 1px solid var(--line); }
.dm-contacts__list li span {
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--text-3);
}
.dm-contacts__list a { color: var(--text); }
.dm-contacts__list a:hover { color: var(--accent); }
.dm-contacts__req { margin-top: 18px; font-size: 12px; color: var(--text-3); line-height: 1.5; }

.dm-contacts-map {
  border-radius: 10px; overflow: hidden;
  border: 1px solid var(--line);
  min-height: 420px; line-height: 0; background: var(--bg-alt);
}
.dm-contacts-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }

@media (max-width: 860px) {
  .dm-contacts__grid { grid-template-columns: 1fr; gap: 24px; }
  .dm-contacts-map, .dm-contacts-map iframe { min-height: 320px; }
}

/* =============================================================
   PRODUCT LANDING v2 — витрина, преимущества, одиночное hero-фото
   (добавлено по правкам заказчика, июль 2026)
   ============================================================= */

/* — Hero: одно фото вместо карусели — */
.hero__photo--single { width: 100%; }
.hero__photo--single img {
  width: 100%; height: auto; display: block;
  border-radius: 10px; object-fit: cover;
  box-shadow: 0 24px 60px rgba(0,0,0,.38);
  border: 1px solid rgba(240,232,214,.12);
}
.hero__photo--single .hero__photo-cap {
  margin-top: 12px; text-align: center;
  font-size: 12px; letter-spacing: .04em; color: rgba(240,232,214,.55);
}

/* — Витрина ассортимента — */
.showcase { background: var(--white); }
.showcase__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}
.showcase-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); overflow: hidden;
  display: flex; flex-direction: column; transition: box-shadow .15s, transform .15s;
}
.showcase-card:hover { box-shadow: 0 10px 26px rgba(60,48,26,.10); transform: translateY(-2px); }
.showcase-card__img {
  aspect-ratio: 1 / 1; background: #fff; padding: 12px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
}
.showcase-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.showcase-card__ph { font-family: var(--font-h); font-size: 44px; color: var(--accent); opacity: .16; user-select: none; }
.showcase-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 6px; flex: 1; }
.showcase-card__body h3 { font-size: 17px; margin: 0; color: var(--text); line-height: 1.25; }
.showcase-card__body p { font-size: 13px; color: var(--text-2); line-height: 1.5; margin: 0; flex: 1; }
.showcase-card__meta {
  margin-top: 8px; font-size: 10.5px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--accent);
}
.showcase__chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.showcase-chip {
  font-size: 13px; color: var(--text-2); background: var(--accent-bg);
  border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; line-height: 1.4;
}
.showcase-chip strong { color: var(--text); font-weight: 700; }

/* — Преимущества: чистые карточки вместо перегруженного списка — */
.adv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
.adv-card {
  background: var(--white); border: 1px solid var(--line); border-left: 3px solid var(--accent);
  border-radius: var(--r); padding: 22px 22px; display: flex; gap: 14px; align-items: flex-start;
}
.adv-card__ic {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: 8px;
  background: var(--accent-bg); color: var(--accent);
  display: flex; align-items: center; justify-content: center;
}
.adv-card__ic svg { width: 19px; height: 19px; stroke: var(--accent); }
.adv-card p { font-size: 14px; color: var(--text-2); line-height: 1.55; margin: 0; }
.adv-card p strong { color: var(--text); font-weight: 700; }

/* — Адаптив — */
@media (max-width: 768px) {
  .showcase__grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .showcase-card__body { padding: 14px 14px 16px; }
  .adv-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .showcase__grid { grid-template-columns: 1fr; }
}

/* — Витрина сортов: только «Весовой мёд» (page-id-17) — 3 в ряд (3×2) — DM 2026-08-11 — */
.page-id-17 .showcase__grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 768px) { .page-id-17 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .page-id-17 .showcase__grid { grid-template-columns: 1fr; } }

/* — Кнопки: без подчёркивания и без «синего» цвета текста на ховере (перебиваем внешний a:hover Elementor) — DM 2026-08-14 — */
.btn, .btn:link, .btn:visited, .btn:hover, .btn:focus, .btn:active { text-decoration: none !important; }
.btn-cta, .btn-cta:link, .btn-cta:visited, .btn-cta:hover, .btn-cta:focus, .btn-cta:active { color: #fff !important; }
.btn-ghost, .btn-ghost:link, .btn-ghost:visited, .btn-ghost:hover, .btn-ghost:focus, .btn-ghost:active { color: var(--white) !important; }
.btn-cta-outline, .btn-cta-outline:link, .btn-cta-outline:visited { color: var(--cta) !important; }
.btn-cta-outline:hover, .btn-cta-outline:focus, .btn-cta-outline:active { color: #fff !important; }
.btn-outline, .btn-outline:link, .btn-outline:visited, .btn-outline:hover, .btn-outline:focus, .btn-outline:active { color: var(--text) !important; }

/* — Карточки продукции на главной: заголовки без подчёркивания и без синего на ховере — DM 2026-08-14 — */
.product-card h3 a, .product-card h3 a:link, .product-card h3 a:visited,
.product-card h3 a:hover, .product-card h3 a:focus, .product-card h3 a:active {
  text-decoration: none !important; color: var(--text) !important;
}

/* — Хаб «Фасованная продукция»: адаптив сеток — DM 2026-08-19 — */
.products__grid.dm-grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 600px) { .products__grid.dm-grid-2 { grid-template-columns: 1fr; } }
.dm-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 860px) { .dm-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .dm-steps { grid-template-columns: 1fr; } }

/* — Хаб: преимущества 3 в ряд + зелёные чипы каналов — DM 2026-08-19 — */
.adv-grid.dm-adv-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .adv-grid.dm-adv-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .adv-grid.dm-adv-3 { grid-template-columns: 1fr; } }
.showcase-chip.dm-chip-green { background: var(--accent-bg); color: var(--accent); border-color: var(--accent); font-weight: 600; }
.showcase-chip.dm-chip-green strong { color: var(--accent); }

/* — Хаб: карточка «Классический мёд» — показать банку целиком (сдвиг кадра к основанию) — DM 2026-08-20 — */
.page-id-189 .products__grid .product-card:first-child .product-card__img img { width: 100%; height: 100%; object-fit: cover; object-position: center 68%; }

/* — Хаб: карточка «Крем-мёд» — показать больше банок, меньше ягод (кадр выше) — DM 2026-08-20 — */
.page-id-189 .products__grid .product-card:nth-child(2) .product-card__img img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }

/* =============================================================
   Пометка о запрещённой организации (DM 2026-08-20)
   Обязательная сноска при упоминании Instagram / Meta Platforms Inc.
   ============================================================= */
.dm-social__mark {
  font-size: 11px; line-height: 1; margin-left: 1px;
  vertical-align: super; opacity: .75;
}
.dm-footer__note {
  flex-basis: 100%;
  margin: 10px 0 0;
  font-size: 11.5px; line-height: 1.5;
  color: rgba(240,232,214,.62);
  max-width: 720px;
}

/* Реквизиты в подвале читались почти как фон (#3A3428 на #141209) —
   это юридически значимая строка, поднимаем контраст. */
.dm-footer__bottom-inner { color: rgba(240,232,214,.62); }
.dm-footer__bottom-nav a { color: rgba(240,232,214,.72); }
.dm-footer__bottom-nav a:hover { color: #F0E8D6; }

/* =============================================================
   Согласие на обработку ПДн в формах (DM 2026-08-20)
   ============================================================= */
.form-consent {
  display: flex; align-items: flex-start; gap: 9px;
  cursor: pointer; user-select: none;
}
.form-consent__input {
  flex: none; width: 16px; height: 16px; margin: 2px 0 0;
  accent-color: var(--cta); cursor: pointer;
}
.form-consent__text {
  font-size: 12.5px; line-height: 1.5; color: var(--text-2);
}
.form-consent__text a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.form-consent__text a:hover { color: var(--accent); }
.form-consent__input:focus-visible { outline: 2px solid var(--cta); outline-offset: 2px; }

/* =============================================================
   Страница политики /privacy/ (DM 2026-08-20)
   ============================================================= */
.dm-legal { max-width: 760px; }
.dm-legal__edition { font-size: 13px; color: var(--text-2); margin-bottom: 18px; }
.dm-legal__download { margin: 0 0 28px; }
.dm-legal h2 {
  font-size: 20px; line-height: 1.3; margin: 30px 0 10px;
  padding-top: 14px; border-top: 1px solid var(--line);
}
.dm-legal p, .dm-legal li { font-size: 15px; line-height: 1.7; color: var(--text-2); }
.dm-legal ul { padding-left: 20px; margin: 0 0 14px; }
.dm-legal li { margin-bottom: 6px; }
.dm-legal__table { border-collapse: collapse; width: 100%; margin: 4px 0 18px; }
.dm-legal__table th,
.dm-legal__table td {
  text-align: left; vertical-align: top; padding: 9px 12px;
  border: 1px solid var(--line); font-size: 14.5px; line-height: 1.55;
}
.dm-legal__table th { width: 38%; font-weight: 500; color: var(--text-2); background: var(--bg-alt); }
.dm-legal__req {
  margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--line);
  font-size: 13px; color: var(--text-2);
}
@media (max-width: 640px) {
  .dm-legal__table, .dm-legal__table tbody, .dm-legal__table tr,
  .dm-legal__table th, .dm-legal__table td { display: block; width: auto; }
  .dm-legal__table tr { margin-bottom: 10px; }
  .dm-legal__table th { border-bottom: none; }
}

/* =============================================================
   Уведомление об использовании cookie (DM 2026-08-20)
   Скрыто по умолчанию — показывает скрипт, если согласия ещё нет.
   Так баннер корректно работает при полностраничном кэшировании.
   ============================================================= */
.dm-cookie {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 700;
  background: rgba(253, 250, 243, .97);
  backdrop-filter: saturate(180%) blur(8px);
  border-top: 1px solid var(--line);
  box-shadow: 0 -8px 28px rgba(51, 48, 42, .12);
  transform: translateY(100%);
  transition: transform .26s ease;
}
.dm-cookie.is-shown { transform: translateY(0); }
.dm-cookie__inner {
  max-width: var(--max); margin: 0 auto;
  padding: 14px 24px;
  display: flex; align-items: center; gap: 20px;
}
.dm-cookie__text {
  margin: 0; flex: 1;
  font-size: 13.5px; line-height: 1.55; color: var(--text-2);
}
.dm-cookie__text a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.dm-cookie__text a:hover { color: var(--accent); }
.dm-cookie__btn {
  flex: none; font: inherit; font-size: 15px; font-weight: 700; line-height: 1;
  padding: 13px 30px; border: none; border-radius: 8px; cursor: pointer;
  background: var(--cta); color: #fff;
  transition: background .15s;
}
.dm-cookie__btn:hover { background: var(--cta-hover); }
.dm-cookie__btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

@media (max-width: 767.98px) {
  .dm-cookie__inner {
    flex-direction: column; align-items: stretch; gap: 12px;
    padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px));
  }
  .dm-cookie__text { font-size: 13px; }
  .dm-cookie__btn { width: 100%; padding: 14px 20px; }
  /* поднимаем над липкой панелью заявки, если она есть на странице */
  /* панель заявки = 10px + 50px + 10px + safe-area; поднимаем выше неё с зазором */
  body:has(.dm-mobilebar) .dm-cookie {
    bottom: calc(78px + env(safe-area-inset-bottom, 0px));
  }
  body:has(.dm-mobilebar) .dm-cookie__inner {
    padding-bottom: 14px;
  }
}

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

/* — Таблица цен по сортам и фасовкам (стр. «Цветочный мёд») — DM 2026-08-20 — */
.dm-pricewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--r); background: var(--white); }
.dm-pricetable { width: 100%; border-collapse: collapse; min-width: 620px; }
.dm-pricetable th { text-align: right; padding: 13px 14px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); background: var(--bg-alt); border-bottom: 1px solid var(--line); white-space: nowrap; }
.dm-pricetable th:first-child { text-align: left; }
.dm-pricetable td { padding: 13px 14px; font-size: 14px; color: var(--text-2); border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.dm-pricetable td:first-child { text-align: left; font-weight: 600; color: var(--text); }
.dm-pricetable tr:last-child td { border-bottom: none; }
.dm-pricetable tbody tr:hover td { background: var(--bg); }
.dm-pricetable__hit td { background: var(--accent-bg); }
.dm-pricetable__tag { display: inline-block; margin-left: 8px; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--accent); border-radius: 999px; padding: 3px 8px; vertical-align: middle; }
.dm-pricetable__box td { font-size: 12px; color: var(--text-3); font-weight: 600; }
.dm-pricetable__box td:first-child { font-weight: 600; color: var(--text-3); }
.dm-pricenote { font-size: 13px; color: var(--text-3); margin-top: 14px; line-height: 1.6; }
@media (max-width: 768px) {
  .dm-pricetable th, .dm-pricetable td { padding: 10px 11px; font-size: 13px; }
}

/* — Блоки фасовок стр. «Цветочный мёд» (page-id-18): 5 сортов в ряд — DM 2026-08-21 — */
.page-id-18 .showcase__grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.page-id-18 .showcase-card__body { padding: 12px 14px 14px; }
.page-id-18 .showcase-card__body h3 { font-size: 15px; }
@media (max-width: 1024px) { .page-id-18 .showcase__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .page-id-18 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }

/* — Герой стр. «Цветочный мёд» (page-id-18): широкий кадр линейки вместо одной банки — DM 2026-08-21 — */
@media (min-width: 1025px) {
  .page-id-18 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-18 .elementor-top-section .elementor-col-45 { width: 53%; }
  /* колонка с фото: центрируем по вертикали и снимаем верхний отступ из шаблона */
  .page-id-18 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: center; padding-top: 0 !important; }
}

/* — Стр. «Цветочный мёд»: фото в карточках во всю ширину, без полей — DM 2026-08-21 — */
/* безопасно: все 25 кадров блоков — квадраты 800×800, контейнер тоже 1:1, обрезки нет */
.page-id-18 .showcase-card__img { padding: 0; }
.page-id-18 .showcase-card__img img { object-fit: cover; }

/* — Фото верхнего баннера: во всю высоту секции и до правого края экрана — DM 2026-08-21 — */
/* Стр. «Весовой мёд» (17), «Цветочный мёд» (18) и «Фасованная продукция» (189):
   у всех трёх герой — две колонки, фото в правой (.elementor-col-45), padding секции 56/64.
   На каждой из страниц такая колонка ровно одна — проверено, лишнего правило не заденет.
   Ширину наращиваем через width: отрицательный margin блок не растягивает (её задаёт родитель). */
@media (min-width: 1025px) {
  .page-id-17 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap,
  .page-id-18 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap,
  .page-id-189 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap,
  .page-id-23 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }

  .page-id-17 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element,
  .page-id-18 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element,
  .page-id-189 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element,
  .page-id-23 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-17 .elementor-top-section .hero__photo--single,
  .page-id-18 .elementor-top-section .hero__photo--single,
  .page-id-189 .elementor-top-section .hero__photo--single,
  .page-id-23 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }

  .page-id-17 .elementor-top-section .hero__photo--single img,
  .page-id-18 .elementor-top-section .hero__photo--single img,
  .page-id-189 .elementor-top-section .hero__photo--single img,
  .page-id-23 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
  /* у стр. 18 кадр широкий — смещаем вправо, чтобы остались табличка и крупные банки */
  .page-id-18 .elementor-top-section .hero__photo--single img { object-position: 58% center; }
}

/* — Подзаголовки секций во всю ширину (в теме по умолчанию max-width 620px) — DM 2026-08-21 — */
/* стр. «Весовой мёд» (17), «Цветочный мёд» (18), «Фасованная продукция» (189) */
.page-id-17 .section-header p,
.page-id-18 .section-header p,
.page-id-189 .section-header p { max-width: none; }

/* ═══════════ Стр. «Крем-мёд» (page-id-19) — DM 2026-08-21 ═══════════ */

/* — Блоки фасовок: 15 вкусов, 5 в ряд (сетка 5×3).
     Правило обязательно: базовый auto-fill minmax(220px,1fr) даёт неверное число колонок. — */
.page-id-19 .showcase__grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.page-id-19 .showcase-card__body { padding: 12px 14px 14px; }
.page-id-19 .showcase-card__body h3 { font-size: 15px; }
@media (max-width: 1024px) { .page-id-19 .showcase__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .page-id-19 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }

/* ⚠️ Фото вкусов крем-мёда — вертикальные 667×800. Приём «фото во всю карточку»
   (.showcase-card__img{padding:0} + img{object-fit:cover}), применённый на стр. 18,
   здесь НЕ используем: cover срежет банкам верх и низ. Оставляем contain из темы. */

/* — Плашка для вкуса, у которого кадра пока нет (глинтвейн) — */
.page-id-19 .showcase-card__img--soon {
  aspect-ratio: 1 / 1; padding: 12px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: repeating-linear-gradient(45deg, #F7F3E9, #F7F3E9 12px, #F0EADC 12px, #F0EADC 24px);
}
.page-id-19 .showcase-card__img--soon span { font-size: 13px; color: var(--text-2); }

/* — Подзаголовки секций во всю ширину (в теме по умолчанию max-width 620px) — */
.page-id-19 .section-header p { max-width: none; }

/* — Блок награды «100 лучших товаров России» — */
.dm-award { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: center; }
.dm-award .section-header { margin-bottom: 0; }
.dm-award__facts { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 12px; }
.dm-award__facts li { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; border-left: 3px solid var(--accent); }
.dm-award__facts strong { font-size: 16px; color: var(--text); line-height: 1.3; }
.dm-award__facts span { font-size: 14px; color: var(--text-2); }
.dm-award__note { margin-top: 20px; font-size: 15px; }
.dm-award__doc { margin: 0; }
.dm-award__doc img {
  width: 100%; height: auto; display: block; background: #fff;
  border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 12px 30px rgba(60,48,26,.12);
}
.dm-award__doc figcaption { margin-top: 10px; font-size: 13px; color: var(--text-2); text-align: center; }
@media (max-width: 860px) {
  .dm-award { grid-template-columns: 1fr; gap: 28px; }
  .dm-award__doc { max-width: 300px; margin: 0 auto; }
}

/* — Герой стр. 19: широкий кадр линейки во всю высоту секции и до правого края экрана.
     Тот же приём, что на стр. 17/18/189: ширину наращиваем через width, не через margin. — */
@media (min-width: 1025px) {
  .page-id-19 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-19 .elementor-top-section .elementor-col-45 { width: 53%; }

  .page-id-19 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .page-id-19 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-19 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-19 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* — Стр. 19: блоки, у которых есть СВОЙ комплект кадров (krem30-* и далее) —
     кадры квадратные 800×800, поэтому фото можно раскрыть во всю карточку.
     Правило намеренно НЕ трогает блоки на общих кадрах krem-<вкус>.jpg:
     те вертикальные 667×800, и cover срезал бы банкам верх и низ. — DM 2026-08-21 — */
.page-id-19 .dm-pack-grid--full .showcase-card__img { padding: 0; background: none; }
.page-id-19 .dm-pack-grid--full .showcase-card__img img { object-fit: cover; }

/* ═══════════ Стр. «Орехи в мёде» (page-id-21) — DM 2026-08-22 ═══════════ */

/* — Витрина: 5 видов в ряд. Базовый auto-fill minmax(220px,1fr) даёт неверное
     число колонок и дыры, поэтому число задаём явно. — */
.page-id-21 .showcase__grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.page-id-21 .showcase-card__body { padding: 12px 14px 14px; }
.page-id-21 .showcase-card__body h3 { font-size: 15px; }
@media (max-width: 1024px) { .page-id-21 .showcase__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  { .page-id-21 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }

/* — Плашка для вида, кадра которого пока нет (сейчас — все пять) — */
.page-id-21 .showcase-card__img--soon {
  aspect-ratio: 1 / 1; padding: 12px;
  display: flex; align-items: center; justify-content: center; overflow: hidden;
  background: repeating-linear-gradient(45deg, #F7F3E9, #F7F3E9 12px, #F0EADC 12px, #F0EADC 24px);
}
.page-id-21 .showcase-card__img--soon span { font-size: 13px; color: var(--text-2); }

/* — Подзаголовки секций во всю ширину (в теме по умолчанию max-width 620px) — */
.page-id-21 .section-header p { max-width: none; }

/* — Герой стр. 21: кадр трёх банок во всю высоту секции и до правого края экрана.
     Тот же приём, что на стр. 17/18/19/189: ширину наращиваем через width, не через margin. — */
@media (min-width: 1025px) {
  .page-id-21 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-21 .elementor-top-section .elementor-col-45 { width: 53%; }

  .page-id-21 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .page-id-21 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-21 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-21 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* — Когда придут свои кадры видов: в шаблоне задаётся $dm_nuts_img, гриду
     добавляется класс dm-pack-grid--full и фото раскрывается во всю карточку.
     Безопасно только для квадратных кадров 800×800. — */
.page-id-21 .dm-pack-grid--full .showcase-card__img { padding: 0; background: none; }
.page-id-21 .dm-pack-grid--full .showcase-card__img img { object-fit: cover; }

/* — Кросс-блок «Орехи в мёде» на стр. «Цветочный мёд» — DM 2026-08-21 — */
.dm-cross__photo img {
  width: 100%; height: 300px; object-fit: cover; display: block;
  border-radius: 10px; border: 1px solid var(--line);
  box-shadow: 0 14px 34px rgba(60,48,26,.12);
}
@media (max-width: 767px) {
  .dm-cross__photo img { height: 210px; margin-top: 22px; }
}

/* ═══════════ Стр. «Подарочные наборы» (page-id-20) — DM 2026-08-22 ═══════════ */

/* — Витрина: 7 наборов по 4 в ряд (4+3). Базовый auto-fill minmax(220px,1fr)
     даёт неверное число колонок и дыры, поэтому число задаём явно. — */
.page-id-20 .showcase__grid { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.page-id-20 .showcase-card__body { padding: 14px 16px 16px; }
.page-id-20 .showcase-card__body h3 { font-size: 16px; }
@media (max-width: 1024px) { .page-id-20 .showcase__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .page-id-20 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .page-id-20 .showcase__grid { grid-template-columns: 1fr; } }

/* — Кадры наборов разнокалиберные (от 720×361 до 706×720), поэтому приём
     «фото во всю карточку» (padding:0 + object-fit:cover) здесь НЕ применяем:
     широким кадрам он срезал бы верх и низ. Ждём единый квадратный сет. — */

/* — Брендирование и поводы: карточки на сетке .dm-steps (4 → 2 → 1) — */
.page-id-20 .dm-brand-card,
.page-id-20 .dm-occ-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 24px 20px;
}
.page-id-20 .dm-brand-card h4,
.page-id-20 .dm-occ-card h4 { font-size: 16px; margin: 0 0 6px; color: var(--text); }
.page-id-20 .dm-brand-card__price {
  font-family: var(--font-h); font-size: 19px; color: var(--accent);
  line-height: 1.2; margin-bottom: 10px;
}
.page-id-20 .dm-brand-card p,
.page-id-20 .dm-occ-card p { font-size: 13.5px; color: var(--text-2); line-height: 1.55; margin: 0; }

/* — Подзаголовки секций во всю ширину (в теме по умолчанию max-width 620px) — */
.page-id-20 .section-header p { max-width: none; }

/* — Герой стр. 20: кадр во всю высоту секции и до правого края экрана.
     Тот же приём, что на стр. 17/18/19/21/189: ширину наращиваем через width, не margin. — */
@media (min-width: 1025px) {
  .page-id-20 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-20 .elementor-top-section .elementor-col-45 { width: 53%; }

  .page-id-20 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .page-id-20 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-20 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-20 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* — Стр. 20: блок опыта («наборы под логотип заказчика») на разметке .dm-award.
     Кадр горизонтальный 900×540, поэтому колонка шире, чем под вертикальный диплом. — */
.page-id-20 .dm-case { grid-template-columns: minmax(0, 1fr) 380px; align-items: center; }
@media (max-width: 860px) {
  .page-id-20 .dm-case { grid-template-columns: 1fr; }
  .page-id-20 .dm-case .dm-award__doc { max-width: 420px; }
}

/* — Фон кадра в блоке опыта = фон секции #FDFAF3 (в теме у .dm-award__doc img он белый) — */
.page-id-20 .dm-case .dm-award__doc img { background: #FDFAF3; }

/* ═══ СТР. 22 «СТМ — производство под вашей торговой маркой» (2026-08-22) ═══ */

/* — Подзаголовки секций во всю ширину (в теме по умолчанию max-width 620px) — */
.page-id-22 .section-header p { max-width: none; }

/* — Преимущества: 6 карточек ровно 3+3 (базовый auto-fill даёт рваный хвост) — */
.page-id-22 .adv-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .page-id-22 .adv-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .page-id-22 .adv-grid { grid-template-columns: 1fr; } }

/* — Карточки на сетке .dm-steps (4 → 2 → 1): ассортимент, сроки, дизайн, старт.
     Правила продублированы с .page-id-20, чтобы не трогать чужой блок стилей. — */
.page-id-22 .dm-brand-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 24px 20px;
  display: flex; flex-direction: column;
}
.page-id-22 .dm-brand-card h4 { font-size: 16px; margin: 0 0 6px; color: var(--text); }
.page-id-22 .dm-brand-card__price {
  font-family: var(--font-h); font-size: 19px; color: var(--accent);
  line-height: 1.2; margin-bottom: 10px;
}
.page-id-22 .dm-brand-card p { font-size: 13.5px; color: var(--text-2); line-height: 1.55; margin: 0; }
.page-id-22 .dm-brand-card__link {
  margin-top: auto; padding-top: 12px; font-size: 13px; font-weight: 600;
  color: var(--cta); text-decoration: none;
}
.page-id-22 .dm-brand-card__link:hover { color: var(--accent); }

/* — Мощность: четыре крупные цифры. Число — главный элемент карточки. — */
.page-id-22 .dm-metric {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 26px 22px;
}
.page-id-22 .dm-metric__num {
  font-family: var(--font-h); font-size: 38px; font-weight: 700; line-height: 1;
  color: var(--accent); margin-bottom: 6px; letter-spacing: -.01em;
}
.page-id-22 .dm-metric__unit {
  font-size: 13px; font-weight: 600; color: var(--text);
  margin-bottom: 12px;
}
.page-id-22 .dm-metric p { font-size: 13px; color: var(--text-2); line-height: 1.55; margin: 0; }
@media (max-width: 1024px) { .page-id-22 .dm-metric__num { font-size: 32px; } }

/* — Как проходит проект: четыре шага с номерами — */
.page-id-22 .dm-flow-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 24px 20px;
}
.page-id-22 .dm-flow-card__num {
  font-family: var(--font-h); font-size: 28px; font-weight: 700; line-height: 1;
  color: var(--accent); opacity: .35; margin-bottom: 14px;
}
.page-id-22 .dm-flow-card h4 { font-size: 15px; margin: 0 0 8px; color: var(--text); }
.page-id-22 .dm-flow-card p { font-size: 13px; color: var(--text-2); line-height: 1.55; margin: 0; }

/* — Агентствам: три карточки в ряд (сетка .dm-steps на 4 оставила бы пустую ячейку) — */
.page-id-22 .dm-agency-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .page-id-22 .dm-agency-grid { grid-template-columns: 1fr; } }

/* — Врезка «у вас своё сырьё → контрактная фасовка»: разводим две услуги — */
.page-id-22 .dm-note {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  flex-wrap: wrap; margin-top: 28px; padding: 22px 24px;
  background: var(--white); border: 1px solid var(--line);
  border-left: 3px solid var(--accent); border-radius: var(--r);
}
.page-id-22 .dm-note p { margin: 0; font-size: 15px; color: var(--text-2); line-height: 1.6; flex: 1 1 380px; }
.page-id-22 .dm-note strong { color: var(--text); }

/* — Блок опыта на разметке .dm-award: кадр горизонтальный, колонка шире — */
.page-id-22 .dm-case { grid-template-columns: minmax(0, 1fr) 380px; align-items: center; }
@media (max-width: 860px) {
  .page-id-22 .dm-case { grid-template-columns: 1fr; }
  .page-id-22 .dm-case .dm-award__doc { max-width: 420px; }
}
/* фон кадра = фон секции (в теме у .dm-award__doc img он белый) */
.page-id-22 .dm-case .dm-award__doc img { background: #FDFAF3; }

/* — Герой стр. 22: кадр во всю высоту секции и до правого края экрана.
     Тот же приём, что на 17/18/19/20/21/189: ширину наращиваем через width, не margin. — */
@media (min-width: 1025px) {
  .page-id-22 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-22 .elementor-top-section .elementor-col-45 { width: 53%; }

  .page-id-22 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .page-id-22 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-22 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-22 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* — Стр. 22: вторая кнопка героя на тёмном фоне. В теме у .btn-outline цвет текста
     var(--text) (тёмный) — на коричневом герое он почти не читался. — */
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline {
  color: #F0E8D6; border-color: rgba(240, 232, 214, .38); background: transparent;
}
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline:hover {
  color: #33302A; background: #F0E8D6; border-color: #F0E8D6;
}

/* — Стр. 22, кнопка «Прайс-лист» в герое: в теме цвет .btn-outline прибит !important
     (строка ~1729, блок кнопок от 14.08), поэтому перебиваем тоже !important. — */
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline,
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline:link,
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline:visited {
  color: #F0E8D6 !important; border-color: rgba(240, 232, 214, .38);
}
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline:hover,
.page-id-22 .elementor-top-section .product__hero-cta .btn-outline:focus {
  color: #33302A !important; background: #F0E8D6; border-color: #F0E8D6;
}

/* — Стр. 22, галерея работ под марками заказчиков.
     Число колонок задаётся классом по количеству кадров: один кадр не должен
     висеть в трёхколоночной сетке с двумя дырами. — */
.page-id-22 .dm-gallery { display: grid; gap: 20px; }
.page-id-22 .dm-gallery--1 { grid-template-columns: 1fr; max-width: 760px; }
.page-id-22 .dm-gallery--2 { grid-template-columns: repeat(2, 1fr); }
.page-id-22 .dm-gallery--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .page-id-22 .dm-gallery--3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
  .page-id-22 .dm-gallery--2,
  .page-id-22 .dm-gallery--3 { grid-template-columns: 1fr; }
}

.page-id-22 .dm-gallery__item { margin: 0; }
.page-id-22 .dm-gallery__img {
  aspect-ratio: 4 / 3; overflow: hidden;
  border: 1px solid var(--line); border-radius: var(--r);
  background: var(--white);
}
.page-id-22 .dm-gallery__img img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.page-id-22 .dm-gallery__item figcaption {
  margin-top: 12px; font-size: 13.5px; color: var(--text-2); line-height: 1.5;
}

/* — Стр. 22, галерея: переводим трёхколоночный вариант на flex.
     На гриде пять кадров дают 3+1 дыру в правом нижнем углу; на flex
     последний неполный ряд центрируется, и блок выглядит ровно при любом
     количестве кадров. — */
.page-id-22 .dm-gallery--3 { display: flex; flex-wrap: wrap; justify-content: center; }
.page-id-22 .dm-gallery--3 .dm-gallery__item { flex: 0 1 calc((100% - 40px) / 3); }
@media (max-width: 900px) {
  .page-id-22 .dm-gallery--3 .dm-gallery__item { flex: 0 1 calc((100% - 20px) / 2); }
}
@media (max-width: 600px) {
  .page-id-22 .dm-gallery--3 .dm-gallery__item { flex: 0 1 100%; }
}

/* — Стр. «Крем-мёд» (page-id-19): блок «100% натуральный продукт»
     под таблицей вкусов — DM 2026-08-23 — */
.dm-natural {
  margin-top: 32px; padding: 24px 26px;
  background: var(--white); border: 1px solid var(--line); border-radius: 10px;
}
.dm-natural__title {
  font-family: var(--font-h); font-size: 22px; color: var(--text);
  margin: 0 0 16px; display: flex; align-items: center; gap: 10px;
}
.dm-natural__title::before {
  content: ''; width: 8px; height: 8px; border-radius: 50%;
  background: var(--accent); flex: none;
}
.dm-natural__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dm-natural__list li { display: flex; flex-direction: column; gap: 4px; padding-left: 14px; border-left: 3px solid var(--accent); }
.dm-natural__list strong { font-size: 15px; color: var(--text); line-height: 1.3; }
.dm-natural__list span { font-size: 14px; color: var(--text-2); line-height: 1.55; }
@media (max-width: 860px) {
  .dm-natural { padding: 20px; }
  .dm-natural__list { grid-template-columns: 1fr; gap: 14px; }
  .dm-natural__title { font-size: 19px; }
}

/* — Блок «100% натуральный продукт»: стало 4 пункта — DM 2026-08-23 — */
.dm-natural__list { grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media (max-width: 1024px) { .dm-natural__list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 700px)  { .dm-natural__list { grid-template-columns: 1fr; gap: 14px; } }

/* — Стр. 21: блок «под заказ и под своей маркой» (пример — тираж для «Комуса») — DM 2026-08-23 — */
.dm-stm { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: center; }
.dm-stm .section-header { margin-bottom: 0; }
.dm-stm__facts { list-style: none; margin: 22px 0 24px; padding: 0; display: grid; gap: 12px; }
.dm-stm__facts li { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; border-left: 3px solid var(--accent); }
.dm-stm__facts strong { font-size: 16px; color: var(--text); line-height: 1.3; }
.dm-stm__facts span { font-size: 14px; color: var(--text-2); }
.dm-stm__photo { margin: 0; }
.dm-stm__photo img {
  width: 100%; height: auto; display: block; background: #fff;
  border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 30px rgba(60,48,26,.12);
}
.dm-stm__photo figcaption { margin-top: 10px; font-size: 13px; color: var(--text-2); text-align: center; }
@media (max-width: 900px) {
  .dm-stm { grid-template-columns: 1fr; gap: 28px; }
  .dm-stm__photo { max-width: 360px; margin: 0 auto; }
}

/* — Стр. 20: пришёл единый сет кадров наборов, все квадратные 800×800 (DM 2026-08-23),
     поэтому включаем «фото во всю карточку». Раньше правило было отключено намеренно:
     старые кадры были разнокалиберные, от 720×361 до 706×720, и cover срезал бы им верх и низ. — */
.page-id-20 .showcase-card__img { padding: 0; background: none; }
.page-id-20 .showcase-card__img img { object-fit: cover; }

/* — Стр. 20: наборов стало десять (23.08, по решению Irina вывели и три формата
     вне прайса), поэтому витрина переводится с 4 колонок на 5 — получается ровно 5+5,
     без пустых ячеек в последнем ряду. Тело карточки компактнее, как на стр. 18/19/21. — */
.page-id-20 .showcase__grid { grid-template-columns: repeat(5, 1fr); gap: 16px; }
.page-id-20 .showcase-card__body { padding: 12px 14px 14px; }
.page-id-20 .showcase-card__body h3 { font-size: 15px; }
.page-id-20 .showcase-card__body p { font-size: 12.5px; }
@media (max-width: 1024px) { .page-id-20 .showcase__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 760px)  { .page-id-20 .showcase__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .page-id-20 .showcase__grid { grid-template-columns: 1fr; } }

/* ══════════════════════════════════════════════════════════════════
   СТР. 53 «О КОМПАНИИ» (DM 2026-08-23, вторая редакция)
   Страница построена на собственных кадрах: цех, линия, пасеки поставщиков,
   выставки, площадки. Продуктовых витрин, документов и сегментов здесь нет —
   они на главной, дублировать их не нужно.
   ══════════════════════════════════════════════════════════════════ */

/* Подзаголовки секций во всю ширину (в теме .section-header p ограничен 620px) */
.page-id-53 .section-header p { max-width: none; }

/* — Галереи. Число колонок задаём явно: базовый auto-fill даёт неверное
     количество и дыры в последнем ряду. Число кадров подобрано под сетку:
     2 (производство, площадки), 4 (пасеки), 6 = 3+3 (выставки). — */
.page-id-53 .dm-gal { display: grid; gap: 16px; }
.page-id-53 .dm-gal--2 { grid-template-columns: repeat(2, 1fr); }
.page-id-53 .dm-gal--3 { grid-template-columns: repeat(3, 1fr); }
.page-id-53 .dm-gal--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) {
  .page-id-53 .dm-gal--3,
  .page-id-53 .dm-gal--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .page-id-53 .dm-gal--2,
  .page-id-53 .dm-gal--3,
  .page-id-53 .dm-gal--4 { grid-template-columns: 1fr; }
}

.page-id-53 .dm-gal__item { margin: 0; }
.page-id-53 .dm-gal__item img {
  display: block; width: 100%; height: auto; aspect-ratio: 4 / 3;
  object-fit: cover; border-radius: 10px;
  border: 1px solid var(--line); background: var(--white);
}
.page-id-53 .dm-gal__item figcaption {
  margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--text-2);
}

/* — Видео производства. Кадр вертикальный (360×640), поэтому живёт в узкой
     колонке рядом с цифрами; ширину ограничиваем, иначе растянется на всю треть. — */
.page-id-53 .dm-video { margin: 0; }
.page-id-53 .dm-video video {
  display: block; width: 100%; max-width: 300px; height: auto;
  border-radius: 12px; border: 1px solid var(--line); background: #1b1a17;
}
.page-id-53 .dm-video figcaption {
  margin-top: 10px; max-width: 300px;
  font-size: 13px; line-height: 1.45; color: var(--text-2);
}
@media (max-width: 1024px) {
  .page-id-53 .dm-video video,
  .page-id-53 .dm-video figcaption { max-width: 260px; margin-left: auto; margin-right: auto; }
  .page-id-53 .dm-video figcaption { text-align: center; }
}
/* Верх видео выравнивается с заголовком секции, а не с надзаголовком «ПРОИЗВОДСТВО».
   29 px — измеренная разница между верхом колонки и верхом h2 при ширине ≥1025px
   (надзаголовок 29 px + его отступ). Ниже 1025 px колонки складываются, отступ не нужен. */
@media (min-width: 1025px) {
  /* padding, а НЕ margin: верхний margin у figure схлопывается с родительским
     .elementor-widget-container и блок не сдвигается (проверено — оставался на месте). */
  .page-id-53 .dm-video { padding-top: 30px; }
}

/* — Цифры производства: четыре карточки 2×2 рядом с видео — */
.page-id-53 .dm-metric-2 {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 26px;
}
@media (max-width: 560px) { .page-id-53 .dm-metric-2 { grid-template-columns: 1fr; } }

.page-id-53 .dm-metric {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 22px 20px;
}
.page-id-53 .dm-metric__num {
  font-family: var(--font-h); font-size: 34px; font-weight: 700; line-height: 1;
  color: var(--accent); margin-bottom: 6px; letter-spacing: -.01em;
}
.page-id-53 .dm-metric__unit { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 10px; }
.page-id-53 .dm-metric p { font-size: 13px; color: var(--text-2); line-height: 1.55; margin: 0; }
@media (max-width: 1024px) { .page-id-53 .dm-metric__num { font-size: 30px; } }

/* — «Типография и логистика»: ровно две карточки в ряд — */
.page-id-53 .dm-own { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (max-width: 860px) { .page-id-53 .dm-own { grid-template-columns: 1fr; } }

.page-id-53 .dm-brand-card {
  background: var(--white); border: 1px solid var(--line);
  border-radius: var(--r); padding: 24px 22px;
  display: flex; flex-direction: column;
}
.page-id-53 .dm-brand-card h4 { font-size: 17px; margin: 0 0 8px; color: var(--text); }
.page-id-53 .dm-brand-card p { font-size: 14px; color: var(--text-2); line-height: 1.6; margin: 0; }

/* — Факты о сырье: список с золотой линией слева (разметка .dm-award__facts из темы) — */
.page-id-53 .dm-award__facts { max-width: 820px; }

/* — Герой: кадр во всю высоту секции и до правого края экрана.
     Тот же приём, что на 17/18/19/20/21/22/189: ширину наращиваем через width,
     а не margin — ширину блока задаёт родитель.
     Селектор сужен до :first-child, потому что ниже есть ещё одна двухколоночная
     секция (производство), и без сужения правило задело бы и её. — */
@media (min-width: 1025px) {
  .page-id-53 .elementor-top-section:first-child .elementor-col-55 { width: 47%; }
  .page-id-53 .elementor-top-section:first-child .elementor-col-45 { width: 53%; }

  .page-id-53 .elementor-top-section:first-child .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .page-id-53 .elementor-top-section:first-child .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }

  .page-id-53 .elementor-top-section:first-child .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-53 .elementor-top-section:first-child .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* ═══════════ Блок заявки на страницах дожима — DM 2026-08-26 ═══════════ */
.dm-cta {
  background: var(--bg-alt); border-top: 1px solid var(--line);
  margin: 56px calc(50% - 50vw) 0; padding: 56px calc(50vw - 50%);
}
.dm-cta__inner {
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: 1fr minmax(320px, 420px); gap: 48px; align-items: start;
}
.dm-cta__text h2 { margin: 6px 0 14px; }
.dm-cta__text p { color: var(--text-2); font-size: 16px; line-height: 1.75; margin: 0; }
.dm-cta__phone { margin-top: 18px !important; font-size: 15px !important; }
.dm-cta__phone a { color: var(--text); font-weight: 600; text-decoration: none; }
.dm-cta__phone a:hover { color: var(--accent); }
@media (max-width: 860px) {
  .dm-cta { padding-top: 40px; padding-bottom: 40px; }
  .dm-cta__inner { grid-template-columns: 1fr; gap: 28px; }
}

/* ═══════ Баннер cookie: выбор вместо уведомления — DM 2026-08-26 ═══════ */
.dm-cookie__actions { display: flex; gap: 10px; flex-shrink: 0; flex-wrap: wrap; }
.dm-cookie__btn--ghost {
  background: transparent; color: var(--text-2);
  border: 1px solid var(--line);
}
.dm-cookie__btn--ghost:hover { background: var(--bg); color: var(--text); }
@media (max-width: 720px) {
  .dm-cookie__actions { width: 100%; }
  .dm-cookie__actions .dm-cookie__btn { flex: 1 1 auto; }
}

/* ═══ Ссылка-призыв в ряду чипов под блоком фасовки — DM 2026-08-26 ═══ */
.showcase-chip.dm-chip-cta {
  background: var(--cta); color: #fff; border-color: var(--cta);
  text-decoration: none; font-weight: 600;
}
.showcase-chip.dm-chip-cta:hover { background: var(--cta-hover); border-color: var(--cta-hover); color: #fff; }

/* Ссылка-призыв: увеличенная зона нажатия на телефоне — DM 2026-08-27 */
.showcase-chip.dm-chip-cta {
  min-height: 44px; display: inline-flex; align-items: center;
}
@media (max-width: 600px) {
  .showcase-chip.dm-chip-cta { min-height: 48px; padding: 12px 18px; font-size: 14px; }
}

/* Ссылка на контакты под телефоном в блоке заявки — DM 2026-08-27 */
.dm-cta__more { margin-top: 8px !important; font-size: 14px !important; }
.dm-cta__more a { color: var(--text-2); }
.dm-cta__more a:hover { color: var(--accent); }

/* ═══ Список «параметр — значение» (страница фасовки) — DM 2026-08-27 ═══ */
.dm-specs { display: grid; gap: 0; }
.dm-specs__row {
  display: grid; grid-template-columns: minmax(140px, 40%) 1fr; gap: 16px;
  padding: 14px 0; border-bottom: 1px solid var(--line); align-items: baseline;
}
.dm-specs__row:last-child { border-bottom: 0; }
.dm-specs__key { font-size: 14px; color: var(--text-2); }
.dm-specs__val { font-size: 15px; color: var(--text); font-weight: 600; }
@media (max-width: 600px) {
  .dm-specs__row { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
}

/* ═══ Ссылки в текстах: цветом и полужирным вместо подчёркивания — DM 2026-08-27 ═══ */
.elementor-widget-html p a,
.elementor-widget-text-editor p a,
.faq__answer-inner a,
.elementor-tab-content a,
.dm-tail-links a,
.dm-specs a,
td a {
  color: var(--cta);
  font-weight: 600;
  text-decoration: none;
  transition: color .15s;
}
.elementor-widget-html p a:hover,
.elementor-widget-text-editor p a:hover,
.faq__answer-inner a:hover,
.elementor-tab-content a:hover,
.dm-tail-links a:hover,
.dm-specs a:hover,
td a:hover { color: var(--accent); }

/* Заголовки вопросов в аккордеоне — это не ссылки по смыслу, подчёркивание лишнее */
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-title a,
.elementor-accordion .elementor-tab-title:hover a { text-decoration: none !important; }

/* Согласие под формой и мелкие сноски */
.form-consent__text a,
.form-note a { text-decoration: none; color: var(--cta); font-weight: 600; }
.form-consent__text a:hover,
.form-note a:hover { color: var(--accent); }

/* Телефон в блоке заявки и ссылка в баннере cookie — без подчёркивания */
.dm-cta__phone a { text-decoration: none; font-weight: 700; }
.dm-cta__phone a:hover { color: var(--accent); }
.dm-cookie__text a { text-decoration: none; color: var(--cta); font-weight: 600; }
.dm-cookie__text a:hover { color: var(--accent); }

/* ═══ Шаги на светлом фоне — DM 2026-08-27 ═══
   Блок .service__steps изначально жил в тёмном первом экране, поэтому текст
   в нём светлый. На странице фасовки шаги вынесены в светлую секцию —
   там нужен тёмный текст, иначе он сливается с фоном. */
.elementor-top-section:not(:first-child) .service__step-body h4 { color: var(--text); font-size: 16px; }
.elementor-top-section:not(:first-child) .service__step-body p  { color: var(--text-2); font-size: 14px; }
.elementor-top-section:not(:first-child) .service__step-num {
  color: var(--accent); background: var(--accent-bg); border-color: var(--line);
}
@media (min-width: 861px) {
  .elementor-top-section:not(:first-child) .service__steps {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 40px;
  }
}

/* Первый экран главной: фото отдельной колонкой, как на продуктовых — DM 2026-08-27 */
@media (min-width: 1025px) {
  .home .elementor-top-section:first-child .elementor-col-45 > .elementor-widget-wrap { align-content: stretch; padding-top: 0 !important; }
  .home .elementor-top-section:first-child .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; }
  .home .elementor-top-section:first-child .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .home .elementor-top-section:first-child .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: center;
    border-radius: 10px 0 0 10px;
  }
}

/* Затемнение первого экрана главной больше не нужно — DM 2026-08-27
   Слой rgba(27,24,19,.62) добавлялся для читаемости текста поверх фонового
   фото. Теперь фото вынесено в отдельную колонку, фон однотонный,
   и слой только гасит цвет: получалось (30,28,21) вместо #33302A,
   то есть темнее, чем первый экран остальных страниц. */
.elementor-section:has(.hero__facts)::before { display: none; }

/* ──────────────────────────────────────────────────────────────
   Страница «Кафе, рестораны и отели» (horeca), 27.08.2026
   Две карточки-формата с крупным фото + сетка сценариев на 3.
   ────────────────────────────────────────────────────────────── */
.dm-formats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.dm-format {
  background: #fff; border: 1px solid var(--line); border-radius: 12px;
  overflow: hidden; display: flex; flex-direction: column;
}
.dm-format__img { aspect-ratio: 4 / 3; background: var(--bg-alt); }
.dm-format__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dm-format__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.dm-format__body h3 { margin: 0; font-size: 22px; line-height: 1.25; color: var(--text); }
.dm-format__lead { font-size: 15px; color: var(--text-2); line-height: 1.65; margin: 0; }
.dm-format .product__features { margin: 4px 0 0; }
.dm-format__link {
  margin-top: auto; padding-top: 14px; font-size: 15px; font-weight: 600;
  color: var(--accent); text-decoration: none;
}
.dm-format__link:hover { text-decoration: none; opacity: .8; }

.dm-steps--3 { grid-template-columns: repeat(3, 1fr); }
.dm-usecase h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.3; color: var(--text); }
.dm-usecase p { margin: 0; }

@media (max-width: 860px) {
  .dm-formats { grid-template-columns: 1fr; gap: 24px; }
  .dm-steps--3 { grid-template-columns: repeat(2, 1fr); }
  .dm-format__body { padding: 20px 20px 22px; }
  .dm-format__body h3 { font-size: 20px; }
}
@media (max-width: 480px) {
  .dm-steps--3 { grid-template-columns: 1fr; }
}

/* — Герой стр. 207 (кафе и отели): кадр во всю высоту секции и до правого края
     экрана — тот же приём, что на 17/18/19/20/21/22/189. — */
@media (min-width: 1025px) {
  .page-id-207 .elementor-top-section .elementor-col-55 { width: 47%; }
  .page-id-207 .elementor-top-section .elementor-col-45 { width: 53%; }

  .page-id-207 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap { display: flex; flex-direction: column; align-content: stretch; padding-top: 0 !important; }
  .page-id-207 .elementor-top-section .elementor-col-45 > .elementor-widget-wrap > .elementor-element { width: 100%; flex: 1; }

  .page-id-207 .elementor-top-section .hero__photo--single {
    height: calc(100% + 120px);
    margin: -56px 0 -64px;
    width: calc(100% + max(24px, (100vw - 1200px) / 2));
    max-width: none;
  }
  .page-id-207 .elementor-top-section .hero__photo--single img {
    height: 100%; width: 100%; object-fit: cover; object-position: 50% 55%;
    border-radius: 10px 0 0 10px;
  }
}

/* — Чекбокс согласия в сайдбаре статьи. Правило .post-sidebar__cta input{width:100%}
     растягивало и его, из-за чего текст согласия уезжал за экран (горизонтальная
     прокрутка на телефоне). Возвращаем чекбоксу его размер. — */
.post-sidebar__cta input[type="checkbox"],
.post-sidebar__cta .form-consent__input {
  width: 16px; height: 16px; flex: none; padding: 0; margin: 2px 0 0;
}
.post-sidebar__cta .form-consent { align-items: flex-start; }
.post-sidebar__cta .form-consent__text { min-width: 0; }

/* — Блок «Из блога» на продуктовых страницах и главной (27.08.2026) — */
.dm-blog-teaser {
  margin: 56px calc(50% - 50vw) 0; padding: 56px calc(50vw - 50%) 60px;
  background: var(--bg-alt); border-top: 1px solid var(--line);
}
.dm-blog-teaser__head {
  max-width: var(--max); margin: 0 auto 26px;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 24px;
}
.dm-blog-teaser__head h2 { margin: 6px 0 0; }
.dm-blog-teaser__all { font-weight: 600; color: var(--accent); text-decoration: none; white-space: nowrap; }
.dm-blog-teaser__all:hover { opacity: .8; }
.dm-blog-teaser__grid {
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px;
}
.dm-blog-teaser__card {
  display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line);
  border-radius: 12px; overflow: hidden; color: inherit;
  transition: transform .15s ease, box-shadow .2s ease;
}
/* ссылки в текстах не подчёркиваем — выделяем цветом и насыщенностью */
.dm-blog-teaser__card,
.dm-blog-teaser__card *,
.dm-blog-teaser__all { text-decoration: none !important; }
.dm-blog-teaser__card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(60,48,26,.10); }
.dm-blog-teaser__img { display: block; aspect-ratio: 16 / 9; background: var(--bg-alt); flex: none; }
.dm-blog-teaser__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dm-blog-teaser__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.dm-blog-teaser__cat {
  align-self: flex-start; font-size: 11px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--accent); font-weight: 700;
}
.dm-blog-teaser__title { font-family: var(--font-h); font-size: 17px; line-height: 1.3; color: var(--text); }
.dm-blog-teaser__more { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--accent); }
@media (max-width: 900px) {
  .dm-blog-teaser__grid { grid-template-columns: 1fr 1fr; }
  .dm-blog-teaser__grid > :nth-child(3) { display: none; }
}
@media (max-width: 560px) {
  .dm-blog-teaser { padding-top: 40px; padding-bottom: 44px; }
  .dm-blog-teaser__grid { grid-template-columns: 1fr; }
  .dm-blog-teaser__grid > :nth-child(3) { display: flex; }
  .dm-blog-teaser__head { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* — Оглавление статьи (27.08.2026) — */
.post-toc {
  margin: 0 0 32px; padding: 18px 22px 20px;
  background: var(--bg-alt); border: 1px solid var(--line); border-radius: 10px;
}
.post-toc__title {
  margin: 0 0 10px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
  color: var(--accent); font-weight: 700;
}
.post-toc__list { margin: 0; padding-left: 20px; display: grid; gap: 7px; }
.post-toc__list li { font-size: 15px; line-height: 1.45; }
.post-toc__list a { color: var(--text); text-decoration: none; border-bottom: 1px solid transparent; }
.post-toc__list a:hover { color: var(--accent); border-bottom-color: currentColor; }
.post-content h2 { scroll-margin-top: 90px; }
