/* CSS local ARLEN, extrait de mentions-legales.php et mis en cache. */
:root {
            --arlen-blue: #2f5fab;
            --arlen-blue-deep: #173f7e;
            --arlen-blue-night: #10294f;
            --arlen-orange: #f18745;
            --arlen-orange-soft: #ffe3d0;
            --ink: #172033;
            --steel: #475569;
            --muted: #64748b;
            --paper: #f7f9fc;
            --paper-2: #eef4fb;
            --white: #ffffff;
            --line: rgba(47,95,171,.16);
            --radius-sm: 12px;
            --radius: 20px;
            --radius-lg: 34px;
            --shadow: 0 22px 60px rgba(16, 41, 79, .14);
            --shadow-soft: 0 14px 34px rgba(16, 41, 79, .10);
            --container-max: 1180px;
        }

        * { box-sizing: border-box; }

        html,
        body {
            margin: 0;
            padding: 0;
            width: 100%;
            min-height: 100%;
            overflow-x: hidden;
            max-width: 100vw;
        }

        html { scroll-behavior: smooth; }

        body.legal-page {
            font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--ink);
            background:
                radial-gradient(circle at top left, rgba(47,95,171,.10), transparent 34rem),
                linear-gradient(180deg, #fff 0, var(--paper) 44rem, #fff 100%);
        }

        a { text-decoration: none; }
        .container { max-width: var(--container-max); }

        .page-legal-hero {
            position: relative;
            overflow: hidden;
            padding: 155px 0 78px;
            color: #fff;
            background:
                linear-gradient(115deg, rgba(16,41,79,.96) 0%, rgba(47,95,171,.92) 54%, rgba(47,95,171,.80) 100%),
                radial-gradient(circle at 80% 20%, rgba(241,135,69,.56), transparent 24rem);
        }

        .page-legal-hero::before {
            content: "";
            position: absolute;
            inset: 0;
            pointer-events: none;
            opacity: .42;
            background:
                radial-gradient(circle at 12% 22%, rgba(255,255,255,.18) 0 .45rem, transparent .5rem),
                radial-gradient(circle at 20% 34%, rgba(241,135,69,.50) 0 .62rem, transparent .68rem),
                radial-gradient(circle at 30% 34%, rgba(16,41,79,.32) 0 .62rem, transparent .68rem),
                linear-gradient(135deg, transparent 0 52%, rgba(255,255,255,.06) 52% 52.4%, transparent 52.4%);
            background-size: auto, auto, auto, 78px 78px;
        }

        .page-legal-hero::after {
            content: "";
            position: absolute;
            right: -10rem;
            bottom: -13rem;
            width: 30rem;
            height: 30rem;
            border-radius: 999px;
            background: radial-gradient(circle, rgba(241,135,69,.34), transparent 66%);
            pointer-events: none;
        }

        .page-legal-hero .container {
            position: relative;
            z-index: 2;
        }

        .legal-kicker {
            display: inline-flex;
            align-items: center;
            gap: .55rem;
            padding: .52rem .82rem;
            border-radius: 999px;
            background: rgba(255,255,255,.12);
            border: 1px solid rgba(255,255,255,.25);
            color: rgba(255,255,255,.95);
            font-weight: 800;
            font-size: .88rem;
            margin-bottom: 1rem;
        }

        .page-legal-hero h1 {
            max-width: 900px;
            margin-inline: auto;
            font-weight: 950;
            letter-spacing: -.065em;
            line-height: .96;
            font-size: clamp(2.45rem, 5.2vw, 5.2rem);
            color: #fff;
        }

        .hero-highlight {
            color: var(--arlen-orange);
        }

        .page-legal-hero .text-white-50 {
            color: rgba(255,255,255,.78) !important;
            font-weight: 750;
        }

        .back-home-btn,
        .legal-page .btn-outline-primary,
        .legal-page .btn-primary,
        #scrollToTop {
            border-radius: 16px;
            padding: .85rem 1.15rem;
            font-weight: 900;
            letter-spacing: -.01em;
        }

        .back-home-btn {
            background: #fff !important;
            color: var(--arlen-blue-night) !important;
            border: 1px solid rgba(255,255,255,.64) !important;
            box-shadow: 0 16px 32px rgba(16,41,79,.18);
        }

        .back-home-btn:hover {
            background: var(--arlen-orange-soft) !important;
            color: var(--arlen-blue-night) !important;
            transform: translateY(-1px);
        }

        .legal-card {
            position: relative;
            border-radius: var(--radius-lg);
            border: 1px solid var(--line);
            box-shadow: var(--shadow-soft);
            background: rgba(255,255,255,.90);
            overflow: hidden;
        }

        .legal-card::before {
            content: "";
            position: absolute;
            inset: 0 0 auto 0;
            height: 6px;
            background: linear-gradient(90deg, var(--arlen-blue), var(--arlen-orange));
        }

        .legal-card > * {
            position: relative;
            z-index: 1;
        }

        .legal-card h1,
        .legal-card h2,
        .legal-card h3,
        .legal-card h4 {
            color: var(--ink);
            font-weight: 950;
            letter-spacing: -.035em;
        }

        .legal-card h1 {
            font-size: clamp(1.7rem, 3vw, 2.45rem);
            margin-bottom: 1.25rem;
        }

        .legal-card h2 {
            display: flex;
            align-items: center;
            gap: .65rem;
            margin-top: 2.25rem;
            margin-bottom: 1rem;
            padding-bottom: .7rem;
            border-bottom: 1px solid var(--line);
            color: var(--arlen-blue-night);
        }

        .legal-card h2::before {
            content: "";
            width: 12px;
            height: 12px;
            flex: 0 0 auto;
            border-radius: 999px;
            background: var(--arlen-orange);
            box-shadow: 0 0 0 6px rgba(241,135,69,.12);
        }

        .legal-card h4 {
            margin-top: 1.65rem;
            color: var(--arlen-blue-deep);
        }

        .legal-card p,
        .legal-card li {
            color: var(--steel);
            line-height: 1.75;
        }

        .legal-card strong {
            color: var(--arlen-blue-night);
        }

        .legal-card a {
            color: var(--arlen-blue-deep);
            font-weight: 850;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

        .legal-card ul {
            padding-left: 1.25rem;
        }

        .legal-card li::marker {
            color: var(--arlen-orange);
        }

        .legal-sommaire {
            border-radius: 24px;
            background: linear-gradient(135deg, rgba(47,95,171,.08), rgba(241,135,69,.10)) !important;
            border: 1px solid var(--line) !important;
            box-shadow: var(--shadow-soft);
        }

        .legal-sommaire h5 {
            color: var(--arlen-blue-night);
            font-weight: 950;
            margin-bottom: 1rem;
        }

        .legal-sommaire a {
            display: block;
            padding: .5rem .7rem;
            border-radius: 999px;
            color: var(--arlen-blue-night);
            text-decoration: none;
            font-weight: 850;
            transition: background .18s ease, color .18s ease, transform .18s ease;
        }

        .legal-sommaire a:hover {
            background: var(--arlen-blue);
            color: #fff;
            transform: translateX(3px);
        }

        .alert-warning {
            border: 1px solid rgba(241,135,69,.28);
            border-radius: 20px;
            background: linear-gradient(135deg, rgba(255,227,208,.92), rgba(255,255,255,.96));
            color: var(--arlen-blue-night);
            box-shadow: var(--shadow-soft);
        }

        .legal-page .btn-primary,
        #scrollToTop {
            background: var(--arlen-orange) !important;
            border-color: var(--arlen-orange) !important;
            color: #121826 !important;
            box-shadow: 0 16px 32px rgba(241,135,69,.30);
        }

        .legal-page .btn-primary:hover,
        #scrollToTop:hover {
            background: #ff9a5f !important;
            border-color: #ff9a5f !important;
            transform: translateY(-1px);
        }

        .legal-page .btn-outline-primary {
            border-color: var(--arlen-blue);
            color: var(--arlen-blue-night);
            background: #fff;
        }

        .legal-page .btn-outline-primary:hover {
            background: var(--arlen-blue);
            color: #fff;
            transform: translateY(-1px);
        }

        #scrollToTop {
            width: 50px;
            height: 50px;
            z-index: 1090;
            padding: 0;
            display: none;
            align-items: center;
            justify-content: center;
        }

        .legal-page .site-topbar {
            position: absolute !important;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 20;
            padding-top: 1.25rem !important;
            padding-bottom: 0 !important;
            margin-bottom: 0 !important;
            background: transparent !important;
            border: 0 !important;
            box-shadow: none !important;
            backdrop-filter: none !important;
            pointer-events: none !important;
        }

        .legal-page .site-topbar::before {
            display: none !important;
        }

        .legal-page .site-topbar .container {
            position: relative;
            z-index: 2;
        }

        .legal-page .site-brand {
            pointer-events: auto !important;
            background: rgba(255,255,255,.12) !important;
            border: 1px solid rgba(255,255,255,.25) !important;
            box-shadow: 0 12px 24px rgba(0,0,0,.12) !important;
            backdrop-filter: blur(12px);
        }

        @media (max-width: 767.98px) {
            .page-legal-hero {
                padding-top: 128px;
                padding-bottom: 54px;
            }

            .page-legal-hero h1 {
                font-size: clamp(2.15rem, 11vw, 3.35rem);
                line-height: .98;
            }

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

            .legal-card h2 {
                align-items: flex-start;
                font-size: 1.35rem;
            }

            .legal-sommaire a {
                border-radius: 14px;
            }

            .legal-page .site-topbar {
                padding-top: 1rem !important;
            }
        }
