/*
Theme Name: BlueSert
Theme URI: https://nuzhnov.ru
Author: Сергей Нужнов
Author URI: https://nuzhnov.ru
Description: Тема для сайта с сертификатами
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: 
*/
.cert-head {
    position: relative;
    background: #ffffff;
    border-bottom: 1px solid #e8edf5;
}

.cert-head * {
    box-sizing: border-box;
}

.wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.cert-head__top {
    background: #f4f6fb;
    border-bottom: 1px solid #e3e9f3;
}

.cert-head__top-desktop {
    min-height: 46px;
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 1.4;
    color: #38507f;
}

.cert-head__top-mobile {
    display: none;
}

.cert-head-mobilebar {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
}

.cert-head-mobilebar__group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cert-head-mobilebar__line {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2d3a59;
    text-decoration: none;
    font-size: 13px;
    line-height: 1.4;
}

.cert-head-mobilebar__line--address {
    text-decoration: none;
}

.cert-head-mobilebar__icon {
    width: 16px;
    min-width: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cert-head-mobilebar__icon img {
    max-width: 100%;
    height: auto;
    display: block;
}

.cert-head-mobilebar__phone {
    display: flex;
    align-items: center;
}

.cert-head-mobilebar__phone-link {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #3e5fae;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cert-head-mobilebar__phone-link img {
    display: block;
}

.cert-head__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding-top: 18px;
    padding-bottom: 18px;
}

.cert-head__brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    text-decoration: none;
}

.cert-head__brand-logo {
    display: block;
    max-width: 108px;
    height: auto;
}

.cert-head__brand-name {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 500;
    color: #1f2f57;
}

.cert-head__desktop {
    flex: 1 1 auto;
}

.cert-head-info {
    display: grid;
    grid-template-columns: 1.2fr 1fr 1fr auto;
    align-items: center;
    gap: 24px;
}

.cert-head-info__coverage {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    column-gap: 14px;
    row-gap: 8px;
}

.cert-head-info__map img {
    display: block;
    max-width: 96px;
    height: auto;
}

.cert-head-info__coverage-text {
    font-size: 15px;
    line-height: 1.35;
    color: #2b3c66;
    font-weight: 500;
}

.cert-head-info__address {
    grid-column: 1 / -1;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #2e3b59;
}

.cert-head-info__address-text {
    font-size: 15px;
    line-height: 1.45;
}

.cert-head-info__icon {
    width: 20px;
    min-width: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cert-head-info__icon img {
    max-width: 100%;
    height: auto;
    display: block;
}

.cert-head-info__email {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cert-head-info__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #26324f;
}

.cert-head-info__link-text {
    font-size: 15px;
    line-height: 1.45;
}

.cert-head-info__hint {
    font-size: 13px;
    line-height: 1.4;
    color: #6a7794;
}

.cert-head-info__phonebox {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.cert-head-info__callback {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: rgba(62, 95, 174, 0.08);
    color: #3658a4;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: 0.2s ease;
}

.cert-head-info__callback:hover {
    background: rgba(62, 95, 174, 0.14);
}

.cert-head-info__phone {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #1f2f57;
}

.cert-head-info__phone-text {
    font-size: 24px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
}

.cert-head-info__phone-note {
    font-size: 13px;
    line-height: 1.4;
    color: #6a7794;
}

.cert-head-info__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cert-head-info__btn {
    min-width: 210px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    font-size: 15px;
    font-weight: 600;
    transition: 0.2s ease;
}

.cert-head-info__btn--light {
    border: 1px solid #3e5fae;
    color: #3e5fae;
    background: #ffffff;
}

.cert-head-info__btn--light:hover {
    background: #f5f8ff;
}

.cert-head-info__btn--accent {
    background: #3e5fae;
    color: #ffffff;
    border: 1px solid #3e5fae;
}

.cert-head-info__btn--accent:hover {
    opacity: 0.92;
}

.cert-head__mobile {
    display: none;
}

.cert-head-mobile {
    display: flex;
    align-items: center;
    gap: 10px;
}

.cert-head-mobile__item {
    display: flex;
}

.cert-head-mobile__btn {
    min-height: 42px;
    padding: 0 16px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.cert-head-mobile__btn--light {
    border: 1px solid #3e5fae;
    color: #3e5fae;
    background: #ffffff;
}

.cert-head-mobile__btn--accent {
    background: #3e5fae;
    color: #ffffff;
    border: 1px solid #3e5fae;
}

.cert-head-mobile__burger {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 8px;
    background: #3e5fae;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    cursor: pointer;
}

.cert-head-mobile__burger-line,
.cert-head-mobile__burger-line::before,
.cert-head-mobile__burger-line::after {
    position: relative;
    display: block;
    width: 18px;
    height: 2px;
    background: #ffffff;
    border-radius: 2px;
    content: "";
}

.cert-head-mobile__burger-line::before {
    position: absolute;
    top: -6px;
    left: 0;
}

.cert-head-mobile__burger-line::after {
    position: absolute;
    top: 6px;
    left: 0;
}

@media (max-width: 1199px) {
    .cert-head-info {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .cert-head-info__actions {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

@media (max-width: 991px) {
    .cert-head__top-desktop,
    .cert-head__desktop {
        display: none;
    }

    .cert-head__top-mobile,
    .cert-head__mobile {
        display: block;
    }

    .cert-head__main {
        padding-top: 14px;
        padding-bottom: 14px;
    }

    .cert-head__brand-logo {
        max-width: 88px;
    }

    .cert-head__brand-name {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .wrap {
        padding: 0 15px;
    }

    .cert-head-mobile {
        gap: 8px;
    }

    .cert-head-mobile__btn {
        padding: 0 12px;
        font-size: 13px;
    }

    .cert-head-mobilebar__text {
        font-size: 12px;
    }

    .cert-head__main {
        gap: 14px;
    }

    .cert-head__brand {
        gap: 10px;
    }

    .cert-head__brand-logo {
        max-width: 74px;
    }

    .cert-head__brand-name {
        font-size: 15px;
    }
}

@media (max-width: 575px) {
    .cert-head__main {
        flex-wrap: wrap;
    }

    .cert-head__mobile {
        width: 100%;
    }

    .cert-head-mobile {
        width: 100%;
        justify-content: space-between;
    }

    .cert-head-mobile__item {
        flex: 1 1 auto;
    }

    .cert-head-mobile__item:last-child {
        flex: 0 0 auto;
    }

    .cert-head-mobile__btn {
        width: 100%;
    }
}
/* Убираем лишние <br> внутри Contact Form 7 */
.cost-lead-form-wrap .wpcf7-form > p br,
.cost-lead-form-wrap .wpcf7-form br{
    display:none !important;
}

/* Общая структура формы */
.cost-lead-form-wrap .wpcf7-form > p{
    margin:0;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.cost-lead-form-wrap .wpcf7-form-control-wrap{
    display:block;
    width:100%;
}

.cost-lead-form-wrap .hidden,
.cost-lead-form-wrap .url,
.cost-lead-form-wrap .ip{
    display:none !important;
}

/* Поля */
.cost-lead-form-wrap input[type="text"],
.cost-lead-form-wrap input[type="tel"],
.cost-lead-form-wrap input[type="email"],
.cost-lead-form-wrap textarea,
.cost-lead-form-wrap select{
    width:100%;
    min-height:72px;
    padding:0 22px;
    border:1px solid #cfd6e4;
    border-radius:24px;
    background:#fff;
    color:#1f2430;
    font-size:18px;
    font-weight:500;
    box-shadow:none;
    transition:.2s ease;
}

.cost-lead-form-wrap textarea{
    min-height:140px;
    padding:20px 22px;
    resize:vertical;
}

.cost-lead-form-wrap input::placeholder,
.cost-lead-form-wrap textarea::placeholder{
    color:#7a7f8c;
    opacity:1;
}

.cost-lead-form-wrap input:focus,
.cost-lead-form-wrap textarea:focus,
.cost-lead-form-wrap select:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 4px rgba(63,94,169,.10);
}

/* Ошибки */
.cost-lead-form-wrap .wpcf7-not-valid{
    border-color:#e7c8cf !important;
    background:#f7e3e6;
}

.cost-lead-form-wrap .wpcf7-not-valid-tip{
    margin-top:8px;
    font-size:13px;
    line-height:1.4;
    color:#c62828;
}

/* Блок чекбокса */
.cost-lead-form-wrap .licence_block,
.cost-lead-form-wrap .form-checkbox{
    margin:22px 0 18px;
}

.cost-lead-form-wrap .licence_block > p,
.cost-lead-form-wrap .form-checkbox > p{
    margin:0;
}

.cost-lead-form-wrap .wpcf7-acceptance{
    display:block;
}

.cost-lead-form-wrap .wpcf7-list-item{
    margin:0;
    display:block;
}

.cost-lead-form-wrap .wpcf7-list-item label{
    display:flex;
    align-items:flex-start;
    gap:14px;
    cursor:pointer;
    position:relative;
    line-height:1.5;
}

/* Скрываем стандартный checkbox */
.cost-lead-form-wrap .form-checkbox__input,
.cost-lead-form-wrap .wpcf7-acceptance input[type="checkbox"]{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
    pointer-events:none;
}

/* Кастомный квадрат */
.cost-lead-form-wrap .form-checkbox__box{
    order:-1;
    position:relative;
    width:24px;
    height:24px;
    min-width:24px;
    margin-top:2px;
    border:2px solid #7c808b;
    border-radius:6px;
    background:#fff;
    transition:.2s ease;
}

/* Галочка */
.cost-lead-form-wrap .form-checkbox__box::after{
    content:"";
    position:absolute;
    left:7px;
    top:2px;
    width:6px;
    height:12px;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(45deg) scale(0);
    transition:.2s ease;
}

/* Текст */
.cost-lead-form-wrap .form-checkbox__text,
.cost-lead-form-wrap .wpcf7-list-item-label{
    display:flex;
    align-items:flex-start;
    gap:14px;
    font-size:17px;
    color:#1f2430;
    line-height:1.5;
}

.cost-lead-form-wrap .form-checkbox__text a,
.cost-lead-form-wrap .wpcf7-list-item-label a{
    color:#0b72ef;
    text-decoration:none;
}

.cost-lead-form-wrap .form-checkbox__text a:hover,
.cost-lead-form-wrap .wpcf7-list-item-label a:hover{
    text-decoration:underline;
}

/* Состояние checked */
.cost-lead-form-wrap .form-checkbox__input:checked + .wpcf7-list-item-label .form-checkbox__box,
.cost-lead-form-wrap .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label .form-checkbox__box{
    background:var(--accent);
    border-color:var(--accent);
}

.cost-lead-form-wrap .form-checkbox__input:checked + .wpcf7-list-item-label .form-checkbox__box::after,
.cost-lead-form-wrap .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label .form-checkbox__box::after{
    transform:rotate(45deg) scale(1);
}

/* Кнопка */
.cost-lead-form-wrap .text-center{
    margin-top:10px;
}

.cost-lead-form-wrap .text-center > p{
    margin:0;
}

.cost-lead-form-wrap .wpcf7-submit{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:74px;
    padding:16px 24px;
    border:0;
    border-radius:24px;
    background:#4664b1;
    color:#fff;
    font-size:18px;
    font-weight:800;
    text-transform:uppercase;
    cursor:pointer;
    transition:.2s ease;
}

.cost-lead-form-wrap .wpcf7-submit:hover{
    background:#38549b;
}

.cost-lead-form-wrap .wpcf7-submit:disabled{
    opacity:1;
    background:#4664b1;
    color:#fff;
    cursor:not-allowed;
}

.cost-lead-form-wrap .wpcf7-spinner{
    margin:12px auto 0;
    display:block;
}

/* Адаптив */
@media (max-width: 767px){
    .cost-lead-form-wrap input[type="text"],
    .cost-lead-form-wrap input[type="tel"],
    .cost-lead-form-wrap input[type="email"],
    .cost-lead-form-wrap textarea,
    .cost-lead-form-wrap select{
        min-height:62px;
        font-size:16px;
        border-radius:18px;
    }

    .cost-lead-form-wrap .wpcf7-submit{
        min-height:62px;
        font-size:16px;
        border-radius:18px;
    }

    .cost-lead-form-wrap .form-checkbox__text,
    .cost-lead-form-wrap .wpcf7-list-item-label{
        font-size:15px;
    }
}.breadcrumbs-section{
    padding:5px 0 8px;
    background:#fff;
}

.breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    font-size:14px;
    line-height:1.5;
    color:#6b7280;
}

.breadcrumbs a{
    color:#3f5ea9;
    text-decoration:none;
    transition:.2s ease;
}

.breadcrumbs a:hover{
    color:#2f4b8d;
    text-decoration:underline;
}

.breadcrumbs .breadcrumbs-separator{
    color:#9ca3af;
    margin:0 2px;
}

.breadcrumbs .breadcrumb_last,
.breadcrumbs span[aria-current="page"]{
    color:#1f2430;
    font-weight:600;
}

@media (max-width: 767px){
    .breadcrumbs-section{
        padding:14px 0 6px;
    }

    .breadcrumbs{
        font-size:13px;
        gap:6px;
    }
}
/* =========================
   Форма в модальном окне ТУ
   Убираем br, выравниваем поля,
   оформляем чекбокс и кнопку
   ========================= */

   .tu-modal-form .wpcf7-form > p br,
   .tu-modal-form .wpcf7-form br{
       display:none !important;
   }
   
   /* Общая структура формы */
   .tu-modal-form .wpcf7{
       margin:0;
   }
   
   .tu-modal-form .wpcf7-form{
       margin:0;
   }
   
   .tu-modal-form .wpcf7-form > p{
       margin:0;
       display:flex;
       flex-direction:column;
       gap:18px;
   }
   
   .tu-modal-form .wpcf7-form-control-wrap{
       display:block;
       width:100%;
   }
   
   /* Скрытые поля */
   .tu-modal-form .hidden,
   .tu-modal-form .url,
   .tu-modal-form .ip,
   .tu-modal-form .honeypot-831-wrap,
   .tu-modal-form .akismet-fields-container{
       display:none !important;
   }
   
   /* Поля */
   .tu-modal-form input[type="text"],
   .tu-modal-form input[type="tel"],
   .tu-modal-form input[type="email"],
   .tu-modal-form textarea,
   .tu-modal-form select{
       width:100%;
       min-height:72px;
       padding:0 22px;
       border:1px solid #cfd6e4;
       border-radius:0;
       background:#fff;
       color:#1f2430;
       font-size:18px;
       font-weight:500;
       box-shadow:none;
       transition:.2s ease;
   }
   
   .tu-modal-form textarea{
       min-height:140px;
       padding:20px 22px;
       resize:vertical;
   }
   
   .tu-modal-form input::placeholder,
   .tu-modal-form textarea::placeholder{
       color:#7a7f8c;
       opacity:1;
   }
   
   .tu-modal-form input:focus,
   .tu-modal-form textarea:focus,
   .tu-modal-form select:focus{
       outline:none;
       border-color:var(--accent);
       box-shadow:0 0 0 4px rgba(63,94,169,.10);
   }
   
   /* Ошибки */
   .tu-modal-form .wpcf7-not-valid{
       border-color:#e7c8cf !important;
       background:#f7e3e6;
   }
   
   .tu-modal-form .wpcf7-not-valid-tip{
       margin-top:8px;
       font-size:13px;
       line-height:1.4;
       color:#c62828;
   }
   
   /* Чекбокс */
   .tu-modal-form .licence_block,
   .tu-modal-form .form-checkbox{
       margin:22px 0 18px;
   }
   
   .tu-modal-form .licence_block > p,
   .tu-modal-form .form-checkbox > p{
       margin:0;
   }
   
   .tu-modal-form .wpcf7-acceptance{
       display:block;
   }
   
   .tu-modal-form .wpcf7-list-item{
       margin:0;
       display:block;
   }
   
   .tu-modal-form .wpcf7-list-item label{
       display:flex;
       align-items:flex-start;
       gap:14px;
       cursor:pointer;
       position:relative;
       line-height:1.5;
   }
   
   /* Скрываем стандартный checkbox */
   .tu-modal-form .form-checkbox__input,
   .tu-modal-form .wpcf7-acceptance input[type="checkbox"]{
       position:absolute;
       opacity:0;
       width:1px;
       height:1px;
       pointer-events:none;
   }
   
   /* Кастомный чекбокс */
   .tu-modal-form .form-checkbox__box{
       order:-1;
       position:relative;
       width:24px;
       height:24px;
       min-width:24px;
       margin-top:2px;
       border:2px solid #7c808b;
       border-radius:6px;
       background:#fff;
       transition:.2s ease;
   }
   
   .tu-modal-form .form-checkbox__box::after{
       content:"";
       position:absolute;
       left:7px;
       top:2px;
       width:6px;
       height:12px;
       border-right:2px solid #fff;
       border-bottom:2px solid #fff;
       transform:rotate(45deg) scale(0);
       transition:.2s ease;
   }
   
   /* Текст чекбокса */
   .tu-modal-form .form-checkbox__text,
   .tu-modal-form .wpcf7-list-item-label{
       display:flex;
       align-items:flex-start;
       gap:14px;
       font-size:17px;
       color:#1f2430;
       line-height:1.5;
   }
   
   .tu-modal-form .form-checkbox__text a,
   .tu-modal-form .wpcf7-list-item-label a{
       color:#0b72ef;
       text-decoration:none;
   }
   
   .tu-modal-form .form-checkbox__text a:hover,
   .tu-modal-form .wpcf7-list-item-label a:hover{
       text-decoration:underline;
   }
   
   /* Checked state */
   .tu-modal-form .form-checkbox__input:checked + .wpcf7-list-item-label .form-checkbox__box,
   .tu-modal-form .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label .form-checkbox__box{
       background:var(--accent);
       border-color:var(--accent);
   }
   
   .tu-modal-form .form-checkbox__input:checked + .wpcf7-list-item-label .form-checkbox__box::after,
   .tu-modal-form .wpcf7-acceptance input[type="checkbox"]:checked ~ .wpcf7-list-item-label .form-checkbox__box::after{
       transform:rotate(45deg) scale(1);
   }
   
   /* Кнопка */
   .tu-modal-form .text-center{
       margin-top:10px;
   }
   
   .tu-modal-form .text-center > p{
       margin:0;
   }
   
   .tu-modal-form .wpcf7-submit{
       display:flex;
       align-items:center;
       justify-content:center;
       width:100%;
       min-height:74px;
       padding:16px 24px;
       border:0;
       border-radius:24px;
       background:#4664b1;
       color:#fff;
       font-size:18px;
       font-weight:800;
       text-transform:uppercase;
       cursor:pointer;
       transition:.2s ease;
       box-shadow:0 14px 28px rgba(70,100,177,.20);
   }
   
   .tu-modal-form .wpcf7-submit:hover{
       background:#38549b;
   }
   
   .tu-modal-form .wpcf7-submit:disabled{
       opacity:1;
       background:#4664b1;
       color:#fff;
       cursor:not-allowed;
   }
   
   .tu-modal-form .wpcf7-spinner{
       margin:12px auto 0;
       display:block;
   }
   
   .tu-modal-form .wpcf7-response-output{
       margin:16px 0 0 !important;
       padding:12px 14px !important;
       border-radius:14px;
       font-size:14px;
   }
   
   .tu-modal-form .screen-reader-response{
       display:none;
   }
   
   /* Адаптив */
   @media (max-width: 767px){
       .tu-modal-form input[type="text"],
       .tu-modal-form input[type="tel"],
       .tu-modal-form input[type="email"],
       .tu-modal-form textarea,
       .tu-modal-form select{
           min-height:62px;
           font-size:16px;
           padding:0 18px;
       }
   
       .tu-modal-form textarea{
           padding:18px;
       }
   
       .tu-modal-form .wpcf7-submit{
           min-height:62px;
           font-size:16px;
           border-radius:18px;
       }
   
       .tu-modal-form .form-checkbox__text,
       .tu-modal-form .wpcf7-list-item-label{
           font-size:15px;
       }
   }
   .topbar-modern{
    position:relative;
    padding:18px 0;
    background:#fff;
    border-bottom:1px solid #e8ecf4;
    box-shadow:0 8px 24px rgba(16,24,40,.04);
    z-index:20;
}

.topbar-modern__container{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.topbar-modern__left{
    display:flex;
    align-items:center;
    gap:18px;
    min-width:0;
}

.topbar-modern__logo{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    transition:.2s ease;
}

.topbar-modern__logo img{
    display:block;
    max-width:220px;
    height:auto;
}

.topbar-modern__logo:hover{
    transform:translateY(-1px);
}

.topbar-modern__brand{
    min-width:0;
}

.topbar-modern__badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    margin-bottom:8px;
    border-radius:999px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
    font-size:13px;
    font-weight:700;
    line-height:1;
}

.topbar-modern__badge-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:currentColor;
}

.topbar-modern__title{
    font-size:28px;
    line-height:1.05;
    font-weight:800;
    color:#1f2430;
    letter-spacing:-0.02em;
    margin-bottom:4px;
}

.topbar-modern__subtitle{
    font-size:14px;
    line-height:1.5;
    color:#6b7280;
    max-width:440px;
}

.topbar-modern__right{
    display:flex;
    align-items:stretch;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}

.topbar-modern__item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    min-height:72px;
    padding:14px 16px;
    border:1px solid #e4e9f2;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    transition:.2s ease;
}

.topbar-modern__item--link{
    text-decoration:none;
}

.topbar-modern__item--link:hover{
    border-color:#cfd8ea;
    box-shadow:0 14px 28px rgba(15,23,42,.07);
    transform:translateY(-1px);
}

.topbar-modern__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:14px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
}

.topbar-modern__meta{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}

.topbar-modern__label{
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.04em;
    color:#94a3b8;
}

.topbar-modern__value{
    font-size:15px;
    line-height:1.5;
    font-weight:600;
    color:#1f2430;
    word-break:break-word;
}

.topbar-modern__cta{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px;
    border-radius:20px;
    background:linear-gradient(135deg,#f7f9ff 0%,#eef3ff 100%);
    border:1px solid #dbe4f5;
    box-shadow:0 16px 34px rgba(63,94,169,.08);
}

.topbar-modern__phone{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    border-radius:16px;
    text-decoration:none;
    background:#fff;
    border:1px solid #e4e9f2;
    transition:.2s ease;
}

.topbar-modern__phone:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 24px rgba(15,23,42,.06);
}

.topbar-modern__phone-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    min-width:44px;
    border-radius:14px;
    background:#3f5ea9;
    color:#fff;
}

.topbar-modern__phone-text{
    font-size:18px;
    line-height:1.2;
    font-weight:800;
    color:#1f2430;
    white-space:nowrap;
}

.topbar-modern__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:58px;
    padding:0 22px;
    border:0;
    border-radius:16px;
    background:#3f5ea9;
    color:#fff;
    font-size:15px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(63,94,169,.22);
    transition:.2s ease;
}

.topbar-modern__button:hover{
    background:#2f4b8d;
    transform:translateY(-1px);
}

@media (max-width: 1280px){
    .topbar-modern__container{
        flex-direction:column;
        align-items:stretch;
    }

    .topbar-modern__right{
        justify-content:flex-start;
    }
}

@media (max-width: 900px){
    .topbar-modern__left{
        flex-direction:column;
        align-items:flex-start;
    }

    .topbar-modern__logo img{
        max-width:190px;
    }

    .topbar-modern__title{
        font-size:24px;
    }

    .topbar-modern__right{
        display:grid;
        grid-template-columns:1fr;
    }

    .topbar-modern__cta{
        flex-direction:column;
        align-items:stretch;
    }

    .topbar-modern__phone{
        width:100%;
    }

    .topbar-modern__button{
        width:100%;
    }
}

@media (max-width: 640px){
    .topbar-modern{
        padding:14px 0;
    }

    .topbar-modern__container{
        gap:16px;
    }

    .topbar-modern__item{
        min-height:auto;
        padding:14px;
        border-radius:16px;
    }

    .topbar-modern__icon{
        width:38px;
        height:38px;
        min-width:38px;
        border-radius:12px;
    }

    .topbar-modern__phone-icon{
        width:40px;
        height:40px;
        min-width:40px;
        border-radius:12px;
    }

    .topbar-modern__phone-text{
        font-size:16px;
        white-space:normal;
    }

    .topbar-modern__subtitle{
        font-size:13px;
    }
}
.geo-modern-section{
    padding:72px 0;
    background:linear-gradient(180deg,#ffffff 0%,#f8faff 100%);
}

.geo-modern-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:30px;
}

.geo-modern-head__content{
    max-width:760px;
}

.geo-modern-head__stats{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.geo-modern-stat{
    min-width:170px;
    padding:18px 20px;
    border-radius:20px;
    background:#fff;
    border:1px solid #e4e9f2;
    box-shadow:0 12px 30px rgba(15,23,42,.05);
}

.geo-modern-stat strong{
    display:block;
    margin-bottom:8px;
    font-size:28px;
    line-height:1;
    font-weight:800;
    color:#3f5ea9;
}

.geo-modern-stat span{
    display:block;
    font-size:14px;
    line-height:1.5;
    color:#6b7280;
}

.geo-modern-layout{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
    gap:24px;
    align-items:start;
}

.geo-modern-map{
    padding:26px;
    border:1px solid #e4e9f2;
    border-radius:28px;
    background:#fff;
    box-shadow:0 18px 40px rgba(15,23,42,.06);
}

.geo-modern-map__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.geo-modern-map__title{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.15;
    font-weight:800;
    color:#1f2430;
}

.geo-modern-map__text{
    margin:0;
    max-width:620px;
    font-size:16px;
    line-height:1.7;
    color:#6b7280;
}

.geo-modern-map__hint{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:12px 14px;
    border-radius:16px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
}

.geo-modern-map__hint-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:10px;
    background:#fff;
    color:#3f5ea9;
}

.geo-modern-map__frame{
    position:relative;
    overflow:hidden;
    border-radius:24px;
    border:1px solid #e4e9f2;
    background:#f4f7fd;
    min-height:560px;
}

.geo-modern-map__frame .map{
    width:100%;
    height:560px;
}

.geo-modern-list-wrap{
    padding:26px;
    border-radius:28px;
    background:#fff;
    border:1px solid #e4e9f2;
    box-shadow:0 18px 40px rgba(15,23,42,.06);
}

.geo-modern-list-head{
    margin-bottom:18px;
}

.geo-modern-list-title{
    margin:0 0 8px;
    font-size:26px;
    line-height:1.15;
    font-weight:800;
    color:#1f2430;
}

.geo-modern-list-text{
    margin:0;
    font-size:15px;
    line-height:1.65;
    color:#6b7280;
}

.geo-modern-list{
    display:flex;
    flex-direction:column;
    gap:12px;
    max-height:560px;
    overflow:auto;
    padding-right:4px;
}

.geo-modern-list::-webkit-scrollbar{
    width:8px;
}

.geo-modern-list::-webkit-scrollbar-thumb{
    background:#d8dfed;
    border-radius:999px;
}

.geo-modern-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:16px;
    border-radius:20px;
    border:1px solid #e7ebf3;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    transition:.2s ease;
}

.geo-modern-item:hover{
    transform:translateY(-2px);
    border-color:#d2dbef;
    box-shadow:0 16px 32px rgba(15,23,42,.08);
}

.geo-modern-item__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:16px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
}

.geo-modern-item__content{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
    flex:1;
}

.geo-modern-item__city{
    display:inline-flex;
    align-items:center;
    width:fit-content;
    padding:0;
    border:0;
    background:none;
    cursor:pointer;
    text-align:left;
    font-size:18px;
    line-height:1.3;
    font-weight:800;
    color:#1f2430;
    transition:.2s ease;
}

.geo-modern-item__city:hover{
    color:#3f5ea9;
}

.geo-modern-item__phone{
    display:inline-flex;
    align-items:center;
    gap:10px;
    width:fit-content;
    text-decoration:none;
    color:#6b7280;
    font-size:15px;
    line-height:1.4;
    font-weight:600;
}

.geo-modern-item__phone:hover{
    color:#3f5ea9;
}

.geo-modern-item__phone-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:10px;
    background:#f4f7fd;
    color:#3f5ea9;
}

.geo-modern-item__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    min-width:36px;
    border-radius:12px;
    background:#f4f7fd;
    color:#9aa6bf;
    transition:.2s ease;
}

.geo-modern-item:hover .geo-modern-item__arrow{
    background:#3f5ea9;
    color:#fff;
}

@media (max-width: 1180px){
    .geo-modern-head{
        flex-direction:column;
        align-items:flex-start;
    }

    .geo-modern-head__stats{
        justify-content:flex-start;
    }

    .geo-modern-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width: 767px){
    .geo-modern-section{
        padding:56px 0;
    }

    .geo-modern-map,
    .geo-modern-list-wrap{
        padding:20px;
        border-radius:22px;
    }

    .geo-modern-map__top{
        flex-direction:column;
        align-items:flex-start;
    }

    .geo-modern-map__title,
    .geo-modern-list-title{
        font-size:22px;
    }

    .geo-modern-map__frame,
    .geo-modern-map__frame .map{
        min-height:380px;
        height:380px;
    }

    .geo-modern-list{
        max-height:none;
    }

    .geo-modern-item{
        padding:14px;
        border-radius:18px;
    }

    .geo-modern-item__city{
        font-size:16px;
    }

    .geo-modern-head__stats{
        width:100%;
        display:grid;
        grid-template-columns:1fr;
    }
}

.tu-base-section{
    padding:72px 0;
    background:
        radial-gradient(circle at top right, rgba(63,94,169,.12), transparent 24%),
        linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.tu-base-wrap{
    display:grid;
    gap:28px;
}

.tu-base-head{
    padding:34px;
    border-radius:32px;
    background:#fff;
    border:1px solid #e6ebf5;
    box-shadow:0 22px 50px rgba(15,23,42,.06);
}

.tu-base-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    margin-bottom:18px;
    border-radius:999px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
    font-size:14px;
    font-weight:800;
}

.tu-base-badge__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.tu-base-grid{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
    gap:28px;
}

.tu-base-title{
    margin:0 0 16px;
    font-size:clamp(34px,4vw,56px);
    line-height:1.04;
    font-weight:900;
    letter-spacing:-0.03em;
    color:#1f2430;
}

.tu-base-text{
    margin:0 0 24px;
    max-width:800px;
    font-size:18px;
    line-height:1.72;
    color:#5f6777;
}

.tu-base-search{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    margin-bottom:18px;
    border-radius:24px;
    background:#fff;
    border:1px solid #dbe3f1;
    box-shadow:0 16px 38px rgba(63,94,169,.08);
}

.tu-base-search__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    min-width:52px;
    border-radius:16px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
}

.tu-base-search__input{
    flex:1;
    min-width:0;
    height:58px;
    padding:0 4px;
    border:0;
    background:transparent;
    color:#1f2430;
    font-size:17px;
    font-weight:600;
}

.tu-base-search__input:focus{
    outline:none;
}

.tu-base-search__input::placeholder{
    color:#8a93a6;
    font-weight:500;
}

.tu-base-search__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:150px;
    height:58px;
    padding:0 22px;
    border:0;
    border-radius:18px;
    background:#3f5ea9;
    color:#fff;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(63,94,169,.22);
    transition:.2s ease;
}

.tu-base-search__button:hover{
    background:#2f4b8d;
    transform:translateY(-1px);
}

.tu-base-tags{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}

.tu-base-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 16px;
    border:1px solid #dfe6f3;
    border-radius:999px;
    background:#fff;
    color:#3b4659;
    font-size:14px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
}

.tu-base-tag:hover{
    color:#3f5ea9;
    border-color:#cbd8ef;
    background:#f7faff;
}

.tu-base-conversion{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.tu-base-conversion__item{
    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:16px;
    border-radius:18px;
    background:#f9fbff;
    border:1px solid #e5ebf7;
    font-size:15px;
    line-height:1.6;
    font-weight:700;
    color:#324055;
}

.tu-base-conversion__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    min-width:38px;
    border-radius:12px;
    background:#fff;
    color:#3f5ea9;
    box-shadow:0 8px 20px rgba(15,23,42,.05);
}

.tu-base-side{
    display:grid;
    gap:18px;
}

.tu-base-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}

.tu-base-stat{
    padding:20px 18px;
    border-radius:22px;
    background:#fff;
    border:1px solid #e4e9f2;
    box-shadow:0 12px 28px rgba(15,23,42,.05);
    text-align:left;
}

.tu-base-stat__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    margin-bottom:14px;
    border-radius:16px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
}

.tu-base-stat strong{
    display:block;
    margin-bottom:8px;
    font-size:28px;
    line-height:1;
    font-weight:900;
    color:#1f2430;
}

.tu-base-stat span{
    display:block;
    font-size:14px;
    line-height:1.55;
    color:#6b7280;
}

.tu-base-infographic{
    padding:24px;
    border-radius:26px;
    background:linear-gradient(135deg,#f7f9ff 0%,#eef3ff 100%);
    border:1px solid #dbe3f1;
    box-shadow:0 16px 38px rgba(63,94,169,.08);
}

.tu-base-infographic__title{
    margin:0 0 18px;
    font-size:26px;
    line-height:1.15;
    font-weight:800;
    color:#1f2430;
}

.tu-base-steps{
    display:grid;
    gap:14px;
    margin-bottom:22px;
}

.tu-base-step{
    display:flex;
    gap:14px;
    align-items:flex-start;
    padding:16px;
    border-radius:18px;
    background:#fff;
    border:1px solid #e4e9f2;
}

.tu-base-step__num{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    min-width:46px;
    border-radius:14px;
    background:#3f5ea9;
    color:#fff;
    font-size:15px;
    font-weight:900;
}

.tu-base-step__content strong{
    display:block;
    margin-bottom:6px;
    font-size:17px;
    line-height:1.3;
    color:#1f2430;
}

.tu-base-step__content span{
    display:block;
    font-size:14px;
    line-height:1.6;
    color:#6b7280;
}

.tu-base-infographic__cta{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.tu-base-results{
    padding:28px;
    border-radius:30px;
    background:#fff;
    border:1px solid #e6ebf5;
    box-shadow:0 22px 50px rgba(15,23,42,.06);
}

.tu-base-results__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}

.tu-base-results__title{
    margin:0 0 8px;
    font-size:28px;
    line-height:1.12;
    font-weight:800;
    color:#1f2430;
}

.tu-base-results__text{
    margin:0;
    font-size:16px;
    line-height:1.65;
    color:#6b7280;
}

.tu-base-results__counter{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 16px;
    border-radius:999px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}

.tu-base-results__list{
    display:grid;
    gap:14px;
}

.tu-base-result{
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px;
    border-radius:22px;
    border:1px solid #e7ebf3;
    background:#fff;
    box-shadow:0 10px 24px rgba(15,23,42,.04);
    text-decoration:none;
    transition:.2s ease;
}

.tu-base-result:hover{
    transform:translateY(-2px);
    border-color:#d2dbef;
    box-shadow:0 16px 32px rgba(15,23,42,.08);
}

.tu-base-result__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:16px;
    background:rgba(63,94,169,.08);
    color:#3f5ea9;
}

.tu-base-result__content{
    flex:1;
    min-width:0;
}

.tu-base-result__content h4{
    margin:0 0 8px;
    font-size:19px;
    line-height:1.35;
    font-weight:800;
    color:#1f2430;
}

.tu-base-result__content p{
    margin:0;
    font-size:15px;
    line-height:1.65;
    color:#6b7280;
}

.tu-base-result__content mark{
    padding:0 4px;
    border-radius:6px;
    background:#e8efff;
    color:#2f4b8d;
}

.tu-base-result__arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    min-width:40px;
    border-radius:14px;
    background:#f4f7fd;
    color:#9aa6bf;
    transition:.2s ease;
}

.tu-base-result:hover .tu-base-result__arrow{
    background:#3f5ea9;
    color:#fff;
}

.tu-base-empty{
    margin-top:10px;
    padding:28px;
    border-radius:24px;
    background:linear-gradient(135deg,#fff8f5 0%,#fff 100%);
    border:1px solid #f0dfd6;
    text-align:center;
}

.tu-base-empty__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:72px;
    height:72px;
    margin-bottom:16px;
    border-radius:22px;
    background:#fff;
    color:#3f5ea9;
    box-shadow:0 12px 24px rgba(15,23,42,.05);
}

.tu-base-empty h4{
    margin:0 0 10px;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    color:#1f2430;
}

.tu-base-empty p{
    margin:0 auto 18px;
    max-width:700px;
    font-size:16px;
    line-height:1.7;
    color:#6b7280;
}

.tu-base-empty__actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
}

@media (max-width: 1180px){
    .tu-base-grid{
        grid-template-columns:1fr;
    }

    .tu-base-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .tu-base-conversion{
        grid-template-columns:1fr;
    }
}

@media (max-width: 900px){
    .tu-base-search{
        flex-direction:column;
        align-items:stretch;
    }

    .tu-base-search__button{
        width:100%;
    }

    .tu-base-stats{
        grid-template-columns:1fr;
    }

    .tu-base-results__head{
        flex-direction:column;
    }
}

@media (max-width: 767px){
    .tu-base-section{
        padding:56px 0;
    }

    .tu-base-head,
    .tu-base-results,
    .tu-base-infographic{
        padding:22px;
        border-radius:24px;
    }

    .tu-base-title{
        font-size:32px;
    }

    .tu-base-text{
        font-size:16px;
    }

    .tu-base-result{
        padding:16px;
        border-radius:18px;
    }

    .tu-base-result__content h4{
        font-size:17px;
    }

    .tu-base-empty{
        padding:22px;
    }

    .tu-base-empty h4{
        font-size:24px;
    }
}