
/* ==========================================================
   ITINERIS — PAGES JURIDIQUES
   ========================================================== */

:root{
    --legal-purple:#541585;
    --legal-purple-dark:#2b0d40;
    --legal-gold:#D3AE38;
    --legal-ivory:#f8f4ec;
    --legal-text:#342d38;
    --legal-muted:#726979;
    --legal-line:rgba(84,21,133,.13);
}


*{
    box-sizing:border-box;
}


html{
    scroll-behavior:smooth;
}


body.itineris-legal-page{
    margin:0 !important;

    background:#ffffff !important;
    color:var(--legal-text) !important;

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

    font-size:16px !important;
    line-height:1.7 !important;
}


.legal-shell{
    width:min(calc(100% - 48px),1180px);
    margin:0 auto;
}


/* ==========================================================
   HEADER
   ========================================================== */

.legal-header{
    background:var(--legal-purple);
    color:#ffffff;

    border-bottom:1px solid rgba(255,255,255,.1);
}


.legal-nav{
    min-height:82px;

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

    gap:30px;
}


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


.legal-brand img{
    display:block;

    width:155px;
    height:auto;
}


.legal-back{
    min-height:44px;

    display:inline-flex;
    align-items:center;

    gap:9px;

    color:#ffffff !important;

    font-size:13px;
    font-weight:700;

    text-decoration:none !important;

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


.legal-back:hover{
    color:var(--legal-gold) !important;
    transform:translateX(-2px);
}


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

.legal-hero{
    position:relative;

    overflow:hidden;

    padding:86px 0 82px;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgba(211,174,56,.18),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            var(--legal-purple-dark),
            var(--legal-purple)
        );

    color:#ffffff;
}


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

    position:absolute;

    width:330px;
    height:330px;

    right:-130px;
    bottom:-210px;

    border:1px solid rgba(211,174,56,.35);
    border-radius:50%;
}


.legal-kicker{
    margin-bottom:18px;

    color:var(--legal-gold);

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

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


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

    margin:0;

    color:#ffffff !important;

    font-family:Georgia,"Times New Roman",serif;

    font-size:clamp(38px,5vw,68px);
    line-height:1.02;

    letter-spacing:-.035em;
}


.legal-gold-line{
    width:72px;
    height:3px;

    margin:28px 0 24px;

    background:var(--legal-gold);

    border-radius:100px;
}


.legal-tagline{
    max-width:680px;

    margin:0 0 5px;

    color:rgba(255,255,255,.9);

    font-size:16px;
    font-weight:600;
}


.legal-country{
    margin:0;

    color:rgba(255,255,255,.64);

    font-size:13px;

    letter-spacing:.04em;
}


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

.legal-content-section{
    padding:78px 0 100px;

    background:
        linear-gradient(
            180deg,
            var(--legal-ivory),
            #ffffff 230px
        );
}


.legal-content-shell{
    max-width:920px;
}


.legal-document{
    padding:58px 64px;

    background:#ffffff;

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

    box-shadow:
        0 24px 70px rgba(53,20,75,.07);
}


.legal-document > *:first-child{
    margin-top:0 !important;
}


.legal-document > *:last-child{
    margin-bottom:0 !important;
}


.legal-document .legal-updated{
    display:inline-block;

    margin:0 0 40px;

    padding:8px 13px;

    background:rgba(84,21,133,.06);

    border-radius:8px;

    color:var(--legal-purple);

    font-size:13px;
    font-weight:700;
}


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

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

    font-family:Georgia,"Times New Roman",serif;

    font-size:26px;
    line-height:1.2;

    letter-spacing:-.015em;
}


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


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

    color:var(--legal-purple);

    font-size:18px;
}


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

    color:var(--legal-text);

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

    text-align:left;
}


.legal-document ul{
    margin:8px 0 24px;
    padding-left:23px;
}


.legal-document li{
    margin:7px 0;

    color:var(--legal-text);

    font-size:16px;
    line-height:1.65;
}


.legal-document a{
    color:var(--legal-purple);

    font-weight:700;

    text-decoration-color:rgba(84,21,133,.35);
    text-underline-offset:3px;
}


.legal-document strong{
    color:var(--legal-purple-dark);
}


/* ==========================================================
   FOOTER
   ========================================================== */

.legal-footer{
    padding:62px 0 24px;

    background:var(--legal-purple-dark);

    color:#ffffff;
}


.legal-footer-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:70px;
}


.legal-footer-identity img{
    display:block;

    width:160px;
    height:auto;

    margin-bottom:20px;
}


.legal-footer-identity p{
    max-width:420px;

    margin:0 0 12px;

    color:rgba(255,255,255,.68);

    font-size:13px;
}


.legal-footer-identity > a{
    display:inline-flex;
    align-items:center;

    min-height:44px;

    color:#ffffff;

    font-size:14px;

    text-decoration:none;
}


.legal-footer-identity > a:hover{
    color:var(--legal-gold);
}


.legal-footer-nav{
    display:flex;
    flex-direction:column;
    align-items:flex-end;

    gap:4px;
}


.legal-footer-nav a{
    min-height:44px;

    display:flex;
    align-items:center;

    color:#ffffff;

    font-size:13px;
    font-weight:600;

    text-decoration:none;

    transition:color .2s ease;
}


.legal-footer-nav a:hover{
    color:var(--legal-gold);
}


.legal-footer-bottom{
    margin-top:46px;
    padding-top:20px;

    display:flex;
    justify-content:space-between;

    gap:20px;

    border-top:1px solid rgba(255,255,255,.12);

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

    font-size:11px;

    letter-spacing:.04em;
}


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

@media(max-width:760px){

    .legal-shell{
        width:min(calc(100% - 30px),1180px);
    }


    .legal-nav{
        min-height:70px;
    }


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


    .legal-back{
        font-size:12px;
    }


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


    .legal-hero h1{
        font-size:36px;
        line-height:1.06;
    }


    .legal-tagline{
        font-size:14px;
        line-height:1.55;
    }


    .legal-content-section{
        padding:38px 0 58px;
    }


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

        border-radius:16px;
    }


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

        font-size:23px;
    }


    .legal-document p,
    .legal-document li{
        font-size:16px;
        line-height:1.7;

        text-align:left;
    }


    .legal-footer-top{
        flex-direction:column;

        gap:34px;
    }


    .legal-footer-nav{
        width:100%;

        align-items:flex-start;
    }


    .legal-footer-bottom{
        flex-direction:column;

        gap:6px;
    }

}



/* ==========================================================
   ITINERIS LEGAL BILINGUAL V2
   ========================================================== */

.legal-nav-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;

    gap:24px;
}


.legal-lang-switch{
    display:inline-flex;
    align-items:center;

    padding:3px;

    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;

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


.legal-lang-btn{
    width:40px;
    height:38px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:0;

    border:0;
    border-radius:999px;

    background:transparent;

    color:rgba(255,255,255,.72);

    font:inherit;
    font-size:11px;
    font-weight:800;

    letter-spacing:.08em;

    cursor:pointer;

    transition:
        background .2s ease,
        color .2s ease;
}


.legal-lang-btn:hover{
    color:#ffffff;
}


.legal-lang-btn.is-active{
    background:#ffffff;
    color:var(--legal-purple);
}


.legal-lang-btn:focus-visible{
    outline:2px solid var(--legal-gold);
    outline-offset:3px;
}


.legal-lang-content{
    display:none;
}


.legal-lang-content.is-active{
    display:block;
}


@media(max-width:760px){

    .legal-nav{
        gap:14px;
    }


    .legal-nav-actions{
        gap:10px;
    }


    .legal-back > span:first-child{
        display:none;
    }


    .legal-back{
        min-height:40px;

        font-size:11px;
    }


    .legal-lang-btn{
        width:38px;
        height:38px;
    }

}

