/* SignalNids Rando : authentification style editorial SignalNids.fr
   Uniquement connexion.php / inscription.php. Les formulaires PHP restent intacts. */
@media screen {
  body.snra-enabled { background: #f7f9f7; }
  body.snra-enabled main { min-height: calc(100dvh - 90px); }
  body.snra-enabled .auth-shell.snra-shell { display: block; align-items: stretch; justify-content: stretch; padding: 0 !important; margin: 0; background: #f7f9f7 !important; }
  body.snra-enabled .snra-grid { display: grid; width: 100%; max-width: 100%; box-sizing: border-box; min-height: clamp(680px, 79vh, 1040px); grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: #fff; }
  body.snra-enabled .snra-hero { box-sizing: border-box; position: relative; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; overflow: hidden; min-width: 0; min-height: 100%; padding: clamp(38px, 5.2vw, 92px); background-color: #0d3929; background-image: url('/assets/img/hero-fallback.jpg'); background-position: center; background-size: cover; color: #fff; }
  body.snra-enabled .snra-hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background-image: url('https://images.unsplash.com/photo-1470770841072-f978cf4d019e?auto=format&fit=crop&w=2000&q=87'); background-size: cover; background-position: center; }
  body.snra-enabled .snra-grid.is-registration .snra-hero { background-image: url('/assets/img/route-lake.jpg'); background-position: center; }
  body.snra-enabled .snra-grid.is-registration .snra-hero::before { background-image: url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=2000&q=87'); }
  body.snra-enabled .snra-hero::after { content: ''; z-index: -1; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(7,40,28,.13),rgba(9,49,32,.26) 38%,rgba(6,37,26,.92)),linear-gradient(90deg,rgba(8,51,34,.74),transparent 85%); }
  body.snra-enabled .snra-hero-eyebrow { display:block; margin:0 0 18px; font-size:12px; color:#c8e6c6; font-weight:850; letter-spacing:.17em; line-height:1.45; }
  body.snra-enabled .snra-hero-title { display:block; max-width:700px; margin:0; font-size:clamp(2.65rem,4.5vw,5.4rem); line-height:1.07; letter-spacing:-.05em; color:#fff; font-weight:850; }
  body.snra-enabled .snra-hero-title strong { color:#f5c94f; font-weight:inherit; }
  body.snra-enabled .snra-hero-description { max-width:600px; margin:24px 0 0; color:rgba(255,255,255,.93); font-size:clamp(15px,1.27vw,19px); line-height:1.65; }
  body.snra-enabled .snra-hero-link { display:inline-block; align-self:flex-start; font-size:14px; font-weight:800; margin-top:22px; color:#fff; border-bottom:1px solid #d7e5dc; text-underline-offset:4px; text-decoration:none; }
  body.snra-enabled .snra-hero-link:hover { color:#f5d477; border-bottom-color:#f5d477; }
  body.snra-enabled .snra-hero-foot { padding-top:32px; margin-top:clamp(32px,7vw,98px); border-top:1px solid rgba(255,255,255,.3); display:flex; flex-direction:column; gap:6px; color:#e4efe4; }
  body.snra-enabled .snra-hero-foot strong { color:#fff; font-size:17px; }
  body.snra-enabled .snra-hero-foot small { color:#d6e9d9; font-size:12px; line-height:1.6; }
  body.snra-enabled .auth-card.snra-card { box-sizing:border-box; display:flex; flex-direction:column; justify-content:center; width:100%; max-width:none; min-width:0; margin:0; padding:clamp(28px,5.4vw,96px); border:0; border-radius:0; background:#fff; box-shadow:none; }
  body.snra-enabled .auth-card.snra-card > :is(form,.form-stack) { max-width:600px; }
  body.snra-enabled .snra-card .snra-tabs { display:flex; gap:26px; align-items:center; margin:0 0 32px; max-width:600px; border-bottom:1px solid #dde7df; }
  body.snra-enabled .snra-card .snra-tabs a { position:relative; display:inline-flex; align-items:center; color:#6d7e71; text-decoration:none; font-size:15px; font-weight:750; min-height:43px; padding:0 0 14px; }
  body.snra-enabled .snra-card .snra-tabs a[aria-current="page"] { color:#126044; }
  body.snra-enabled .snra-card .snra-tabs a[aria-current="page"]::after { content:''; position:absolute; height:2px; left:0; right:0; bottom:-1px; background:#137550; }
  body.snra-enabled .auth-card.snra-card > .eyebrow { display:block; font-size:11px; letter-spacing:.13em; color:#307852; margin-bottom:13px; }
  body.snra-enabled .auth-card.snra-card > h1 { font-size:clamp(1.95rem,2.9vw,3rem); line-height:1.2; max-width:640px; margin:0 0 12px; letter-spacing:-.04em; color:#0d452f; }
  body.snra-enabled .auth-card.snra-card > .muted { max-width:560px; margin:0 0 28px; color:#607568; font-size:15px; line-height:1.7; }
  body.snra-enabled .auth-card.snra-card .form-stack { width:100%; margin:0; display:flex; flex-direction:column; gap:18px; }
  body.snra-enabled .auth-card.snra-card .form-stack label { display:flex; flex-direction:column; gap:8px; color:#173d2e; font-weight:750; font-size:14px; }
  body.snra-enabled .auth-card.snra-card .form-stack :is(input:not([type="checkbox"]),select,textarea) { box-sizing:border-box; width:100%; max-width:100%; font-size:16px; min-height:56px; padding:14px 15px; background:#fff; border:1px solid #d5e2d7; border-radius:8px; color:#153e2e; }
  body.snra-enabled .auth-card.snra-card .form-stack :is(input,select,textarea):focus-visible { outline:2px solid #14714d; outline-offset:2px; }
  body.snra-enabled .auth-card.snra-card .form-stack button[type="submit"] { min-height:56px; margin-top:8px; border-radius:8px; font-size:16px; background:#13573b; }
  body.snra-enabled .auth-card.snra-card .form-stack button[type="submit"]:hover { background:#0d4430; }
  body.snra-enabled .auth-card.snra-card .auth-alt { text-align:center; max-width:600px; line-height:1.65; font-size:13px; margin:24px 0 0; }
  body.snra-enabled .auth-card.snra-card .checkbox-row { display:flex!important; flex-direction:row!important; align-items:flex-start; gap:10px!important; font-size:13px!important; line-height:1.7; }
  body.snra-enabled .auth-card.snra-card .checkbox-row input { width:18px; height:18px; margin:1px 0 0; flex:0 0 18px; }
  body.snra-enabled .snra-help { max-width:600px; margin-top:26px; padding-top:17px; border-top:1px solid #e4eae4; font-size:12px; color:#728274; line-height:1.6; }
  body.snra-enabled .snra-help a { color:#176546; font-weight:800; }
}
@media (max-width:980px) {
  body.snra-enabled .snra-grid { grid-template-columns: 1fr; min-height:0; }
  body.snra-enabled .snra-hero { min-height:320px; padding:34px 30px; }
  body.snra-enabled .snra-hero-title { font-size:clamp(2.5rem,6.4vw,4.1rem); }
  body.snra-enabled .snra-hero-foot { display:none; }
  body.snra-enabled .auth-card.snra-card { padding:34px 30px 50px; }
}
@media (max-width:620px) {
  body.snra-enabled .auth-shell.snra-shell { padding:0!important; }
  body.snra-enabled .snra-grid { width:100%; max-width:100%; padding:0; margin:0; gap:0; }
  body.snra-enabled .snra-hero { min-height:235px; padding:25px 18px 25px; border:0; border-radius:0; }
  body.snra-enabled .snra-hero-title { font-size:clamp(2rem,8.6vw,3rem); line-height:1.1; }
  body.snra-enabled .snra-hero-description { font-size:13px; margin-top:12px; line-height:1.5; }
  body.snra-enabled .snra-hero-eyebrow { font-size:10px; margin-bottom:11px; }
  body.snra-enabled .snra-hero-link { margin-top:12px; font-size:12px; }
  body.snra-enabled .auth-card.snra-card { padding:24px 18px 84px; border:0; border-radius:0!important; }
  body.snra-enabled .auth-card.snra-card h1 { font-size:clamp(1.72rem,7.3vw,2.2rem); }
  body.snra-enabled .auth-card.snra-card > .muted { font-size:13px; margin-bottom:20px; }
  body.snra-enabled .snra-card .snra-tabs { margin-bottom:22px; gap:20px; }
  body.snra-enabled .snra-card .snra-tabs a { font-size:13px; }
  body.snra-enabled .auth-card.snra-card .form-stack :is(input:not([type="checkbox"]),select,textarea) { min-height:51px; border-radius:0; }
  body.snra-enabled .auth-card.snra-card .form-stack button[type="submit"] { min-height:53px; border-radius:0!important; }
  body.snra-enabled .auth-card.snra-card .checkbox-row { font-size:12px!important; }
  body.snra-enabled .auth-card.snra-card .notice { border-radius:0; }
  body.snra-enabled .snra-help { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { body.snra-enabled .auth-card.snra-card input { scroll-behavior:auto; } }
