/* Единое верхнее меню сайта kodstroi.ru. Один файл на все страницы. */
.ks-top{position:sticky;top:0;z-index:900;background:rgba(250,245,238,.95);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(45,31,20,.09);
  font-family:'Plus Jakarta Sans','Manrope',system-ui,-apple-system,sans-serif}
.ks-top *,.ks-top *::before,.ks-top *::after{box-sizing:border-box}
.ks-in{max-width:1260px;margin:0 auto;padding:0 20px;height:54px;display:flex;align-items:center;gap:24px}
.ks-brand{font-size:17px;font-weight:800;color:#2D1F14;text-decoration:none;letter-spacing:-.015em;white-space:nowrap;flex:none}
.ks-brand span{color:#C67C52}
.ks-brand:hover{color:#2D1F14}

.ks-menu{display:flex;align-items:center;gap:19px;list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0}
.ks-menu>li{position:relative;list-style:none}
.ks-menu a{display:inline-flex;align-items:center;gap:5px;color:#2D1F14;text-decoration:none;
  font-size:14.5px;font-weight:600;white-space:nowrap;opacity:.84;transition:opacity .18s,color .18s}
.ks-menu a:hover{opacity:1;color:#A5623E}
.ks-menu a.ks-on{color:#A5623E;opacity:1}
.ks-ar{width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;
  transform:rotate(45deg) translateY(-1px);opacity:.6;transition:transform .2s}

/* выпадающий список */
.ks-sub{position:absolute;top:100%;left:-14px;min-width:258px;padding:10px;margin-top:4px;
  background:#fff;border:1px solid #ECE3D8;border-radius:14px;
  box-shadow:0 18px 44px rgba(45,31,20,.14);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s}
.ks-has-sub:hover>.ks-sub,.ks-has-sub:focus-within>.ks-sub,.ks-has-sub.ks-open>.ks-sub{opacity:1;visibility:visible;transform:none}
.ks-has-sub:hover .ks-ar{transform:rotate(225deg) translateY(-2px)}
.ks-sub a{display:block;padding:8px 12px;border-radius:9px;font-weight:500;font-size:14.5px;opacity:.9;white-space:normal}
.ks-sub a:hover{background:#FBF7F2;opacity:1}
.ks-sub-sep{height:1px;background:#ECE3D8;margin:8px 4px}
.ks-sub a.ks-sub-all{font-weight:700;color:#A5623E;opacity:1}

.ks-phone{flex:none;color:#2D1F14;text-decoration:none;font-size:14.5px;font-weight:700;white-space:nowrap}
.ks-phone:hover{color:#A5623E}
.ks-cta{flex:none;background:#C67C52;color:#fff;text-decoration:none;font-size:13.5px;font-weight:700;
  padding:9px 18px;border-radius:100px;white-space:nowrap;transition:background .2s}
.ks-cta:hover{background:#A5623E;color:#fff}

/* бургер */
.ks-burger{display:none;flex:none;width:40px;height:36px;padding:9px 8px;background:none;border:0;cursor:pointer}
.ks-burger span{display:block;height:2px;background:#2D1F14;border-radius:2px;transition:transform .25s,opacity .2s}
.ks-burger span+span{margin-top:5px}
.ks-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ks-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ks-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* мобильная панель */
.ks-panel{display:none;position:fixed;left:0;right:0;top:54px;bottom:0;z-index:899;
  background:#FAF5EE;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 20px 40px}
.ks-panel.ks-open{display:block}
.ks-panel ul{list-style:none;margin:0;padding:0}
.ks-panel li{list-style:none}
.ks-panel a{display:block;padding:13px 2px;color:#2D1F14;text-decoration:none;font-size:16.5px;font-weight:600;
  border-bottom:1px solid rgba(45,31,20,.08)}
.ks-panel a.ks-on{color:#A5623E}
.ks-panel .ks-pg{margin:18px 0 2px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#9A8B7A;font-weight:700}
.ks-panel .ks-pg-list a{padding-left:0;font-weight:500;font-size:15.5px}
.ks-panel-foot{margin-top:26px;display:flex;flex-direction:column;gap:10px}
.ks-panel-foot a{border:0;text-align:center;border-radius:100px;padding:14px}
.ks-panel-foot .ks-p-tel{background:#fff;border:1px solid #ECE3D8;font-weight:700}
.ks-panel-foot .ks-p-cta{background:#C67C52;color:#fff;font-weight:700}
body.ks-locked{overflow:hidden}

@media(max-width:1080px){.ks-menu{gap:15px}.ks-menu a{font-size:13.8px}.ks-phone{font-size:13.8px}}
@media(max-width:960px){
  .ks-menu,.ks-phone{display:none}
  .ks-burger{display:block}
  .ks-in{height:54px;gap:12px;justify-content:space-between}
  .ks-brand{flex:1 1 auto}
}
@media(max-width:400px){.ks-cta{display:none}}

/* На лендингах своя «плавающая» шапка с телефоном и кнопкой.
   Поэтому здесь полоса — тонкая служебная: только разделы сайта, без повторов. */
body.ks-landing .ks-top{position:relative;z-index:1001;background:#F2E8DB}
body.ks-landing .ks-in{height:42px}
body.ks-landing .ks-phone,body.ks-landing .ks-cta{display:none}
body.ks-landing .ks-menu a{font-size:13.5px}
body.ks-landing .ks-panel{top:42px}
body.ks-landing nav#nav{top:42px}
body.ks-landing nav#nav.scrolled{top:6px}
@media print{.ks-top{display:none}}
