/* ============================================================
   H2O Плаза — скин «Набережная»
   Токены, шрифты, точечные перекрытия хардкодов канона.
   Family-agnostic: не содержит лейаута семьи.
   Палитра выведена из материала здания: оранжевые композитные
   панели фасада, тёмно-графитовые вставки, синева остекления.
   Slate #4C6684 — обязательный токен: цвет обводки растровых
   иконок объекта и авторского знака, перекрасить их нельзя.
   ============================================================ */

@font-face{font-family:'Bitter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/Bitter/bitter-cyrillic-600.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Bitter';font-style:normal;font-weight:600;font-display:swap;
  src:url('/assets/fonts/Bitter/bitter-latin-600.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:'Bitter';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/Bitter/bitter-cyrillic-700.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Bitter';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/Bitter/bitter-latin-700.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:'Onest';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/Onest/onest-cyrillic-400.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;
  src:url('/assets/fonts/Onest/onest-latin-400.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:'Onest';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/Onest/onest-cyrillic-500.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;
  src:url('/assets/fonts/Onest/onest-latin-500.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:'Onest';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/Onest/onest-cyrillic-700.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:700;font-display:swap;
  src:url('/assets/fonts/Onest/onest-latin-700.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{
  --skin-slate:#4C6684;
  --skin-slate-deep:#3A506A;
  --skin-ink:#29323D;
  --skin-orange:#D9762F;
  --skin-orange-deep:#B45C1E;
  --skin-orange-light:#F0A868;
  --skin-paper:#F5F6F8;
  --skin-surface:#FFFFFF;
  --skin-text:#1E252E;
  --skin-muted:#5A6675;
  --skin-line:#DCE1E7;
  --skin-line-strong:#8B98A8;
  --skin-font-display:'Bitter',Georgia,'Times New Roman',serif;
  --skin-font-body:'Onest','Helvetica Neue',Arial,sans-serif;

  /* перекрытия канонных токенов */
  --color-secondary:#4C6684;
  --color-primary-text:#1E252E;
  --font-family:'Onest','Helvetica Neue',Arial,sans-serif;
  --border-radius:4px;
}

body{background-color:var(--skin-paper);color:var(--skin-text);font-family:var(--skin-font-body)}

/* Канонный бирюзовый #7c9796 мимо токена — три места (canon-map) */
.histogram .stand{background:var(--skin-slate)}
.js-office-btn{color:var(--skin-orange-deep)}
.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)}

/* Канонные радиусы захардкожены мимо токена */
input,textarea,select,.input,.form-control{border-radius:4px}
.card_image,.card__image{border-radius:4px}

/* Шапка: канон рассчитан на белое меню поверх тёмного фото первого экрана.
   Наш первый экран светлый — меню перекрашивается в тёмное, плашка шапки
   получает цвет полотна. Целимся в тег: у элемента нет класса .header.

   !important здесь обязателен. Канон красит пункты бутстраповской утилитой
   .text-white, а у неё в самом бутстрапе стоит !important — правило равной
   специфичности из скина проигрывает независимо от порядка подключения.
   Симптом: белое меню на светлой шапке, контраст ~1.1:1. */
header{background-color:var(--skin-paper)}
header.header-white{background-color:var(--skin-paper)}
header a,
header nav ul li a,
header .text-white{color:var(--skin-text)!important;text-decoration:none}
header p{color:var(--skin-muted)!important}
header a:hover,
header nav ul li a:hover{color:var(--skin-orange-deep)!important}
/* Белые SVG канона (бургер, стрелки) на светлой шапке — иначе невидимы.
   Свойство fill перебивает одноимённый презентационный атрибут. */
header svg path[fill="#fff"],
header svg path[fill="#FFF"],
header svg path[fill="white"]{fill:var(--skin-text)}

/* Кликабельные слайды площадей (fork-fixes §11) */
.office-card-link{color:inherit;text-decoration:none}
.office-card-link:hover{color:inherit}

/* Кнопки канона под акцент скина. Заливка — тёмный оранж:
   белое по #D9762F даёт 3.19:1 и не проходит по основному тексту. */
.btn,.button,input[type=submit]{background-color:var(--skin-orange-deep);border-color:var(--skin-orange-deep);color:#fff;border-radius:4px}
.btn:hover,.button:hover,input[type=submit]:hover{background-color:#A34F17;border-color:#A34F17;color:#fff}

a{color:var(--skin-orange-deep)}

.contact-card .contact-card-wrap{
  background:var(--skin-surface);
  padding:20px 24px 24px;
}
.contact-card .contact-card-wrap p:last-child{margin-bottom:0}
a:hover{color:#A34F17}

/* Футер — тёмный нейтральный из палитры объекта, не акцентной заливкой */
footer{background-color:var(--skin-ink);color:#fff}
footer a{color:var(--skin-orange-light)}

/* Согласие на обработку ПД */
.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(--skin-orange-deep);
}
.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;
}
.form-consent.input-error .form-consent__label{
  color:#c0392b;
}
@media (max-width:767.98px){
  .form-consent .form-consent__label.form-policy{
    text-align:left;
  }
}

.panorama-embed{
  border-radius:4px;
  overflow:hidden;
  line-height:0;
}
.panorama-embed iframe{
  display:block;
  width:100%;
  min-height:400px;
}

/* Toast после отправки формы */
.thanks{
  background:var(--skin-surface);
  color:var(--skin-text);
  border:1px solid var(--skin-line-strong);
  box-shadow:0 8px 24px rgba(41,50,61,.12);
  z-index:1000;
}
.thanks p{
  margin:0;
  color:inherit;
}
