@font-face{font-family:'Roboto';src:url('/assets/fonts/roboto-cyrillic.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';src:url('/assets/fonts/roboto-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Caveat';src:url('/assets/fonts/caveat-600-cyrillic.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Caveat';src:url('/assets/fonts/caveat-600-latin.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--main-blue:#041f4a;--main-red:#e61010;--bg-gray:#f8f9fa}
body{font-family:'Roboto',sans-serif;margin:0;padding:0;color:#333}
.top-bar{background:#fff;padding:20px 0;border-bottom:1px solid #eaeaea}
.logo-text-wrapper{display:flex;flex-direction:column;justify-content:center}
.logo-title{font-weight:900;font-size:2rem;color:var(--main-blue);line-height:1;margin:0;letter-spacing:1px}
.logo-subtitle{font-size:.65rem;color:#6c757d;text-transform:uppercase;letter-spacing:1.5px;display:flex;align-items:center;margin-top:5px}
.logo-subtitle::before,.logo-subtitle::after{content:"";display:inline-block;width:15px;height:2px;background:var(--main-red);margin:0 8px}
.contact-info-header{text-align:right}
.contact-info-header a{color:var(--main-blue);text-decoration:none;font-weight:700;font-size:1.2rem;transition:color .3s}
.contact-info-header a:hover{color:var(--main-red)}
.contact-info-header span{display:block;font-size:.8rem;color:#6c757d;margin-top:2px}
.main-nav{background:var(--main-blue);padding:0;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.main-nav .navbar-nav{width:100%}
.main-nav .nav-link{color:rgba(255,255,255,.85);font-weight:600;font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;padding:18px 25px;transition:all .3s}
.main-nav .nav-link:hover,.main-nav .nav-link.active{color:#fff;background:var(--main-red)}
.navbar-toggler{border:none;padding:10px 15px;color:#fff;box-shadow:none}
.navbar-toggler:focus{box-shadow:none}
.page-title-section{background:var(--main-blue);color:#fff;padding:40px 0;border-top:4px solid var(--main-red)}
.breadcrumb{margin-bottom:10px}
.breadcrumb-item a{color:rgba(255,255,255,.7);text-decoration:none}
.breadcrumb-item a:hover{color:#fff}
.breadcrumb-item.active{color:#fff}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.5)}
.page-heading{font-weight:900;text-transform:uppercase;margin:0;font-size:2.2rem}
.page-subheading{color:rgba(255,255,255,.8);font-size:1.1rem;margin-top:10px}
.content-section{padding:60px 0;flex-grow:1}
.footer-section{background:var(--main-blue);color:#fff;padding:60px 0 20px;border-top:5px solid var(--main-red);margin-top:auto}
.footer-heading{font-weight:800;font-size:1.1rem;text-transform:uppercase;margin-bottom:1.5rem;position:relative;padding-bottom:10px}
.footer-heading::after{content:'';position:absolute;left:0;bottom:0;width:40px;height:3px;background:var(--main-red)}
.footer-links li{margin-bottom:10px}
.footer-links a{color:rgba(255,255,255,.7);text-decoration:none;transition:color .3s,padding-left .3s;font-size:.95rem}
.footer-links a:hover{color:var(--main-red);padding-left:5px}
.footer-contact li{display:flex;align-items:flex-start;margin-bottom:15px;color:rgba(255,255,255,.7);font-size:.95rem}
.footer-contact i{color:var(--main-red);font-size:1.1rem;margin-right:12px;margin-top:3px;width:20px;text-align:center}
.social-icons a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;margin-right:10px;transition:all .3s}
.social-icons a:hover{background:var(--main-red);transform:translateY(-3px)}
.app-btn{border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;padding:8px 15px;border-radius:6px;display:inline-flex;align-items:center}
.app-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.cursive-slogan{font-family:'Caveat',cursive;font-weight:600;line-height:1}
.red-part{color:var(--main-red)}
.page-inner{display:flex;flex-direction:column;min-height:100vh}
@media(max-width:991px){.main-nav .nav-link{padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1)}}
@media(max-width:768px){.contact-info-header{text-align:center;margin-top:15px}.logo-text-wrapper{align-items:center}.logo-subtitle::before,.logo-subtitle::after{display:none}.page-heading{font-size:1.8rem}}

/* Брендовый логотип */
.site-logo {
    display: block;
    height: auto;
    object-fit: contain;
}
.site-logo--footer {
    width: 100px;
    max-width: 100px;
    height: auto;
}

/* Фон hero (главная) и top-bar (внутренние страницы) */
.header-hero,
.top-bar {
    background-color: #fff;
    background-image: url('/assets/template/img/bgheader-768.webp');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
}

@media (min-width: 768px) {
    .header-hero,
    .top-bar {
        background-image: url('/assets/template/img/bgheader-1280.webp');
    }
}

@media (min-width: 1200px) {
    .header-hero,
    .top-bar {
        background-image: url('/assets/template/img/bgheader-1920.webp');
    }
}

/* Навигация на всю ширину контейнера */
@media (min-width: 992px) {
    .main-nav .nav-item {
        flex: 1;
    }

    .main-nav .nav-link {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* Слоган во внутренней шапке */
.top-bar__inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
}

.top-bar__logo {
    grid-column: 1;
    justify-self: start;
}

.top-bar__slogan {
    grid-column: 2;
    font-size: 2rem;
    color: var(--main-blue);
    text-align: center;
    transform: rotate(-3deg);
    line-height: 1.1;
}

.top-bar__slogan .red-part {
    display: block;
    margin-left: 30px;
}

@media (max-width: 767px) {
    .top-bar__inner {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .top-bar__logo {
        grid-column: 1;
        justify-self: center;
    }

    .top-bar__slogan {
        grid-column: 1;
        font-size: 1.6rem;
        margin-top: 0.5rem;
    }

    .top-bar__slogan .red-part {
        margin-left: 20px;
    }
}

.app-btn__icon {
    flex-shrink: 0;
    display: block;
}
