:root {
    --ink: #101827;
    --text: #283449;
    --muted: #6b778b;
    --blue: #1971ff;
    --page: #f4f6fa;
    --surface: #ffffff;
    --line: #e1e6ee;
    --wrap: 1240px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;

    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    background: var(--page);
    color: var(--text);

    font-size: 17px;
    line-height: 1.75;

    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--blue);
}

.legal-wrap,
.legal-header-inner,
.legal-footer-inner {
    width:
        min(
            var(--wrap),
            calc(100% - 48px)
        );

    margin: 0 auto;
}


/* HEADER */

.legal-header {
    background: #fff;

    border-bottom:
        1px solid var(--line);
}

.legal-header-inner {
    min-height: 70px;

    display: flex;
    align-items: center;

    gap: 26px;
}

.legal-brand {
    display: inline-flex;
    align-items: baseline;

    text-decoration: none;

    letter-spacing: -.055em;
}

.legal-brand span {
    color: var(--ink);

    font-size: 27px;
    font-weight: 950;
}

.legal-brand b {
    color: var(--blue);

    font-size: 17px;
    font-weight: 900;
}

.legal-header nav {
    margin-left: auto;

    display: flex;
    gap: 5px;
}

.legal-header nav a {
    padding: 8px 10px;

    border-radius: 8px;

    color: #546177;

    text-decoration: none;

    font-size: 14px;
    font-weight: 750;
}

.legal-header nav a:hover {
    background: #f1f4f8;
}

.legal-age {
    min-width: 40px;
    height: 30px;

    display: grid;
    place-items: center;

    border-radius: 999px;

    background: #fff0f4;
    border: 1px solid #ffd7df;

    color: #c82d55;

    font-size: 11px;
    font-weight: 900;
}


/* HERO */

.legal-hero {
    padding: 70px 0 55px;

    background:
        linear-gradient(
            135deg,
            #10192b,
            #17376b
        );

    color: #fff;
}

.legal-back {
    display: inline-block;

    margin-bottom: 40px;

    color: #8eb7ff;

    text-decoration: none;

    font-size: 14px;
    font-weight: 750;
}

.legal-kicker {
    display: block;

    color: #70d9ff;

    font-size: 12px;
    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: .14em;
}

.legal-hero h1 {
    max-width: 850px;

    margin: 10px 0 13px;

    font-size:
        clamp(
            42px,
            5vw,
            66px
        );

    line-height: 1;

    letter-spacing: -.055em;
}

.legal-hero p {
    max-width: 760px;

    margin: 0;

    color: #bfcaDC;

    font-size: 18px;
    line-height: 1.6;
}


/* CONTENT */

.legal-content {
    padding: 70px 0 100px;
}

.legal-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        270px;

    gap: 70px;

    align-items: start;
}

.legal-document {
    min-width: 0;

    padding: 48px 55px;

    border: 1px solid var(--line);
    border-radius: 20px;

    background: #fff;

    box-shadow:
        0 16px 50px
        rgba(16, 24, 39, .055);
}

.legal-document h2 {
    margin:
        58px
        0
        16px;

    padding-top: 4px;

    color: var(--ink);

    font-size: 27px;
    line-height: 1.25;

    letter-spacing: -.025em;
}

.legal-document h2:first-child {
    margin-top: 0;
}

.legal-document h3 {
    margin:
        32px
        0
        10px;

    color: var(--ink);

    font-size: 20px;
}

.legal-document p {
    margin:
        0
        0
        18px;
}

.legal-document ul {
    margin:
        8px
        0
        24px;

    padding-left: 24px;
}

.legal-document li {
    margin: 8px 0;
}

.legal-document strong {
    color: #152033;
}

.legal-document a {
    overflow-wrap: anywhere;
}


/* SIDEBAR */

.legal-sidebar {
    position: sticky;

    top: 25px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 16px;

    background: #fff;
}

.legal-sidebar > strong {
    padding: 18px 19px;

    border-bottom:
        1px solid var(--line);

    color: var(--ink);

    font-size: 14px;
}

.legal-sidebar > a {
    padding: 13px 19px;

    border-bottom:
        1px solid #edf0f4;

    color: #59667a;

    text-decoration: none;

    font-size: 14px;
}

.legal-sidebar > a:hover,
.legal-sidebar > a[aria-current="page"] {
    background: #eef4ff;

    color: var(--blue);
}

.legal-contact {
    padding: 19px;

    background: #f7f9fc;
}

.legal-contact span {
    display: block;

    margin-bottom: 5px;

    color: #8390a4;

    font-size: 11px;
    font-weight: 850;

    text-transform: uppercase;
}

.legal-contact a {
    font-size: 13px;
}


/* FOOTER */

.legal-footer {
    padding: 44px 0;

    background: #0b1423;

    color: #fff;
}

.legal-footer-inner {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 40px;
}

.legal-brand-footer span {
    color: #fff;
}

.legal-footer p {
    margin: 8px 0 0;

    color: #7d8ba1;

    font-size: 13px;
}

.legal-footer nav {
    display: flex;
    flex-wrap: wrap;

    gap: 10px 18px;
}

.legal-footer nav a {
    color: #8fa0b8;

    text-decoration: none;

    font-size: 13px;
}

.legal-footer nav a:hover {
    color: #fff;
}


@media (max-width: 850px) {

    .legal-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .legal-sidebar {
        position: static;

        order: -1;
    }

}


@media (max-width: 640px) {

    body {
        font-size: 16px;
    }

    .legal-wrap,
    .legal-header-inner,
    .legal-footer-inner {
        width:
            min(
                100% - 26px,
                var(--wrap)
            );
    }

    .legal-header nav {
        display: none;
    }

    .legal-age {
        margin-left: auto;
    }

    .legal-hero {
        padding: 48px 0 42px;
    }

    .legal-back {
        margin-bottom: 28px;
    }

    .legal-hero h1 {
        font-size:
            clamp(
                37px,
                11vw,
                48px
            );
    }

    .legal-document {
        padding: 28px 22px;

        border-radius: 15px;
    }

    .legal-document h2 {
        margin-top: 45px;

        font-size: 24px;
    }

    .legal-footer-inner {
        align-items: flex-start;

        flex-direction: column;
    }

}


/* LOGO CHATONLINE.GRATIS */

.legal-brand.legal-brand-image {
    display: flex;
    align-items: center;
}

.legal-brand.legal-brand-image img {
    display: block;
    width: 210px;
    height: auto;
}

@media (max-width: 640px) {

    .legal-brand.legal-brand-image img {
        width: 180px;
    }

}


/* BRAND FINAL */

.legal-brand img {
    display: block;
    width: 215px;
    max-width: 100%;
    height: auto;
}

.legal-footer .legal-brand img {
    width: 200px;
}

@media (max-width: 640px) {

    .legal-brand img {
        width: 178px;
    }

}


/* BRAND FINAL */

.legal-brand img {
    display: block;
    width: 215px;
    max-width: 100%;
    height: auto;
}

.legal-footer .legal-brand img {
    width: 200px;
}

@media (max-width: 640px) {

    .legal-brand img {
        width: 178px;
    }

}
