:root{
  /* Palette alignée sur le vrai logo de l'école (Groupe Scolaire
     Rouguiatou Barry) : bleu + rouge + blanc — remplace la palette
     bleu marine/or fictive du mockup de départ. Les noms de variables
     (--rn-navy, --rn-gold...) sont conservés pour ne pas devoir
     réécrire tout le reste de la feuille de style ; seules leurs
     VALEURS changent. */
  --rn-navy:#1A4A9B;
  --rn-navy-dark:#123870;
  --rn-green:#0B6E4F;
  --rn-green-light:#E9F3EF;
  --rn-gold:#D82125;
  --rn-gold-light:#FBDEDE;
  --rn-bg:#F9F7F2;
  --rn-ink:#20242C;
  --rn-muted:#636B78;
  --rn-white:#FFFFFF;
  --rn-line:#E4E0D6;
  --rn-radius:16px;
  --rn-font-display:'Fraunces', serif;
  --rn-font-body:'Work Sans', sans-serif;
  --rn-font-mono:'IBM Plex Mono', monospace;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--rn-font-body);
  color:var(--rn-ink);
  background:var(--rn-bg);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.rn-display{
  font-family:var(--rn-font-display);
  letter-spacing:-0.01em;
}
.rn-mono{font-family:var(--rn-font-mono);}
.rn-eyebrow{
  font-family:var(--rn-font-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--rn-green);
  font-weight:600;
}
section{scroll-margin-top:90px;}
a{text-decoration:none;}
:focus-visible{outline:3px solid var(--rn-gold); outline-offset:2px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
}

/* ---------- Bogolan-inspired signature pattern ---------- */
.rn-motif{
  background-image:
    linear-gradient(45deg, var(--rn-gold) 25%, transparent 25%, transparent 75%, var(--rn-gold) 75%),
    linear-gradient(45deg, var(--rn-gold) 25%, transparent 25%, transparent 75%, var(--rn-gold) 75%);
  background-size:14px 14px;
  background-position:0 0, 7px 7px;
  opacity:.9;
}
.rn-motif-strip{height:10px; width:100%;}
.rn-motif-border{
  border:2px solid var(--rn-navy);
  position:relative;
}
.rn-motif-border::before{
  content:"";
  position:absolute; inset:-10px;
  border:2px dashed var(--rn-gold);
  border-radius:calc(var(--rn-radius) + 6px);
  pointer-events:none;
}

/* ---------- Navbar ---------- */
.rn-navbar{
  background:rgba(249,247,242,.0);
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease;
  padding:18px 0;
}
.rn-navbar.is-scrolled{
  background:rgba(249,247,242,.96);
  box-shadow:0 2px 18px rgba(20,43,77,.08);
  padding:10px 0;
  backdrop-filter:blur(6px);
}
.rn-logo-mark{
  width:46px; height:46px;
  background:linear-gradient(155deg, var(--rn-gold), #A31A1D);
  border-radius:13px;
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  font-size:1.35rem;
  flex-shrink:0;
  box-shadow:0 4px 10px rgba(212,160,23,.35);
}
.rn-logo-mark.sm{width:38px; height:38px; border-radius:11px; font-size:1.1rem;}
/* Par défaut (en haut de page), la navbar est transparente et repose
   directement sur le fond sombre du hero (voir .rn-navbar ci-dessus) ->
   texte blanc, sinon invisible (bug corrigé : c'était de la couleur
   navy/ink sur fond navy). Une fois .is-scrolled (fond clair), on repasse
   sur les couleurs sombres d'origine. */
.rn-brand-text{
  font-family:var(--rn-font-display);
  font-weight:600;
  font-size:1.05rem;
  color:#fff;
  line-height:1.1;
  transition:color .35s ease;
}
.rn-brand-sub{
  font-family:var(--rn-font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  color:rgba(255,255,255,.72);
  text-transform:uppercase;
  transition:color .35s ease;
}
.rn-nav-link{
  font-size:.92rem;
  font-weight:500;
  color:#fff !important;
  margin:0 2px;
  position:relative;
  padding:.5rem .75rem !important;
  transition:color .35s ease;
}
.rn-nav-link::after{
  content:"";
  position:absolute; left:.75rem; right:.75rem; bottom:.25rem;
  height:2px; background:var(--rn-gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.rn-nav-link:hover::after,
.rn-nav-link.active::after{transform:scaleX(1);}
.rn-navbar.is-scrolled .rn-brand-text{color:var(--rn-navy);}
.rn-navbar.is-scrolled .rn-brand-sub{color:var(--rn-muted);}
.rn-navbar.is-scrolled .rn-nav-link{color:var(--rn-ink) !important;}
.rn-navbar.is-scrolled .navbar-toggler-icon{filter:none;}
.navbar-toggler-icon{filter:invert(1) brightness(2);}
.btn-rn-primary{
  background:var(--rn-navy); color:#fff; border:1px solid var(--rn-navy);
  font-weight:600; padding:.6rem 1.3rem; border-radius:999px;
  transition:all .25s ease;
}
.btn-rn-primary:hover{background:var(--rn-navy-dark); color:#fff;}
.btn-rn-gold{
  background:var(--rn-gold); color:#fff; border:1px solid var(--rn-gold);
  font-weight:700; padding:.7rem 1.5rem; border-radius:999px;
  transition:all .25s ease;
}
.btn-rn-gold:hover{background:#b81a1e; color:#fff; transform:translateY(-1px);}
.btn-rn-outline{
  background:transparent; color:var(--rn-navy); border:1.5px solid var(--rn-navy);
  font-weight:600; padding:.65rem 1.4rem; border-radius:999px;
  transition:all .25s ease;
}
.btn-rn-outline:hover{background:var(--rn-navy); color:#fff;}

/* ---------- Signature: side access tabs (Parent / Prof / Élève / Autre) ---------- */
.rn-side-tabs{
  position:fixed; right:0; top:50%; transform:translateY(-50%);
  z-index:1040; display:flex; flex-direction:column;
}
.rn-tab{
  writing-mode:vertical-rl;
  text-orientation:mixed;
  color:#fff; font-family:var(--rn-font-mono); font-size:.72rem;
  letter-spacing:.08em; text-transform:uppercase; font-weight:600;
  padding:16px 9px; border:none; cursor:pointer;
  display:flex; align-items:center; gap:8px;
  transform:translateX(0); transition:transform .22s ease, filter .22s ease;
  border-radius:10px 0 0 10px;
  box-shadow:-3px 3px 10px rgba(0,0,0,.12);
}
.rn-tab:hover{transform:translateX(-8px); filter:brightness(1.08);}
.rn-tab i{transform:rotate(90deg); font-size:.95rem;}
.rn-tab-parent{background:var(--rn-navy);}
.rn-tab-prof{background:var(--rn-green);}
.rn-tab-eleve{background:var(--rn-gold); color:#fff;}
.rn-tab-autre{background:var(--rn-navy-dark);}

@media (max-width:767px){
  .rn-side-tabs{
    position:fixed; right:0; left:0; top:auto; bottom:0; transform:none;
    flex-direction:row; z-index:1045;
    box-shadow:0 -4px 14px rgba(0,0,0,.12);
  }
  .rn-tab{
    writing-mode:horizontal-tb; flex:1; border-radius:0;
    padding:10px 4px; font-size:.62rem; flex-direction:column; gap:3px;
  }
  .rn-tab i{transform:none; font-size:1.05rem;}
  .rn-tab:hover{transform:none;}
}

/* ---------- Hero ---------- */
.rn-hero{
  padding:150px 0 90px;
  background:
    radial-gradient(circle at 85% 20%, rgba(212,160,23,.10), transparent 45%),
    var(--rn-bg);
  overflow:hidden;
}

/* ---------- Hero plein cadre (inspiré du portail de connexion) ---------- */
.rn-hero-full{
  position:relative; min-height:88vh; display:flex; align-items:flex-end;
  overflow:hidden; margin-top:0;
}
.rn-hero-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
}
.rn-hero-overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(0deg, rgba(11,27,51,.92) 0%, rgba(11,27,51,.72) 38%, rgba(11,27,51,.35) 68%, rgba(11,27,51,.55) 100%);
}
.rn-hero-full .container{position:relative; z-index:2; padding-bottom:64px; padding-top:170px;}
.rn-hero-badge-top{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25);
  color:#fff; padding:.4rem .9rem; border-radius:999px; font-size:.78rem; font-weight:600;
  backdrop-filter:blur(4px);
}
.rn-hero-full-headline{
  font-size:clamp(2.2rem, 4.6vw, 3.75rem);
  font-weight:600; line-height:1.08; color:#fff; max-width:820px;
}
.rn-highlight{color:var(--rn-gold);}
.rn-hero-full-lede{
  color:rgba(255,255,255,.82); font-size:1.05rem; max-width:560px; line-height:1.65;
}
.rn-hero-full .rn-stat-inline{color:#fff; border-left-color:var(--rn-gold);}
.rn-hero-headline{
  font-size:clamp(2.3rem, 4.2vw, 3.6rem);
  font-weight:600;
  line-height:1.08;
  color:var(--rn-navy);
}
.rn-hero-headline em{
  font-style:italic; color:var(--rn-green); font-weight:500;
}
.rn-hero-lede{
  font-size:1.08rem; color:var(--rn-muted); max-width:520px; line-height:1.6;
}
.rn-stat-inline{
  font-family:var(--rn-font-mono); font-size:.82rem; color:var(--rn-navy);
  border-left:2px solid var(--rn-gold); padding-left:10px;
}
.rn-hero-frame{
  position:relative; border-radius:var(--rn-radius); overflow:hidden;
}
.rn-hero-frame img{width:100%; display:block; height:100%; object-fit:cover;}
.rn-hero-corner{
  position:absolute; width:64px; height:64px; z-index:2;
}
.rn-hero-corner.tl{top:-14px; left:-14px; border-top:4px solid var(--rn-gold); border-left:4px solid var(--rn-gold); border-radius:6px 0 0 0;}
.rn-hero-corner.br{bottom:-14px; right:-14px; border-bottom:4px solid var(--rn-gold); border-right:4px solid var(--rn-gold); border-radius:0 0 6px 0;}
.rn-badge-floating{
  position:absolute; left:18px; bottom:18px; z-index:3;
  background:rgba(255,255,255,.94); backdrop-filter:blur(4px);
  padding:12px 16px; border-radius:12px;
  box-shadow:0 8px 20px rgba(20,43,77,.15);
  display:flex; align-items:center; gap:10px;
}

/* ---------- Stats band ---------- */
.rn-stats-band{background:var(--rn-navy); color:#fff; padding:46px 0;}
.rn-stat-num{
  font-family:var(--rn-font-mono); font-weight:600; font-size:2.1rem; color:var(--rn-gold);
}
.rn-stat-label{font-size:.82rem; color:#C7D0DF; letter-spacing:.03em;}

/* ---------- Section headers ---------- */
.rn-section-title{
  font-size:clamp(1.7rem, 2.6vw, 2.3rem); color:var(--rn-navy); font-weight:600;
}
.rn-section-lede{color:var(--rn-muted); max-width:620px;}

/* ---------- Pills / values ---------- */
.rn-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--rn-green-light); color:var(--rn-green);
  border-radius:999px; padding:.35rem .85rem; font-size:.8rem; font-weight:600;
}

/* ---------- Programme cards ---------- */
.rn-prog-card{
  background:#fff; border:1px solid var(--rn-line); border-radius:var(--rn-radius);
  padding:28px; height:100%; transition:transform .25s ease, box-shadow .25s ease;
}
.rn-prog-card:hover{transform:translateY(-6px); box-shadow:0 16px 32px rgba(20,43,77,.1);}
.rn-prog-icon{
  width:52px; height:52px; border-radius:12px;
  background:var(--rn-navy); color:var(--rn-gold);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:16px;
}
.rn-prog-age{
  font-family:var(--rn-font-mono); font-size:.72rem; color:var(--rn-green); letter-spacing:.05em;
}

/* ---------- Galerie ---------- */
.rn-filter-btn{
  border:1.5px solid var(--rn-line); background:#fff; color:var(--rn-muted);
  border-radius:999px; padding:.45rem 1.1rem; font-size:.85rem; font-weight:600;
  transition:all .2s ease;
}
.rn-filter-btn.active, .rn-filter-btn:hover{
  background:var(--rn-navy); color:#fff; border-color:var(--rn-navy);
}
.rn-gallery-item{
  position:relative; border-radius:12px; overflow:hidden; margin-bottom:20px; cursor:pointer;
}
.rn-gallery-item img{width:100%; display:block; transition:transform .4s ease;}
.rn-gallery-item:hover img{transform:scale(1.06);}
.rn-gallery-caption{
  position:absolute; inset:auto 0 0 0; padding:14px 16px;
  background:linear-gradient(0deg, rgba(11,27,51,.85), transparent);
  color:#fff; opacity:0; transition:opacity .3s ease;
}
.rn-gallery-item:hover .rn-gallery-caption{opacity:1;}
.rn-gallery-tag{
  font-family:var(--rn-font-mono); font-size:.65rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--rn-gold);
}

/* ---------- Équipe ---------- */
.rn-staff-card{
  background:#fff; border-radius:var(--rn-radius); border:1px solid var(--rn-line);
  padding:22px; text-align:center; height:100%; transition:box-shadow .25s ease;
}
.rn-staff-card:hover{box-shadow:0 14px 28px rgba(20,43,77,.08);}
.rn-avatar{
  width:96px; height:96px; border-radius:50%; object-fit:cover; margin:0 auto 14px;
  border:3px solid var(--rn-gold-light);
}
.rn-staff-role{
  font-family:var(--rn-font-mono); font-size:.72rem; color:var(--rn-green); letter-spacing:.04em;
}

/* ---------- Événements ---------- */
.rn-event-card{
  display:flex; gap:18px; background:#fff; border:1px solid var(--rn-line);
  border-radius:14px; padding:18px; height:100%;
}
.rn-event-date{
  background:var(--rn-navy); color:#fff; border-radius:10px; min-width:64px; height:64px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0;
}
.rn-event-day{font-family:var(--rn-font-mono); font-size:1.3rem; font-weight:600; line-height:1;}
.rn-event-month{font-family:var(--rn-font-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--rn-gold);}

/* ---------- Notre Campus ---------- */
.rn-campus-photo{
  position:relative; border-radius:14px; overflow:hidden; height:260px;
}
.rn-campus-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.rn-campus-photo:hover img{transform:scale(1.06);}
.rn-campus-legende{
  position:absolute; inset:auto 0 0 0; padding:12px 16px; color:#fff; font-size:.85rem; font-weight:600;
  background:linear-gradient(0deg, rgba(11,27,51,.85), transparent);
}

/* ---------- Historique (frise) ---------- */
.rn-timeline{position:relative; max-width:760px; margin:0 auto; padding-left:32px;}
.rn-timeline::before{
  content:''; position:absolute; left:7px; top:6px; bottom:6px; width:2px; background:var(--rn-line);
}
.rn-timeline-item{position:relative; padding-bottom:32px;}
.rn-timeline-item:last-child{padding-bottom:0;}
.rn-timeline-marker{
  position:absolute; left:-32px; top:4px; width:16px; height:16px; border-radius:50%;
  background:var(--rn-gold); border:3px solid var(--rn-navy);
}
.rn-timeline-annee{
  font-family:var(--rn-font-mono); font-size:.72rem; font-weight:700; color:var(--rn-green); letter-spacing:.05em;
}

/* ---------- Réussite aux examens ---------- */
.rn-exam-card{
  background:#fff; border:1px solid var(--rn-line); border-radius:var(--rn-radius);
  padding:26px 20px; text-align:center; height:100%; transition:box-shadow .25s ease;
}
.rn-exam-card:hover{box-shadow:0 14px 28px rgba(20,43,77,.08);}
.rn-exam-taux{font-family:var(--rn-font-mono); font-size:2.1rem; font-weight:700; color:var(--rn-navy);}
.rn-exam-nom{font-weight:600; margin-top:4px;}
.rn-exam-annee{font-family:var(--rn-font-mono); font-size:.75rem; color:var(--rn-green); letter-spacing:.04em;}

/* ---------- Témoignages ---------- */
.rn-temoignage-card{
  background:#fff; border:1px solid var(--rn-line); border-radius:var(--rn-radius);
  padding:26px; height:100%;
}
.rn-temoignage-etoiles{color:var(--rn-gold); font-size:.85rem; margin-bottom:10px;}
.rn-temoignage-message{color:var(--rn-navy); font-style:italic; font-size:.95rem;}
.rn-temoignage-avatar{width:44px; height:44px; border-radius:50%; object-fit:cover;}
.rn-temoignage-avatar-placeholder{
  display:flex; align-items:center; justify-content:center; background:var(--rn-gold-light); color:var(--rn-navy);
}

/* ---------- Mot du fondateur ---------- */
.rn-fondateur-photo{
  width:220px; height:220px; border-radius:50%; object-fit:cover; border:4px solid var(--rn-gold-light);
}
.rn-fondateur-photo-placeholder{
  display:flex; align-items:center; justify-content:center; margin:0 auto; background:var(--rn-gold-light);
  color:var(--rn-navy); font-size:4rem;
}

/* ---------- Préinscription (wizard) ---------- */
.rn-wizard{
  background:#fff; border-radius:var(--rn-radius); border:1px solid var(--rn-line);
  padding:clamp(20px, 4vw, 46px);
}
.rn-step-indicator{display:flex; align-items:center; margin-bottom:34px;}
.rn-step-circle{
  width:34px; height:34px; border-radius:50%; background:var(--rn-line); color:var(--rn-muted);
  display:flex; align-items:center; justify-content:center; font-family:var(--rn-font-mono);
  font-size:.85rem; font-weight:600; flex-shrink:0; transition:all .25s ease;
}
.rn-step-indicator .rn-step-line{flex:1; height:2px; background:var(--rn-line); margin:0 6px;}
.rn-step-item.active .rn-step-circle{background:var(--rn-navy); color:#fff;}
.rn-step-item.done .rn-step-circle{background:var(--rn-green); color:#fff;}
.rn-step-label{font-size:.7rem; text-align:center; margin-top:6px; color:var(--rn-muted); max-width:90px;}
.rn-wizard-pane{display:none;}
.rn-wizard-pane.active{display:block; animation:rnFade .35s ease;}
@keyframes rnFade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
.form-control, .form-select{
  border-radius:10px; border:1.5px solid var(--rn-line); padding:.65rem .9rem;
}
.form-control:focus, .form-select:focus{
  border-color:var(--rn-navy); box-shadow:0 0 0 .2rem rgba(20,43,77,.12);
}
.form-label{font-weight:600; font-size:.85rem; color:var(--rn-navy);}

/* ---------- Témoignages ---------- */
.rn-quote-card{
  background:#fff; border-radius:var(--rn-radius); border:1px solid var(--rn-line); padding:32px;
}
.rn-quote-mark{font-family:var(--rn-font-display); font-size:3rem; color:var(--rn-gold); line-height:.4; display:block; margin-bottom:14px;}
.rn-initials{
  width:46px; height:46px; border-radius:50%; background:var(--rn-navy); color:var(--rn-gold);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-family:var(--rn-font-mono); font-size:.85rem;
}

/* ---------- Contact ---------- */
.rn-contact-item{display:flex; gap:14px; align-items:flex-start; margin-bottom:20px;}
.rn-contact-icon{
  width:42px; height:42px; border-radius:10px; background:var(--rn-green-light); color:var(--rn-green);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.rn-map-block{
  background:var(--rn-navy); border-radius:var(--rn-radius); min-height:260px;
  display:flex; align-items:center; justify-content:center; color:#C7D0DF; position:relative; overflow:hidden;
}

/* ---------- Footer ---------- */
.rn-footer{background:var(--rn-navy-dark); color:#C7D0DF; padding:64px 0 24px; position:relative;}
.rn-footer h6{color:#fff; font-family:var(--rn-font-display); font-weight:600; margin-bottom:16px;}
.rn-footer a{color:#C7D0DF; font-size:.9rem;}
.rn-footer a:hover{color:var(--rn-gold);}
.rn-footer-bottom{border-top:1px solid rgba(255,255,255,.1); margin-top:40px; padding-top:20px; font-size:.8rem; color:#8290A3;}
.rn-social{
  width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.06);
  display:flex; align-items:center; justify-content:center; color:#fff; transition:background .2s ease;
}
.rn-social:hover{background:var(--rn-gold); color:#fff;}

/* Modal portal */
.rn-modal-header-role{
  color:#fff; border:none; padding:24px 28px;
}
.rn-role-icon{
  width:48px; height:48px; border-radius:12px; background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:8px;
}

/* ---------- Portail de connexion façon "split login" ---------- */
.rn-auth-modal .modal-content{border-radius:20px; overflow:hidden; border:none;}
.rn-auth-visual{
  position:relative; min-height:100%; background-size:cover; background-position:center;
  display:flex; flex-direction:column; justify-content:space-between; padding:28px;
}
.rn-auth-visual::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(11,27,51,.88) 5%, rgba(11,27,51,.45) 55%, rgba(11,27,51,.2) 100%);
}
.rn-auth-visual > *{position:relative; z-index:1;}
.rn-auth-brand{display:flex; align-items:center; gap:10px;}
.rn-auth-brand-text{color:#fff; font-family:var(--rn-font-display); font-weight:600; line-height:1.1;}
.rn-auth-brand-sub{color:rgba(255,255,255,.75); font-family:var(--rn-font-mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;}
.rn-auth-visual-headline{color:#fff; font-size:1.5rem; font-weight:600; line-height:1.25;}
.rn-auth-visual-lede{color:rgba(255,255,255,.78); font-size:.85rem;}
.rn-auth-panel{padding:clamp(24px,4vw,44px); display:flex; flex-direction:column; justify-content:center; height:100%;}
.rn-auth-badge{
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  background:var(--rn-green-light); color:var(--rn-green); font-weight:600; font-size:.8rem;
  padding:.4rem .85rem; border-radius:999px; margin-bottom:18px;
}
.rn-auth-badge.gold{background:var(--rn-gold-light); color:#9c1518;}
.rn-auth-title{color:var(--rn-navy); font-weight:600; margin-bottom:4px;}
.rn-auth-sub{color:var(--rn-muted); font-size:.9rem; margin-bottom:22px;}
.rn-auth-field{position:relative; margin-bottom:16px;}
.rn-auth-field i{
  position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#8a7a3d; font-size:.95rem;
}
.rn-auth-field input{
  width:100%; padding:.75rem .9rem .75rem 2.6rem; border-radius:11px;
  border:1.5px solid #EFE3AE; background:#FBF6DC; font-family:var(--rn-font-body);
  transition:border-color .2s ease, background .2s ease;
}
.rn-auth-field input:focus{
  outline:none; border-color:var(--rn-gold); background:#fff;
  box-shadow:0 0 0 .18rem rgba(212,160,23,.18);
}
.rn-auth-submit{
  width:100%; border:none; padding:.85rem; border-radius:11px; font-weight:700; color:#fff;
  display:flex; align-items:center; justify-content:center; gap:8px; transition:filter .2s ease;
}
.rn-auth-submit:hover{filter:brightness(.94);}
.rn-auth-footer{
  display:flex; align-items:center; gap:6px; justify-content:center;
  font-size:.75rem; color:var(--rn-muted); margin-top:20px;
}

/* ---------- En-tête de page secondaire ---------- */
.rn-page-header{
  position:relative; min-height:46vh; display:flex; align-items:center; overflow:hidden;
}
.rn-page-header .container{position:relative; z-index:2; padding:150px 0 50px;}
.rn-breadcrumb{color:rgba(255,255,255,.75); font-size:.85rem;}
.rn-breadcrumb a{color:rgba(255,255,255,.75);}
.rn-breadcrumb a:hover{color:var(--rn-gold);}
.rn-page-header-title{
  font-size:clamp(2rem, 3.4vw, 2.9rem); font-weight:600; color:#fff; line-height:1.1; margin-top:10px;
}
.rn-page-header-lede{color:rgba(255,255,255,.82); max-width:600px; margin-top:12px;}
