/* CSS local ARLEN, extrait de registres/accessibilite/index.php et mis en cache. */
:root{
            --arlen-blue:#2C56AA;
            --arlen-blue-dark:#193B75;
            --arlen-blue-deep:#102A55;
            --arlen-orange:#E8854B;
            --ink:#172033;
            --text:#3f4a5a;
            --muted:#6d7888;
            --line:#dde4ed;
            --line-dark:#cbd5e1;
            --soft:#f6f8fb;
            --soft-blue:#edf3fc;
            --soft-orange:#fff5ee;
            --white:#fff;
            --success:#177245;
            --warning:#85511d;
            --container:1180px;
            --radius-xl:22px;
            --radius-lg:16px;
            --radius-md:12px;
            --shadow-sm:0 8px 24px rgba(16,42,85,.07);
            --shadow-md:0 18px 50px rgba(16,42,85,.10);
        }

        *{box-sizing:border-box}
        html{scroll-behavior:smooth}
        html,body{margin:0;padding:0;width:100%;overflow-x:hidden}

        body{
            font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
            color:var(--ink);
            background:#fff;
            line-height:1.6;
            -webkit-font-smoothing:antialiased;
        }

        a{color:inherit;text-decoration:none}
        img{max-width:100%}
        .container,.container-lg,.container-xl{max-width:var(--container)}

        /* Le registre garde toujours une vraie largeur centrée.
           On ne laisse pas le max-width global écraser les breakpoints Bootstrap. */
        #contenu-principal .container,
        .quick-nav > .container{
            width:min(calc(100% - 40px), var(--container));
            max-width:var(--container);
            margin-left:auto;
            margin-right:auto;
            padding-left:0!important;
            padding-right:0!important;
        }

        .skip-link{
            position:fixed;
            top:12px;
            left:12px;
            z-index:9999;
            transform:translateY(-180%);
            background:#fff;
            border:1px solid var(--line);
            border-radius:10px;
            padding:.7rem 1rem;
            box-shadow:var(--shadow-md);
            font-weight:800
        }
        .skip-link:focus{transform:translateY(0)}
        a:focus-visible,button:focus-visible{outline:3px solid var(--arlen-orange);outline-offset:3px}

        /* HERO */
        .registry-hero{
            position:relative;
            overflow:hidden;
            background:
                radial-gradient(circle at 92% 12%, rgba(44,86,170,.09), transparent 28%),
                linear-gradient(180deg,#fbfcfe 0%,#f4f7fb 100%);
            border-bottom:1px solid var(--line);
        }
        .registry-hero::before{
            content:"";
            position:absolute;
            left:0;
            top:0;
            bottom:0;
            width:7px;
            background:linear-gradient(180deg,var(--arlen-blue),var(--arlen-blue-dark));
        }
        .registry-hero-inner{padding:72px 0 64px}
        .registry-hero-grid{
            display:grid;
            grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
            gap:54px;
            align-items:center;
        }

        .registry-breadcrumb{
            display:flex;
            align-items:center;
            flex-wrap:wrap;
            gap:.38rem;
            margin-bottom:1.15rem;
            color:var(--muted);
            font-size:.85rem;
            font-weight:750;
        }
        .registry-breadcrumb a{color:var(--arlen-blue-dark)}
        .registry-breadcrumb i{font-size:.72rem}

        .registry-kicker,
        .section-kicker{
            display:inline-flex;
            align-items:center;
            gap:.48rem;
            color:var(--arlen-blue);
            font-size:.78rem;
            font-weight:850;
            text-transform:uppercase;
            letter-spacing:.09em;
        }

        .registry-kicker{margin-bottom:.9rem}

        .registry-title{
            max-width:800px;
            margin:0 0 1.15rem;
            font-size:clamp(2.55rem,5.4vw,4.9rem);
            line-height:.96;
            letter-spacing:-.058em;
            font-weight:900;
        }
        .registry-title span{color:var(--arlen-blue)}

        .registry-lead{
            max-width:790px;
            margin:0;
            color:var(--text);
            font-size:1.04rem;
            line-height:1.75;
        }

        .registry-meta{
            display:flex;
            flex-wrap:wrap;
            gap:.58rem;
            margin-top:1.55rem;
        }
        .registry-chip{
            display:inline-flex;
            align-items:center;
            gap:.46rem;
            min-height:40px;
            padding:.52rem .72rem;
            border:1px solid var(--line-dark);
            border-radius:10px;
            background:#fff;
            color:var(--arlen-blue-dark);
            font-size:.81rem;
            font-weight:800;
            box-shadow:0 4px 12px rgba(16,42,85,.035);
        }
        .registry-chip i{color:var(--arlen-orange)}

        .hero-card{
            position:relative;
            background:#fff;
            border:1px solid var(--line);
            border-radius:var(--radius-xl);
            box-shadow:var(--shadow-md);
            overflow:hidden;
        }
        .hero-card-head{
            padding:22px 24px;
            background:var(--arlen-blue-dark);
            color:#fff;
        }
        .hero-card-head small{
            display:block;
            color:rgba(255,255,255,.68);
            text-transform:uppercase;
            letter-spacing:.08em;
            font-weight:800;
            font-size:.71rem;
            margin-bottom:.35rem;
        }
        .hero-card-head strong{
            display:block;
            font-size:1.15rem;
            line-height:1.35;
        }
        .hero-card-body{padding:22px 24px}
        .hero-card-row{
            display:flex;
            align-items:flex-start;
            gap:.75rem;
            padding:12px 0;
            border-bottom:1px solid #edf1f5;
        }
        .hero-card-row:last-child{border-bottom:0;padding-bottom:0}
        .hero-card-row:first-child{padding-top:0}
        .hero-card-row i{
            width:22px;
            flex:0 0 22px;
            color:var(--arlen-blue);
            font-size:1rem;
            margin-top:.08rem;
        }
        .hero-card-row strong{
            display:block;
            font-size:.78rem;
            text-transform:uppercase;
            letter-spacing:.045em;
            color:var(--muted);
            margin-bottom:.16rem;
        }
        .hero-card-row span{
            display:block;
            font-size:.9rem;
            color:var(--ink);
            font-weight:700;
        }

        /* QUICK NAV */
        .quick-nav{
            position:sticky;
            top:0;
            z-index:1000;
            background:rgba(255,255,255,.96);
            backdrop-filter:blur(12px);
            border-bottom:1px solid var(--line);
        }
        .quick-nav-inner{
            min-height:58px;
            display:flex;
            align-items:center;
            gap:.35rem;
            overflow-x:auto;
            scrollbar-width:none;
        }
        .quick-nav-inner::-webkit-scrollbar{display:none}
        .quick-nav a{
            display:inline-flex;
            align-items:center;
            gap:.42rem;
            flex:0 0 auto;
            padding:.55rem .72rem;
            border-radius:9px;
            color:#536071;
            font-size:.86rem;
            font-weight:800;
            transition:.16s ease;
        }
        .quick-nav a:hover{
            color:var(--arlen-blue-dark);
            background:var(--soft-blue);
        }
        .quick-nav a i{color:var(--arlen-blue)}

        /* SECTIONS */
        .section{padding:72px 0}
        .section-soft{
            background:var(--soft);
            border-block:1px solid #e9edf3;
        }
        .section-heading{
            max-width:820px;
            margin-bottom:30px;
        }
        .section-kicker{margin-bottom:.55rem}
        .section-title{
            margin:0 0 .72rem;
            font-size:clamp(1.8rem,3.5vw,2.75rem);
            line-height:1.08;
            letter-spacing:-.04em;
            font-weight:880;
        }
        .section-lead{
            margin:0;
            color:var(--muted);
            font-size:.99rem;
            line-height:1.7;
        }

        /* GENERAL INFO */
        .info-grid{
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:14px;
        }
        .info-item{
            min-width:0;
            padding:20px 21px;
            border:1px solid var(--line);
            border-radius:var(--radius-md);
            background:#fff;
            box-shadow:var(--shadow-sm);
        }
        .info-label{
            display:block;
            color:var(--muted);
            font-size:.7rem;
            font-weight:850;
            text-transform:uppercase;
            letter-spacing:.065em;
            margin-bottom:.42rem;
        }
        .info-value{
            display:block;
            color:var(--ink);
            font-size:.94rem;
            font-weight:760;
            overflow-wrap:anywhere;
        }
        .info-value a{color:var(--arlen-blue-dark)}
        .info-value a:hover{text-decoration:underline}

        /* STATUS */
        .status-panel{
            display:grid;
            grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
            border:1px solid var(--line);
            border-radius:var(--radius-xl);
            overflow:hidden;
            background:#fff;
            box-shadow:var(--shadow-sm);
        }
        .status-main{padding:30px}
        .status-main h3{
            margin:0 0 .55rem;
            font-size:1.18rem;
            font-weight:850;
        }
        .status-main > p{
            margin:0;
            color:var(--text);
            max-width:680px;
        }
        .status-current{
            display:grid;
            grid-template-columns:36px 1fr;
            gap:12px;
            align-items:flex-start;
            margin-top:20px;
            padding:17px 18px;
            border:1px solid #f0d4c0;
            border-left:4px solid var(--arlen-orange);
            border-radius:0 10px 10px 0;
            background:var(--soft-orange);
            color:#63351f;
        }
        .status-current::before{
            content:"!";
            font-weight:900;
            font-size:1.1rem;
            color:var(--arlen-orange);
            margin-top:.08rem;
        }
        .status-current strong{
            display:block;
            margin-bottom:.18rem;
            color:#4d2a19;
        }

        .status-aside{
            display:flex;
            flex-direction:column;
            justify-content:center;
            padding:30px;
            background:
                radial-gradient(circle at 90% 10%, rgba(232,133,75,.15), transparent 35%),
                var(--arlen-blue-dark);
            color:#fff;
        }
        .status-aside > i{
            font-size:1.7rem;
            color:var(--arlen-orange);
        }
        .status-aside h3{
            margin:.8rem 0 .5rem;
            color:#fff;
            font-size:1.16rem;
            font-weight:850;
        }
        .status-aside p{
            margin:0;
            color:rgba(255,255,255,.76);
            font-size:.92rem;
        }
        .status-aside a{
            display:inline-flex;
            align-items:center;
            gap:.45rem;
            width:max-content;
            margin-top:1.1rem;
            padding:.62rem .8rem;
            border:1px solid rgba(255,255,255,.24);
            border-radius:9px;
            color:#fff;
            font-weight:850;
            transition:.16s ease;
        }
        .status-aside a::before{
            content:"↗";
            font-weight:700;
        }
        .status-aside a:hover{background:rgba(255,255,255,.09)}

        /* SUPPORT / HANDICAP */
        .support-grid{
            display:grid;
            grid-template-columns:repeat(2,minmax(0,1fr));
            gap:14px;
        }
        .support-item{
            display:grid;
            grid-template-columns:48px 1fr;
            gap:16px;
            align-items:flex-start;
            min-width:0;
            padding:22px;
            border:1px solid var(--line);
            border-radius:var(--radius-lg);
            background:#fff;
            box-shadow:var(--shadow-sm);
            transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
        }
        .support-item:hover{
            transform:translateY(-2px);
            box-shadow:var(--shadow-md);
            border-color:#cfd9e6;
        }
        .support-icon{
            width:46px;
            height:46px;
            display:grid;
            place-items:center;
            background:var(--soft-blue);
            color:var(--arlen-blue);
            border-radius:12px;
            font-size:1.2rem;
        }
        .support-item h3{
            margin:0 0 .35rem;
            font-size:1rem;
            font-weight:850;
        }
        .support-item p{
            margin:0;
            color:var(--muted);
            font-size:.9rem;
            line-height:1.65;
        }

        .equipment-note{
            display:grid;
            grid-template-columns:42px 1fr;
            gap:15px;
            align-items:flex-start;
            margin-top:16px;
            padding:20px 22px;
            border:1px solid var(--line);
            border-radius:var(--radius-lg);
            background:#fff;
        }
        .equipment-note > i{
            width:40px;
            height:40px;
            display:grid;
            place-items:center;
            border-radius:10px;
            background:var(--soft-blue);
            color:var(--arlen-blue);
            font-size:1.15rem;
        }
        .equipment-note strong{
            display:block;
            margin-bottom:.25rem;
        }
        .equipment-note p{
            margin:0;
            color:var(--muted);
            font-size:.91rem;
        }

        /* DOCUMENTS */
        .documents-shell{
            border:1px solid var(--line);
            border-radius:var(--radius-xl);
            overflow:hidden;
            background:#fff;
            box-shadow:var(--shadow-sm);
        }
        .documents-head{
            display:flex;
            align-items:flex-start;
            justify-content:space-between;
            gap:20px;
            padding:24px 26px;
            background:
                radial-gradient(circle at 93% 15%, rgba(232,133,75,.13), transparent 28%),
                var(--arlen-blue-dark);
            color:#fff;
        }
        .documents-head h3{
            margin:0 0 .25rem;
            color:#fff;
            font-size:1.18rem;
            font-weight:850;
        }
        .documents-head p{
            margin:0;
            color:rgba(255,255,255,.72);
            font-size:.86rem;
        }
        .documents-head code{
            color:#fff;
            background:rgba(255,255,255,.09);
            padding:.12rem .32rem;
            border-radius:5px;
        }
        .documents-head > i{
            color:var(--arlen-orange);
            font-size:1.55rem;
        }

        .document-list{padding:10px}

        .document-card{
            display:grid;
            grid-template-columns:46px minmax(0,1fr) auto;
            gap:16px;
            align-items:center;
            min-width:0;
            padding:17px 16px;
            border-radius:12px;
            transition:background .16s ease;
        }
        .document-card + .document-card{border-top:1px solid #edf1f5}
        .document-card:hover{background:#fafbfd}

        .document-icon{
            width:42px;
            height:42px;
            display:grid;
            place-items:center;
            border-radius:10px;
            background:var(--soft-blue);
            color:var(--arlen-blue);
            font-size:1.2rem;
        }
        .document-body{min-width:0}
        .document-heading{
            display:flex;
            align-items:center;
            gap:.5rem;
            flex-wrap:wrap;
        }
        .document-heading h3{
            min-width:0;
            margin:0;
            font-size:.95rem;
            font-weight:850;
            overflow-wrap:anywhere;
        }
        .document-body p{
            margin:.28rem 0 0;
            color:var(--muted);
            font-size:.83rem;
            line-height:1.55;
        }
        .document-status{
            display:inline-flex;
            align-items:center;
            max-width:100%;
            padding:.23rem .46rem;
            border-radius:999px;
            font-size:.64rem;
            font-weight:850;
            text-transform:uppercase;
            letter-spacing:.035em;
            line-height:1.35;
            white-space:normal;
        }
        .document-status.current{background:#eaf7f0;color:var(--success)}
        .document-status.pending{background:#fff3e8;color:var(--warning)}
        .document-status.history{background:#eef1f5;color:#596273}

        .document-action{white-space:nowrap}
        .btn-document{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:.45rem;
            min-height:40px;
            padding:.58rem .78rem;
            border:1px solid #c9d4e2;
            border-radius:9px;
            background:#fff;
            color:var(--arlen-blue-dark);
            font-size:.82rem;
            font-weight:850;
            transition:.16s ease;
        }
        .btn-document:hover{
            border-color:var(--arlen-blue);
            background:var(--soft-blue);
            color:var(--arlen-blue-dark);
            transform:translateY(-1px);
        }
        .file-unavailable{
            display:inline-flex;
            align-items:center;
            gap:.38rem;
            color:var(--muted);
            font-size:.79rem;
            font-weight:750;
        }

        .legal-note{
            display:grid;
            grid-template-columns:42px 1fr;
            gap:15px;
            margin-top:18px;
            padding:20px 22px;
            border:1px solid #f1d8c6;
            border-left:5px solid var(--arlen-orange);
            border-radius:0 12px 12px 0;
            background:var(--soft-orange);
        }
        .legal-note > i{
            width:38px;
            height:38px;
            display:grid;
            place-items:center;
            border-radius:10px;
            background:#fff;
            color:var(--arlen-orange);
            font-size:1.15rem;
        }
        .legal-note strong{
            display:block;
            margin-bottom:.25rem;
        }
        .legal-note p{
            margin:0;
            color:#62402d;
            font-size:.88rem;
            line-height:1.65;
        }
        .legal-note a{
            font-weight:850;
            text-decoration:underline;
            text-underline-offset:3px;
        }

        .update-line{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:18px;
            margin-top:24px;
            padding-top:18px;
            border-top:1px solid var(--line);
            color:var(--muted);
            font-size:.8rem;
        }

        /* TABLET */
        @media(max-width:991.98px){
            .registry-hero-inner{padding:54px 0 50px}
            .registry-hero-grid{
                grid-template-columns:1fr;
                gap:28px;
            }
            .hero-card{
                width:100%;
                max-width:680px;
                margin-left:auto;
                margin-right:auto;
            }
            .section{padding:58px 0}
            .info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
            .status-panel{grid-template-columns:1fr}
            .status-aside{min-height:auto}
        }

        /* MOBILE */
        @media(max-width:767.98px){
            #contenu-principal .container,
            .quick-nav > .container{
                width:calc(100% - 28px);
            }

            .container{
                padding-left:18px;
                padding-right:18px;
            }

            .registry-hero::before{width:5px}
            .registry-hero-inner{padding:34px 0 38px}
            .registry-breadcrumb{
                font-size:.76rem;
                margin-bottom:.9rem;
            }
            .registry-kicker{font-size:.7rem}
            .registry-title{
                font-size:clamp(2.1rem,11vw,3.25rem);
                line-height:1.01;
                letter-spacing:-.047em;
                margin-bottom:.95rem;
            }
            .registry-lead{
                font-size:.94rem;
                line-height:1.65;
            }
            .registry-meta{
                display:grid;
                grid-template-columns:1fr;
                gap:.48rem;
                margin-top:1.2rem;
            }
            .registry-chip{
                width:100%;
                min-width:0;
                align-items:flex-start;
                font-size:.78rem;
                overflow-wrap:anywhere;
            }

            .hero-card{border-radius:16px}
            .hero-card-head,.hero-card-body{padding:19px}
            .hero-card-row span{font-size:.85rem}

            .quick-nav-inner{
                min-height:52px;
                margin-inline:-18px;
                padding-inline:18px;
            }
            .quick-nav a{
                padding:.48rem .62rem;
                font-size:.78rem;
            }

            .section{padding:46px 0}
            .section-heading{margin-bottom:22px}
            .section-kicker{font-size:.7rem}
            .section-title{
                font-size:clamp(1.65rem,8vw,2.2rem);
                line-height:1.12;
            }
            .section-lead{
                font-size:.9rem;
                line-height:1.65;
            }

            .info-grid,
            .support-grid{
                grid-template-columns:1fr;
                gap:10px;
            }
            .info-item{
                padding:17px 18px;
                box-shadow:none;
            }

            .status-panel{
                border-radius:16px;
                box-shadow:none;
            }
            .status-main,.status-aside{padding:22px 20px}
            .status-current{
                grid-template-columns:28px 1fr;
                padding:14px;
                font-size:.9rem;
            }
            .status-aside a{
                width:100%;
                justify-content:center;
            }

            .support-item{
                grid-template-columns:44px 1fr;
                gap:13px;
                padding:18px;
                border-radius:13px;
                box-shadow:none;
            }
            .support-item:hover{transform:none}
            .support-icon{
                width:42px;
                height:42px;
            }
            .support-item h3{font-size:.95rem}
            .support-item p{font-size:.85rem}

            .equipment-note{
                grid-template-columns:38px 1fr;
                padding:17px;
                border-radius:13px;
            }

            .documents-shell{
                border-radius:16px;
                box-shadow:none;
            }
            .documents-head{
                padding:20px;
            }
            .documents-head > i{display:none}
            .documents-head h3{font-size:1.03rem}
            .documents-head p{font-size:.8rem}
            .documents-head code{
                display:inline-block;
                margin-top:.18rem;
                overflow-wrap:anywhere;
            }

            .document-list{padding:0}

            .document-card{
                grid-template-columns:42px minmax(0,1fr);
                gap:12px;
                align-items:flex-start;
                padding:17px;
                border-radius:0;
            }
            .document-card:hover{background:#fff}
            .document-icon{
                width:40px;
                height:40px;
            }
            .document-heading{
                align-items:flex-start;
                flex-direction:column;
                gap:.38rem;
            }
            .document-heading h3{
                font-size:.9rem;
                line-height:1.45;
            }
            .document-body p{
                font-size:.8rem;
                line-height:1.55;
            }
            .document-status{
                font-size:.6rem;
            }
            .document-action{
                grid-column:2;
                width:100%;
                white-space:normal;
                margin-top:1px;
            }
            .btn-document{
                width:100%;
                min-height:42px;
            }
            .file-unavailable{
                min-height:38px;
            }

            .legal-note{
                grid-template-columns:36px 1fr;
                gap:12px;
                padding:17px;
            }

            .update-line{
                align-items:flex-start;
                flex-direction:column;
                gap:.55rem;
                font-size:.76rem;
            }
        }

        @media(max-width:420px){
            #contenu-principal .container,
            .quick-nav > .container{
                width:calc(100% - 22px);
            }

            .container{
                padding-left:15px;
                padding-right:15px;
            }
            .registry-hero-inner{padding-top:28px}
            .registry-title{font-size:2.15rem}
            .quick-nav-inner{
                margin-inline:-15px;
                padding-inline:15px;
            }
            .status-main,.status-aside{padding:19px 17px}
            .support-item{padding:16px}
            .document-card{padding:15px}
        }

        /* PRINT */
        @media print{
            header,nav,footer,.skip-link,.quick-nav,.document-action{display:none!important}
            body{font-size:10.5pt;color:#000}
            .registry-hero,.section,.section-soft{
                background:#fff!important;
                border-color:#aaa!important;
            }
            .registry-hero::before{background:#000!important}
            .registry-hero-inner,.section{padding:20px 0}
            .registry-hero-grid,.status-panel{display:block}
            .hero-card{box-shadow:none;margin-top:20px}
            .support-item,.info-item,.documents-shell{box-shadow:none}
            .status-aside{
                background:#fff!important;
                color:#000!important;
                border-top:1px solid #aaa;
            }
            .status-aside h3,.status-aside p,.status-aside a{color:#000!important}
            .documents-head{
                background:#fff!important;
                color:#000!important;
                border-bottom:1px solid #aaa;
            }
            .documents-head h3,.documents-head p{color:#000!important}
            .registry-title span,.registry-kicker,.section-kicker,.support-icon,.document-icon{color:#000!important}
        }
