.mfl-overlay{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(30,58,94,.6);}
.mfl-overlay.mfl-overlay--show{display:flex;}
.mfl-overlay__box{position:relative;width:100%;max-width:520px;height:85vh;max-height:820px;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 60px rgba(0,0,0,.35);}
.mfl-overlay__box.mfl-overlay__box--consent{height:auto;}
.mfl-overlay__frame{width:100%;height:100%;}
.mfl-overlay__frame[hidden]{display:none;}
.mfl-overlay__frame iframe{width:100%;height:100%;border:0;display:block;}
.mfl-overlay__close{position:absolute;top:8px;right:8px;z-index:2;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:rgba(30,58,94,.85);color:#fff;font-size:24px;line-height:38px;cursor:pointer;}
.mfl-overlay__close:hover{background:var(--kz-primary, #1e3a5e);}
.mfl-consent{padding:40px 32px 32px;font-family: var(--kz-font, Gilroy),Arial,sans-serif;color:var(--kz-primary, #1e3a5e);}
.mfl-consent[hidden]{display:none;}
.mfl-consent h2{font-size:26px;font-weight:600;margin:0 0 14px;}
.mfl-consent p{font-size:15px;line-height:1.45;margin:0 0 20px;}
.mfl-consent__btn{margin-top:22px;width:100%;padding:14px 20px;border:0;border-radius:10px;background:var(--kz-primary, #1e3a5e);color:#fff;font:600 17px/1.2 Gilroy,Arial,sans-serif;cursor:pointer;}
.mfl-consent__btn:disabled{opacity:.45;cursor:not-allowed;}
.mfl-consent__error{margin-top:12px;color:#b3261e;font-size:14px;}
.mfl-consent__error[hidden]{display:none;}

.kz-book-fab{position:fixed;right:24px;bottom:24px;z-index:8990;display:flex;align-items:center;gap:8px;padding:0 20px 0 16px;height:56px;border:0;border-radius:28px;background:var(--kz-primary, #1e3a5e);color:#fff;font:600 16px/1 Gilroy,Arial,sans-serif;box-shadow:0 6px 24px rgba(30,58,94,.35);cursor:pointer;transition:bottom .2s,transform .2s;}
.kz-book-fab:hover{transform:translateY(-2px);}
body.kz-cookie-open .kz-book-fab{bottom:124px;}
@media (max-width:768px){body.kz-cookie-open .kz-book-fab{bottom:230px;}}
body.showModal .kz-book-fab{display:none;}
@media (max-width:768px){.kz-book-fab{right:16px;bottom:16px;width:56px;padding:0;justify-content:center;}.kz-book-fab span{display:none;}}

.kz-cookie{position:fixed;left:0;right:0;bottom:0;z-index:9000;background:var(--kz-primary, #1e3a5e);color:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.18);font-family: var(--kz-font, Gilroy),Arial,sans-serif;}
.kz-cookie[hidden]{display:none !important;}
.kz-cookie__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:32px;}
.kz-cookie__text{flex:1;font-size:14px;line-height:1.45;}
.kz-cookie__text a{color:#fff;text-decoration:underline;}
.kz-cookie__btns{display:flex;flex-direction:column;gap:8px;flex:none;}
.kz-cookie__btn{min-width:140px;padding:10px 22px;border:1px solid #fff;border-radius:6px;background:transparent;color:#fff;font:600 15px/1.2 Gilroy,Arial,sans-serif;cursor:pointer;}
.kz-cookie__btn--accept{background:#fff;color:var(--kz-primary, #1e3a5e);}
.kz-cookie__btn:hover{opacity:.85;}
@media (max-width:768px){.kz-cookie__inner{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px;}.kz-cookie__text{font-size:13px;}.kz-cookie__btns{flex-direction:row;}.kz-cookie__btn{flex:1;min-width:0;}}

.kz-container{max-width:1312px;margin:0 auto;padding:0 64px;}
.kz-rich{font-family: var(--kz-font, Gilroy),Arial,sans-serif;font-size:18px;line-height:1.5;color:var(--kz-primary, #1e3a5e);}
.kz-rich p{margin-bottom:12px;}
.kz-columns{display:grid;padding:0 64px;}
@media (max-width:768px){.kz-container{padding:0 25px;}.kz-columns{grid-template-columns:1fr !important;padding:0 25px;}.kz-hide-mobile{display:none;}}
@media (min-width:769px){.kz-hide-desktop{display:none;}}

/* Экран выбора филиала: сайт на фоне размыт */
.kz-chooser-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; background: #fff; pointer-events: none; user-select: none; }
.index-wrapper .index-wrapper__overlay { background: rgba(30, 58, 94, .22); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .index-wrapper .index-wrapper__overlay { background: rgba(30, 58, 94, .75); }
}
.index-wrapper__buttons { max-width: calc(100vw - 32px); box-sizing: border-box; }

/* Акции */
.kz-promotions-empty { padding: 0 64px 48px; color: var(--kz-primary, #1e3a5e); font-family: var(--kz-font, Gilroy); font-size: 20px; }
@media (max-width: 768px) { .kz-promotions-empty { padding: 0 25px 32px; } }
.b-promotions__item-description ul, .b-promotions__item-description ol { margin: 10px 0 10px 24px; }
.b-promotions__item-description ul { list-style: disc; }
.b-promotions__item-description ol { list-style: decimal; }
.b-promotions__item-description p { margin: 0 0 10px; }

/* Новости и блог */
.kz-news-more { display: flex; justify-content: center; margin-top: 32px; }
.kz-news-more button { cursor: pointer; background: none; }
.kz-post img { max-width: 100%; height: auto; border-radius: 16px; }
.kz-post ul, .kz-post ol { margin: 10px 0 10px 24px; }
.kz-post ul { list-style: disc; }
.kz-post ol { list-style: decimal; }
.kz-post p { margin: 0 0 12px; }
.kz-post h2, .kz-post h3 { margin: 20px 0 10px; color: var(--kz-primary, #1e3a5e); }
.kz-post a { text-decoration: underline; }

/* Поиск и галерея */
.kz-search-kind { display: inline-block; margin-bottom: 6px; color: #6b84a3; font-size: 14px; }
.kz-search-text { line-height: 1.4; }
.search-page > a { display: block; margin-bottom: 4px; }
.kz-lightbox { position: fixed; inset: 0; z-index: 9500; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(15, 30, 50, .85); cursor: zoom-out; }
.kz-lightbox img { max-width: 100%; max-height: 100%; border-radius: 12px; }
.gallery__img { cursor: zoom-in; }

/* Вакансии */
.kz-vacancies { padding-top: 40px; padding-bottom: 64px; color: var(--kz-primary, #1e3a5e); font-family: var(--kz-font, Gilroy), Arial, sans-serif; font-size: 18px; line-height: 1.4; }
.kz-vacancies h1 { font-size: 48px; font-weight: 400; margin-bottom: 32px; }
.kz-vacancy { padding: 28px 32px; margin-bottom: 20px; border-radius: 24px; background: var(--kz-soft, #f0f6ff); }
.kz-vacancy__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-bottom: 10px; }
.kz-vacancy h2 { font-size: 24px; font-weight: 800; }
.kz-vacancy__salary { font-weight: 800; white-space: nowrap; }
.kz-vacancies__contact { margin-top: 24px; }
@media (max-width: 768px) { .kz-vacancies h1 { font-size: 32px; } .kz-vacancy { padding: 20px; } }
