/* Навигация сайта (шапка, подвал, главная, HTML-карты, форма ошибки). Дополняет тему centry/style.css:
   те же цвета (#5754db, #312ea9, #f6f8f9, #ebeded), шрифт Inter. docs/site-navigation-tz.md */

/* ---------- шапка: активный раздел ---------- */
.menu-top ul li.active > a{color:#5754db}
@media screen and (min-width: 1000px){
    .menu-top ul li.active > a{box-shadow:inset 0 -2px 0 #5754db;padding-bottom:6px}
}

/* ---------- подвал: 4 колонки ---------- */
footer .footer-cols{margin-left:auto;display:flex;gap:0 48px}
footer .footer-col{min-width:0;max-width:240px}
footer .footer-cols ul{list-style-type:none;margin:0;padding:0;max-width:none}
footer .footer-cols ul li{margin:14px 0 0 0;padding:0;line-height:20px;font-size:15px;background:0}
footer .footer-cols ul li a{color:rgba(255,255,255,.82)}
footer .footer-cols ul li a:hover{color:#fff;text-decoration:none}
.footer-col-head{display:block;width:100%;background:none;border:0;padding:0;margin:0;color:#fff;text-align:left;
    font-family:'Inter',sans-serif;font-size:16px;line-height:20px;font-weight:600;cursor:default}
.logo-f{flex:0 0 auto;margin-right:48px}

@media screen and (max-width: 1180px){
    footer .footer-cols{gap:0 28px}
    .logo-f{margin-right:28px}
}
@media screen and (max-width: 999px){
    footer .footer-cols{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:28px 24px;margin-left:0}
    footer .footer-col{max-width:none}
}
@media screen and (max-width: 767px){
    footer .footer-cols{display:block;margin-top:0}
    footer .footer-col{border-top:1px solid rgba(255,255,255,.15)}
    footer .footer-col:last-child{border-bottom:1px solid rgba(255,255,255,.15)}
    .footer-col-head{position:relative;padding:14px 28px 14px 0;cursor:pointer}
    .js-footer .footer-col-head:after{content:'';position:absolute;right:4px;top:50%;width:8px;height:8px;margin-top:-6px;
        border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);transition:transform .2s}
    .js-footer .footer-col.is-open .footer-col-head:after{transform:rotate(-135deg);margin-top:-2px}
    footer .footer-cols ul{padding-bottom:16px}
    footer .footer-cols ul li{margin-top:0;padding:7px 0}
    .js-footer .footer-col:not(.is-open) ul{display:none}
}

/* ---------- общие элементы ---------- */
.loc-count{color:#8a8a99;font-size:.875em;font-weight:400;white-space:nowrap}
.town-main .loc-count{margin-left:6px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;height:47px;padding:0 26px 2px 26px;
    border:1px solid #5754db;border-radius:4px;color:#5754db;background:#fff;font-size:16px;text-decoration:none;transition:.3s;box-sizing:border-box}
.btn-outline:hover{background:#5754db;color:#fff;text-decoration:none}

/* ---------- поле города с автоподсказкой ---------- */
.city-search{margin:0 0 20px 0;max-width:560px}
.city-search-label{display:block;font-size:14px;line-height:17px;color:#777;margin:0 0 8px 0}
.city-search-row{display:flex;gap:10px}
.city-search-field{position:relative;flex:1 1 auto;min-width:0}
.city-search input[type=search]{display:block;width:100%;height:56px;box-sizing:border-box;border:1px solid #d7d7d7;border-radius:4px;
    background:#fff;font-family:'Inter',sans-serif;font-size:18px;padding:0 16px;-webkit-appearance:none;appearance:none}
.city-search input[type=search]:focus{border-color:#5754db}
.city-search button{flex:0 0 auto;height:56px;padding:0 28px 2px 28px;border:0;border-radius:4px;background:#5754db;color:#fff;
    font-family:'Inter',sans-serif;font-size:18px;cursor:pointer;transition:.3s}
.city-search button:hover{background:#312ea9}
.suggest-list{position:absolute;z-index:200;left:0;right:0;top:100%;margin:4px 0 0 0;padding:6px 0;list-style:none;background:#fff;
    border:1px solid #ebeded;border-radius:4px;box-shadow:0 8px 24px rgba(7,7,27,.12);max-height:360px;overflow-y:auto}
.suggest-list li{margin:0;padding:0;line-height:20px;background:0}
.suggest-list a{display:block;padding:9px 16px;color:#000;text-decoration:none}
.suggest-list li.is-active a,.suggest-list a:hover{background:#f6f8f9;text-decoration:none}
.suggest-meta{display:block;font-size:13px;line-height:16px;color:#8a8a99;margin-top:2px}
.city-search-inline{margin:0 0 32px 0}
.city-search-inline input[type=search],.city-search-inline button{height:49px;font-size:16px}

/* ---------- главная ---------- */
.main-ban h1{margin-bottom:16px}
.main-ban .desc-main{flex:1 1 auto;min-width:0;padding-right:24px}
.hero-facts{margin:0 0 26px 0;font-size:18px;line-height:27px;color:#555}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}
.hero-link{font-size:16px}
.home-block{padding:0 15px;margin:0 auto 100px auto;max-width:1200px}
.home-block .title{margin-bottom:32px}
.home-block .title a{color:inherit;text-decoration:none}

.city-cards{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:16px}
.city-card{background:#f6f8f9;border-radius:4px;padding:20px 20px 18px 20px}
.city-card-name{font-size:18px;line-height:22px;font-weight:600;color:#000;margin:0 0 6px 0}
.city-card-stats{font-size:14px;line-height:20px;color:#777;margin:0 0 14px 0}
.city-card-links{display:flex;gap:8px}
.city-card-links a{flex:1 1 0;display:flex;align-items:center;justify-content:center;height:38px;background:#fff;border:1px solid #ebeded;
    border-radius:4px;font-size:14px;color:#000;text-decoration:none;transition:.3s}
.city-card-links a:hover{border-color:#5754db;color:#5754db;text-decoration:none}

.home-vac .vac-summary{font-size:18px;line-height:27px;margin:0 0 20px 0}
.chips{list-style:none;margin:0 0 32px 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{margin:0;padding:0;line-height:normal;background:0}
.chips a{display:inline-flex;align-items:center;height:40px;padding:0 18px;border:1px solid #ebeded;border-radius:20px;background:#fff;
    color:#000;font-size:15px;text-decoration:none;transition:.3s}
.chips a:hover{border-color:#5754db;color:#5754db;text-decoration:none}
.vac-cols{display:flex;gap:24px 60px;flex-wrap:wrap;margin:0 0 8px 0}
.vac-col{flex:1 1 300px;min-width:0}
.vac-col-title{font-size:16px;line-height:19px;font-weight:700;color:#5754db;margin:0 0 15px 0}
.vac-col ul{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.vac-col ul li{margin:0 0 14px 0;padding:0;line-height:20px;break-inside:avoid;background:0}
.vac-col ul li a{color:#000}
.vac-col ul li a:hover{color:#312ea9}
.home .b-news{margin-bottom:100px}

/* ---------- HTML-карты: /location/, /karta-sajta/ ---------- */
.map-lead{max-width:860px;margin-top:0}
.letters-nav{list-style:none;margin:0 0 32px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.letters-nav li{margin:0;padding:0;line-height:normal;background:0}
.letters-nav a{display:flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 6px;box-sizing:border-box;
    border:1px solid #ebeded;border-radius:4px;color:#000;text-decoration:none}
.letters-nav a:hover{border-color:#5754db;color:#5754db;text-decoration:none}
.map-groups{columns:3 300px;column-gap:40px}
.map-group{break-inside:avoid;margin:0 0 32px 0;scroll-margin-top:16px}
.map-group h2{font-size:18px;line-height:24px;font-weight:600;margin:0 0 10px 0}
.map-group h2 a{color:#000}
.map-group ul{list-style:none;margin:0;padding:0}
.map-group ul li{margin:0 0 8px 0;padding:0;line-height:22px;background:0}
.map-group ul li a{color:#333}
.map-group ul li a:hover{color:#312ea9}
.map-groups-wide{columns:2 320px}
.map-found{background:#f6f8f9;border-radius:4px;padding:20px 24px;margin:0 0 32px 0}
.map-found p{margin:0 0 10px 0}
.map-found ul{list-style:none;margin:0;padding:0}
.map-found li{margin:0 0 8px 0;padding:0;line-height:22px;background:0}

/* ---------- форма «Сообщить об ошибке» ---------- */
.err-subject{background:#f6f8f9;border-radius:4px;padding:16px 20px;margin:0 0 24px 0;line-height:24px}
.field select{display:block;width:100%;height:49px;box-sizing:border-box;border:1px solid #d7d7d7;border-radius:4px;background:#fff;
    font-family:'Inter',sans-serif;font-size:16px;padding:0 12px}
.field-label{display:block;font-size:14px;color:#777;margin:0 0 8px 0}
.hp-field{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* ---------- мобильный ---------- */
@media screen and (max-width: 999px){
    .home-block{margin-bottom:50px}
    .city-cards{grid-template-columns:repeat(3, minmax(0, 1fr))}
}
@media screen and (max-width: 767px){
    .main-ban .desc-main{padding-right:0}
    .hero-facts{font-size:15px;line-height:22px;margin-bottom:18px}
    .city-search{max-width:none}
    .city-search input[type=search],.city-search button{height:49px;font-size:16px}
    .city-search button{padding:0 18px 2px 18px}
    .hero-actions .btn-outline{width:100%}
    .home-block .title{margin-bottom:20px}
    /* популярные города — горизонтальная прокрутка */
    .city-cards{display:flex;overflow-x:auto;gap:12px;margin:0 -15px;padding:0 15px 8px 15px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
    .city-card{flex:0 0 72%;max-width:260px;scroll-snap-align:start}
    .home-vac .vac-summary{font-size:16px;line-height:24px}
    .vac-col ul{columns:1}
    .map-groups{columns:1}
    .letters-nav a{min-width:32px;height:32px}
}
