/* ============================================================
   MUNIS MEBEL — стили кастомных блоков (КАНОН v3)
   Подключается на фронте И в редакторе, чтобы превью = сайт.
   Токены продублированы здесь (в редакторе паттерн-CSS не грузится).
   ============================================================ */

:root {
  /* ── Дизайн-система Munis v1 — outputs/design-system-munis.md ── */
  --paper:#ffffff;
  --surface:#f4f5f7;     /* альтернативная полоса секции */
  --plate:#edeff2;       /* подложка под фото товара */
  --sand:#f2eee8;        /* тёплая подложка шоурум-блоков */
  --line:#e3e7ec;
  --line-strong:#cbd2da;
  --ink:#141a22;
  --ink-2:#4a5563;
  --muted:#8a94a1;       /* только для текста от 18px */
  --dark:#1a222d;        /* тёмные секции, утилити-полоса, футер */
  --dark-2:#242e3c;
  --red:#ff0023;         /* бренд: логотип и графика БЕЗ текста, 3.98:1 */
  --red-600:#e4001f;     /* заливки с белым текстом, AA 4.88:1 */
  --red-700:#d1001c;     /* красный текст на светлом, AA 5.63:1 */
  --red-50:#fff0f2;
  /* Ритм: воздух в шоурум-блоках, плотно в каталоге */
  --sec-air:96px;
  --sec-dense:64px;
  --t-color:160ms ease-out;
  --t-move:240ms cubic-bezier(.2,.7,.3,1);
  --shadow-sticky:0 2px 12px rgba(20,26,34,.10);

}

/* Общие */
/* margin-block:0 убирает WP-дефолтный --wp--style--block-gap между блоками */
.rg-b { font-family:'Golos Text',system-ui,sans-serif; color:var(--ink); margin-block: 0; }
.rg-b .serif,
.rg-b h1, .rg-b h2, .rg-b h3, .rg-b h4 { font-family:'Onest','Segoe UI',system-ui,sans-serif; font-weight:500; letter-spacing:-.01em; }
.rg-b .rg-eyebrow { font-family:'Golos Text'; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); font-weight:600; margin:0 0 14px; }
.rg-wrap { max-width:1280px; margin:0 auto; padding:0 28px; }

/* Кнопки */
.rg-btn { display:inline-flex; align-items:center; gap:9px; font-family:'Golos Text'; font-weight:600; font-size:15px; letter-spacing:.01em; padding:14px 26px; border-radius:8px; border:1px solid transparent; cursor:pointer; transition:background .2s,color .2s,border-color .2s; }
.rg-btn--solid { background:var(--red-600); color:var(--paper); border-color:var(--red-600); }
.rg-btn--solid:hover { background:var(--red-700); border-color:var(--red-700); }
.rg-btn--line { background:transparent; color:#ffffff; border-color:#ffffff; }
.rg-btn--line:hover { background:#ffffff; color:var(--ink); }
.rg-btns { display:flex; gap:16px; flex-wrap:wrap; margin-top:30px; }
.rg-lnk { font-weight:600; color:var(--red-600); border-bottom:1.5px solid var(--red-600); padding-bottom:2px; }

/* ── HERO ── */
/* Full-bleed: блок выходит из колонки Neve → контент совпадает по отступу с шапкой */
.rg-block-hero { background:var(--dark); padding:var(--sec-air) 0!important; width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); max-width:100vw; }
.rg-block-hero .rg-eyebrow { color:rgba(255,255,255,.60); }
.rg-block-hero h1 { font-size:clamp(38px,5vw,64px); line-height:1.04; letter-spacing:-.015em; color:#fff; margin:0; }
.rg-block-hero h1 em { font-style:normal; font-weight:700; color:var(--red); }
.rg-block-hero .rg-hero__sub { font-size:19px; color:rgba(255,255,255,.72); max-width:560px; margin:22px 0 0; }

/* ── HERO + ТОВАР (главная) ── */
.rg-block-hero-feat { border-bottom:1px solid var(--line); padding:var(--sec-air) 0!important; }
.rg-block-hero-feat .rg-hf-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; }
.rg-block-hero-feat h1 { font-size:clamp(44px,5.6vw,72px); line-height:1.02; letter-spacing:-.015em; color:var(--ink); margin:0; }
.rg-block-hero-feat h1 em { font-style:normal; font-weight:700; color:var(--red-700); }
.rg-block-hero-feat .rg-hf-lead { font-size:19px; color:var(--ink-2); max-width:480px; margin:26px 0 0; }
.rg-block-hero-feat .rg-btns { margin-top:34px; align-items:center; }
.rg-block-hero-feat .rg-hf-meta { display:flex; gap:34px; margin-top:46px; padding-top:30px; padding-bottom:24px; border-top:1px solid var(--line); }
.rg-block-hero-feat .rg-hf-stat span { font-family:'Onest'; font-size:30px; font-weight:500; color:var(--red-600); display:block; line-height:1; }
.rg-block-hero-feat .rg-hf-stat small { display:block; margin-top:7px; font-size:13.5px; color:var(--muted); letter-spacing:.01em; line-height:1.4; }
.rg-block-hero-feat .rg-feat { position:relative; background:var(--paper); border:1px solid var(--line); padding:38px 36px 32px; }
.rg-block-hero-feat .rg-feat::before { content:""; position:absolute; inset:9px; border:1px solid var(--line); pointer-events:none; }
.rg-block-hero-feat .rg-ft-tag { position:absolute; top:-13px; left:30px; background:var(--red-600); color:#fff; font-size:11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; padding:6px 13px; z-index:2; }
.rg-block-hero-feat .rg-ft-img { position:relative; height:210px; overflow:hidden; margin-bottom:22px; border-bottom:1px solid var(--line); }
.rg-block-hero-feat .rg-ft-img img { width:100%; height:100%; object-fit:cover; object-position:center; }
.rg-block-hero-feat .rg-ft-cat { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.rg-block-hero-feat .rg-ft-name { font-family:'Onest'; font-size:32px; font-weight:500; line-height:1.05; margin:10px 0 14px; color:var(--ink); }
.rg-block-hero-feat .rg-ft-desc { font-size:15px; color:var(--ink-2); min-height:44px; margin:0; }
.rg-block-hero-feat .rg-ft-buy { display:flex; align-items:flex-end; justify-content:space-between; margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.rg-block-hero-feat .rg-ft-price { font-family:'Onest'; font-size:34px; font-weight:500; color:var(--ink); }
.rg-block-hero-feat .rg-ft-price small { font-family:'Golos Text'; font-size:14px; color:var(--muted); font-weight:500; }

/* ── ПОЛОСА КАТЕГОРИЙ ── */
.rg-block-cats { background:var(--surface); border-bottom:1px solid var(--line); }
.rg-block-cats .rg-wrap { padding:0; }
.rg-block-cats .rg-cats-row { display:flex; align-items:stretch; gap:0; flex-wrap:wrap; }
.rg-block-cats .rg-cat-item { flex:1; min-width:160px; text-align:center; padding:26px 14px; font-size:15.5px; font-weight:600; color:var(--ink-2); border-right:1px solid var(--line); transition:.2s; display:block; }
.rg-block-cats .rg-cat-item:last-child { border-right:0; }
.rg-block-cats .rg-cat-sub { display:block; font-size:12px; color:var(--muted); font-weight:500; margin-top:3px; letter-spacing:.02em; }
.rg-block-cats a.rg-cat-item:hover { background:var(--paper); color:var(--red-600); }

/* ── О ПРОИЗВОДСТВЕ (story) ── */
.rg-block-story { background:var(--dark); color:rgba(255,255,255,.86); padding:var(--sec-air) 0!important; }
.rg-block-story .rg-story-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; }
.rg-block-story .rg-eyebrow { color:rgba(255,255,255,.60); }
.rg-block-story h2 { font-size:clamp(30px,3.4vw,44px); line-height:1.08; color:#fff; margin:20px 0 22px; letter-spacing:-.01em; }
.rg-block-story h2 em { font-style:normal; font-weight:700; color:var(--red); }
.rg-block-story p { color:rgba(255,255,255,.72); font-size:16.5px; margin:0 0 18px; max-width:520px; }
.rg-block-story .rg-story-sig { margin-top:24px; font-family:'Onest'; font-size:18px; font-weight:600; color:rgba(255,255,255,.86); }
.rg-block-story .rg-story-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:34px; padding-top:28px; border-top:1px solid rgba(255,255,255,.14); }
.rg-block-story .rg-story-stat span { font-family:'Onest'; font-size:34px; font-weight:500; color:var(--red); display:block; line-height:1; }
.rg-block-story .rg-story-stat small { font-size:13.5px; color:rgba(255,255,255,.60); display:block; margin-top:7px; line-height:1.4; max-width:150px; }
.rg-block-story .rg-story-photo { position:relative; margin:0; }
.rg-block-story .rg-story-photo img { width:100%; height:100%; min-height:420px; object-fit:cover; border:1px solid rgba(255,255,255,.16); }
.rg-block-story .rg-story-photo figcaption { position:absolute; left:0; bottom:0; background:var(--dark); color:rgba(255,255,255,.72); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; padding:9px 15px; border-top:1px solid rgba(255,255,255,.16); border-right:1px solid rgba(255,255,255,.16); }

/* ── ЖУРНАЛ ── */
.rg-block-journal { background:var(--surface); padding:var(--sec-air) 0!important; }
.rg-block-journal .rg-sh { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:44px; }
.rg-block-journal .rg-sh h2 { font-size:clamp(30px,3.6vw,46px); letter-spacing:-.01em; line-height:1.05; color:var(--ink); max-width:560px; margin:0; }
.rg-block-journal .rg-sh-r { display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.rg-block-journal .rg-sh p { color:var(--ink-2); font-size:16px; max-width:320px; margin:0; }
.rg-block-journal .rg-jgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; }
.rg-block-journal .rg-jc { border-top:2px solid var(--ink); padding-top:20px; }
.rg-block-journal .rg-jc-cat { font-size:11.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--red-700); font-weight:700; }
.rg-block-journal .rg-jc h4 { font-size:23px; line-height:1.2; margin:12px 0 16px; color:var(--ink); }
.rg-block-journal .rg-jc-more { font-size:14px; font-weight:600; color:var(--red-600); }
.rg-block-journal .rg-jc-more:hover { text-decoration:underline; }

/* ── SECTION HEAD ── */
.rg-block-sec { padding:var(--sec-dense) 0!important; }
.rg-block-sec .rg-sec-grid { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; border-bottom:1px solid var(--line); padding-bottom:18px; }
.rg-block-sec h2 { font-size:clamp(28px,3.4vw,44px); line-height:1.06; color:var(--ink); max-width:620px; margin:0; }
.rg-block-sec .rg-lead { color:var(--ink-2); font-size:16px; max-width:340px; margin:0; }

/* ── STATS ── */
.rg-block-stats { background:var(--dark); padding:var(--sec-dense) 0!important; }
.rg-block-stats .rg-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:30px 40px; }
.rg-block-stats .rg-stat .num { font-family:'Onest'; font-weight:500; font-size:46px; color:var(--red); line-height:1; display:block; }
.rg-block-stats .rg-stat .lab { font-size:14px; color:rgba(255,255,255,.60); margin-top:8px; display:block; letter-spacing:.02em; }

/* ── VALUES (нумерация) ── */
.rg-block-values { padding:var(--sec-dense) 0!important; }
.rg-block-values .rg-values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); border-top:1px solid var(--line); }
.rg-block-values .rg-val { padding:36px 30px 32px; border-right:1px solid var(--line); }
.rg-block-values .rg-val:last-child { border-right:0; }
.rg-block-values .rg-val .no { font-family:'Onest'; font-size:16px; font-weight:600; letter-spacing:.05em; color:var(--red-700); }
.rg-block-values .rg-val h4 { font-size:22px; margin:14px 0 9px; color:var(--ink); }
.rg-block-values .rg-val p { font-size:15px; color:var(--ink-2); margin:0; }

/* ── PRODUCT GRID ── */
.rg-block-products { padding:var(--sec-dense) 0!important; }
.rg-block-products .rg-allrow { display:flex; justify-content:center; margin-top:40px; }
.rg-block-products .rg-pg-head { display:grid; grid-template-columns:2fr 1fr; gap:40px; align-items:end; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:40px; }
.rg-block-products .rg-pg-head h2 { font-size:clamp(28px,3.4vw,44px); color:var(--ink); margin:0; }
.rg-block-products .rg-pg-intro { font-size:16px; color:var(--ink-2); margin:0; line-height:1.55; }
.rg-block-products .rg-pg-h2 { font-size:clamp(28px,3.4vw,44px); color:var(--ink); border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:40px; }
@media(max-width:782px){
  .rg-block-products .rg-pg-head { grid-template-columns:1fr; gap:14px; }
}

/* ── CTA ── */
.rg-block-cta { background:var(--surface); padding:var(--sec-dense) 0!important; text-align:center; }
.rg-block-cta h2 { font-size:clamp(26px,3vw,40px); color:var(--ink); margin:0 0 14px; }
.rg-block-cta p { color:var(--ink-2); max-width:560px; margin:0 auto 24px; }
.rg-block-cta .rg-btns { justify-content:center; }
.rg-block-cta .rg-btn--solid { color:var(--paper); }

/* ── ПОЛОСА «ПОМОЖЕМ ПОДОБРАТЬ» ── */
.rg-block-help { border-top:1px solid var(--line); }
.rg-block-help .rg-wrap { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:60px 28px; flex-wrap:wrap; }
.rg-block-help h3 { font-family:'Onest'; font-weight:500; font-size:clamp(26px,3vw,36px); color:var(--ink); max-width:560px; line-height:1.1; margin:0; }
.rg-block-help h3 em { font-style:normal; font-weight:700; color:var(--red-700); }

/* ── CONTACT CARDS ── */
.rg-block-contacts { padding:var(--sec-dense) 0!important; }
.rg-block-contacts .rg-cc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; }
.rg-block-contacts .rg-cc { border:1px solid var(--line); border-radius:2px; padding:30px 24px; background:var(--paper); }
.rg-block-contacts .rg-cc svg { width:26px; height:26px; stroke:var(--red-600); fill:none; stroke-width:1.6; display:block; }
.rg-block-contacts .rg-cc h3 { font-size:20px; margin:14px 0 8px; color:var(--ink); }
.rg-block-contacts .rg-cc p { color:var(--ink-2); margin:0; }
.rg-block-contacts .rg-cc a { color:var(--red-600); }

/* ── VACANCY ── */
.rg-block-vacancy { padding:40px 0!important; }
.rg-block-vacancy .rg-vac { border-left:2px solid var(--red-600); border-top:1px solid var(--line); border-right:1px solid var(--line); border-bottom:1px solid var(--line); padding:34px; background:var(--paper); }
.rg-block-vacancy .rg-vac .meta { color:var(--red-700); }
.rg-block-vacancy .rg-vac h3 { font-size:26px; color:var(--ink); margin:6px 0 18px; }
.rg-block-vacancy .rg-vac-cols { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.rg-block-vacancy .rg-vac h4 { font-size:17px; color:var(--red-700); margin:0 0 8px; }
.rg-block-vacancy .rg-vac ul { color:var(--ink-2); margin:0 0 18px; padding-left:18px; }

/* Адаптив */
@media (max-width:782px) {
  .rg-block-journal .rg-jgrid { grid-template-columns:1fr; }
  .rg-block-journal .rg-sh { flex-direction:column; align-items:flex-start; gap:14px; }
  .rg-block-journal .rg-sh-r { align-items:flex-start; }
  .rg-block-story .rg-story-grid { grid-template-columns:1fr; gap:40px; }
  .rg-block-story .rg-story-photo img { min-height:320px; }
  .rg-block-cats .rg-cats-row { display:grid; grid-template-columns:1fr 1fr; }
  .rg-block-cats .rg-cat-item { border-bottom:1px solid var(--line); }
  .rg-block-hero-feat .rg-hf-grid { grid-template-columns:1fr; gap:44px; }
  .rg-block-sec .rg-sec-grid { flex-direction:column; align-items:flex-start; gap:14px; }
  .rg-block-vacancy .rg-vac-cols { grid-template-columns:1fr; gap:24px; }
  .rg-block-help .rg-wrap { flex-direction:column; align-items:flex-start; gap:20px; }
}

/* Тёмные секции в редакторе: ужать и отключить full-width breakout */
.editor-styles-wrapper .rg-block-hero { padding-left:28px; padding-right:28px; box-shadow:none; clip-path:none; }
.editor-styles-wrapper .rg-block-stats { padding-left:28px; padding-right:28px; }

/* ── АДАПТИВ: ПЛАНШЕТ (768px–1023px) ── */
@media (max-width:1023px) {
  :root { --sec-air:64px; --sec-dense:56px; }
  .rg-block-hero-feat .rg-hf-grid { gap:40px; }
  .rg-block-story .rg-story-stats { grid-template-columns:repeat(2,1fr); gap:20px; }
  .rg-block-help .rg-wrap { padding:44px 28px; }
}

/* ── АДАПТИВ: МОБИЛЬНЫЙ (<600px) ── */
@media (max-width:599px) {
  /* Обёртка */
  .rg-wrap { padding:0 16px; }

  /* Токены на мобильном */
  :root { --sec-air:64px; --sec-dense:40px; }

  /* Hero */
  .rg-block-hero h1 { font-size:clamp(32px,9vw,44px); }
  .rg-block-hero .rg-hero__sub { font-size:17px; }

  /* Hero + товар */
  .rg-block-hero-feat { padding:44px 0!important; }
  .rg-block-hero-feat .rg-hf-grid { grid-template-columns:1fr; gap:32px; }
  .rg-block-hero-feat h1 { font-size:clamp(34px,9vw,48px); }
  .rg-block-hero-feat .rg-hf-lead { font-size:17px; }
  .rg-block-hero-feat .rg-hf-meta { gap:20px; flex-wrap:wrap; margin-top:28px; }
  .rg-block-hero-feat .rg-feat { padding:24px 20px 20px; }
  .rg-block-hero-feat .rg-ft-buy { flex-direction:column; align-items:stretch; gap:16px; }
  .rg-block-hero-feat .rg-ft-buy .rg-btn { width:100%; justify-content:center; }

  /* Кнопки */
  .rg-btns { flex-direction:column; gap:10px; }
  .rg-btn { width:100%; justify-content:center; padding:14px 20px; }

  /* Категории */
  .rg-block-cats .rg-cats-row { grid-template-columns:1fr 1fr; }

  /* О производстве */
  .rg-block-story { padding:48px 0!important; }
  .rg-block-story .rg-story-grid { grid-template-columns:1fr; gap:32px; }
  .rg-block-story .rg-story-photo img { min-height:240px; }
  .rg-block-story .rg-story-stats { grid-template-columns:repeat(2,1fr); gap:16px; margin-top:24px; }
  .rg-block-story .rg-story-stat span { font-size:26px; }

  /* Журнал */
  .rg-block-journal { padding:44px 0 !important; }
  .rg-block-journal .rg-jgrid { grid-template-columns:1fr; gap:24px; }
  .rg-block-journal .rg-sh { flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:28px; }
  .rg-block-journal .rg-sh h2 { font-size:clamp(26px,8vw,34px); }

  /* Section head */
  .rg-block-sec { padding:44px 0 0!important; }
  .rg-block-sec .rg-sec-grid { flex-direction:column; align-items:flex-start; gap:10px; }

  /* Stats */
  .rg-block-stats { padding:44px 0!important; }
  .rg-block-stats .rg-stats-grid { grid-template-columns:repeat(2,1fr); gap:20px 24px; }
  .rg-block-stats .rg-stat .num { font-size:34px; }

  /* Values */
  .rg-block-values .rg-values-grid { grid-template-columns:1fr; }
  .rg-block-values .rg-val { border-right:0; border-bottom:1px solid var(--line); padding:28px 20px; }
  .rg-block-values .rg-val:last-child { border-bottom:0; }

  /* Product grid */
  .rg-block-products { padding:40px 0 48px!important; }
  .rg-block-products .rg-pg-head { grid-template-columns:1fr; gap:12px; }

  /* CTA */
  .rg-block-cta { padding:44px 0!important; }

  /* Help band */
  .rg-block-help .rg-wrap { flex-direction:column; align-items:flex-start; gap:18px; padding:36px 16px; }

  /* Contacts */
  .rg-block-contacts { padding:44px 0!important; }
  .rg-block-contacts .rg-cc-grid { grid-template-columns:1fr; }

  /* Vacancy */
  .rg-block-vacancy .rg-vac { padding:22px 18px; }
  .rg-block-vacancy .rg-vac-cols { grid-template-columns:1fr; gap:16px; }
}
