/* ==========================================================================
   RAUM2 — точечные правки со скринов Ильи (11.08.2026)
   Грузится ПОСЛЕДНИМ (после всех css raum1) — только на raum2.
   raum1 (боевой) НЕ трогаем: порт этих правок на raum1 — после ОК Ильи.
   Правки: 1) cookie-баннер больше не налезает на CTA/контент
           2) .logo-mark — вместо пустого квадрата осмысленная марка
           3) горизонтальный оверфлоу hero на мобилке + content-hugging guard
   ========================================================================== */

/* ---------- 0. Content-hugging guard: никакого горизонтального скролла ---------- */
html{overflow-x:hidden;}

/* ---------- 1. Cookie-баннер (sky-фикс 11.08e) ----------
   Проблема: карточка в левом нижнем углу (max-width 380, bottom 20) плавающе
   налезала на CTA «Получить расчёт… — 0 ₽» / stats — на 1600 поверх кнопки,
   на 1920 поверх цифр. CTA сидит внизу левой половины героя, поэтому баннер
   в той же зоне неизбежно пересекался.
   Стало: компактная УЗКАЯ лента, прижатая в самый левый-нижний угол
   (bottom 12, шире не 320px), мельче шрифт/паддинг — верх баннера уходит
   НИЖЕ уровня CTA. z-index ниже плавающих кнопок. Разведена по зонам:
   cookie=низ-лево · Алина(.float)=низ-право · стрелки=внутри медиа. */
/* Десктоп: cookie в ПРАВЫЙ нижний угол, НАД плавающей Алиной (.float низ-право).
   Левая половина героя (текст+CTA «…— 0 ₽») остаётся полностью свободна — что
   при высоте окна 900px (ноут 1600×900) невозможно было гарантировать слева:
   CTA прижат к дну, cookie слева неизбежно пересекала кнопку (замер: 1440 hit
   233×46, 1600 156×46). Правый-низ над картинкой свободен на всех ширинах. */
.cookie-banner{
  left:auto; right:20px; bottom:84px;
  transform:none;
  z-index:60;
  max-width:min(320px,calc(100vw - 40px));
  padding:10px 14px;
  gap:8px 12px;
  font-size:12px; line-height:1.4;
  border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.30);
  animation:raum2CookieUp .4s cubic-bezier(.4,0,.2,1);
}
.cookie-banner__text{flex:1 1 100%;}
.cookie-banner__btn{padding:7px 18px;font-size:12px;}
.cookie-banner.is-hide{opacity:0;transform:translateY(8px);transition:.3s;}
@keyframes raum2CookieUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* десктопный резерв места не нужен (баннер в углу), но на всякий случай убираем
   старый большой отступ снизу, чтобы под баннером не зияла пустота */
body.cookie-open{padding-bottom:0;}

@media(max-width:520px){
  .cookie-banner{
    left:0; right:0; bottom:0;
    max-width:100%;
    border-radius:14px 14px 0 0;
    transform:none;
  }
  .cookie-banner.is-hide{transform:translateY(8px);}
  /* поднять плавающую «Алину» над полноширинным баннером, пока он открыт */
  body.cookie-open .float{bottom:150px;}
  /* A4 (07.09.2026): резерв под ленту (~70px), чтобы низ страницы не прятался под ней;
     общее body.cookie-open{padding-bottom:0} выше — для десктопа, где баннер в углу. */
  body.cookie-open{padding-bottom:92px;}
}

/* ---------- 2. .logo-mark: марка вместо пустого квадрата ----------
   Было: width:.42em;height:1em;border:.07em solid currentColor → полый
   вытянутый прямоугольник, читается как «сломанный символ».
   Стало: сплошная винная вертикальная засечка — намеренный бренд-акцент рядом с РАУМ.
   (Финальный знак марки — за Ильёй/Лео; это осмысленный интерим, не «пусто».) */
.logo-mark{
  width:.26em; height:1em;
  border:none;
  background:var(--wine,#A31C3C);
  border-radius:2px;
  flex:none;
}

/* ---------- 3. Hero: убрать горизонтальный оверфлоу на мобилке ----------
   Было: .hero__detail{position:absolute;right:-6px;...} торчит за правый край
   вьюпорта при стекинге → горизонтальный скролл и «съезд» макета.
   Стало: клипим переполнение секции и втягиваем деталь внутрь на узких экранах. */
@media(max-width:900px){
  .hero{overflow:hidden;}
  .hero__detail{right:0; bottom:-14px; width:30%;}
}

/* ---------- 4. Hero: ОДИНАРНЫЙ баннер — решение Ильи 11.08 ----------
   Было: большой слайдер + маленькая врезка .hero__detail (width:38%) внахлёст
   снизу-справа → кривой «двойной» разной ширины.
   Стало: один чистый слайдер на всю колонку, врезка убрана. */
.hero__detail{ display:none !important; }

/* ---------- 5. Hero: равные половины 50/50 — ТОЛЬКО десктоп ----------
   ⚠ РЕГРЕССИЯ (sky-блокер 2): раньше .hero__grid{grid-template-columns:1fr 1fr}
   и aspect-ratio задавались ГЛОБАЛЬНО и грузились после responsive.css →
   перебивали мобильный .hero__grid{1fr}. На мобилке грид оставался двухколоночным,
   media-колонка схлопывалась в 0px, а hero__content сдвигался вправо на ~53px
   и резался справа (overflow-x:hidden лишь МАСКИРОВАЛ это, скролла не было).
   Фикс корня: заворачиваем правку в min-width:901px. На ≤900 работает родной
   стек raum1 (grid-template-columns:1fr) — та же, что и на боевом raum1. */
@media(min-width:901px){
  .hero__grid{ grid-template-columns:1fr 1fr; }
  .hero__media-card{ aspect-ratio:4/5; min-height:clamp(360px,52dvh,560px); }
}

/* ---------- 5b. Мобилка: заголовок не распирает грид-ячейку (корень блокера 2) ----------
   Grid-элемент имеет min-width:auto → не сжимается ниже min-content. .hero__title
   с floor 46px даёт min-content ≈389px (длинное «Дизайнерская»), растягивая колонку
   шире вьюпорта → контент торчал вправо ~19px даже после починки грида.
   Фикс: min-width:0 снимает auto-минимум, overflow-wrap разрешает перенос,
   на узких экранах слегка снижаем нижний порог кегля заголовка. */
@media(max-width:900px){
  .hero__grid > *{ min-width:0; }
  .hero__title, .hero__lead, .hero__eyebrow-label{ overflow-wrap:break-word; }
}
@media(max-width:420px){
  .hero__title{ font-size:clamp(38px,11vw,46px); }
}

/* ---------- 6. Hero-слайдер: убрать одинокую стрелку «‹» у шва половин ----------
   Было: .hero-slider__arr--prev{left:12px} вставала у левого края медиа = у стыка
   левой (текст) и правой (картинка) колонок → «висячая» стрелка на шве.
   Стало: prev спрятана; next оставляем у правого края медиа (обе стрелки внутри). */
.hero-slider__arr--prev{ display:none; }

/* ---------- 7. Hero-медиа: правое поле + поднять кадр (premium) ----------
   Было: правая карточка уходила в самый край вьюпорта без правого поля,
   а кадр обрезан сверху (виден потолок). Стало: даём правое поле героя и
   поднимаем кадр object-position, чтобы верх сцены не срезался. */
@media(min-width:901px){
  .hero{ padding-right:clamp(24px,4vw,72px); }
  .hero__media-img{ object-position:center 22%; }
}

/* ---------- 8. Мобилка: «Алина» (.float) не поверх CTA/квиза (sky-блокер 3) ----------
   Было: .float{right:20;bottom:20} наезжала на кнопку «Смотреть фактуры» героя
   и на текст секции квиза. Стало: приподнимаем плавашку над контентом на узких
   экранах (когда cookie закрыт — базовый bottom; открыт — правило из блока 1). */
@media(max-width:900px){
  .float{ bottom:26px; right:14px; }
}
@media(max-width:520px){
  .float{ bottom:22px; right:12px; }
  .fbtn.alina{ font-size:13px; padding:0 16px; height:44px; }
}

/* ---------- 9. Мобилка + cookie открыт: «Алина» не поверх eyebrow (11.08) ----------
   Замер CDP (innerH 850): eyebrow .hero__eyebrow-label top≈664 bottom≈692;
   .float при body.cookie-open{bottom:150px} (блок 1) даёт низ≈700 → лента
   Алины вертикально накрывает eyebrow-строку «…ПАНЕЛИ · ПРОИЗВОДСТВО РОССИЯ»,
   горизонтальный нахлёст ~96px. Правило блока 1 (спец. 0,2,0) перебивало
   мобильный .float (0,1,0). Здесь спец. 0,2,0 внутри @media → поднимаем
   плавашку ВЫШЕ eyebrow (низ float 850-210=640 < eyebrow.top 664), в свободную
   зону над секцией. Когда cookie закрыт — работает блок 8 (bottom:22px), без изменений. */
@media(max-width:520px){
  body.cookie-open .float{ bottom:210px; }
}

/* ---------- 10. Hero: колонки грида НЕ распираются контентом (04.09.2026, Макс) ----------
   Замер live (headless Chrome, шрифты живые) на 1280·1440·1600·1920:
   Было: grid-item имеет min-width:auto → левая колонка растёт до min-content самого
   длинного слова заголовка («Дизайнерская» при 96px = 812px). На слайде 1 картинка
   уезжала за правый край на 195–310px (маскировал html{overflow-x:hidden}); на слайде 2
   колонка сжималась до 510px, стат-ряд с 4×58px зазоров не влезал → «0 ₽» на две строки,
   ряд накрывал плашку квиза на 76–92px.
   Стало: min-width:0 (как уже сделано для ≤900 в блоке 5b), кегль заголовка под ширину
   колонки (604px при maxw 1280 → 70px), стат-ряд — цифры без переноса, зазоры уже,
   кегль цифр чуть меньше. Замер после: CUT ≤ 0 и OVERLAP ≤ −72 на всех ширинах, оба слайда. */
@media(min-width:901px){
  .hero__grid > *{ min-width:0; }
  .hero__title{ font-size:clamp(40px,4.9vw,70px); overflow-wrap:break-word; }
  .stats{ gap:clamp(22px,2.6vw,44px); }
  .stat--divided{ padding-left:clamp(22px,2.6vw,44px); }
  .stat__num{ white-space:nowrap; font-size:clamp(30px,2.8vw,40px); }
}
