.terms-of-use-page .main,
.privacy-policy-page .main,
.cookies-policy-page .main {
    background: #fff;
}

.terms-container {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 72px 24px 96px;
}

.terms-title,
.terms-section-title,
.terms-text,
.terms-providers-grid,
.terms-cookies-wrapper {
    width: 100%;
    max-width: 920px;
}

.terms-title {
    margin: 0 auto 18px;
    font-family: Roobert, sans-serif;
    font-size: clamp(34px, 4.6vw, 52px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.26px;
    color: #1d293d;
    text-wrap: balance;
}

.terms-section-title {
    margin: 48px auto 18px;
    font-family: Roobert, sans-serif;
    font-size: clamp(20px, 2.1vw, 24px);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.2px;
    color: #3266e3;
    text-wrap: balance;
}

.terms-text {
    margin: 0 auto 18px;
    font-family: Inter, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: -0.15px;
    color: #45556c;
}

ul.terms-text,
.terms-text ul {
    margin: 0 auto 18px;
    padding-left: 22px;
}

ul.terms-text li,
.terms-text li {
    margin-bottom: 12px;
}

.terms-text strong,
.terms-providers-cell strong,
.terms-cookies-cell strong {
    color: #1d293d;
    font-weight: 600;
}

.terms-link {
    color: #3266e3;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    word-break: break-word;
}

.terms-link:hover,
.terms-link:focus {
    color: #2757cb;
}

.terms-providers-grid,
.terms-cookies-grid {
    display: grid;
    gap: 1px;
    border: 1px solid #dbe5f1;
    border-radius: 20px;
    background: #dbe5f1;
    overflow: hidden;
}

.terms-providers-grid {
    margin: 28px auto 18px;
}

.terms-providers-header,
.terms-providers-row {
    display: grid;
    grid-template-columns: minmax(180px, 1.1fr) minmax(220px, 1fr) minmax(220px, 1fr);
}

.terms-cookies-wrapper {
    margin: 28px auto 32px;
    overflow-x: auto;
    padding-bottom: 6px;
}

.terms-cookies-grid {
    min-width: 960px;
}

.terms-cookies-header,
.terms-cookies-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.9fr) minmax(120px, 0.9fr) minmax(320px, 2.5fr) minmax(110px, 0.8fr) minmax(140px, 0.9fr);
}

.terms-providers-header,
.terms-cookies-header {
    background: #eff6ff;
}

.terms-providers-row,
.terms-cookies-row {
    background: #fff;
}

.terms-providers-cell,
.terms-cookies-cell {
    padding: 18px 20px;
    font-family: Inter, sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 24px;
    letter-spacing: -0.12px;
    color: #45556c;
}

.terms-providers-header .terms-providers-cell,
.terms-cookies-header .terms-cookies-cell {
    font-weight: 600;
    color: #1d293d;
}

@media (max-width: 767px) {
    .terms-container {
        padding: 48px 16px 72px;
    }

    .terms-title,
    .terms-section-title,
    .terms-text,
    .terms-providers-grid,
    .terms-cookies-wrapper {
        max-width: none;
    }

    .terms-title {
        margin-bottom: 14px;
        font-size: 32px;
    }

    .terms-section-title {
        margin-top: 36px;
        margin-bottom: 14px;
        font-size: 19px;
    }

    .terms-text {
        font-size: 15px;
        line-height: 26px;
    }

    .terms-providers-grid {
        border-radius: 18px;
    }

    .terms-providers-header {
        display: none;
    }

    .terms-providers-row {
        grid-template-columns: 1fr;
    }

    .terms-providers-cell {
        padding: 14px 16px;
    }

    .terms-providers-row .terms-providers-cell:not(:last-child) {
        border-bottom: 1px solid #eef3f8;
    }

    .terms-cookies-wrapper {
        margin-top: 24px;
    }
}
