/* Общие виджеты всех страниц kameneva.co: мессенджеры, cookie, подвал, всплывающие окна, форма.
   Классы с префиксом k — не пересекаются со стилями HTML-блоков новых страниц. */
:root{--k-navy:#162636;--k-navy-deep:#0f1b28;--k-line-navy:#44596e;--k-orange:#de623a;--k-orange-d:#c9532d;--k-orange-t:#b03f1a;--k-orange-l:#ff8f66;--k-ink:#12202e;--k-ink-2:#3d4c5a;--k-on-navy-2:#d3dce4;--k-paper:#e9edf1;--k-line:#c6ced6;--k-sans:'PT Sans',Arial,sans-serif;--k-serif:'PT Serif',Georgia,serif;--k-ease:cubic-bezier(.16,1,.3,1)}

/* --- Мессенджеры (кнопка в углу) --- */
.kmsg{position:fixed;right:24px;bottom:24px;z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:var(--k-sans)}
.kmsg__btn{position:relative;width:64px;height:64px;border-radius:50%;border:0;padding:0;cursor:pointer;background:var(--k-orange);box-shadow:0 6px 18px rgba(15,27,40,.28);display:grid;place-items:center;transition:background-color .15s}
.kmsg__btn:hover{background:var(--k-orange-d)}
.kmsg__btn img{width:38px;height:38px;object-fit:contain;transition:opacity .15s,transform .2s var(--k-ease)}
.kmsg__x{position:absolute;width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;opacity:0;transform:rotate(-45deg);transition:opacity .15s,transform .2s var(--k-ease)}
.kmsg.is-open .kmsg__btn img{opacity:0;transform:scale(.6)}
.kmsg.is-open .kmsg__x{opacity:1;transform:none}
.kmsg__btn:focus-visible,.kmsg__item:focus-visible{outline:3px solid var(--k-navy);outline-offset:3px}
.kmsg__list{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.kmsg__list[hidden]{display:none}
.kmsg__item{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--k-ink)}
.kmsg__name{background:#fff;padding:6px 12px;border-radius:5px;font-size:16px;font-weight:700;box-shadow:0 4px 14px rgba(15,27,40,.18)}
.kmsg__ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 14px rgba(15,27,40,.22)}
.kmsg__ico svg{width:28px;height:28px;fill:#fff}
.kmsg__ico--telegram{background:#2aa2df}
.kmsg__ico--whatsapp{background:#25d366}
.kmsg__ico--max{background:linear-gradient(135deg,#3e8bff,#8b3dff)}
.kmsg.is-open .kmsg__item{animation:kmsg-in .25s var(--k-ease) both}
.kmsg.is-open .kmsg__item:nth-child(2){animation-delay:.04s}
.kmsg.is-open .kmsg__item:nth-child(3){animation-delay:.08s}
@keyframes kmsg-in{from{opacity:0;transform:translateY(8px)}}
@media (max-width:640px){.kmsg{right:16px;bottom:16px}.kmsg__btn{width:56px;height:56px}.kmsg__btn img{width:34px;height:34px}}

/* --- Баннер cookie --- */
.kcookie{position:fixed;left:24px;bottom:24px;z-index:901;max-width:min(760px,calc(100% - 128px));display:flex;align-items:center;gap:20px;padding:16px 20px;background:#fff;color:var(--k-ink);border:1px solid var(--k-line);border-radius:6px;box-shadow:0 10px 30px rgba(15,27,40,.18);font:15px/1.45 var(--k-sans)}
.kcookie[hidden]{display:none}
.kcookie__t{margin:0}
.kcookie__t a{color:var(--k-orange-t);text-decoration:underline;text-underline-offset:3px}
.kcookie__b{flex:none;min-height:44px;padding:0 22px;border:0;border-radius:5px;background:var(--k-orange);color:#fff;font:700 16px/1 var(--k-sans);cursor:pointer}
.kcookie__b:hover{background:var(--k-orange-d)}
.kcookie__b:focus-visible,.kcookie__t a:focus-visible{outline:3px solid var(--k-navy);outline-offset:3px}
@media (max-width:640px){.kcookie{left:12px;right:12px;bottom:84px;max-width:none;flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}}

/* --- Подвал (по образцу блока T420) --- */
.kfoot{background:var(--k-navy-deep);color:var(--k-on-navy-2);font:16px/1.5 var(--k-sans);padding:56px 0 48px}
.kfoot__in{max-width:1240px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1.1fr 1fr 1.2fr 1fr;gap:40px}
.kfoot ul{list-style:none;margin:0;padding:0}
.kfoot li{padding:3px 0}
.kfoot strong,.kfoot b{color:#fff;font-weight:700}
.kfoot a{color:inherit;text-decoration:underline;text-decoration-color:var(--k-line-navy);text-underline-offset:3px}
.kfoot a:hover{color:#fff;text-decoration-color:currentColor}
.kfoot a:focus-visible{outline:3px solid var(--k-orange);outline-offset:3px}
.kfoot__logo img{display:block;height:44px;width:auto}
.kfoot__socs{display:flex;gap:10px;margin:20px 0 16px}
.kfoot__soc{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--k-line-navy)}
.kfoot__soc svg{width:20px;height:20px;fill:#fff}
.kfoot__soc:hover{background:rgba(255,255,255,.08)}
.kfoot__c{margin:0}
@media (max-width:1020px){.kfoot__in{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.kfoot{padding:44px 0 110px}.kfoot__in{grid-template-columns:1fr;gap:28px;padding:0 20px}}

/* --- Всплывающие окна --- */
.kpop{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:8px;background:#fff;color:var(--k-ink);box-shadow:0 24px 60px rgba(15,27,40,.35);font:17px/1.5 var(--k-sans)}
.kpop--wide{width:min(960px,calc(100% - 32px))}
.kpop::backdrop{background:rgba(15,27,40,.62)}
.kpop[open]{animation:kpop-in .3s var(--k-ease)}
@keyframes kpop-in{from{opacity:0;transform:translateY(12px)}}
.kpop__body{padding:40px 40px 36px}
.kpop__x{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;cursor:pointer;display:grid;place-items:center}
.kpop__x svg{width:24px;height:24px;fill:none;stroke:var(--k-ink);stroke-width:2.2;stroke-linecap:round}
.kpop__x:hover{background:var(--k-paper)}
.kpop__x:focus-visible{outline:3px solid var(--k-orange);outline-offset:2px}
.kpop__h{margin:0 0 6px;font:700 30px/1.15 var(--k-serif)}
.kpop__d{margin:0 0 22px;color:var(--k-ink-2)}
.kpop__widget{min-height:240px}
.kpop__load{color:var(--k-ink-2)}
@media (max-width:640px){.kpop__body{padding:52px 20px 24px}}

/* --- Форма заявки (наша, отправка в Битрикс24) --- */
.kform-slot{font:17px/1.5 var(--k-sans);color:var(--k-ink)}
.kform-slot--card{background:#fff;border-radius:8px;padding:32px;box-shadow:0 18px 50px rgba(15,27,40,.18)}
.kform__h{margin:0 0 18px;font:700 30px/1.15 var(--k-serif);color:var(--k-ink)}
.kform{display:grid;gap:14px;text-align:left}
.kform__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kform__row[hidden],.kform__f[hidden],.kform__cb[hidden],.kform__b[hidden]{display:none}
.kform__f{display:grid;gap:5px;align-content:start;font-size:15px;font-weight:700;color:var(--k-ink)}
.kform__f i{font-style:normal;color:var(--k-orange-t)}
.kform__f small{font-weight:400;font-size:14px;color:var(--k-ink-2)}
.kform__f input,.kform__f textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--k-line);border-radius:5px;background:#fff;font:400 17px/1.4 var(--k-sans);color:var(--k-ink)}
.kform__f textarea{resize:vertical;min-height:96px}
.kform__f input:focus,.kform__f textarea:focus{outline:none;border-color:var(--k-navy);box-shadow:0 0 0 3px rgba(22,38,54,.16)}
.kform [aria-invalid="true"]{border-color:#b3261e}
.kform__cb{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--k-ink-2)}
.kform__cb input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--k-orange)}
.kform__cb input[aria-invalid="true"]{outline:2px solid #b3261e;outline-offset:2px}
.kform__cb a{color:var(--k-orange-t);text-underline-offset:3px}
.kform__err{margin:0;color:#b3261e;font-size:15px;font-weight:700}
.kform__b{min-height:60px;border:0;border-radius:5px;background:var(--k-orange);color:#fff;font:700 19px/1 var(--k-sans);cursor:pointer;transition:background-color .15s}
.kform__b:hover{background:var(--k-orange-d)}
.kform__b:focus-visible{outline:3px solid var(--k-navy);outline-offset:3px}
.kform__b[disabled]{opacity:.7;cursor:progress}
.kform__msg{margin:0;font-size:16px}
.kform__msg.is-ok{font:700 24px/1.3 var(--k-serif);color:var(--k-ink);padding:8px 0}
.kform__msg.is-bad{color:#b3261e}
.kform__msg a{color:inherit}
.kform__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.kb24-engine{position:absolute;left:-10000px;top:0;width:560px;height:1px;overflow:hidden}
.kpop--form{width:min(640px,calc(100% - 32px))}
@media (max-width:640px){.kform__row{grid-template-columns:1fr}.kform-slot--card{padding:22px 18px}.kform__h{font-size:26px}}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){.kpop[open],.kmsg.is-open .kmsg__item{animation:none}.kmsg__btn img,.kmsg__x{transition:none}}


/* --- Единый подвал (как на главной) --- */
.kfoot__in--main{grid-template-columns:repeat(3,minmax(0,1fr))}
.kfoot--main .kfoot__col>b{display:block;color:#fff;margin-bottom:10px}
.kfoot__req summary{cursor:pointer;margin-top:12px;color:#fff;text-decoration:underline;text-decoration-color:var(--k-line-navy);text-underline-offset:3px}
.kfoot__req summary:focus-visible{outline:3px solid var(--k-orange);outline-offset:3px}
.kfoot__req ul{margin-top:8px}
.kfoot__c--line{margin-top:36px;padding-top:20px;border-top:1px solid var(--k-line-navy)}
@media (max-width:1020px){.kfoot__in--main{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.kfoot__in--main{grid-template-columns:1fr}}

/* Кнопка «Смотреть участки на торгах» на /uchastki (светлый фон) */
.inv a.inv-btn.inv-stub__cat{background:transparent;color:var(--k-navy);border:2px solid var(--k-navy)}
.inv a.inv-btn.inv-stub__cat:hover{background:var(--k-navy);color:#fff}

/* Новые страницы (HTML-блок с Tilda): на Tilda отступы тела страницы убирали её стили — убираем сами */
body.kpage-new{margin:0}

/* /investors: блок «Индивидуальная инвестиционная стратегия» под заголовком */
.inv-strat{margin-top:26px;max-width:46em}
.inv .inv-strat__h{font-size:26px;line-height:1.25;color:#fff}
.inv-strat p{margin-top:10px;font-size:19px;line-height:1.55;color:var(--k-on-navy-2)}
@media (max-width:640px){.inv .inv-strat__h{font-size:22px}.inv-strat p{font-size:17px}}

/* /club: ссылка-кнопка в карточке */
.card-link{display:inline-block;margin-top:14px;font-weight:700;color:var(--k-orange-t);text-decoration:underline;text-underline-offset:4px}
.card-link:hover{color:var(--k-ink)}

/* Вход в каталог участков: полоса на главной, вторая кнопка на /investors */
.kcat-strip{background:var(--k-paper);padding:28px 0}
.kcat-strip__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px}
.kcat-strip b{display:block;font:700 26px/1.2 var(--k-serif);color:var(--k-ink)}
.kcat-strip span{display:block;margin-top:4px;font-size:18px;color:var(--k-ink-2)}
.inv-plots__btn+.inv-plots__btn{margin-top:14px}
@media (max-width:640px){.kcat-strip b{font-size:22px}.kcat-strip .btn{width:100%}}

/* --- Шапка всех страниц (общая разметка common.header) ---
   Одинаковые размеры на всех страницах, чтобы меню не сдвигалось при переходах (просьба владельца 14.11.2026):
   справа место постоянной ширины (телефон или «Вступить» на /club), полоса прокрутки не сдвигает страницу. */
html{scrollbar-gutter:stable}
.ksh{position:sticky;top:0;z-index:50;background:#162636;color:#fff;border-bottom:1px solid #44596e;font-family:'PT Sans',Arial,sans-serif;font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased}
.ksh *{box-sizing:border-box}
.ksh__in{max-width:1240px;margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:32px;min-height:72px}
.ksh__logo{display:block;flex:none}
.ksh__logo img{display:block;height:44px;width:auto}
.ksh a,.ksh a:hover,.ksh a:focus,.ksh a:active,.ksh a:visited{color:#fff;text-decoration:none;opacity:1}
.ksh__nav{display:flex;gap:4px;margin-left:auto;font-size:17px}
.ksh__nav a{padding:6px 10px;border-radius:5px;white-space:nowrap}
.ksh__nav a:hover{background:rgba(255,255,255,.08)}
.ksh__nav a[aria-current]{background:rgba(255,255,255,.12)}
.ksh__act{flex:none;width:140px;display:flex;justify-content:flex-end;align-items:center}
.ksh__tel{font-weight:700;white-space:nowrap}
.ksh a.ksh__cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border-radius:5px;background:#b03f1a;font-size:16px;font-weight:700;white-space:nowrap}
.ksh a.ksh__cta:hover{background:#933414}
.ksh__menu{display:none}
.ksh a:focus-visible,.ksh summary:focus-visible{outline:3px solid #de623a;outline-offset:3px}
@media (max-width:1180px){.ksh__nav{gap:2px;font-size:16px}.ksh__nav a{padding:6px 8px}.ksh__logo img{height:38px}.ksh__in{gap:22px}}
/* узкий ПК: меню из 9 пунктов не налезает на логотип; селектор сильнее копий правил шапки в site.css и стилях страниц */
@media (max-width:1100px){.ksh .ksh__nav a{padding:6px 6px}.ksh .ksh__in{gap:16px}}
@media (max-width:1020px){
 .ksh__nav{display:none}
 .ksh__act{justify-content:flex-start}
 .ksh__menu{display:block;margin-left:auto;position:relative}
 .ksh__menu summary{list-style:none;cursor:pointer;padding:10px 0;font-weight:700}
 .ksh__menu summary::-webkit-details-marker{display:none}
 .ksh__menu nav{position:absolute;right:-16px;top:100%;background:#162636;border:1px solid #44596e;padding:8px 20px;min-width:220px}
 .ksh__menu nav a{display:block;padding:12px 0;border-top:1px solid #44596e}
 .ksh__menu nav a:first-child{border-top:0}
 .ksh__menu nav a[aria-current]{background:rgba(255,255,255,.12);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:5px}
}
@media (max-width:640px){
 .ksh__in{padding:0 20px;min-height:64px;gap:14px}
 .ksh__logo img{height:32px}
 .ksh__menu{order:3;margin-left:0}
 .ksh__act{margin-left:auto;width:124px;justify-content:flex-end}
 .ksh__tel{font-size:16px}
 .ksh a.ksh__cta{min-height:36px;padding:0 14px;font-size:15px}
 .ksh__menu nav{right:-4px}
}
