/* =========================================================
   PAGE MENTIONS LÉGALES — SHONAGE
   ========================================================= */

.legal-page{
    margin:0;
    min-height:100vh;

    background:#0b1020;
    color:#fff;
}

/* Header */

.legal-header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:10;

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

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

    margin:0 auto;
    padding:24px 0;
}

.legal-header__brand{
    display:block;
}

.legal-header__brand img{
    display:block;

    width:min(220px,48vw);
    height:auto;
}

.legal-header__return{
    color:rgba(255,255,255,.78);

    font-size:.9rem;
    font-weight:700;
    text-decoration:none;

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

.legal-header__return:hover{
    color:#fff;
    transform:translateX(-3px);
}

/* Background */

.legal-main{
    position:relative;

    min-height:100vh;

    overflow:hidden;

    padding:
        140px
        clamp(18px,5vw,76px)
        80px;

    isolation:isolate;
}

.legal-main__background{
    position:fixed;
    inset:0;
    z-index:-3;

    background:
        url("../images/affiche_wip.jpeg")
        center 76% / cover
        no-repeat;

    transform:scale(1.025);
}

.legal-main__overlay{
    position:fixed;
    inset:0;
    z-index:-2;

    background:
        linear-gradient(
            135deg,
            rgba(7,11,22,.96) 0%,
            rgba(10,16,30,.78) 48%,
            rgba(7,11,22,.94) 100%
        ),
        linear-gradient(
            180deg,
            rgba(7,11,22,.35) 0%,
            rgba(7,11,22,.88) 100%
        );
}

/* Document */

.legal-document{
    position:relative;
    z-index:1;

    width:min(1040px,100%);

    margin:0 auto;

    border:1px solid rgba(255,255,255,.14);
    border-radius:34px;

    background:
        linear-gradient(
            145deg,
            rgba(18,26,44,.90),
            rgba(18,26,44,.68)
        );

    box-shadow:
        0 42px 130px rgba(0,0,0,.48),
        inset 0 1px 0 rgba(255,255,255,.08);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
}

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

    position:absolute;
    inset:14px;

    border:1px solid rgba(214,184,121,.10);
    border-radius:24px;

    pointer-events:none;
}

/* Heading */

.legal-document__heading{
    position:relative;

    padding:
        clamp(42px,7vw,78px)
        clamp(28px,7vw,84px)
        clamp(36px,5vw,58px);

    text-align:center;

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

.legal-document__sigil{
    width:90px;
    height:90px;

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

    margin:0 auto 24px;

    border:1px solid rgba(214,184,121,.42);
    border-radius:50%;

    background:
        radial-gradient(
            circle at 35% 30%,
            rgba(255,255,255,.18),
            rgba(99,190,255,.08) 38%,
            rgba(12,20,34,.72) 76%
        );

    box-shadow:
        0 0 36px rgba(97,190,255,.20),
        0 0 72px rgba(214,184,121,.10);
}

.legal-document__sigil img{
    width:58px;
    height:58px;

    object-fit:contain;
}

.legal-document__eyebrow{
    margin:0 0 14px;

    color:#d6b879;

    font-size:.78rem;
    font-weight:800;

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

.legal-document h1{
    margin:0 0 22px;

    color:#fff;

    font-size:clamp(2.8rem,7vw,5.4rem);
    line-height:.98;
    letter-spacing:-.04em;
}

.legal-document__introduction{
    max-width:650px;

    margin:0 auto;

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

    font-size:1.08rem;
    line-height:1.75;
}

/* Legal content */

.legal-document__content{
    position:relative;

    padding:
        clamp(38px,6vw,70px)
        clamp(28px,7vw,84px);
}

.legal-section{
    position:relative;

    padding:
        0 0
        42px;

    margin:
        0 0
        42px;

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

.legal-section:last-child{
    margin-bottom:0;
    padding-bottom:0;

    border-bottom:0;
}

.legal-section h2{
    position:relative;

    margin:
        0 0
        22px;

    padding-left:22px;

    color:#fff;

    font-size:clamp(1.45rem,3vw,2rem);
    line-height:1.2;
}

.legal-section h2::before{
    content:"";

    position:absolute;
    top:.16em;
    bottom:.16em;
    left:0;

    width:3px;

    border-radius:3px;

    background:
        linear-gradient(
            180deg,
            #d6b879,
            #69c2ff
        );

    box-shadow:
        0 0 14px
        rgba(105,194,255,.22);
}

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

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

    font-size:1rem;
    line-height:1.85;
}

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

.legal-section strong{
    color:#fff;
}

.legal-section a{
    color:#e0c98f;

    text-decoration-color:
        rgba(224,201,143,.45);

    text-underline-offset:4px;
}

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

/* Definition lists */

.legal-details{
    display:grid;
    gap:0;

    margin:24px 0 0;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius:18px;

    overflow:hidden;

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

.legal-details > div{
    display:grid;
    grid-template-columns:minmax(180px,30%) 1fr;
    gap:26px;

    padding:17px 20px;

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

.legal-details > div:last-child{
    border-bottom:0;
}

.legal-details dt{
    color:#d6b879;

    font-size:.78rem;
    font-weight:800;

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

.legal-details dd{
    margin:0;

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

    line-height:1.6;
}

.legal-address{
    margin:20px 0;

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

    font-style:normal;
    line-height:1.75;
}

/* Footer */

.legal-document__footer{
    position:relative;

    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:22px;

    padding:
        34px
        clamp(28px,7vw,84px)
        48px;

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

.legal-document__secondary-link{
    color:rgba(255,255,255,.65);

    font-size:.92rem;
    text-decoration:none;
}

.legal-document__secondary-link:hover{
    color:#fff;
}

/* Responsive */

@media (max-width:700px){

    .legal-header{
        width:calc(100% - 36px);
        padding:18px 0;
    }

    .legal-header__brand img{
        width:165px;
    }

    .legal-header__return{
        font-size:.8rem;
    }

    .legal-main{
        padding:
            110px
            16px
            34px;
    }

    .legal-document{
        border-radius:24px;
    }

    .legal-document::before{
        inset:10px;
        border-radius:17px;
    }

    .legal-document__heading{
        padding:
            38px
            22px
            34px;
    }

    .legal-document__content{
        padding:
            36px
            22px;
    }

    .legal-details > div{
        grid-template-columns:1fr;
        gap:7px;

        padding:16px;
    }

    .legal-document__footer{
        flex-direction:column;

        padding:
            30px
            22px
            38px;
    }

    .legal-document__footer .button{
        width:100%;
        text-align:center;
    }
}