:root{
  --couleur: #fa0202;   /* rouge RP */
  --noir: #101218;
  --gris: #3a4256;
  --fond: #F2F4F7;
  --blanc:#FFFFFF;
  --rayon:14px;
  --ombre:0 10px 30px rgba(0,0,0,.08);
}

/* --- Layout pour footer collé en bas --- */
html, body{height:100%}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding:0;
  min-height:100%;
  display:flex;             /* colonne: entête, contenu, pied */
  flex-direction:column;
  color:var(--noir);
  background:var(--fond);
}

/* Le <main> s’étire et pousse le footer en bas */
.principal{
  display:block;
  flex:1 0 auto;
}

/* Utilitaires & styles généraux */
a{color:var(--couleur);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.conteneur{max-width:1100px;margin:0 auto;padding:0 16px}
.sr-only{position:absolute!important;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}

.hero{padding:64px 0;text-align:center;background:linear-gradient(180deg,#fff, #eef6ff)}
.hero .cta{display:inline-block;margin-top:12px;background:var(--couleur);color:#fff;padding:12px 18px;border-radius:999px;box-shadow:var(--ombre)}

.carte{background:var(--blanc);border-radius:var(--rayon);padding:16px;box-shadow:var(--ombre)}
.alerte{padding:10px 12px;border-radius:10px;margin:0 0 10px}
.alerte.ok{background:#e6f7ed;color:#126b2e}
.alerte.erreur{background:#ffecec;color:#8b1b1b}

.btn{display:inline-flex;gap:8px;align-items:center;background:var(--couleur);color:#fff;border:0;border-radius:10px;padding:10px 14px;cursor:pointer}
.btn:hover{filter:brightness(1.05)}

label{display:block;margin:.5rem 0 .25rem}
input[type="email"],
input[type="password"],
input[type="text"]{width:100%;padding:10px;border-radius:10px;border:1px solid #d9deea;background:#fff}

ul.points{padding-left:0;list-style:none}
ul.points li{margin:6px 0}
