/* =========================================================
   LEGAL PAGES — 3C
   Cookies
   Termeni și condiții
   Confidențialitate
   Anulare / retragere
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

.legal-page {
    --legal-blue: #4192ff;
    --legal-green: #46f484;
    --legal-yellow: #e1ff58;

    --legal-text: #172334;
    --legal-text-soft: #566476;
    --legal-text-muted: #738095;

    --legal-bg: #f8fbfe;
    --legal-card: #ffffff;

    --legal-border:
        rgba(23, 35, 52, .09);

    --legal-shadow:
        9px 14px 32px
        rgba(28, 48, 73, .07);

    position: relative;

    overflow: hidden;

    background:
        #fff;

    color:
        var(--legal-text);

    font-family:
        "Inter",
        sans-serif;
}


/* =========================================================
   BASE
========================================================= */

.legal-page *,
.legal-page *::before,
.legal-page *::after {
    box-sizing:
        border-box;
}


.legal-page h1,
.legal-page h2,
.legal-page h3 {
    font-family:
        "Manrope",
        sans-serif;

    color:
        var(--legal-text);
}


.legal-page p {
    color:
        var(--legal-text-soft);
}


.legal-page a {
    color:
        var(--legal-blue);
}


/* =========================================================
   CONTAINER
========================================================= */

.legal-container {
    width:
        min(
            calc(100% - 48px),
            1180px
        );

    margin:
        0
        auto;
}


/* =========================================================
   HERO
========================================================= */

.legal-hero {
    position:
        relative;

    padding:
        clamp(
            72px,
            8vw,
            112px
        )
        0
        clamp(
            55px,
            6vw,
            78px
        );

    overflow:
        hidden;

    background:
        radial-gradient(
            circle at 14% 15%,
            rgba(65, 146, 255, .13),
            transparent 25%
        ),
        radial-gradient(
            circle at 83% 22%,
            rgba(70, 244, 132, .09),
            transparent 26%
        ),
        radial-gradient(
            circle at 72% 105%,
            rgba(225, 255, 88, .12),
            transparent 25%
        ),
        linear-gradient(
            180deg,
            #ffffff,
            #f8fbfe
        );
}


.legal-hero::before {
    content: "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        100%;

    height:
        3px;

    background:
        linear-gradient(
            90deg,
            var(--legal-blue),
            var(--legal-green),
            var(--legal-yellow)
        );
}


.legal-hero::after {
    content: "";

    position:
        absolute;

    left:
        50%;

    bottom:
        0;

    width:
        min(
            calc(100% - 48px),
            1180px
        );

    height:
        1px;

    transform:
        translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(23, 35, 52, .09),
            transparent
        );
}


/* =========================================================
   HERO CONTENT
========================================================= */

.legal-hero__content {
    max-width:
        840px;

    margin:
        0
        auto;

    text-align:
        center;
}


.legal-hero__eyebrow {
    display:
        inline-block;

    margin-bottom:
        13px;

    color:
        var(--legal-blue);

    font-family:
        "Inter",
        sans-serif;

    font-size:
        .66rem;

    font-weight:
        800;

    line-height:
        1.4;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.legal-hero h1 {
    margin:
        0;

    font-size:
        clamp(
            2.15rem,
            5vw,
            4rem
        );

    font-weight:
        800;

    line-height:
        1.05;

    letter-spacing:
        -.045em;
}


.legal-hero h1 span {
    position:
        relative;

    color:
        var(--legal-blue);
}


.legal-hero h1 span::after {
    content: "";

    position:
        absolute;

    left:
        4%;

    right:
        4%;

    bottom:
        -5px;

    height:
        3px;

    border-radius:
        999px;

    background:
        linear-gradient(
            90deg,
            var(--legal-blue),
            var(--legal-green),
            var(--legal-yellow)
        );
}


.legal-hero__lead {
    max-width:
        720px;

    margin:
        25px
        auto
        0;

    font-size:
        clamp(
            .96rem,
            1.5vw,
            1.08rem
        );

    line-height:
        1.75;
}


.legal-hero__lead a {
    font-weight:
        700;

    text-decoration:
        none;
}


.legal-hero__meta {
    margin-top:
        22px;

    display:
        flex;

    justify-content:
        center;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        12px;
}


.legal-hero__meta span {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        7px;

    padding:
        7px
        11px;

    border:
        1px solid
        rgba(65, 146, 255, .12);

    border-radius:
        999px;

    background:
        rgba(255, 255, 255, .65);

    color:
        var(--legal-text-muted);

    font-size:
        .69rem;

    box-shadow:
        5px
        8px
        20px
        rgba(28, 48, 73, .05);
}


.legal-hero__meta i {
    color:
        var(--legal-blue);

    font-size:
        .95rem;
}


.legal-hero__meta strong {
    color:
        var(--legal-text);

    font-weight:
        650;
}


/* =========================================================
   BODY
========================================================= */

.legal-body {
    padding:
        clamp(
            50px,
            6vw,
            82px
        )
        0
        clamp(
            65px,
            8vw,
            100px
        );

    background:
        linear-gradient(
            180deg,
            #f8fbfe 0%,
            #ffffff 18%,
            #ffffff 100%
        );
}


/* =========================================================
   LAYOUT
========================================================= */

.legal-layout {
    display:
        grid;

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

    align-items:
        start;

    gap:
        clamp(
            38px,
            6vw,
            78px
        );
}


/* =========================================================
   TOC
========================================================= */

.legal-toc {
    position:
        relative;
}


.legal-toc__inner {
    position:
        sticky;

    top:
        105px;

    padding:
        18px
        0
        18px
        17px;

    border-left:
        1px solid
        rgba(23, 35, 52, .10);
}


.legal-toc__label {
    display:
        block;

    margin-bottom:
        15px;

    color:
        var(--legal-text-muted);

    font-size:
        .57rem;

    font-weight:
        800;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.legal-toc nav {
    display:
        flex;

    flex-direction:
        column;

    gap:
        3px;
}


.legal-toc a {
    display:
        grid;

    grid-template-columns:
        25px
        1fr;

    align-items:
        start;

    gap:
        5px;

    padding:
        7px
        4px;

    color:
        var(--legal-text-soft);

    font-size:
        .68rem;

    font-weight:
        550;

    line-height:
        1.42;

    text-decoration:
        none;

    transition:
        color .25s ease,
        transform .25s ease;
}


.legal-toc a span {
    color:
        rgba(65, 146, 255, .62);

    font-size:
        .57rem;

    font-weight:
        800;
}


@media (hover: hover) {

    .legal-toc a:hover {
        color:
            var(--legal-blue);

        transform:
            translateX(3px);
    }

}


/* =========================================================
   CONTENT
========================================================= */

.legal-content {
    min-width:
        0;

    max-width:
        820px;
}


/* =========================================================
   INTRO CARD
========================================================= */

.legal-intro {
    margin-bottom:
        22px;

    padding:
        22px
        24px;

    display:
        grid;

    grid-template-columns:
        44px
        1fr;

    align-items:
        start;

    gap:
        16px;

    border:
        1px solid
        rgba(65, 146, 255, .12);

    border-radius:
        2px;

    background:
        linear-gradient(
            135deg,
            rgba(65, 146, 255, .06),
            rgba(70, 244, 132, .035)
        );

    box-shadow:
        var(--legal-shadow);
}


.legal-intro__icon {
    width:
        44px;

    height:
        44px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        rgba(65, 146, 255, .10);

    color:
        var(--legal-blue);

    font-size:
        1.2rem;
}


.legal-intro h2 {
    margin:
        0
        0
        7px;

    font-size:
        1rem;

    font-weight:
        750;
}


.legal-intro p {
    margin:
        0;

    font-size:
        .79rem;

    line-height:
        1.67;
}


/* =========================================================
   SECTION
========================================================= */

.legal-section {
    position:
        relative;

    scroll-margin-top:
        110px;

    padding:
        clamp(
            26px,
            4vw,
            37px
        )
        0;

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


.legal-section--last {
    border-bottom:
        0;
}


.legal-section__number {
    display:
        block;

    margin-bottom:
        7px;

    color:
        rgba(65, 146, 255, .52);

    font-size:
        .57rem;

    font-weight:
        800;

    letter-spacing:
        .12em;
}


.legal-section h2 {
    margin:
        0
        0
        17px;

    font-size:
        clamp(
            1.25rem,
            2.2vw,
            1.62rem
        );

    font-weight:
        760;

    line-height:
        1.23;

    letter-spacing:
        -.025em;
}


.legal-section > p {
    margin:
        0
        0
        13px;

    font-size:
        .83rem;

    line-height:
        1.78;
}


.legal-section > p:last-child {
    margin-bottom:
        0;
}


/* =========================================================
   NOTE
========================================================= */

.legal-note {
    margin-top:
        19px;

    padding:
        14px
        16px;

    display:
        grid;

    grid-template-columns:
        24px
        1fr;

    align-items:
        start;

    gap:
        10px;

    border-left:
        3px solid
        var(--legal-blue);

    border-radius:
        2px;

    background:
        rgba(65, 146, 255, .055);
}


.legal-note i {
    margin-top:
        2px;

    color:
        var(--legal-blue);

    font-size:
        1rem;
}


.legal-note p {
    margin:
        0;

    color:
        var(--legal-text-soft);

    font-size:
        .73rem;

    line-height:
        1.65;
}


.legal-note--green {
    border-left-color:
        var(--legal-green);

    background:
        rgba(70, 244, 132, .055);
}


.legal-note--green i {
    color:
        #2eaf65;
}


/* =========================================================
   LIST CARDS
========================================================= */

.legal-list-cards {
    margin-top:
        20px;

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        11px;
}


.legal-list-card {
    padding:
        15px;

    display:
        grid;

    grid-template-columns:
        32px
        1fr;

    gap:
        10px;

    border:
        1px solid
        var(--legal-border);

    border-radius:
        2px;

    background:
        #fff;

    box-shadow:
        6px
        10px
        23px
        rgba(28, 48, 73, .045);
}


.legal-list-card > i {
    width:
        32px;

    height:
        32px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        rgba(65, 146, 255, .08);

    color:
        var(--legal-blue);

    font-size:
        .95rem;
}


.legal-list-card strong {
    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--legal-text);

    font-size:
        .73rem;

    font-weight:
        700;
}


.legal-list-card p {
    margin:
        0;

    font-size:
        .67rem;

    line-height:
        1.55;
}


/* =========================================================
   STANDARD LIST
========================================================= */

.legal-list {
    margin:
        19px
        0
        0;

    padding:
        0;

    display:
        grid;

    gap:
        9px;

    list-style:
        none;
}


.legal-list li {
    position:
        relative;

    padding:
        13px
        14px
        13px
        38px;

    border:
        1px solid
        var(--legal-border);

    border-radius:
        2px;

    background:
        rgba(248, 251, 254, .8);
}


.legal-list li::before {
    content: "";

    position:
        absolute;

    top:
        19px;

    left:
        18px;

    width:
        7px;

    height:
        7px;

    border-radius:
        50%;

    background:
        linear-gradient(
            135deg,
            var(--legal-blue),
            var(--legal-green)
        );
}


.legal-list strong {
    display:
        block;

    margin-bottom:
        3px;

    color:
        var(--legal-text);

    font-size:
        .73rem;
}


.legal-list span {
    display:
        block;

    color:
        var(--legal-text-soft);

    font-size:
        .70rem;

    line-height:
        1.6;
}


/* =========================================================
   HIGHLIGHT
========================================================= */

.legal-highlight {
    margin-top:
        20px;

    padding:
        17px
        18px;

    border:
        1px solid
        rgba(225, 255, 88, .55);

    border-radius:
        2px;

    background:
        linear-gradient(
            100deg,
            rgba(65, 146, 255, .055),
            rgba(70, 244, 132, .055),
            rgba(225, 255, 88, .16)
        );
}


.legal-highlight > span {
    display:
        block;

    margin-bottom:
        6px;

    color:
        var(--legal-text);

    font-size:
        .55rem;

    font-weight:
        850;

    letter-spacing:
        .12em;
}


.legal-highlight p {
    margin:
        0;

    color:
        var(--legal-text);

    font-size:
        .73rem;

    font-weight:
        600;

    line-height:
        1.6;
}


/* =========================================================
   BROWSERS
========================================================= */

.legal-browser-grid {
    margin:
        18px
        0;

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        9px;
}


.legal-browser-grid > div {
    min-height:
        72px;

    padding:
        12px
        13px;

    display:
        grid;

    grid-template-columns:
        28px
        1fr;

    align-items:
        center;

    gap:
        1px
        9px;

    border:
        1px solid
        var(--legal-border);

    border-radius:
        2px;

    background:
        #fff;
}


.legal-browser-grid i {
    grid-row:
        1 / 3;

    color:
        var(--legal-blue);

    font-size:
        1.2rem;
}


.legal-browser-grid span {
    color:
        var(--legal-text);

    font-size:
        .70rem;

    font-weight:
        700;
}


.legal-browser-grid small {
    color:
        var(--legal-text-muted);

    font-size:
        .59rem;

    line-height:
        1.35;
}


.legal-small {
    color:
        var(--legal-text-muted) !important;

    font-size:
        .69rem !important;

    font-style:
        italic;
}


/* =========================================================
   DOCUMENT LINK
========================================================= */

.legal-document-link {
    max-width:
        450px;

    margin-top:
        18px;

    padding:
        13px
        15px;

    display:
        grid;

    grid-template-columns:
        36px
        1fr
        25px;

    align-items:
        center;

    gap:
        11px;

    border:
        1px solid
        rgba(65, 146, 255, .14);

    border-radius:
        10px;

    background:
        rgba(65, 146, 255, .045);

    color:
        var(--legal-text) !important;

    text-decoration:
        none;

    transition:
        transform .3s
            cubic-bezier(.22, 1, .36, 1),
        border-color .3s ease,
        background-color .3s ease;
}


.legal-document-link > i:first-child {
    width:
        36px;

    height:
        36px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        rgba(65, 146, 255, .09);

    color:
        var(--legal-blue);
}


.legal-document-link small,
.legal-document-link strong {
    display:
        block;
}


.legal-document-link small {
    margin-bottom:
        2px;

    color:
        var(--legal-text-muted);

    font-size:
        .51rem;

    font-weight:
        800;

    letter-spacing:
        .09em;
}


.legal-document-link strong {
    color:
        var(--legal-text);

    font-size:
        .72rem;
}


.legal-document-link >
i:last-child {
    color:
        var(--legal-blue);

    font-size:
        1.1rem;

    transition:
        transform .3s ease;
}


@media (hover: hover) {

    .legal-document-link:hover {
        transform:
            translateY(-2px);

        border-color:
            rgba(65, 146, 255, .28);

        background:
            rgba(65, 146, 255, .07);
    }


    .legal-document-link:hover >
    i:last-child {
        transform:
            translateX(3px);
    }

}


/* =========================================================
   CONTACT
========================================================= */

.legal-contact {
    margin-top:
        19px;

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        10px;
}


.legal-contact a {
    min-width:
        0;

    padding:
        13px
        14px;

    display:
        grid;

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

    align-items:
        center;

    gap:
        10px;

    border:
        1px solid
        var(--legal-border);

    border-radius:
        2px;

    background:
        #fff;

    color:
        var(--legal-text) !important;

    text-decoration:
        none;

    box-shadow:
        5px
        8px
        20px
        rgba(28, 48, 73, .04);

    transition:
        transform .3s
        cubic-bezier(.22, 1, .36, 1),
        border-color .3s ease;
}


.legal-contact a > i {
    width:
        35px;

    height:
        35px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    border-radius:
        50%;

    background:
        rgba(65, 146, 255, .08);

    color:
        var(--legal-blue);
}


.legal-contact span {
    min-width:
        0;
}


.legal-contact small,
.legal-contact strong {
    display:
        block;
}


.legal-contact small {
    margin-bottom:
        2px;

    color:
        var(--legal-text-muted);

    font-size:
        .51rem;

    font-weight:
        800;

    letter-spacing:
        .09em;
}


.legal-contact strong {
    color:
        var(--legal-text);

    font-size:
        .66rem;

    font-weight:
        650;

    overflow-wrap:
        anywhere;
}


@media (hover: hover) {

    .legal-contact a:hover {
        transform:
            translateY(-2px);

        border-color:
            rgba(65, 146, 255, .22);
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .legal-container {
        width:
            min(
                calc(100% - 40px),
                760px
            );
    }


    .legal-layout {
        grid-template-columns:
            1fr;

        gap:
            28px;
    }


    .legal-toc__inner {
        position:
            static;

        padding:
            16px;

        border:
            1px solid
            var(--legal-border);

        border-radius:
            2px;

        background:
            rgba(248, 251, 254, .75);
    }


    .legal-toc nav {
        display:
            grid;

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        gap:
            3px
            16px;
    }


    .legal-content {
        max-width:
            none;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 680px) {

    .legal-container {
        width:
            calc(100% - 28px);
    }


    .legal-hero {
        padding:
            58px
            0
            45px;
    }


    .legal-hero h1 {
        font-size:
            clamp(
                2rem,
                10vw,
                2.65rem
            );
    }


    .legal-hero__lead {
        margin-top:
            21px;

        font-size:
            .89rem;

        line-height:
            1.68;
    }


    .legal-hero__meta {
        margin-top:
            18px;
    }


    .legal-body {
        padding:
            38px
            0
            62px;
    }


    .legal-toc nav {
        grid-template-columns:
            1fr
            1fr;
    }


    .legal-toc a {
        grid-template-columns:
            21px
            1fr;

        font-size:
            .62rem;
    }


    .legal-intro {
        padding:
            18px;

        grid-template-columns:
            38px
            1fr;

        gap:
            12px;
    }


    .legal-intro__icon {
        width:
            38px;

        height:
            38px;
    }


    .legal-list-cards,
    .legal-browser-grid,
    .legal-contact {
        grid-template-columns:
            1fr;
    }


    .legal-section {
        padding:
            27px
            0;
    }


    .legal-section h2 {
        font-size:
            1.26rem;
    }


    .legal-section > p {
        font-size:
            .79rem;

        line-height:
            1.72;
    }

}


/* =========================================================
   VERY SMALL
========================================================= */

@media (max-width: 359.98px) {

    .legal-container {
        width:
            calc(100% - 20px);
    }


    .legal-toc nav {
        grid-template-columns:
            1fr;
    }

}

/* =========================================================
   LEGAL PAGES — SCROLL REVEAL
========================================================= */

/*
 * Clasa este adăugată de JavaScript.
 * Dacă JS nu funcționează, conținutul rămâne vizibil.
 */

.legal-reveal {
    opacity: 0;

    transform:
        translateY(22px);

    transition:
        opacity .72s ease,
        transform .82s
        cubic-bezier(.22, 1, .36, 1);

    transition-delay:
        var(--legal-reveal-delay, 0ms);

    will-change:
        opacity,
        transform;
}


/* element vizibil */

.legal-reveal.is-visible {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   CARDURI — mișcare puțin mai scurtă
========================================================= */

.legal-list-card.legal-reveal,
.legal-list li.legal-reveal,
.legal-browser-grid > div.legal-reveal,
.legal-contact > a.legal-reveal {
    transform:
        translateY(16px);
}


.legal-list-card.legal-reveal.is-visible,
.legal-list li.legal-reveal.is-visible,
.legal-browser-grid > div.legal-reveal.is-visible,
.legal-contact > a.legal-reveal.is-visible {
    transform:
        translateY(0);
}


/* =========================================================
   NOTE / HIGHLIGHT
========================================================= */

.legal-note.legal-reveal,
.legal-highlight.legal-reveal,
.legal-document-link.legal-reveal {
    transform:
        translateY(14px);
}


.legal-note.legal-reveal.is-visible,
.legal-highlight.legal-reveal.is-visible,
.legal-document-link.legal-reveal.is-visible {
    transform:
        translateY(0);
}


/* =========================================================
   HERO — apare la încărcarea paginii
========================================================= */

.legal-hero-reveal {
    opacity: 0;

    transform:
        translateY(18px);

    transition:
        opacity .75s ease,
        transform .85s
        cubic-bezier(.22, 1, .36, 1);

    transition-delay:
        var(--legal-hero-delay, 0ms);
}


.legal-hero-reveal.is-visible {
    opacity: 1;

    transform:
        translateY(0);
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .legal-reveal,
    .legal-hero-reveal {
        opacity: 1 !important;

        transform:
            none !important;

        transition:
            none !important;
    }


    .legal-page *,
    .legal-page *::before,
    .legal-page *::after {
        scroll-behavior:
            auto !important;

        transition-duration:
            .01ms !important;
    }

}