@import url('https://fonts.googleapis.com/css2?family=Kanit:ital,wght@0,500;0,600;0,700;0,800;1,600;1,700;1,800;1,900&family=Barlow+Condensed:ital,wght@0,500;0,600;0,700;1,600;1,700;1,800&family=Rajdhani:wght@500;600;700&display=swap');
/* NR1D — Direction artistique Cyber Noir 2026 */
:root{
  --nr-black:#030507;
  --nr-panel:rgba(5,8,12,.88);
  --nr-panel-soft:rgba(7,11,17,.74);
  --nr-line:rgba(255,255,255,.105);
  --nr-pink:#f00063;
  --nr-pink-2:#ff2a7c;
  --nr-blue:#03a9f4;
  --nr-cyan:#00d4ff;
  --nr-white:#f7f8fb;
  --nr-muted:#9ca5b3;
}

/* Unique background image for every real page */
body.nr1d-page-home{--nr-bg:url('assets/backgrounds/bg-home.png')}
body.nr1d-page-garage{--nr-bg:url('assets/backgrounds/bg-garage.jpg')}
body.nr1d-page-media{--nr-bg:url('assets/backgrounds/bg-media.jpg')}
body.nr1d-page-events{--nr-bg:url('assets/backgrounds/bg-events.jpg')}
body.nr1d-page-socials{--nr-bg:url('assets/backgrounds/bg-socials.jpg')}
body.nr1d-page-shop{--nr-bg:url('assets/backgrounds/bg-shop.jpg')}
body.stats-page{--nr-bg:url('assets/backgrounds/bg-stats.jpg')}
body.checkin-page{--nr-bg:url('assets/backgrounds/bg-checkin.jpg')}

body.nr1d-unified,
body.stats-page,
body.checkin-page{
  background-color:var(--nr-black)!important;
  background-image:
    linear-gradient(180deg,rgba(2,4,7,.28),rgba(2,4,7,.92) 68%,#030507 100%),
    var(--nr-bg)!important;
  background-size:cover!important;
  background-position:center top!important;
  background-attachment:fixed!important;
  color:var(--nr-white);
}
body.nr1d-unified::before,
body.stats-page::before,
body.checkin-page::before{
  content:""!important;position:fixed!important;inset:0!important;pointer-events:none!important;z-index:0!important;
  background:
    radial-gradient(circle at 15% 18%,rgba(240,0,99,.13),transparent 28%),
    radial-gradient(circle at 84% 20%,rgba(0,169,244,.11),transparent 28%),
    linear-gradient(90deg,rgba(0,0,0,.5),transparent 24%,transparent 72%,rgba(0,0,0,.35))!important;
  opacity:1!important;filter:none!important;
}
body.nr1d-unified::after,
body.stats-page::after,
body.checkin-page::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 76%);
}

/* Side navigation: screenshot-inspired */
.unified-side,.stats-side{
  background:linear-gradient(180deg,rgba(2,4,7,.985),rgba(4,7,11,.97))!important;
  border-right:1px solid #181e27!important;
  box-shadow:18px 0 50px rgba(0,0,0,.34)!important;
}
.unified-side-logo,.stats-side-logo{
  border-bottom:1px solid #171c23!important;
  background:#020406!important;
}
.unified-side-brand img,.stats-side-logo img{
  filter:drop-shadow(0 0 16px rgba(240,0,99,.18))!important;
}
.unified-side>small,.stats-side>small{color:#5f6976!important;letter-spacing:.16em!important}
.unified-side-link,.stats-side>a:not(.stats-side-logo){
  position:relative;border-radius:0!important;color:#cbd0d7!important;border-left:2px solid transparent!important;
  font-family:'Chakra Petch',sans-serif!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.025em!important;
}
.unified-side-link:hover,.stats-side>a:not(.stats-side-logo):hover{background:linear-gradient(90deg,rgba(240,0,99,.09),transparent)!important;color:#fff!important}
.unified-side-link.active,.unified-side-link.is-active,.stats-side>a.active{
  background:linear-gradient(90deg,rgba(240,0,99,.26),rgba(240,0,99,.035))!important;
  border-left-color:var(--nr-pink)!important;box-shadow:none!important;color:#fff!important;
}
.unified-side-link.active::after,.unified-side-link.is-active::after,.stats-side>a.active::after{
  content:"";position:absolute;right:0;top:20%;bottom:20%;width:2px;background:var(--nr-pink);box-shadow:0 0 14px var(--nr-pink);
}
.unified-side-card,.unified-side-event,.stats-side-card,.stats-side-event{
  border-radius:0!important;border:1px solid #202833!important;background:linear-gradient(145deg,rgba(5,9,14,.94),rgba(9,4,9,.94))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)!important;
}
.unified-side-card>a,.unified-side-event>a,.stats-side-card>a,.stats-side-event>a{
  border-radius:0!important;border-color:rgba(240,0,99,.55)!important;background:rgba(240,0,99,.06)!important;color:#fff!important;
}

/* Header bar */
body.nr1d-unified .topnav,.stats-top{
  background:rgba(2,4,7,.90)!important;border-bottom:1px solid #171d25!important;backdrop-filter:blur(18px)!important;
}
.unified-account-link,.stats-account{
  border-radius:0!important;border:1px solid #3a424e!important;background:rgba(4,7,11,.72)!important;color:#fff!important;
  font-family:'Chakra Petch',sans-serif!important;text-transform:uppercase!important;
}
.unified-account-link:hover,.stats-account:hover{border-color:var(--nr-pink)!important;box-shadow:0 0 24px rgba(240,0,99,.16)!important}
.unified-account-icon,.stats-account>span{background:linear-gradient(135deg,var(--nr-pink),var(--nr-blue))!important}

/* Main surfaces */
body.nr1d-unified .board,
.stats-main,.checkin-shell{position:relative;z-index:2}
body.nr1d-unified .board{background:linear-gradient(180deg,rgba(2,4,7,.16),rgba(2,4,7,.72));}
body.nr1d-unified .board-head{
  position:relative;overflow:hidden;min-height:290px;padding:48px 50px!important;margin:0 0 22px!important;
  display:flex;flex-direction:column;justify-content:flex-end;
  background-image:linear-gradient(90deg,rgba(2,4,7,.94),rgba(2,4,7,.58) 48%,rgba(2,4,7,.16)),var(--page-banner)!important;
  background-size:cover!important;background-position:center!important;border:1px solid #1a222d!important;border-radius:0!important;
}
body.nr1d-unified .board-head::after{
  content:"";position:absolute;left:0;bottom:0;width:42%;height:2px;background:linear-gradient(90deg,var(--nr-pink),var(--nr-blue),transparent)!important;opacity:1!important;
}
body.nr1d-unified .board-head h1,
.stats-hero h1{font-family:'Chakra Petch',sans-serif!important;font-style:italic!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:-.055em!important;color:#fff!important;background:none!important;-webkit-text-fill-color:initial!important;text-shadow:0 7px 28px rgba(0,0,0,.75)!important}
body.nr1d-unified .eyebrow{color:var(--nr-pink)!important;text-shadow:0 0 18px rgba(240,0,99,.3)!important}
body.nr1d-unified .media-intro{color:#c6ccd5!important;font-size:16px!important}

body.nr1d-unified .panel,
body.nr1d-unified .garage-card,
body.nr1d-unified .media-tile,
body.nr1d-unified .event-card,
body.nr1d-unified .social-banner,
body.nr1d-unified .shop-card,
.stats-panel,.checkin-card{
  background:linear-gradient(145deg,rgba(5,9,14,.92),rgba(7,9,13,.79))!important;
  border:1px solid #1e2732!important;border-radius:0!important;backdrop-filter:blur(14px)!important;box-shadow:0 16px 45px rgba(0,0,0,.28)!important;
}
body.nr1d-unified .garage-card:hover,
body.nr1d-unified .media-tile:hover,
body.nr1d-unified .event-card:hover,
body.nr1d-unified .social-banner:hover,
body.nr1d-unified .shop-card:hover{
  border-color:rgba(240,0,99,.52)!important;box-shadow:0 18px 48px rgba(0,0,0,.34),inset 0 -2px var(--nr-pink)!important;transform:translateY(-2px)!important;
}

/* HOME — use the validated generated background prominently */
body.nr1d-page-home .home-hero{
  min-height:680px!important;
  background-image:
    linear-gradient(90deg,rgba(2,4,7,.97) 0%,rgba(2,4,7,.82) 30%,rgba(2,4,7,.16) 62%,rgba(2,4,7,.12) 100%),
    linear-gradient(0deg,rgba(2,4,7,.98) 0%,transparent 34%),
    url('assets/backgrounds/bg-home.png')!important;
  background-size:cover!important;background-position:center!important;
  border:1px solid #1a2028!important;box-shadow:0 24px 80px rgba(0,0,0,.45)!important;
}
body.nr1d-page-home .home-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 62%,rgba(240,0,99,.06));pointer-events:none}
body.nr1d-page-home .home-hero__content{position:relative;z-index:2;max-width:610px!important}
body.nr1d-page-home .home-hero h1{font-size:clamp(62px,8vw,118px)!important;line-height:.78!important;letter-spacing:-.08em!important;text-shadow:0 8px 30px rgba(0,0,0,.85)!important}
body.nr1d-page-home .home-hero h1 em{font-size:.38em!important;line-height:1.05!important;letter-spacing:-.04em!important;margin-top:24px!important;text-shadow:none!important}
body.nr1d-page-home .home-hero .eyebrow{letter-spacing:.32em!important;color:var(--nr-pink)!important}
body.nr1d-page-home .home-hero__actions .btn--primary{box-shadow:0 0 26px rgba(240,0,99,.22)!important}

/* Grid/dashboard from the reference photo */
.home-social-row,.home-dashboard-grid,.garage-grid,.events-grid,.shop-grid{gap:1px!important}
.home-social-row,.home-dashboard-grid{background:#17202a!important;border:1px solid #17202a!important}
.home-feature,.home-cta{border-radius:0!important;border:0!important;background-color:rgba(5,8,12,.86)!important}
.home-feature--about{background-image:linear-gradient(90deg,rgba(3,6,10,.97),rgba(3,6,10,.74)),url('session-photos/session-ehJnXcdgNm.webp')!important}
.home-feature--join{background-image:linear-gradient(90deg,rgba(20,2,11,.97),rgba(20,2,11,.68)),url('session-photos/session-Mletfbmi6c.webp')!important}
.home-section-kicker{border-bottom-color:#1b242e!important}

/* Buttons / filters */
.btn--primary,body.nr1d-unified .btn--primary,.shop-btn{
  border-radius:0!important;background:linear-gradient(135deg,#f00063,#c80055)!important;border:1px solid #ff176f!important;color:#fff!important;box-shadow:0 8px 30px rgba(240,0,99,.17)!important;
}
.btn--ghost,body.nr1d-unified .btn--ghost{border-radius:0!important;background:rgba(3,5,8,.68)!important;border:1px solid #4b5260!important;color:#fff!important}
.garage-filter{border-radius:0!important;background:rgba(4,8,13,.9)!important;border-color:#2a3542!important}
.garage-filter.is-active{background:rgba(240,0,99,.12)!important;border-color:var(--nr-pink)!important;color:#fff!important}

/* Forms */
.panel{background:linear-gradient(145deg,rgba(4,7,11,.94),rgba(8,5,9,.91))!important}
.field input,.field select,.field textarea{background:rgba(2,5,9,.82)!important;border-color:#303946!important;color:#fff!important;border-radius:0!important}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--nr-pink)!important;box-shadow:0 0 0 2px rgba(240,0,99,.12)!important}
.gauge{background:#18202a!important;gap:1px!important}.gauge__item{border:0!important;border-radius:0!important;background:#070b10!important}.gauge__item.is-active{background:#13050b!important;box-shadow:inset 0 -2px var(--nr-pink)!important}

/* Statistics page receives its own visual universe */
.stats-main{background:linear-gradient(180deg,rgba(2,4,7,.18),rgba(2,4,7,.78));}
.stats-hero{
  min-height:330px!important;background-image:linear-gradient(90deg,rgba(2,4,7,.96),rgba(2,4,7,.52),rgba(2,4,7,.12)),url('assets/backgrounds/bg-stats.jpg')!important;background-size:cover!important;background-position:center!important;border-bottom:1px solid #1b242e!important;
}
.stats-hero::after{content:"";position:absolute;left:0;bottom:0;width:45%;height:2px;background:linear-gradient(90deg,var(--nr-pink),var(--nr-blue),transparent)}
.stats-panel{overflow:hidden}.stats-panel header{border-bottom-color:#1f2934!important}.stats-panel h2{font-family:'Chakra Petch',sans-serif!important}
.stats-chart .line,.online-wave path{stroke:var(--nr-pink)!important}.stats-chart .area{fill:url(#area)!important}

/* QR validation */
body.checkin-page{display:grid!important;place-items:center!important;padding:32px!important;min-height:100vh!important}
body.checkin-page .checkin-shell{width:min(720px,100%)!important}
body.checkin-page .checkin-card{border-color:rgba(240,0,99,.34)!important;background:linear-gradient(145deg,rgba(3,6,10,.95),rgba(12,4,10,.91))!important}
body.checkin-page .checkin-logo img{filter:drop-shadow(0 0 20px rgba(240,0,99,.25))}

/* Responsive */
@media(max-width:900px){
  body.nr1d-unified,body.stats-page,body.checkin-page{background-attachment:scroll!important}
  body.nr1d-unified .board-head{min-height:230px;padding:34px 26px!important}
  body.nr1d-page-home .home-hero{min-height:650px!important;background-position:58% center!important}
}
@media(max-width:600px){
  body.nr1d-unified .board-head{min-height:210px;padding:28px 18px!important}
  body.nr1d-page-home .home-hero{min-height:650px!important;padding:42px 22px!important;background-image:linear-gradient(90deg,rgba(2,4,7,.95),rgba(2,4,7,.55)),linear-gradient(0deg,#020407,transparent 55%),url('assets/backgrounds/bg-home.png')!important;background-position:55% center!important}
  body.nr1d-page-home .home-hero h1{font-size:62px!important}
}

/* V3 — pages de confiance / juridique */
.legal-board{max-width:1180px!important}.legal-content{padding:36px clamp(20px,5vw,64px) 64px;max-width:900px}.legal-content h2{font-family:'Chakra Petch',sans-serif;text-transform:uppercase;letter-spacing:.04em;margin:30px 0 10px}.legal-content p{line-height:1.75;color:#b9c2cc}.legal-note{margin-top:36px;padding:18px 20px;border-left:3px solid var(--nr-pink);background:rgba(240,0,99,.06)}
.nr1d-trust-footer{margin-top:32px;padding:18px 28px;border-top:1px solid #17202a;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-family:'Rajdhani',sans-serif;font-weight:700;letter-spacing:.05em}.nr1d-trust-footer a{color:#9da8b4;text-decoration:none}.nr1d-trust-footer a:hover{color:#fff}

/* ============================================================
   NR1D V4 — DA conforme à la maquette Cyber Noir validée
   - fonds photo uniques par page
   - suppression totale des scanlines/grilles blanches
   - panneaux mats, rose NR1D + bleu électrique
   ============================================================ */
:root{
  --nr-pink:#f00063;
  --nr-blue:#09a8ff;
  --nr-deep:#020407;
  --nr-card:rgba(4,7,11,.88);
  --nr-edge:rgba(255,255,255,.105);
}

body.nr1d-page-home{--nr-bg:url('assets/backgrounds/bg-home.png')}
body.nr1d-page-garage{--nr-bg:url('assets/backgrounds/bg-garage-v4.jpg')}
body.nr1d-page-media{--nr-bg:url('assets/backgrounds/bg-media-v4.jpg')}
body.nr1d-page-events{--nr-bg:url('assets/backgrounds/bg-events-v4.jpg')}
body.nr1d-page-socials{--nr-bg:url('assets/backgrounds/bg-socials-v4.jpg')}
body.nr1d-page-shop{--nr-bg:url('assets/backgrounds/bg-shop-v4.jpg')}
body.nr1d-page-legal{--nr-bg:url('assets/backgrounds/bg-legal-v4.jpg')}
body.stats-page{--nr-bg:url('assets/backgrounds/bg-stats-v4.jpg')}
body.checkin-page{--nr-bg:url('assets/backgrounds/bg-checkin-v4.jpg')}

/* IMPORTANT : aucune scanline / grille sur le viewport. */
html,body{background-color:var(--nr-deep)!important}
body::after,
body.nr1d-unified::after,
body.stats-page::after,
body.checkin-page::after{display:none!important;content:none!important;background:none!important}
body.nr1d-unified::before,
body.stats-page::before,
body.checkin-page::before{
  content:""!important;display:block!important;position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;
  background:
    linear-gradient(180deg,rgba(1,3,6,.18) 0%,rgba(1,3,6,.48) 48%,rgba(1,3,6,.94) 100%),
    radial-gradient(circle at 78% 12%,rgba(0,155,255,.10),transparent 26%),
    radial-gradient(circle at 18% 28%,rgba(240,0,99,.10),transparent 28%)!important;
  opacity:1!important;filter:none!important;
}
body.nr1d-unified,body.stats-page,body.checkin-page{
  background-image:var(--nr-bg)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center top!important;
  background-attachment:fixed!important;
}

/* Le contenu reste net et au-dessus du fond. */
body.nr1d-unified>.board,
body.nr1d-unified>.topnav,
body.nr1d-unified>.unified-side,
body.nr1d-unified>.nr1d-trust-footer,
.stats-top,.stats-shell,.checkin-shell{position:relative;z-index:2}
body.nr1d-unified .board{background:linear-gradient(180deg,rgba(2,4,7,.18),rgba(2,4,7,.68) 45%,rgba(2,4,7,.92))!important}

/* HERO des pages : même construction que la planche de référence. */
body.nr1d-unified .board-head{
  --hero-img:var(--page-banner);
  min-height:330px!important;
  padding:54px 54px 42px!important;
  margin:0 0 26px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background-image:
    linear-gradient(90deg,rgba(1,3,6,.96) 0%,rgba(1,3,6,.78) 34%,rgba(1,3,6,.30) 64%,rgba(1,3,6,.14) 100%),
    linear-gradient(0deg,rgba(1,3,6,.82),transparent 52%),
    var(--hero-img)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:0 28px 70px rgba(0,0,0,.38)!important;
}
body.nr1d-unified .board-head::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 76% 28%,rgba(0,169,255,.10),transparent 27%),radial-gradient(circle at 52% 86%,rgba(240,0,99,.10),transparent 30%);
}
body.nr1d-unified .board-head::after{
  content:""!important;display:block!important;position:absolute!important;left:0!important;bottom:0!important;width:46%!important;height:2px!important;
  background:linear-gradient(90deg,var(--nr-pink),var(--nr-blue),transparent)!important;box-shadow:0 0 18px rgba(240,0,99,.32)!important;
}
body.nr1d-unified .board-head>*{position:relative;z-index:1}
body.nr1d-unified .board-head h1{
  max-width:760px;font-size:clamp(42px,5vw,72px)!important;line-height:.92!important;letter-spacing:-.055em!important;margin:8px 0 12px!important;
}
body.nr1d-unified .board-head p{max-width:680px;color:#b8c0ca!important;font-size:15px!important}

/* Page-specific focus points so every page feels distinct. */
body.nr1d-page-garage .board-head{background-position:center 48%!important}
body.nr1d-page-media .board-head{background-position:center 48%!important}
body.nr1d-page-events .board-head{background-position:center 42%!important}
body.nr1d-page-socials .board-head{background-position:center 38%!important}
body.nr1d-page-shop .board-head{background-position:center 42%!important}
body.nr1d-page-legal .board-head{background-position:center 45%!important}

/* Sidebar : noire, compacte, exactement dans l'esprit du mockup. */
.unified-side,.stats-side{background:rgba(1,3,6,.975)!important;border-right:1px solid #161c24!important;box-shadow:14px 0 46px rgba(0,0,0,.45)!important}
.unified-side-link,.stats-side>a:not(.stats-side-logo){min-height:47px!important;border-bottom:1px solid rgba(255,255,255,.025)!important}
.unified-side-link.active,.unified-side-link.is-active,.stats-side>a.active{background:linear-gradient(90deg,rgba(240,0,99,.23),rgba(240,0,99,.025))!important}
.unified-side-card,.unified-side-event{background:rgba(4,7,11,.92)!important;border:1px solid #222b36!important}

/* Cartes : aucune rayure, aucune grille, uniquement la photo et les aplats sombres. */
body.nr1d-unified .garage-card,
body.nr1d-unified .media-tile,
body.nr1d-unified .event-card,
body.nr1d-unified .social-banner,
body.nr1d-unified .shop-card,
body.nr1d-unified .home-feature,
.stats-panel,.checkin-card,.panel{
  background-color:rgba(4,7,11,.90)!important;
  background-repeat:no-repeat!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  box-shadow:0 18px 48px rgba(0,0,0,.30)!important;
}
body.nr1d-unified .event-card::before,
body.nr1d-unified .event-card::after{box-shadow:none!important}

/* Accueil : conserve le background principal validé. */
body.nr1d-page-home .home-hero{
  min-height:690px!important;
  background-image:
    linear-gradient(90deg,rgba(1,3,6,.96) 0%,rgba(1,3,6,.72) 31%,rgba(1,3,6,.12) 66%),
    linear-gradient(0deg,rgba(1,3,6,.96),transparent 38%),
    url('assets/backgrounds/bg-home.png')!important;
  background-size:cover!important;background-position:center!important;
}
body.nr1d-page-home .home-hero::after{height:2px!important;background:linear-gradient(90deg,var(--nr-pink),var(--nr-blue),transparent 52%)!important}

/* Stats : hero photo dédié. */
.stats-page{background-image:var(--nr-bg)!important}
.stats-hero{
  min-height:355px!important;
  background-image:linear-gradient(90deg,rgba(1,3,6,.96),rgba(1,3,6,.56) 52%,rgba(1,3,6,.12)),url('assets/backgrounds/bg-stats-v4.jpg')!important;
  background-size:cover!important;background-position:center 45%!important;border:1px solid rgba(255,255,255,.09)!important;
}

/* QR : fond dédié et carte centrale propre. */
body.checkin-page{background-image:var(--nr-bg)!important}
body.checkin-page .checkin-card{background:rgba(3,6,10,.93)!important;backdrop-filter:blur(16px)!important}

/* Footer transparent pour laisser respirer les photos. */
.nr1d-trust-footer{background:rgba(1,3,6,.72)!important;backdrop-filter:blur(10px)!important}

@media(max-width:900px){
  body.nr1d-unified,body.stats-page,body.checkin-page{background-attachment:scroll!important}
  body.nr1d-unified .board-head{min-height:265px!important;padding:38px 28px!important}
}
@media(max-width:600px){
  body.nr1d-unified .board-head{min-height:235px!important;padding:30px 20px!important}
  body.nr1d-unified .board-head h1{font-size:40px!important}
}

/* ===== HOTFIX V4.1 — shell / stacking / page backgrounds ===== */
/* La V4 remettait par erreur la topbar et la sidebar en position relative via
   une règle de z-index générique. Cela provoquait le chevauchement visible. */
body.nr1d-unified > .topnav{
  position:fixed!important;
  top:0!important;
  left:194px!important;
  right:0!important;
  width:auto!important;
  height:72px!important;
  z-index:100!important;
}
body.nr1d-unified > .unified-side{
  position:fixed!important;
  top:0!important;
  left:0!important;
  bottom:0!important;
  width:194px!important;
  z-index:110!important;
}
body.nr1d-unified > .board{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  margin:0 auto!important;
}
body.nr1d-unified > .nr1d-trust-footer{
  position:relative!important;
  z-index:2!important;
}
/* Le fond appartient au viewport, pas aux cartes : lisibilité constante. */
body.nr1d-unified{min-height:100vh!important;background-position:center top!important}
body.nr1d-unified .board{overflow:visible!important}
body.nr1d-unified .board-head{isolation:isolate!important}
/* Réseaux : grille plus compacte et centrée, sans grand panneau opaque. */
body.nr1d-page-socials .social-board{background:transparent!important}
body.nr1d-page-socials .social-banners{max-width:1040px!important;padding:0 24px 44px!important;margin:22px auto 0!important}
body.nr1d-page-socials .social-banner{background:#05070b!important}
body.nr1d-page-socials .social-banner img{width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important}

@media(max-width:1100px){
  body.nr1d-unified > .topnav{left:154px!important;height:64px!important}
  body.nr1d-unified > .unified-side{width:154px!important}
}
@media(max-width:760px){
  body.nr1d-unified > .topnav{left:0!important;height:64px!important}
  body.nr1d-unified > .unified-side{display:block!important;transform:translateX(-105%);width:min(86vw,300px)!important;transition:transform .22s ease!important}
  body.nr1d-unified > .unified-side.mobile-open{transform:translateX(0)!important}
}

/* ===== HOTFIX V4.2 — pages pleine largeur comme Statistiques ===== */
/* Le shell réserve déjà 194px pour la sidebar + 28px de gouttière via le body.
   On supprime donc la limite 1460px qui rétrécissait Boutique/Garage/Médias/etc. */
@media (min-width:1101px){
  body.nr1d-unified > .board,
  body.nr1d-unified > .board.board--wide,
  body.nr1d-unified > main.board,
  body.nr1d-unified > .social-board,
  body.nr1d-unified > .shop-board{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  body.nr1d-page-socials .social-board{max-width:none!important;width:100%!important}
  body.nr1d-page-socials .social-banners{max-width:none!important;width:100%!important;box-sizing:border-box}
}
@media (min-width:761px) and (max-width:1100px){
  body.nr1d-unified > .board,
  body.nr1d-unified > .board.board--wide,
  body.nr1d-unified > main.board,
  body.nr1d-unified > .social-board,
  body.nr1d-unified > .shop-board{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* ===== HOTFIX V4.3 — layout global stable / aucun débordement ===== */
/* Le body est désormais dimensionné en border-box : la réserve de la sidebar
   fait partie de la largeur du viewport et ne crée plus de contenu hors écran. */
html{width:100%;min-height:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
body.nr1d-unified{
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  margin:0!important;
  padding:72px 0 0 194px!important;
  overflow-x:hidden!important;
}
body.nr1d-unified > .board,
body.nr1d-unified > main.board,
body.nr1d-unified > .social-board,
body.nr1d-unified > .shop-board{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
body.nr1d-unified > .board{min-height:calc(100vh - 72px)!important}
body.nr1d-unified > .topnav{left:194px!important;right:0!important;width:auto!important}
body.nr1d-unified > .unified-side{width:194px!important}

/* Toutes les vues internes de l'accueil restent dans la même colonne utile. */
body.nr1d-page-home #accueilSections,
body.nr1d-page-home #inscriptionSection,
body.nr1d-page-home #compteSection{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
}
body.nr1d-page-home #inscriptionSection > .board-head,
body.nr1d-page-home #compteSection > .board-head{
  width:100%!important;
  margin:0 0 24px!important;
}
body.nr1d-page-home #inscriptionSection > .panel,
body.nr1d-page-home #compteSection > .panel{
  width:auto!important;
  max-width:none!important;
  margin:0 28px 32px!important;
  padding:34px!important;
}
body.nr1d-page-home #compteLogin,
body.nr1d-page-home #compteForgot,
body.nr1d-page-home #compteDashboard{
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.nr1d-page-home #compteLogin .grid2,
body.nr1d-page-home #compteForgot .grid2,
body.nr1d-page-home #compteDashboard .grid2{
  width:100%!important;
  min-width:0!important;
}
body.nr1d-page-home .board-head__title{
  width:100%!important;
  min-width:0!important;
  padding:0!important;
}
body.nr1d-page-home .board-head__title > div{min-width:0!important}
body.nr1d-page-home .board-head__title h1{
  max-width:100%!important;
  overflow:visible!important;
  white-space:normal!important;
  text-indent:0!important;
  transform:none!important;
}

/* Les champs ne doivent jamais s'étirer au-delà de leur colonne. */
body.nr1d-unified .grid2{min-width:0!important}
body.nr1d-unified .field{min-width:0!important;width:100%!important}
body.nr1d-unified .field input,
body.nr1d-unified .field select,
body.nr1d-unified .field textarea{width:100%!important;max-width:100%!important;min-width:0!important}
body.nr1d-unified .actions{min-width:0!important;flex-wrap:wrap!important}

/* Pages classiques : largeur pleine, mais avec une gouttière visuelle cohérente
   pour les grilles et sections, comme la page Statistiques. */
body.nr1d-page-garage .garage-filters,
body.nr1d-page-garage .garage-grid,
body.nr1d-page-media .media-grid,
body.nr1d-page-events .section,
body.nr1d-page-shop .shop-grid,
body.nr1d-page-shop .shop-note,
body.nr1d-page-legal .legal-content{
  margin-left:28px!important;
  margin-right:28px!important;
}
body.nr1d-page-garage .garage-grid,
body.nr1d-page-media .media-grid,
body.nr1d-page-shop .shop-grid{width:auto!important;max-width:none!important}
body.nr1d-page-socials .social-banners{padding-left:28px!important;padding-right:28px!important}

/* Footer de confiance : il suit exactement la colonne principale. */
body.nr1d-unified > .nr1d-trust-footer{
  margin:0!important;
  width:100%!important;
  min-height:58px!important;
}

@media (min-width:761px) and (max-width:1100px){
  body.nr1d-unified{padding:64px 0 0 154px!important}
  body.nr1d-unified > .topnav{left:154px!important;height:64px!important}
  body.nr1d-unified > .unified-side{width:154px!important}
  body.nr1d-unified > .board{min-height:calc(100vh - 64px)!important}
  body.nr1d-page-home #inscriptionSection > .panel,
  body.nr1d-page-home #compteSection > .panel{margin:0 20px 28px!important;padding:28px!important}
  body.nr1d-page-garage .garage-filters,
  body.nr1d-page-garage .garage-grid,
  body.nr1d-page-media .media-grid,
  body.nr1d-page-events .section,
  body.nr1d-page-shop .shop-grid,
  body.nr1d-page-shop .shop-note,
  body.nr1d-page-legal .legal-content{margin-left:20px!important;margin-right:20px!important}
}
@media (max-width:760px){
  body.nr1d-unified{padding:64px 0 0!important}
  body.nr1d-unified > .topnav{left:0!important;right:0!important;height:64px!important}
  body.nr1d-unified > .board{min-height:calc(100vh - 64px)!important}
  body.nr1d-page-home #inscriptionSection > .panel,
  body.nr1d-page-home #compteSection > .panel{margin:0 12px 22px!important;padding:22px 16px!important}
  body.nr1d-page-garage .garage-filters,
  body.nr1d-page-garage .garage-grid,
  body.nr1d-page-media .media-grid,
  body.nr1d-page-events .section,
  body.nr1d-page-shop .shop-grid,
  body.nr1d-page-shop .shop-note,
  body.nr1d-page-legal .legal-content{margin-left:12px!important;margin-right:12px!important}
  body.nr1d-page-socials .social-banners{padding-left:12px!important;padding-right:12px!important}
}


/* ============================================================
   NR1D V4.4 — TYPOGRAPHIE MOTORSPORT / BRUSH
   Inspirée du lettrage incliné et énergique du logo NR1D.
   ============================================================ */
:root{
  --font-display:'Kanit',sans-serif;
  --font-label:'Barlow Condensed',sans-serif;
  --font-body:'Rajdhani',sans-serif;
}
body,body.nr1d-unified{font-family:var(--font-body)!important}

/* Titres : masse, inclinaison et tension visuelle proches du logo */
h1,h2,.board-head__title h1,.board-head>h1,.home-hero h1,.home-feature h2,.home-cta h2,
.stats-hero h1,.step h2,.checkin-card h1,.checkin-member h2,.checkin-error b,
.social-card__name,.event-qr-modal__card h2,.event-qr-modal__card>strong{
  font-family:var(--font-display)!important;
  font-style:italic!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
  transform:skewX(-2deg);
  transform-origin:left center;
}
.board-head__title h1,.board-head>h1,.stats-hero h1{
  text-shadow:3px 0 0 rgba(240,0,99,.20),-2px 0 0 rgba(0,174,255,.16),0 10px 28px rgba(0,0,0,.55)!important;
}
/* Petit rappel tricolore NR1D sur les grands titres */
.board-head__title h1::after,.board-head>h1::after,.stats-hero h1::after{
  content:'';display:block;width:92px;height:3px;margin-top:10px;
  background:linear-gradient(90deg,#f5f5f5 0 34%,#f00063 34% 67%,#00aeff 67% 100%);
  transform:skewX(-24deg);box-shadow:0 0 16px rgba(240,0,99,.28);
}

/* Navigation, boutons et labels : typographie racing condensée */
.topnav__link,body.nr1d-unified .topnav__link,.btn,body.nr1d-unified .btn,
.eyebrow,body.nr1d-unified .eyebrow,.field span,.gauge__item,.home-section-kicker b,
.home-section-kicker a,.text-link,.event-card__body h3,.garage-card__info b,
.nr1d-trust-footer,.legal-content h2,.stats-panel h2{
  font-family:var(--font-label)!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
}
.topnav__link,body.nr1d-unified .topnav__link,.btn,body.nr1d-unified .btn{
  font-style:italic!important;font-size:13px!important;
}
.btn,body.nr1d-unified .btn{letter-spacing:.075em!important}

/* Chiffres / prix / statistiques plus typés compétition */
.stat-value,.event-card__day,.event-countdown__seg b,.online-panel>strong,
.shop-card__price,.stats-card strong,.donut b{
  font-family:var(--font-display)!important;font-style:italic!important;font-weight:800!important;
  letter-spacing:-.035em!important;
}

@media(max-width:760px){
  .board-head__title h1::after,.board-head>h1::after,.stats-hero h1::after{width:64px;height:2px;margin-top:7px}
}


/* ===== V4.5 — HIÉRARCHIE TYPO + PAGE COLLECTIF ===== */
/* Le style NR1D reste agressif, sans sacrifier les proportions. */
body.nr1d-unified h1, body.nr1d-unified h2{transform:none!important}
body.nr1d-page-home .home-hero__content{max-width:560px!important}
body.nr1d-page-home .home-hero h1{font-size:clamp(48px,5.2vw,78px)!important;line-height:.88!important;letter-spacing:-.055em!important;max-width:560px!important}
body.nr1d-page-home .home-hero h1 em{display:block!important;font-family:var(--font-label)!important;font-size:clamp(22px,.34em,30px)!important;line-height:1.02!important;letter-spacing:.015em!important;margin-top:18px!important;color:#fff!important}
body.nr1d-page-home .home-hero__lead{font-size:16px!important;line-height:1.55!important;max-width:520px!important}
body.nr1d-unified .board-head h1{font-size:clamp(38px,4vw,62px)!important;line-height:.95!important;letter-spacing:-.035em!important}
body.nr1d-page-media .board-head{min-height:230px!important;padding:36px 34px!important}
body.nr1d-page-media .media-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:14px!important;padding-top:20px!important;align-items:start!important}
body.nr1d-page-media .media-card{min-width:0!important}
body.nr1d-page-media .media-card img,body.nr1d-page-media .media-card video{width:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
body.nr1d-page-media .board{align-content:start!important}

/* Nouvelle page — Le Collectif */
body.nr1d-page-collective{--nr-bg:url('session-photos/session-lvTVYy8G-x.jpeg')}
body.nr1d-page-collective::before{background-image:linear-gradient(90deg,rgba(2,4,7,.97),rgba(2,4,7,.78) 48%,rgba(2,4,7,.9)),var(--nr-bg)!important;background-size:cover!important;background-position:center!important}
.collective-board{width:100%!important;max-width:none!important;margin:0!important;padding-bottom:40px!important}
.collective-head{background-image:linear-gradient(90deg,rgba(2,4,7,.94),rgba(2,4,7,.42)),url('session-photos/session-lvTVYy8G-x.jpeg')!important;background-position:center 48%!important}
.collective-manifesto{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:0;margin:28px;border:1px solid #202735;background:#05080dcf;overflow:hidden}
.collective-manifesto>div{padding:54px;align-self:center}.collective-manifesto h2{font-size:clamp(46px,5vw,82px)!important;line-height:.82!important;margin:12px 0 24px!important}.collective-manifesto h2 em{color:var(--nr-pink);font-style:italic}.collective-manifesto p{font-size:17px;line-height:1.6;color:#b8c0ca;max-width:620px;margin-bottom:28px}.collective-manifesto img{width:100%;height:100%;min-height:460px;object-fit:cover;filter:saturate(.75) contrast(1.08)}
.collective-values{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px}.collective-values article{background:#05080de8;border:1px solid #202735;border-top:2px solid var(--nr-pink);padding:28px;min-height:210px}.collective-values article:nth-child(even){border-top-color:var(--nr-blue)}.collective-values b{font-family:var(--font-display);font-style:italic;font-size:36px;color:#343c49}.collective-values h3{font:italic 800 28px var(--font-label);text-transform:uppercase;margin:4px 0 12px}.collective-values p{color:#9da7b3;line-height:1.5}
.collective-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:28px;background:#030509;border-block:1px solid #252c37}.collective-strip div{padding:28px;text-align:center;border-right:1px solid #252c37}.collective-strip div:last-child{border:0}.collective-strip strong{display:block;font:italic 900 42px var(--font-display);color:#fff}.collective-strip span{font:700 13px var(--font-label);letter-spacing:.12em;text-transform:uppercase;color:#7f8995}
.collective-gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin:28px}.collective-gallery img{width:100%;height:310px;object-fit:cover;border:1px solid #202735}.collective-cta{margin:28px;padding:52px;text-align:center;background:linear-gradient(120deg,#09050bde,#07111be8);border:1px solid #252c37}.collective-cta h2{font-size:clamp(38px,4vw,64px)!important;margin:8px 0 24px!important}
@media(max-width:1050px){.collective-manifesto{grid-template-columns:1fr}.collective-manifesto img{min-height:330px}.collective-values{grid-template-columns:1fr 1fr}.collective-gallery{grid-template-columns:1fr 1fr}.collective-gallery img:first-child{grid-column:1/-1}}
@media(max-width:760px){body.nr1d-page-home .home-hero h1{font-size:48px!important}.collective-manifesto,.collective-values,.collective-strip,.collective-gallery,.collective-cta{margin:12px}.collective-manifesto>div{padding:28px 20px}.collective-values{grid-template-columns:1fr}.collective-strip{grid-template-columns:1fr 1fr}.collective-gallery{grid-template-columns:1fr}.collective-gallery img:first-child{grid-column:auto}.collective-gallery img{height:240px}.collective-cta{padding:36px 18px}}


/* ============================================================
   NR1D V4.7 — TYPOGRAPHIE ACCUEIL UNIFIÉE
   La famille utilisée sur le hero Accueil (Kanit) devient la
   signature de tous les titres et intitulés forts du site.
   Les dimensions propres à chaque page restent inchangées.
   ============================================================ */
:root{
  --font-display:'Kanit',sans-serif;
  --font-label:'Barlow Condensed',sans-serif;
  --font-body:'Rajdhani',sans-serif;
}

/* Grands titres et titres de sections : même ADN que l'accueil */
body h1,
body h2,
body h3,
body .board-head__title h1,
body .board-head > h1,
body .stats-hero h1,
body .stats-panel h2,
body .section__head h2,
body .home-feature h2,
body .home-cta h2,
body .step h2,
body .done h2,
body .legal-content h2,
body .collective-values h3,
body .collective-cta h2,
body .event-card__body h3,
body .garage-card__info b,
body .shop-card h3,
body .social-card__name,
body .stats-side-card h3,
body .stats-side-event h3,
body .checkin-card h1,
body .checkin-member h2,
body .event-qr-modal__card h2,
body .event-qr-modal__card > strong{
  font-family:var(--font-display)!important;
}

/* Titres principaux : traitement racing identique à l'accueil,
   sans modifier leur taille ni provoquer de débordement. */
body:not(.nr1d-page-home) .board-head h1,
body.stats-page .stats-hero h1,
body.checkin-page .checkin-card h1{
  font-style:italic!important;
  font-weight:900!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
}

/* Sous-titres / cartes : Kanit plus calme pour garder la lisibilité. */
body h2,
body h3,
body .stats-panel h2,
body .event-card__body h3,
body .garage-card__info b,
body .shop-card h3,
body .social-card__name,
body .legal-content h2{
  font-weight:800!important;
  letter-spacing:-.025em!important;
}

/* Navigation / boutons restent condensés, comme sur l'accueil. */
body .topnav__link,
body .side-nav__link,
body .stats-side > a,
body .btn,
body button,
body .eyebrow,
body .field > span,
body .gauge__item{
  font-family:var(--font-label)!important;
}

/* Le texte courant reste Rajdhani pour ne pas perdre en lisibilité. */
body p,
body li,
body input,
body textarea,
body select{
  font-family:var(--font-body)!important;
}

/* ==========================================================
   V4.8 — ENTETES NR1D UNIFIES
   Tous les en-tetes reprennent la signature du hero Accueil.
   ========================================================== */
body.nr1d-unified .board-head,
body.nr1d-unified .stats-hero{
  position:relative;
  overflow:hidden;
}

body.nr1d-unified .board-head .eyebrow,
body.nr1d-unified .board-head__title .eyebrow,
body.stats-page .stats-hero > div > span{
  display:block!important;
  margin:0 0 18px!important;
  font-family:var(--font-label,'Kanit',sans-serif)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:800!important;
  font-style:normal!important;
  letter-spacing:.20em!important;
  text-transform:uppercase!important;
  color:var(--nr-pink,#f00063)!important;
}

body.nr1d-unified .board-head h1,
body.nr1d-unified .board-head__title h1,
body.stats-page .stats-hero h1{
  display:block!important;
  width:fit-content!important;
  max-width:min(920px,100%)!important;
  margin:0 0 24px!important;
  padding:0!important;
  font-family:'Kanit',sans-serif!important;
  font-size:clamp(52px,5.25vw,82px)!important;
  line-height:.82!important;
  font-weight:900!important;
  font-style:italic!important;
  letter-spacing:-.065em!important;
  text-transform:uppercase!important;
  color:#fff!important;
  background:none!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 8px 28px rgba(0,0,0,.72)!important;
  transform:skewX(-2deg);
}

/* Petit trait rose/bleu comme la signature graphique NR1D. */
body.nr1d-unified .board-head h1::after,
body.nr1d-unified .board-head__title h1::after,
body.stats-page .stats-hero h1::after{
  content:""!important;
  display:block!important;
  width:92px!important;
  height:3px!important;
  margin:17px 0 0 5px!important;
  background:linear-gradient(90deg,#fff 0 43%,var(--nr-pink,#f00063) 43% 70%,var(--nr-blue,#00b7ff) 70%)!important;
  box-shadow:none!important;
  transform:skewX(2deg);
}

body.nr1d-unified .board-head > p,
body.nr1d-unified .board-head__title > p,
body.stats-page .stats-hero p{
  max-width:760px!important;
  font-size:15px!important;
  line-height:1.6!important;
  color:#c4cad3!important;
}

/* Les pages secondaires gardent leur photo propre mais gagnent
   la meme respiration que l'accueil. */
body.nr1d-unified .board-head{
  min-height:300px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:52px 58px!important;
}

body.stats-page .stats-hero{
  min-height:300px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  padding:48px 58px!important;
}

@media(max-width:900px){
  body.nr1d-unified .board-head,
  body.stats-page .stats-hero{min-height:250px!important;padding:38px 32px!important}
  body.nr1d-unified .board-head h1,
  body.nr1d-unified .board-head__title h1,
  body.stats-page .stats-hero h1{font-size:clamp(44px,8vw,66px)!important}
}
@media(max-width:600px){
  body.nr1d-unified .board-head,
  body.stats-page .stats-hero{min-height:220px!important;padding:32px 20px!important}
  body.nr1d-unified .board-head h1,
  body.nr1d-unified .board-head__title h1,
  body.stats-page .stats-hero h1{font-size:clamp(38px,12vw,54px)!important;line-height:.86!important}
  body.nr1d-unified .board-head > p,
  body.nr1d-unified .board-head__title > p,
  body.stats-page .stats-hero p{font-size:14px!important}
}
