/* ============================================================
   SKIN «lighthouse»: лайм · зелёно-графит · тёплый крем
   Слой 2 из 3 (канон main.css → skin.css → family-showcase.css).
   Family-agnostic: только токены, шрифты и точечные перекрытия
   захардкоженных значений канона. Референс — макет владельца.
   Радиус-система: контейнеры/карточки 10px, интерактив (кнопки,
   чипы) — пилюля 999px. Без исключений.
   z-index шкала: 1 контент · 2 оверлеи блоков · 10 шапка ·
   100 мобильное меню (канон). Выше не лезем.
   ============================================================ */

/* ---------- Шрифты: self-hosted woff2, cyrillic + latin ---------- */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/InterTight/inter-tight-cyrillic-800-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/assets/fonts/InterTight/inter-tight-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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/InterTight/inter-tight-cyrillic-700-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/assets/fonts/InterTight/inter-tight-latin-700-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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-cyrillic-400-normal.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/GolosText/golos-text-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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@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+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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- Токены ---------- */
:root {
  /* перекрытия канона */
  --color-primary-text: #1A1E1A;
  --color-secondary-text: #4A4F48;
  --color-secondary: #131A17;      /* канонный «акцент» → графит: лайм отдаём точечным элементам */
  --color-grey: #8C9188;
  --color-light: #F7F5EE;
  --color-grey-bg: #F0EDE4;
  --font-family: 'Golos Text', 'Montserrat', sans-serif;

  /* свои токены скина */
  --sw-lime: #D3F53C;              /* акцент, один на страницу; текст на нём — только --sw-dark */
  --sw-dark: #131A17;              /* зелёно-графит: тёмные полосы, шапка, футер */
  --sw-dark-soft: #1E2621;         /* карточки на тёмном */
  --sw-ivory: #F0EDE4;             /* тёплый крем: светлые секции */
  --sw-paper: #FFFFFF;             /* карточки на светлом */
  --sw-ink: #1A1E1A;               /* текст на светлом */
  --sw-ink-soft: #4A4F48;          /* вторичный текст на светлом */
  --sw-light-text: #EDEEE8;        /* текст на тёмном */
  --sw-light-soft: #B9BDB4;        /* вторичный текст на тёмном */
  --sw-line: #DCD8CB;              /* бордеры на светлом */
  --sw-line-dark: #2A332D;         /* бордеры на тёмном */
  --sw-font-display: 'Inter Tight', 'Golos Text', sans-serif;
  --sw-ph-bg: #E7E4DA;              /* подложка фото до загрузки */
  --sw-radius-card: 10px;
  --sw-radius-pill: 999px;
}

/* ---------- База поверх канона ---------- */
body {
  background: var(--sw-ivory);
  color: var(--sw-ink);
  font-family: var(--font-family);
}

h1, h2, .title-large, .title-color {
  font-family: var(--sw-font-display);
  font-weight: 800;
  letter-spacing: -0.01em;
}
h1, h2 { text-wrap: balance; }
.title-color { color: var(--color-primary-text); }

/* ---------- Шапка и футер: тёмный нейтральный тон ---------- */
header, header.header-white {
  background: var(--sw-dark);
}
header a, header p, header .font-bold, header.header-white a, header.header-white p {
  color: var(--sw-light-text);
}
header nav a:hover, header nav a.active { color: var(--sw-lime); }
/* канонная белая блюр-плашка при скролле — нейтрализуем под тон */
header.fixed, header.header-white.fixed {
  background: var(--sw-dark);
  backdrop-filter: none;
}
header.fixed a,
header.fixed p,
header.fixed li > a,
header.fixed li > p,
header.static a,
header.static p,
header.static li > a,
header.static li > p {
  color: var(--sw-light-text);
}
header.fixed li > a.active,
header.fixed li > p.active,
header.static li > a.active,
header.static li > p.active {
  color: var(--sw-lime);
}
header.fixed svg g path,
header.static svg g path {
  fill: var(--sw-light-text);
}
header.fixed .burger .burger__line,
header.static .burger .burger__line {
  background: var(--sw-light-text);
}

/* Открытое мобильное меню: шапка остаётся тёмной, иконки светлыми */
header.active,
header.header-white.active {
  background: var(--sw-dark);
}
header.header-white.active a,
header.header-white.active p {
  color: var(--sw-light-text);
}
header.header-white.active svg g path,
header.header-white.active svg path {
  fill: var(--sw-light-text);
}
header.header-white.active .burger .burger__line,
header.header-white .burger .burger__line {
  background: var(--sw-light-text);
}
header.header-white.active .header-logo-white {
  filter: none;
}

/* Мобильное меню */
.menu-mobile {
  top: 75px;
  height: calc(100vh - 75px);
  z-index: 8;
  background: var(--sw-dark);
}
.menu-mobile > .container {
  background: var(--sw-dark);
  color: var(--sw-light-text);
  border-top: 1px solid var(--sw-line-dark);
}
.menu-mobile li a {
  color: var(--sw-light-text);
}
.menu-mobile li a.active,
.menu-mobile li a:hover {
  color: var(--sw-lime);
}
.menu-mobile__contact {
  color: var(--sw-light-text);
  text-decoration: none;
}
.menu-mobile__contact:hover {
  color: var(--sw-lime);
}

.sw-header-cta {
  align-items: center;
  background: var(--sw-lime);
  border-radius: var(--sw-radius-pill);
  color: var(--sw-dark) !important;
  font-family: var(--sw-font-display);
  font-weight: 700;
  padding: 10px 20px;
  min-height: 44px;
  text-decoration: none;
  transition: opacity 200ms ease;
}
.sw-header-cta:hover { opacity: 0.85; }

footer {
  background: var(--sw-dark);
}

/* ---------- Кнопки канона: пилюли, лайм ---------- */
.btn, .btn-secondary {
  border-radius: var(--sw-radius-pill);
  font-family: var(--sw-font-display);
  font-weight: 700;
}
.btn-secondary {
  background-color: var(--sw-lime);
  color: var(--sw-dark);
  border: none;
}
.btn-secondary:hover {
  background-color: var(--sw-lime);
  color: var(--sw-dark);
  opacity: 0.85;
}

/* ---------- fork-fix 13: табы «Аренда / Продажа» вместо бирюзового хардкода ---------- */
.js-office-btn { color: var(--sw-ink-soft); }
.js-office-btn.is-active { color: var(--color-primary-text); }
.js-office-btn.disabled { color: var(--color-grey); }
.office-deal-nav__sep { color: var(--color-grey); }

/* ---------- fork-fix 8: слайдер лотов — cover вместо letterbox ---------- */
.office-slider img { -o-object-fit: cover; object-fit: cover; }

/* ---------- fork-fix 11: карточка-ссылка слайда ---------- */
.office-card-link { color: inherit; text-decoration: none; }

/* ---------- Канонные карточки и поля: единый радиус ---------- */
.card, .office-card, .contact-card { border-radius: var(--sw-radius-card); }
.contact-card { padding: 15px; }
input, textarea, select { border-radius: var(--sw-radius-card); }

/* ---------- Согласие на обработку ПД ---------- */
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}
.form-consent__input {
  flex-shrink: 0;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.15rem 0 0;
  accent-color: var(--sw-lime);
}
.form-consent__label {
  margin: 0;
  line-height: 1.45;
  flex: 1;
  text-align: left;
}
.form-consent .form-consent__label.form-policy {
  margin-top: 0;
  text-align: left;
}
.form-consent .form-consent__label a {
  display: inline;
  white-space: nowrap;
}
.form-consent.input-error .form-consent__label {
  color: #c0392b;
}
@media (max-width: 767.98px) {
  .form-consent .form-consent__label.form-policy {
    text-align: left;
  }
}

/* ---------- Toast после отправки формы ---------- */
.thanks {
  background: var(--sw-dark);
  color: var(--sw-light-text);
  border: 1px solid var(--sw-lime);
  box-shadow: 0 8px 28px rgba(19, 26, 23, 0.45);
  z-index: 1000;
}
.thanks__text {
  margin: 0;
  color: inherit;
  font-family: var(--sw-font-body);
  font-size: 15px;
}
.thanks--error {
  border-color: #e57373;
}
.thanks--error .thanks__text {
  color: var(--sw-light-text);
}

/* ---------- Формы: фокус в тон ---------- */
input:focus, textarea:focus {
  border-color: var(--sw-dark);
  outline-color: var(--sw-dark);
}

@media (prefers-reduced-motion: reduce) {
  .sw-header-cta, .btn-secondary { transition: none; }
}
