/* ══ ТOКЕНЫ И БАЗА ══ */
.u2 {
  --e1: var(--shadow-1);
  --e2: var(--shadow-2);
  --eh: var(--shadow-hover);
  --bg: var(--limestone);
  --dark: linear-gradient(160deg,hsl(214 34% 19%),hsl(var(--graphite)));
  --on-dark: 210 32% 88%;
  --on-dark-soft: 213 28% 74%;
  --on-dark-accent: 214 72% 79%;
  --patina-line: 217 72% 86%;
}
.u2 {
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color: hsl(var(--ink));
  font-size: 15px;
  line-height: 1.55;
}
.u2 .num { font-variant-numeric: lining-nums tabular-nums; }

/* ══ СБРОС BOOTSTRAP 3 ══ */
.u2 .btn, .u2 .label, .u2 .badge, .u2 .row, .u2 .table, .u2 .panel {
  padding: 0; margin: 0; font-size: inherit; line-height: inherit;
  border-radius: 0; background: transparent; white-space: normal;
  vertical-align: baseline; color: inherit; border: none;
}
.u2 .row { margin-left: 0; margin-right: 0; }
.u2 .table { width: auto; max-width: none; margin-bottom: 0; }

/* ══ КОМПОНЕНТЫ ══ */
.u2 .hzico {width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;flex:none}
.u2 .hzico-lg {width:24px;height:24px;stroke-width:1.7}
.u2 .hzico-sm {width:15px;height:15px}
.u2 .btn {font-weight:600;font-size:15px;font-family:inherit;border-radius:var(--r-pill);padding:var(--s3) var(--s6);
  border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;
  gap:var(--s2);transition:.16s;white-space:nowrap}
.u2 .btn-p {background:hsl(var(--patina));color:#fff;box-shadow:0 6px 16px hsl(var(--patina)/.24)}
.u2 .btn-p:hover {background:hsl(218 68% 42%)}
.u2 .btn-s {background:hsl(var(--surface));color:hsl(var(--ink));border-color:hsl(var(--line))}
.u2 .btn-s:hover {border-color:hsl(var(--patina));color:hsl(var(--patina))}
.u2 .btn-t {background:var(--btn2);color:#fff;box-shadow:0 8px 22px hsl(var(--btn2)/.28)}
.u2 .btn-t:hover {filter:brightness(.94)}
.u2 .btn-sm {font-size:13px;padding:var(--s2) var(--s4)}
.u2 .full {width:100%}
.u2 .crumbs {font-size:12.5px;color:hsl(var(--soft));display:flex;gap:var(--s2);flex-wrap:wrap;padding:var(--s4) 0 var(--s3)}
.u2 .crumbs a:hover {color:hsl(var(--patina))}
.u2 .eyebrow {font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:hsl(var(--soft));font-weight:700}
.u2 .block {background:hsl(var(--surface));border:1px solid hsl(var(--line-soft));
  border-radius:var(--r-lg);box-shadow:var(--e1);padding:var(--s6) var(--s6)}
.u2 .panel-d {background:var(--dark);border-radius:var(--r-lg);color:#fff;box-shadow:var(--e2)}
.u2 .sec {margin-top:var(--s6);margin-bottom:0;scroll-margin-top:124px}
.u2 .sec-h {display:flex;align-items:baseline;gap:var(--s4);flex-wrap:wrap}
.u2 .sec-h h2 {font-size:clamp(21px,2.6vw,29px);font-weight:800;letter-spacing:-.02em;margin:0;
  flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.u2 .sec-h .rule {flex:1;height:1px;background:hsl(var(--line));min-width:16px}
.u2 .sec-h .label {flex:none;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  color:hsl(var(--soft));font-weight:700}
.u2 .sec-sub {font-size:13.5px;color:hsl(var(--soft));margin:var(--s2) 0 var(--s5)}
.u2 .tnote {font-size:12.5px;color:hsl(var(--soft));border-left:2px solid hsl(var(--patina));
  padding:var(--s1) 0 var(--s1) var(--s3);margin:var(--s4) 0 0}
.u2 .badge {font-size:10.5px;font-weight:700;padding:var(--s1) var(--s3);border-radius:var(--r-pill)}
.u2 .b-dark {background:hsl(var(--graphite)/.82);color:#fff;backdrop-filter:blur(4px)}
.u2 .b-ok {background:hsl(var(--ok));color:#fff}
.u2 .b-gold {background:hsl(var(--gold));color:#fff}
.u2 .b-soft {background:hsl(var(--surface)/.94);color:hsl(var(--ink))}
.u2 .chip {border:1px solid hsl(var(--line));background:hsl(var(--surface));
  border-radius:var(--r-pill);padding:var(--s2) var(--s4);font-weight:600;font-size:13px;font-family:inherit;color:hsl(var(--soft))}
.u2 .chip:hover {border-color:hsl(var(--patina));color:hsl(var(--patina))}
.u2 .chip.on {background:hsl(var(--ink));color:#fff;border-color:hsl(var(--ink))}
.u2 .chip.on:hover {color:#fff;border-color:hsl(var(--ink))}
.u2 .chips {display:flex;gap:var(--s2);flex-wrap:wrap}
.u2 .chips .chip {padding:var(--s2) var(--s3);font-size:12.5px}
/* модалка выше липкой шапки (1000), ниже мобильного меню (2500) и модалки заявки (3000);
   контейнер не заезжает под шапку 120px, коробка не выше 100vh-140px */
.u2 .mdl {position:fixed;inset:0;z-index:1200;display:grid;place-items:center;
  padding:var(--s5)}
.u2 .mdl[hidden] {display:none}
.u2 .mdl-back {position:absolute;inset:0;background:hsl(var(--graphite)/.55)}
.u2 .mdl-box {position:relative;z-index:2;width:min(920px,100%);max-height:min(92vh,860px);
  background:hsl(var(--surface));border-radius:var(--r-lg);box-shadow:var(--e2);
  display:grid;grid-template-columns:1.02fr .98fr;overflow:auto}
.u2 .mdl-x {position:absolute;top:12px;right:12px;z-index:4;width:34px;height:34px;border-radius:50%;
  background:hsl(var(--surface));border:1px solid hsl(var(--line));display:grid;
  place-items:center;color:hsl(var(--soft))}
.u2 .mdl-x:hover {color:hsl(var(--ink));border-color:hsl(var(--patina))}
.u2 .mdl-nav {position:absolute;top:12px;z-index:4;width:34px;height:34px;border-radius:50%;
  background:hsl(var(--surface));border:1px solid hsl(var(--line));display:grid;place-items:center;
  color:hsl(var(--soft))}
.u2 .mdl-nav:hover {border-color:hsl(var(--patina));color:hsl(var(--patina))}
.u2 .mdl-nav[disabled] {opacity:.35;cursor:default}
.u2 .mdl-nav[disabled]:hover {border-color:hsl(var(--line));color:hsl(var(--soft))}
.u2 .mdl-nav.prev {right:92px}
.u2 .mdl-nav.next {right:52px}
.u2 .mdl-nav.prev svg {transform:scaleX(-1)}

/* ══ МОДАЛКА СОХРАНЁННЫХ ПОИСКОВ (одноколоночный вариант .mdl) ══ */
.u2 .mdl-ss .mdl-box {display:block;width:min(600px,100%);padding:var(--s5)}
.u2 .ss-head h3 {margin:0;font-size:19px;font-weight:800;letter-spacing:-.02em}
.u2 .ss-list {display:flex;flex-direction:column}
.u2 .ss-row {display:flex;justify-content:space-between;align-items:center;gap:var(--s4);
  padding:var(--s3) 0;border-bottom:1px solid hsl(var(--line-soft))}
.u2 .ss-row:last-child {border-bottom:0}
.u2 .ss-info {min-width:0}
.u2 .ss-name {display:block;font-size:14px;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}
.u2 .ss-meta {display:block;font-size:12px;color:hsl(var(--soft));margin-top:2px}
.u2 .ss-acts {display:flex;gap:var(--s2);align-items:center;flex:none}
.u2 .ss-del {width:32px;height:32px;border-radius:50%;border:1px solid hsl(var(--line));
  background:hsl(var(--surface));display:grid;place-items:center;color:hsl(var(--soft));cursor:pointer}
.u2 .ss-del:hover {color:hsl(var(--gold));border-color:hsl(var(--gold))}
.u2 .ss-empty {padding:var(--s6) 0;text-align:center;color:hsl(var(--soft));font-size:13.5px}
.u2 .ss-foot {display:flex;justify-content:center;padding-top:var(--s3);
  border-top:1px solid hsl(var(--line-soft))}

/* ══ FAQ-СПОЙЛЕРЫ (общие для всех страниц .u2) ══ */
.u2 .faq details {border-bottom:1px solid hsl(var(--line-soft))}
.u2 .faq details:last-child {border-bottom:0}
.u2 .faq summary {list-style:none;cursor:pointer;padding:var(--s4) 0;font-size:14.5px;font-weight:700;
  display:flex;justify-content:space-between;gap:var(--s3);align-items:center}
.u2 .faq summary::-webkit-details-marker {display:none}
.u2 .faq summary .pm {color:hsl(var(--patina));flex:none;transition:transform .2s}
.u2 .faq details[open] summary .pm {transform:rotate(45deg)}
.u2 .faq p {margin:0 0 var(--s4);font-size:13.5px;color:hsl(var(--soft));line-height:1.65;max-width:82ch}

/* ══ ИИ-КОНСУЛЬТАНТ «Уфаро AI» ══ */
.u2 .aichat {display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);border:1px solid hsl(var(--line));
  border-radius:var(--r-lg);overflow:hidden;background:hsl(var(--surface))}
.u2 .aic-chat {display:flex;flex-direction:column;padding:var(--s5);min-width:0}
.u2 .aic-head {display:flex;align-items:center;gap:var(--s3);padding-bottom:var(--s4);border-bottom:1px solid hsl(var(--line-soft))}
.u2 .aic-av {width:40px;height:40px;border-radius:50%;background:var(--dark);display:grid;place-items:center;color:#fff;flex:none}
.u2 .aic-name {font-weight:800;font-size:14.5px;line-height:1.2}
.u2 .aic-st {font-size:12px;color:hsl(var(--soft));display:flex;align-items:center;gap:6px}
.u2 .aic-st i {width:7px;height:7px;border-radius:50%;background:hsl(var(--ok));display:inline-block}
.u2 .aic-x {margin-left:auto;width:32px;height:32px;border-radius:50%;border:1px solid hsl(var(--line));
  background:hsl(var(--surface));display:grid;place-items:center;color:hsl(var(--soft))}
.u2 .aic-x:hover {border-color:hsl(var(--patina));color:hsl(var(--patina))}
.u2 .aic-body {display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4) 0;overflow-y:auto;min-height:230px;max-height:360px}
.u2 .aic-msg {max-width:90%;align-self:flex-start;background:hsl(var(--surface-2));border:1px solid hsl(var(--line-soft));
  border-radius:var(--r-md);border-top-left-radius:4px;padding:var(--s3) var(--s4);font-size:13.5px;line-height:1.55;color:hsl(var(--ink))}
.u2 .aic-msg.me {align-self:flex-end;background:hsl(var(--patina));border-color:transparent;color:#fff;
  border-top-left-radius:var(--r-md);border-top-right-radius:4px}
.u2 .aic-send {margin-top:var(--s3);display:block}
.u2 .aic-dots {display:inline-flex;gap:4px;padding:4px 0}
.u2 .aic-dots i {width:6px;height:6px;border-radius:50%;background:hsl(var(--soft));animation:aicd 1s infinite ease-in-out}
.u2 .aic-dots i:nth-child(2) {animation-delay:.15s}
.u2 .aic-dots i:nth-child(3) {animation-delay:.3s}
@keyframes aicd{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.u2 .aic-sugg {display:flex;flex-wrap:wrap;gap:var(--s2)}
.u2 .aic-sugg button {font-weight:600;font-size:12.5px;line-height:1.3;font-family:inherit;background:hsl(var(--surface));border:1px solid hsl(var(--line));
  border-radius:var(--r-pill);padding:var(--s2) var(--s4);color:hsl(var(--ink));text-align:left;cursor:pointer}
.u2 .aic-sugg button:hover {border-color:hsl(var(--patina));color:hsl(var(--patina))}
.u2 .aic-input {display:flex;gap:var(--s2);padding-top:var(--s3);border-top:1px solid hsl(var(--line-soft))}
.u2 .aic-input input {flex:1;min-width:0;border:1px solid hsl(var(--line));border-radius:var(--r-pill);padding:10px 16px;
  font-weight:500;font-size:14px;font-family:inherit;background:hsl(var(--surface-2));color:hsl(var(--ink));outline:0}
.u2 .aic-input input:focus {border-color:hsl(var(--patina));background:hsl(var(--surface))}
.u2 .aic-input button {width:44px;height:44px;border:0;border-radius:50%;background:hsl(var(--patina));color:#fff;
  display:grid;place-items:center;flex:none;cursor:pointer}
.u2 .aic-can {background:hsl(var(--surface-2));border-left:1px solid hsl(var(--line-soft));padding:var(--s5);
  display:flex;flex-direction:column}
.u2 .aic-can h3 {font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--soft));margin:0 0 var(--s4)}
.u2 .aic-cap {display:flex;gap:var(--s3);margin-bottom:var(--s4)}
.u2 .aic-cap .ci {width:36px;height:36px;border-radius:var(--r-md);background:hsl(var(--patina-soft));color:hsl(var(--patina));
  display:grid;place-items:center;flex:none}
.u2 .aic-cap b {display:block;font-size:14px;line-height:1.3}
.u2 .aic-cap span {font-size:12.5px;color:hsl(var(--soft))}
.u2 .aic-can .btn {margin-top:auto}
.aifab {position:fixed;right:20px;bottom:20px;z-index:85;display:flex;align-items:center;gap:var(--s3)}
.aifab .lbl {background:hsl(var(--surface));border:1px solid hsl(var(--line));border-radius:var(--r-pill);padding:9px 15px;
  font-weight:600;font-size:13px;font-family:inherit;color:hsl(var(--ink));box-shadow:var(--e2);white-space:nowrap;cursor:pointer}
.aifab .rnd {width:54px;height:54px;border-radius:50%;background:var(--dark);color:#fff;border:0;display:grid;place-items:center;
  box-shadow:0 10px 28px rgba(15,32,54,.34);position:relative;cursor:pointer}
.aifab .rnd::after {content:"";position:absolute;top:4px;right:4px;width:11px;height:11px;border-radius:50%;
  background:hsl(var(--ok));border:2px solid #fff}
.aipanel {position:fixed;right:20px;bottom:88px;z-index:86;width:min(380px,calc(100vw - 28px));background:hsl(var(--surface));
  border:1px solid hsl(var(--line));border-radius:var(--r-lg);box-shadow:var(--e2);overflow:hidden}
.aipanel[hidden] {display:none}
.aipanel .aic-chat {padding:var(--s4)}
.aipanel .aic-body {min-height:180px;max-height:min(46vh,360px)}
@media(max-width:1000px){
  .u2 .aichat {grid-template-columns:1fr}
  .u2 .aic-can {border-left:0;border-top:1px solid hsl(var(--line-soft))}
}
@media(max-width:700px){
  .aifab {bottom:82px;right:14px}
  .aifab .lbl {display:none}
  .aipanel {right:14px;bottom:146px}
}

/* ══ СИСТЕМА ОТСТУПОВ «Северная лазурь 2.0» ══ */
/* воздух страницы перед футером — общий для всех страниц .u2 */
.u2 {padding-bottom:var(--s10)}
/* атрибут hidden должен побеждать display у компонентов (.tlink, .sec и др.) */
.u2 [hidden] {display:none !important}
.u2 .crumbs {padding:var(--s4) 0}
.u2 .crumbs + section, .u2 .crumbs + div {margin-top:0}
.u2 .sec {margin-top:var(--s6)}
.u2 .block {padding:var(--s6)}
.u2 .block>:first-child {margin-top:0}
.u2 .block>:last-child {margin-bottom:0}
.u2 .block>:last-child>:last-child {margin-bottom:0}
.u2 .sec-h {margin-bottom:var(--s4)}
.u2 .sec-h:has(+ .sec-sub), .u2 .zsec>.sec-h:has(+ .sec-sub) {margin-bottom:var(--s2)}
.u2 .sec-sub {margin-top:0}
.u2 .sec-h + * {margin-top:0}
.u2 .sec-sub {margin-bottom:var(--s4)}
.u2 .chero {margin:0 0 var(--s6)}
.u2 .results {margin:var(--s4) 0 var(--s3)}
@media(max-width:700px){
  .u2 .sec {margin-top:var(--s4)}
  .u2 .block {padding:var(--s4)}
  .u2 .chero {margin-bottom:var(--s4)}
  .u2 .sec-h .rule {display:none}
}
@media(max-width:820px){
  .u2 .mdl-box {grid-template-columns:1fr}
}
@media(max-width:700px){
  .u2 .mdl {padding:calc(120px + var(--s3)) var(--s3) var(--s3)}
}

/* ══ ПЛАВАЮЩАЯ КНОПКА И МОБИЛЬНАЯ ПАНЕЛЬ ══ */
.u2 .mbar {display:none}
.u2 .fab {position:fixed;right:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:var(--s3)}
.u2 .fab .flabel {background:hsl(var(--surface));border:1px solid hsl(var(--line));
  border-radius:var(--r-pill);padding:var(--s2) var(--s4);font-size:13px;font-weight:600;font-family:inherit;
  box-shadow:var(--e2);white-space:nowrap}
.u2 .fab .fbtn {width:54px;height:54px;border-radius:50%;background:var(--dark);color:#fff;
  border:0;display:grid;place-items:center;box-shadow:0 10px 28px hsl(var(--graphite)/.34);position:relative}
.u2 .fab .fbtn::after {content:"";position:absolute;top:4px;right:4px;width:11px;height:11px;
  border-radius:50%;background:hsl(var(--ok));border:2px solid #fff}

@media(max-width:1000px){
  .u2 .mbar {display:flex;position:fixed;z-index:95;left:0;right:0;bottom:0;
    background:hsl(var(--surface)/.96);backdrop-filter:blur(14px);
    border-top:1px solid hsl(var(--line));
    padding:var(--s3) var(--s4) calc(var(--s3) + env(safe-area-inset-bottom));gap:var(--s3);align-items:center}
  .u2 .mbar div {flex:1}
  .u2 .mbar b {display:block;font-size:15px;font-weight:800}
  .u2 .mbar span {font-size:11px;color:hsl(var(--soft))}
  .u2 .fab {bottom:84px;right:14px}
  .u2 .fab .flabel {display:none}
}
