/* ============================================================
   SKIN: Clever (clever-center.ru)
   Палитра: бордо #8C2B3A (решение владельца по референсу, согласовано
   с тёмно-бронзовым остеклением фасада) · тёплый графит #241E1A ·
   тёплая бумага #F4F1EC · белые карточки.
   Типографика: Golos Text (display 600/800) + IBM Plex Sans (body 400/500).
   Радиус-система: 12px карточки / 6px мелкое. Family-agnostic слой.
   z-scale: 1 — контент над фоном; 5 — оверлеи блоков; 100 — шапка (канон).
   ============================================================ */

/* ---------- Шрифты (self-hosted, cyrillic + latin) ---------- */
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-600-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-800-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/IBMPlexSans/ibm-plex-sans-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/IBMPlexSans/ibm-plex-sans-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/IBMPlexSans/ibm-plex-sans-cyrillic-500-normal.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/assets/fonts/IBMPlexSans/ibm-plex-sans-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212;
}

/* ---------- Токены ---------- */
:root {
  /* перекрытия канона */
  --color-secondary: #8C2B3A;
  --color-primary-text: #241E1A;
  --color-secondary-text: #6B6259;
  --color-grey: #B7AFA4;
  --color-light: #F4F1EC;
  --color-grey-bg: #F4F1EC;
  --border-radius: 12px;
  --border-radius-min: 6px;
  --border-radius-arrow: 6px;
  --font-family: 'IBM Plex Sans', 'Montserrat', sans-serif;
  --shadow-color: rgb(56 40 32 / 12%);

  /* свои токены скина */
  --skin-ink: #241E1A;          /* тёплый графит: тёмные полосы, футер */
  --skin-ink-2: #2E2620;        /* приподнятая поверхность на графите */
  --skin-paper: #F4F1EC;        /* тёплая бумага: фон страницы */
  --skin-card: #FFFFFF;
  --skin-white: #FFFFFF;         /* текст/иконки на графите и акценте */         /* карточки */
  --skin-line: #E4DED6;         /* границы на светлом */
  --skin-line-dark: #453A32;    /* границы на графите */
  --skin-accent: #8C2B3A;       /* бордо */
  --skin-accent-deep: #6E1F2C;  /* hover бордо */
  --skin-on-dark: #E8E2DA;      /* вторичный текст на графите */
  --skin-muted: #6B6259;        /* вторичный текст на светлом */
  --skin-font-display: 'Golos Text', 'IBM Plex Sans', sans-serif;
}

/* ---------- База ---------- */
body {
  background: var(--skin-paper);
  color: var(--color-primary-text);
  line-height: 1.5;
}

h1, h2, h3, .title-large, .title-color {
  font-family: var(--skin-font-display);
  font-weight: 800;
  text-wrap: balance;
}

/* ---------- Шапка ---------- */
header {
  background: var(--skin-ink);
}
header.header-white {
  background: var(--skin-ink);
}

header a,
header p,
header li > a,
header li > p {
  color: var(--skin-white);
}

header li > a.active,
header li > p.active {
  color: var(--skin-accent);
}

header svg g path {
  fill: var(--skin-white);
}

header .burger .burger__line {
  background: var(--skin-white);
}
/* канонная белая блюр-плашка при скролле — под тон скина */
header.fixed,
header.header-white.fixed {
  background: var(--skin-ink);
  backdrop-filter: none;
  box-shadow: 0 1px 0 var(--skin-line-dark);
}

/* Канон .fixed красит текст в #000 — на графите он пропадает */
header.fixed a,
header.fixed p,
header.fixed li > a,
header.fixed li > p,
header.header-white.fixed a,
header.header-white.fixed p,
header.header-white.fixed li > a,
header.header-white.fixed li > p {
  color: var(--skin-white);
}

header.fixed li > a.active,
header.fixed li > p.active,
header.header-white.fixed li > a.active,
header.header-white.fixed li > p.active {
  color: var(--skin-accent);
}

header.fixed svg g path,
header.header-white.fixed svg g path {
  fill: var(--skin-white);
}

header.fixed .burger .burger__line,
header.header-white.fixed .burger .burger__line {
  background: var(--skin-white);
}

/* Мобильное меню открыто: шапка совпадает с overlay_menu */
header.active,
header.header-white.active,
header.fixed.active,
header.header-white.fixed.active {
  background: var(--skin-card);
  backdrop-filter: none;
  box-shadow: none;
  border-bottom: 1px solid var(--skin-line);
}

header.active a,
header.active p,
header.active li > a,
header.active li > p,
header.header-white.active a,
header.header-white.active p,
header.header-white.active li > a,
header.header-white.active li > p {
  color: var(--color-primary-text);
}

header.active li > a.active,
header.active li > p.active,
header.header-white.active li > a.active,
header.header-white.active li > p.active {
  color: var(--skin-accent);
}

header.active svg g path,
header.header-white.active svg g path {
  fill: var(--color-primary-text);
}

header.active .burger .burger__line,
header.header-white.active .burger .burger__line {
  background: var(--color-primary-text);
}

header.active .header-logo-white,
header.header-white.active .header-logo-white {
  filter: none;
}

.menu-mobile > .container {
  background: var(--skin-card);
}

/* ---------- Кнопки ---------- */
.btn.btn-secondary {
  background: var(--skin-accent);
  border-color: var(--skin-accent);
  color: var(--skin-white);
  border-radius: var(--border-radius-min);
}
.btn.btn-secondary:hover,
.btn.btn-secondary:focus {
  background: var(--skin-accent-deep);
  border-color: var(--skin-accent-deep);
  color: var(--skin-white);
}

/* Фокус: канон местами гасит outline — возвращаем видимый */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--skin-accent);
  outline-offset: 2px;
}

/* ---------- Табы Аренда/Продажа (фикс 13: канонный бирюзовый хардкод) ---------- */
.js-office-btn { color: var(--skin-accent); }
.js-office-btn.is-active { color: var(--color-primary-text); }
.js-office-btn.disabled { color: var(--skin-muted); }
.office-deal-nav__sep { color: var(--skin-muted); }

/* ---------- Канонные секции под тон ---------- */
.office-table thead td {
  background: var(--skin-ink);
  color: var(--skin-white);
}
.office-table td {
  font-variant-numeric: tabular-nums;
}
.structure_item {
  background: var(--skin-card);
  border: 1px solid var(--skin-line);
  border-radius: var(--border-radius);
}

/* Гистограмма средней ставки */
.histogram .stand { background: var(--skin-accent); }
.histogram .count_label,
.histogram .label { font-variant-numeric: tabular-nums; }

/* Карточки лотов канона */
.card {
  border-radius: var(--border-radius);
}
.office-card-link { color: inherit; text-decoration: none; }

/* ---------- Формы ---------- */
.form-input input,
.form-input textarea {
  background: var(--skin-card);
  border: 1px solid var(--skin-line);
  border-radius: var(--border-radius-min);
  color: var(--color-primary-text);
}
.form-input input::placeholder,
.form-input textarea::placeholder {
  color: var(--skin-muted);
}

/* Согласие на обработку ПД */
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}

.form-consent__input {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  min-width: 1.125rem;
  margin: 0.2rem 0 0;
  accent-color: var(--skin-accent);
  cursor: pointer;
}

.form-consent__label {
  margin: 0;
  line-height: 1.45;
  flex: 1;
  text-align: left;
}

.form-consent .form-consent__label.form-policy {
  text-align: left;
}

.form-consent.input-error .form-consent__label {
  color: #c62828;
}

@media (max-width: 767.98px) {
  .form-consent .form-consent__label.form-policy {
    text-align: left;
  }
}

/* Статус отправки формы (inline) */
.form-feedback {
  margin-bottom: 1rem;
  padding: 0.875rem 1rem;
  border-radius: var(--border-radius-min);
  font-size: 0.9375rem;
  line-height: 1.45;
}

.form-feedback--success {
  background: #e8f5e9;
  border: 1px solid #81c784;
  color: #1b5e20;
}

.form-feedback--error {
  background: #ffebee;
  border: 1px solid #e57373;
  color: #b71c1c;
}

/* ---------- Футер: графит, не акцент ---------- */
footer {
  background: var(--skin-ink);
}
footer a.color-white:hover { color: var(--skin-on-dark); }

/* ---------- Разное ---------- */
::selection { background: var(--skin-accent); color: var(--skin-white); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
