/* Écran d'ouverture Sécurité — animation reprise de GRH (V9.4.29), aux couleurs bordeaux de Sécurité.
   Remplace les anciens styles session-loader-v464 et session-loader-cinematic-v691. */
@import url("https://fonts.googleapis.com/css2?family=Red+Rose:wght@400;700&display=swap");

/* Masquage de l'application pendant l'ouverture */
body.session-pending{overflow:hidden;background:#350308}
body.session-pending>header,body.session-pending>main{visibility:hidden}
html.security-reentry .session-loader{display:none!important}

/* Fond plein écran */
.session-loader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;isolation:isolate;overflow:hidden;padding:clamp(12px,2vw,28px);background:radial-gradient(circle at 16% 14%,#ff8b8b80 0,transparent 25%),radial-gradient(circle at 88% 82%,#b0002f90 0,transparent 32%),radial-gradient(circle at 52% 48%,#e11d4842 0,transparent 34%),linear-gradient(137deg,#260207 0%,#5f0712 42%,#9f1022 72%,#39030a 100%);color:#fff;opacity:1;visibility:visible;transition:opacity .7s cubic-bezier(.22,.8,.22,1),visibility .7s ease}
body:not(.session-pending)>.session-loader{opacity:0;visibility:hidden;pointer-events:none}
.session-loader:before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(#ffd6dc0b 1px,transparent 1px),linear-gradient(90deg,#ffd6dc0b 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent);animation:secGridDrift 18s linear infinite}
.session-loader-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none}
.session-loader-ambient i{position:absolute;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 18px #fff,0 0 34px #fb7185;animation:secAmbient 5s ease-in-out infinite}
.session-loader-ambient i:nth-child(1){left:9%;top:19%}.session-loader-ambient i:nth-child(2){left:24%;bottom:12%;animation-delay:.8s}.session-loader-ambient i:nth-child(3){right:13%;top:14%;animation-delay:1.5s}.session-loader-ambient i:nth-child(4){right:28%;bottom:8%;animation-delay:2.1s}.session-loader-ambient i:nth-child(5){left:51%;top:8%;animation-delay:2.8s}.session-loader-ambient i:nth-child(6){right:6%;bottom:42%;animation-delay:3.4s}

/* Panneau central */
.sec-intro{position:relative;z-index:2;display:flex;width:min(1500px,calc(100vw - 52px));height:min(900px,calc(100vh - 38px));min-height:650px;padding:26px 44px 24px;flex-direction:column;align-items:center;overflow:hidden;border:1px solid #ffc8d038;border-radius:34px;background:linear-gradient(145deg,#2b040bf0,#700a1ae6);box-shadow:0 38px 100px #16010580,inset 0 1px #ffffff1a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.sec-intro:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 17% 16%,#fb71852e,transparent 29%),radial-gradient(circle at 82% 76%,#d5154238,transparent 35%),linear-gradient(#ffd6dc08 1px,transparent 1px),linear-gradient(90deg,#ffd6dc08 1px,transparent 1px);background-size:auto,auto,48px 48px,48px 48px}
.sec-intro-head{display:flex;width:100%;align-items:center;justify-content:center;gap:24px;text-align:left}
.sec-intro-logo{width:88px;height:88px;flex:none;padding:4px;border:2px solid #ffffff99;border-radius:50%;background:#fff;object-fit:contain;box-shadow:0 13px 34px #18010660,0 0 0 8px #fb71851a}
.sec-intro-heading small{display:block;margin-bottom:5px;color:#ffc9d1;font:900 10px/1 Arial,sans-serif;letter-spacing:.22em}
.sec-intro-heading h1{max-width:1100px;margin:0;color:#fff;font:900 clamp(27px,3vw,47px)/1.05 Arial,sans-serif;letter-spacing:-.025em;text-shadow:0 10px 32px #26010766}
/* Priorité au titre de l'animation : le correctif général des h1 du thème clair
   ne doit pas lui donner la couleur bordeaux sur ce fond rouge. */
html:not([data-theme="dark"]):not(#_t1):not(#_t2):not(#_t3) body.session-pending .session-loader .sec-intro-heading h1,
html[data-theme="dark"]:not(#_t1):not(#_t2):not(#_t3) body.session-pending .session-loader .sec-intro-heading h1{
  color:#fff!important;
  text-shadow:0 2px 4px #210207,0 10px 28px #210207b3!important;
}
.sec-intro-pills{display:flex;justify-content:center;gap:9px;margin:18px 0 8px;flex-wrap:wrap}
.sec-intro-pills span{padding:7px 12px;border:1px solid #ffc8d042;border-radius:999px;background:#ffffff12;color:#ffd5dc;font:900 8px/1 Arial,sans-serif;letter-spacing:.13em;box-shadow:inset 0 1px #ffffff0f}

/* Trois cartes animées (particules) */
.sec-intro-stage{display:grid;width:100%;min-height:0;flex:1;place-items:center;padding:6px 20px}
.sec-intro .cards{width:100%;display:flex;justify-content:center;align-items:center;gap:clamp(42px,7vw,112px)}
.sec-intro .card{position:relative;width:clamp(210px,18vw,260px);height:clamp(290px,25vw,360px);flex:none;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important}
.sec-intro .card__image{position:relative;width:100%;height:100%;overflow:hidden;visibility:hidden;border:1px solid #ffcdd53d;border-radius:4px;background:transparent!important;box-shadow:0 24px 55px #18010673}
.sec-intro .card__image--inner{width:100%;height:100%;overflow:hidden}
.sec-intro .card__image--inner canvas{display:block;transform:scale(1.02)}
.sec-intro .card__text{position:absolute;z-index:3;left:0;bottom:25%;transform:translateX(-50%);pointer-events:none;user-select:none;overflow:hidden}
.sec-intro .card__text--inner{display:inline-block;white-space:nowrap;color:#fff;font:700 clamp(1.8rem,2.5vw,3rem)/1 "Red Rose",Roboto,Arial,sans-serif;text-shadow:0 8px 24px #180106b3}

/* Ligne d'état et bouton de secours */
.sec-intro-status{display:flex;min-height:34px;align-items:center;justify-content:center;gap:12px;color:#ffd9df;font:800 10px/1.35 Arial,sans-serif;letter-spacing:.08em;text-align:left}
.sec-intro-text{display:flex;flex-direction:column;gap:2px}
.sec-intro-text strong{color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sec-intro-bars{display:flex;align-items:end;gap:3px;height:16px}
.sec-intro-bars i{display:block;width:3px;border-radius:3px;background:#fb7185;animation:secBars 1.1s ease-in-out infinite}
.sec-intro-bars i:nth-child(1){height:6px}.sec-intro-bars i:nth-child(2){height:13px;animation-delay:.12s}.sec-intro-bars i:nth-child(3){height:9px;animation-delay:.24s}.sec-intro-bars i:nth-child(4){height:16px;animation-delay:.36s}.sec-intro-bars i:nth-child(5){height:7px;animation-delay:.48s}
.session-loader.ready .sec-intro-bars i{animation-play-state:paused;opacity:1;transform:none;background:#86efac}
.session-loader-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:6px}
.session-loader-actions[hidden]{display:none}
.session-loader-action{display:inline-flex;align-items:center;justify-content:center;min-width:118px;min-height:44px;padding:11px 22px;border:1px solid #fff;border-radius:999px;background:#fff;color:#991b1b;font:900 12px/1 system-ui,-apple-system,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 11px 28px #26010770}
.session-loader-action:hover{background:#fff1f2;color:#7f1d1d;transform:translateY(-2px)}

@keyframes secGridDrift{to{background-position:46px 46px}}
@keyframes secAmbient{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.35)}}
@keyframes secBars{0%,100%{transform:scaleY(.45);opacity:.45}50%{transform:scaleY(1);opacity:1}}

@media(max-width:1050px){.sec-intro{padding:24px 25px;min-height:590px}.sec-intro .cards{gap:5vw}.sec-intro .card__text{transform:translateX(-22%)}.sec-intro .card{width:23vw;height:34vw;max-height:330px}.sec-intro-heading h1{font-size:clamp(23px,4vw,38px)}}
@media(max-width:650px){.sec-intro{width:calc(100vw - 22px);height:calc(100vh - 22px);min-height:520px;padding:18px 13px;border-radius:24px}.sec-intro-logo{width:62px;height:62px}.sec-intro-head{gap:14px}.sec-intro-heading h1{font-size:clamp(18px,5vw,28px)}.sec-intro-pills{margin:12px 0 4px}.sec-intro-stage{padding:4px}.sec-intro .cards{gap:3vw}.sec-intro .card{width:27vw;height:43vw}.sec-intro .card__text{left:5%;bottom:19%;transform:none}.sec-intro .card__text--inner{font-size:clamp(.8rem,3.5vw,1.3rem)}.sec-intro-status{font-size:8px}}
@media(prefers-reduced-motion:reduce){.session-loader *,.session-loader:before{animation:none!important}.sec-intro .card__image,.sec-intro .card__image--inner,.sec-intro .card__text--inner{transform:none!important}}
