/* =========================================================
   HypeGO — Договор-оферта
   Стили ограничены классом .hypego-terms-page
   ========================================================= */

.hypego-terms-page {
    --ht-font:
        -apple-system,
        BlinkMacSystemFont,
        "Helvetica Neue",
        "Segoe UI",
        Arial,
        sans-serif;

    --ht-bg: #ffffff;
    --ht-surface: #ffffff;
    --ht-soft: #f5f6fa;
    --ht-text: #202127;
    --ht-muted: #727383;
    --ht-border: #e8eaf0;

    --ht-orange: #f59a0b;
    --ht-orange-soft: #fff4df;
    --ht-orange-text: #a65c00;

    --ht-shadow: 0 12px 36px rgba(32, 33, 39, .045);

    min-height: 100vh;
    background: var(--ht-bg);
    color: var(--ht-text);
    font-family: var(--ht-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Тёмная тема — используется существующий переключатель */

html[data-theme="dark"] .hypego-terms-page {
    --ht-bg: #101114;
    --ht-surface: #1a1b20;
    --ht-soft: #222329;
    --ht-text: #f5f5f7;
    --ht-muted: #aaabba;
    --ht-border: #30313a;

    --ht-orange-soft: #352716;
    --ht-orange-text: #ffba61;

    --ht-shadow: 0 12px 36px rgba(0, 0, 0, .12);
}

/* Не переопределяем шрифт иконок FontAwesome */

.hypego-terms-page :where(
    div, p, a, button, span, strong, small,
    h1, h2, h3, h4, ul, ol, li
) {
    font-family: var(--ht-font);
}

.hypego-terms-page .container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
    padding-inline: 24px !important;
}

/* =========================================================
   ШАПКА
   ========================================================= */

.hypego-terms-page > .navbar {
    position: relative !important;
    top: auto !important;
    left: auto !important;

    width: 100% !important;
    height: auto !important;
    min-height: 96px !important;
    z-index: 10 !important;

    background: var(--ht-bg) !important;
    color: var(--ht-text) !important;

    border: 0 !important;
    box-shadow: none !important;
    text-transform: none !important;

    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.hypego-terms-page > .navbar .navbar-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    min-height: 96px !important;
    height: auto !important;
    padding: 0 !important;
}

.hypego-terms-page > .navbar .nav-left {
    position: relative !important;
    display: flex !important;
    align-items: center !important;

    height: auto !important;
    padding: 0 !important;
}

.hypego-terms-page > .navbar .nav-center {
    display: none !important;
}

.hypego-terms-page > .navbar .navbar-wrapper .nav-brand {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;

    height: 52px !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 0 0 62px !important;

    color: var(--ht-text) !important;
    font-size: 24px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;

    text-transform: none !important;
    text-shadow: none !important;
}

.hypego-terms-page > .navbar .nav-brand::before {
    content: "";
    position: absolute !important;
    display: block !important;

    top: 50% !important;
    left: 0 !important;
    transform: translateY(-50%) !important;

    width: 48px !important;
    height: 48px !important;

    background:
        url("/templates/img/brand/logo.jpg")
        center / cover no-repeat !important;

    border: 0 !important;
    border-radius: 15px !important;
    box-shadow: none !important;
}

.hypego-terms-page > .navbar .nav-right {
    display: block !important;
    height: auto !important;
}

.hypego-terms-page > .navbar .navbar-menu {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;

    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

.hypego-terms-page > .navbar .navbar-menu > li {
    display: block !important;
    min-width: 0 !important;
    height: auto !important;
}

.hypego-terms-page > .navbar .navbar-wrapper .nav-link {
    display: block !important;

    min-width: 0 !important;
    height: auto !important;
    padding: 10px 12px !important;

    background: transparent !important;
    color: var(--ht-muted) !important;
    border-radius: 12px !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 22px !important;
    text-shadow: none !important;
}

.hypego-terms-page > .navbar .navbar-wrapper .nav-link:hover,
.hypego-terms-page > .navbar .navbar-wrapper .nav-link.active {
    background: var(--ht-orange-soft) !important;
    color: var(--ht-orange-text) !important;
}

.hypego-terms-page > .navbar .nav-link::after {
    display: none !important;
}

.hypego-terms-page > .navbar .nav-mobile {
    display: none !important;
}

/* =========================================================
   ДОКУМЕНТ
   ========================================================= */

.hypego-terms-page .terms {
    max-width: 940px !important;
    padding-top: 24px !important;
    padding-bottom: 80px !important;

    color: var(--ht-text);
    line-height: 1.75 !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
}

.hypego-terms-page .terms > .window {
    box-sizing: border-box;
    width: 100%;
    margin: 0 !important;
    padding: 40px !important;

    background: var(--ht-surface) !important;
    color: var(--ht-text) !important;
    border: 1px solid var(--ht-border) !important;
    border-radius: 28px !important;
    box-shadow: var(--ht-shadow) !important;
}

/* Название документа */

.hypego-terms-page .terms .page-name {
    display: block;
    margin: 0 !important;
    padding: 0 0 24px !important;

    background: none !important;
    color: var(--ht-text) !important;
    -webkit-text-fill-color: currentColor !important;

    font-size: clamp(32px, 4.5vw, 48px) !important;
    font-weight: 750 !important;
    line-height: 1.12 !important;
    letter-spacing: -.045em !important;
    text-shadow: none !important;
}

/* Вступление */

.hypego-terms-page .terms .page-desc {
    margin: 0 0 32px !important;
    padding: 20px 22px !important;

    background: var(--ht-orange-soft) !important;
    color: var(--ht-orange-text) !important;
    border-left: 3px solid var(--ht-orange);
    border-radius: 0 16px 16px 0;

    font-size: 15px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    line-height: 1.7 !important;
}

/* Заголовки разделов */

.hypego-terms-page .terms h2 {
    margin: 32px 0 0 !important;
    padding: 24px 0 0 !important;

    color: var(--ht-text) !important;
    border-top: 1px solid var(--ht-border);

    font-size: 22px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    letter-spacing: -.025em !important;
}

.hypego-terms-page .terms .page-desc + h2 {
    margin-top: 0 !important;
    padding-top: 0 !important;
    border-top: 0;
}

/* Пункты договора */

.hypego-terms-page .terms ul.page-list {
    margin: 0 !important;
    padding: 16px 0 0 !important;

    color: var(--ht-muted) !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
    list-style: none;
}

.hypego-terms-page .terms ul.page-list > li {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ht-muted) !important;
    list-style: none !important;

    word-break: normal !important;
    overflow-wrap: anywhere;
}

.hypego-terms-page .terms ul.page-list > li + li {
    margin-top: 12px !important;
}

.hypego-terms-page .terms a {
    color: var(--ht-orange-text) !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.hypego-terms-page .terms a:hover {
    text-decoration-thickness: 2px;
}

.hypego-terms-page a:focus-visible {
    outline: 3px solid var(--ht-orange) !important;
    outline-offset: 3px !important;
}

.hypego-terms-page ::selection {
    background: #ffe0b2;
    color: #202127;
}

/* =========================================================
   АДАПТИВ
   ========================================================= */

@media (max-width: 991px) {
    .hypego-terms-page > .navbar {
        min-height: 88px !important;
    }

    .hypego-terms-page > .navbar .navbar-wrapper {
        display: block !important;
        min-height: 88px !important;
    }

    .hypego-terms-page > .navbar .nav-left {
        display: flex !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 88px !important;
    }

    .hypego-terms-page > .navbar .navbar-wrapper .nav-mobile {
        position: static !important;
        display: grid !important;
        place-items: center !important;

        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
        padding: 0 !important;

        background: var(--ht-orange) !important;
        color: #241b0c !important;

        border: 0 !important;
        border-radius: 50% !important;

        font-size: 18px !important;
        line-height: 1 !important;
        float: none !important;
    }

    .hypego-terms-page > .navbar .nav-right {
        display: none !important;
    }

    .hypego-terms-page > .navbar.open .nav-right {
        display: block !important;
        width: 100% !important;
    }

    .hypego-terms-page > .navbar .navbar-menu {
        display: block !important;
        padding-bottom: 16px !important;
    }

    .hypego-terms-page > .navbar .navbar-menu > li {
        width: 100% !important;
    }
}

@media (max-width: 600px) {
    .hypego-terms-page .container {
        padding-inline: 16px !important;
    }

    .hypego-terms-page > .navbar .navbar-wrapper .nav-brand {
        height: 44px !important;
        padding-left: 52px !important;
        font-size: 21px !important;
    }

    .hypego-terms-page > .navbar .nav-brand::before {
        width: 40px !important;
        height: 40px !important;
        border-radius: 12px !important;
    }

    .hypego-terms-page .terms {
        padding-top: 12px !important;
        padding-bottom: 80px !important;
    }

    .hypego-terms-page .terms > .window {
        padding: 24px 18px !important;
        border-radius: 22px !important;
    }

    .hypego-terms-page .terms .page-name {
        padding-bottom: 20px !important;
        font-size: 32px !important;
    }

    .hypego-terms-page .terms .page-desc {
        margin-bottom: 26px !important;
        padding: 16px !important;
        font-size: 14px !important;
    }

    .hypego-terms-page .terms h2 {
        margin-top: 26px !important;
        padding-top: 22px !important;
        font-size: 20px !important;
    }

    .hypego-terms-page .terms ul.page-list {
        padding-top: 14px !important;
        font-size: 15px !important;
        line-height: 1.75 !important;
    }
}

@media print {
    .hypego-terms-page {
        background: #ffffff;
        color: #000000;
    }

    .hypego-terms-page > .navbar {
        display: none !important;
    }

    .hypego-terms-page .terms > .window {
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .hypego-terms-page .terms .page-name,
    .hypego-terms-page .terms h2,
    .hypego-terms-page .terms ul.page-list,
    .hypego-terms-page .terms ul.page-list > li {
        color: #000000 !important;
    }

    .hypego-terms-page .terms h2 {
        break-after: avoid;
    }
}