:root {
    --oxford-blue: #1d263b;
    --blue-ncs: #358ac2;
    --giants-orange: #f05d23;
    --shamrock-green: #4c9f70;
    --alice-blue: #f6fcff;

    --hover-oxford: #4a6196;
    --hover-orange: #f7ab8d;
    --hover-ncs: #8fc0e0;

    --gradient-top: linear-gradient(
        0deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-right: linear-gradient(
        90deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-bottom: linear-gradient(
        180deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-left: linear-gradient(
        270deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-top-right: linear-gradient(
        45deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-bottom-right: linear-gradient(
        135deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-top-left: linear-gradient(
        225deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-bottom-left: linear-gradient(
        315deg,
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
    --gradient-radial: radial-gradient(
        #358ac2,
        #f6fcff,
        #f05d23,
        #4c9f70,
        #1d263b
    );
}

/* Базовые стили */
body {
    margin: 0;
    padding: 0;

}

.main-content {
    margin-left: 250px;
    padding: 1rem;
}

.sidebar {
    position: fixed;
    top: 0;
    left: 0;
    width: 250px;
    height: 100vh;
    background-color: var(--oxford-blue);
    color: white;
    overflow-y: auto;
    padding: 1rem;
}

/* Кнопка-бургер по умолчанию скрыта */
.burger-button {
    display: none;
}

/* Заголовок (десктопная шапка) */
.header-desktop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background-color: var(--alice-blue);
    padding: 1rem;
}

/* --- Адаптивность --- */

/* >1920px */
@media (min-width: 1921px) {
    .header-desktop .logo img {
        height: 160px;
    }

    .header-desktop .brand-text span:first-child {
        font-size: 5rem;
    }

    .header-desktop .brand-text span:last-child {
        font-size: 4rem;
    }

    .header-desktop .sub-text span {
        font-size: 1.5rem;
        font-weight: bold;
        text-transform: uppercase;
    }

    .header-desktop .sign-text span {
        font-size: 1.3rem;
        text-transform: uppercase;
    }

    .header-desktop .info-block {
        font-size: 1.25rem;
        line-height: 1.3;
    }
}

/* <=1920px */
@media (max-width: 1920px) {
    .header-desktop .logo img {
        height: 120px;
    }

    .header-desktop .brand-text span:first-child {
        font-size: 4.2rem;
    }

    .header-desktop .brand-text span:last-child {
        font-size: 3.5rem;
    }

    .header-desktop .sub-text span {
        font-size: 1.3rem;
    }

    .header-desktop .sign-text span {
        font-size: 1rem;
        text-transform: uppercase;
    }

    .header-desktop .info-block {
        font-size: 1.25rem;
        line-height: 1.3;
    }
}

/* <=1500px */
@media (max-width: 1500px) {
    .header-desktop .logo img {
        height: 90px;
    }

    .header-desktop .brand-text span:first-child {
        font-size: 3rem;
    }

    .header-desktop .brand-text span:last-child {
        font-size: 2.5rem;
    }

    .header-desktop .sub-text span {
        font-size: 1.1rem;
    }

    .header-desktop .sign-text span {
        font-size: 0.75rem;
        text-transform: uppercase;
    }

    .header-desktop .info-block {
        font-size: 1rem;
    }
}

/* <=1280px */
@media (max-width: 1280px) {
    .header-desktop .logo img {
        height: 75px;
    }

    .header-desktop .brand-text span:first-child {
        font-size: 2rem;
    }

    .header-desktop .brand-text span:last-child {
        font-size: 1.8rem;
    }

    .header-desktop .sub-text span {
        font-size: 0.9rem;
    }

    .header-desktop .sign-text span {
        font-size: 0.6rem;
        text-transform: uppercase;
    }

    .header-desktop .info-block {
        font-size: 0.85rem;
    }
}

/* <=768px (мобильный режим) */
@media (max-width: 768px) {
    .sidebar {
        display: none;
    }

    .main-content {
        margin-left: 0;
    }

    footer {
        margin-left: 0;
    }

    .burger-button {
        display: block;
        position: fixed;
        top: 1rem;
        left: 1rem;
        z-index: 1050;
        background-color: var(--oxford-blue);
        color: white;
        border: 4px solid var(--blue-ncs);
        border-radius: 0;
        font-size: 1.5rem;
    }

    .container {
        max-width: calc(100% - 32px);
    }
}

/* --- Кнопки --- */

/* Кнопка на тёмно-синем фоне */
.btn-oxford-sidebar {
    color: white;
}

.btn-oxford-sidebar:hover {
    background-color: var(--hover-oxford);
    color: white;
}

/* Оранжевая кнопка */
.btn-orange {
    background-color: var(--giants-orange);
    color: var(--oxford-blue);
}

.btn-orange:hover {
    background-color: var(--hover-orange);
    color: var(--oxford-blue);
}

/* Тёмно-синяя кнопка */
.btn-oxford {
    background-color: var(--oxford-blue);
    color: white;
}

.btn-oxford:hover {
    background-color: var(--hover-oxford);
    color: white;
}

/* Голубая кнопка */
.btn-ncs {
    background-color: var(--blue-ncs);
    color: white;
}

.btn-ncs:hover {
    background-color: var(--hover-ncs);
    color: black;
}
