/* RESET */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Manrope', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #02254E;
    background: #F5F7FA;
    min-height: 100vh;
}

a { color: inherit; text-decoration: none; }
a:hover { color: #E32125; }


.main-page-wrapper {max-width:1240px; margin: 0 auto;}
.page-wrapper { display: flex; flex-direction: column; min-height: 100vh; }
.main-content { flex: 1; }

/* HEADER */
.header {
    position: sticky;
    top: 0px;
    z-index: 100;
    padding: 9px 12px 9px 32px;
    background: white;
    box-shadow: 0 4px 5px rgba(2, 37, 78, 0.02), 0 22px 29px rgba(2, 37, 78, 0.04);
    border-radius: 900px;
	width:1440px;
	margin:10px auto;
}

.header__container {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header__left { display: flex; align-items: center; gap: 40px; }
.header__logo { display: block; }

.header__nav { display: flex; gap: 16px; }
.header__nav-link {
    font-size: 15px;
    color: rgba(2, 37, 78, 0.40);
    padding: 8px 0;
}
.header__nav-link:hover,
.header__nav-link.active { color: #02254E; }

.header__right { display: flex; align-items: center; gap: 32px; }

.header__city { display: flex; align-items: center; gap: 6px; cursor: pointer; }

.header__login-btn, .header__logout {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    background: #E32125;
    border-radius: 900px;
    color: white;
    font-size: 15px;
}
.header__login-btn:hover, .header__logout:hover { background: #C41D20; color: white; }

.header__profile { display: flex; align-items: center; gap: 8px; }
/*.header__logout { font-size: 14px; color: rgba(2, 37, 78, 0.60); } */

/* FOOTER */
.footer {
    background: #02254E;
    border-top-left-radius: 56px;
    border-top-right-radius: 56px;
    padding: 80px 0 0;
	width: 1520px;
    margin: 0 auto;
}

.footer__container {
    max-width: 1520px;
    margin: 0 auto;
    padding: 0 140px;
}

.footer__top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 40px;
}

.footer__logo-section {
    display: flex;
    flex-direction: column;
    gap: 57px;
}

.footer__copyright {
    font-size: 14px;
    color: white;
    white-space: nowrap;
}

.footer__links { 
    display: flex; 
    flex-direction: column; 
    gap: 16px; 
    margin-left: auto;
    margin-right: 127px;
}

.footer__link { 
    font-size: 14px; 
    color: white; 
    white-space: nowrap;
}

.footer__link:hover { 
    color: rgba(255,255,255,0.7); 
}

.footer__contacts { 
    display: flex; 
    flex-direction: column; 
    gap: 16px; 
    text-align: right; 
}

.footer__phone, 
.footer__email { 
    font-size: 14px; 
    color: white; 
    white-space: nowrap;
}

.footer__chat-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 24px;
    background: #4D6683;
    border-radius: 900px;
    color: white;
    font-size: 14px;
    white-space: nowrap;
}

.footer__chat-btn:hover { 
    background: #5D7A9B; 
    color: white; 
}

.footer__social { 
    display: flex; 
    gap: 6px; 
    justify-content: flex-end; 
}

.footer__social-link:hover { 
    opacity: 0.8; 
}

/* Нижняя строка с фоном на всю ширину 1520px */
.footer__bottom {
    background: #001D3F;
    width: 100%;
    margin-top: 24px;
    padding: 16px 0;
}

.footer__bottom-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 0px;
    display: flex;
    justify-content: space-between;
}

.footer__bottom-link { 
    font-size: 14px; 
    color: white; 
    white-space: nowrap;
}

.footer__bottom-link:hover { 
    color: rgba(255,255,255,0.7); 
}

/* COMMON */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 24px;
    border-radius: 900px;
    font-size: 15px;
    cursor: pointer;
    border: none;
}
.btn--primary { background: #E32125; color: white; }
.btn--primary:hover { background: #C41D20; color: white; }

.input {
    width: 100%;
    padding: 14px 20px;
    border: 1px solid rgba(2, 37, 78, 0.15);
    border-radius: 12px;
    font-size: 15px;
    color: #02254E;
}
.input:focus { outline: none; border-color: #02254E; }

/* RESPONSIVE */
@media (max-width: 1200px) {
    .footer__container, 
    .footer__bottom-container { 
        padding-left: 40px; 
        padding-right: 40px; 
    }
    .footer__links {
        margin-right: 60px;
    }
}

@media (max-width: 768px) {
    .header { padding: 12px 16px; }
    .header__nav, .header__city { display: none; }
    .footer { border-top-radius: 32px; }
    .footer__top { 
        flex-wrap: wrap; 
        gap: 40px; 
    }
    .footer__links {
        margin-left: 0;
        margin-right: 0;
    }
    .footer__contacts {
        text-align: left;
    }
    .footer__social {
        justify-content: flex-start;
    }
    .footer__bottom-container { 
        flex-direction: column; 
        gap: 16px; 
        text-align: center; 
        padding: 0 20px;
    }
    .footer__logo-section {
        gap: 30px;
    }
}