/* ============================================================
   Menu Scoring — responsive, 100% CSS (aucun JavaScript)
   Desktop : barre horizontale + sous-menus au survol
   Mobile  : bouton hamburger (case à cocher CSS) + sous-menus dépliés
   ============================================================ */
:root{
  --sx-bg:#1e3a5f;
  --sx-bg-hover:#2b517f;
  --sx-accent:#2f6fb3;
  --sx-text:#ffffff;
  --sx-sub-bg:#ffffff;
  --sx-sub-text:#1f2d3d;
  --sx-sub-hover:#eef3f9;
}
.sx-header,.sx-header *{box-sizing:border-box;}
.sx-header{
  background:var(--sx-bg);
  font-family:Arial,Helvetica,sans-serif;
  margin:0 0 18px 0;
}
.sx-header a{text-decoration:none;color:var(--sx-text);}
.sx-bar{display:flex;align-items:center;justify-content:space-between;}
.sx-brand{
  font-size:20px;font-weight:bold;letter-spacing:.5px;
  padding:14px 18px;white-space:nowrap;
}
.sx-toggle{position:absolute;left:-9999px;}        /* case à cocher masquée */
.sx-burger{display:none;font-size:26px;line-height:1;cursor:pointer;padding:14px 18px;}
.sx-nav>ul{list-style:none;margin:0;padding:0;}
.sx-nav>ul>li{position:relative;}
.sx-nav a{display:block;padding:16px 18px;font-size:15px;}
.sx-nav>ul>li>a:hover{background:var(--sx-bg-hover);}
.sx-nav ul ul{
  list-style:none;margin:0;padding:6px 0;
  position:absolute;top:100%;left:0;min-width:230px;
  background:var(--sx-sub-bg);
  box-shadow:0 10px 28px rgba(0,0,0,.20);
  border-radius:0 0 6px 6px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .15s ease,transform .15s ease,visibility .15s;
  z-index:1000;
}
.sx-nav ul ul a{color:var(--sx-sub-text);padding:11px 18px;font-size:14px;}
.sx-nav ul ul a:hover{background:var(--sx-sub-hover);color:var(--sx-accent);}
.sx-nav>ul>li:hover>ul,
.sx-nav>ul>li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0);}

/* ---------- Desktop : barre horizontale ---------- */
@media(min-width:769px){
  .sx-header{display:flex;align-items:center;}
  .sx-bar{flex:0 0 auto;}
  .sx-nav{flex:1 1 auto;}
  .sx-nav>ul{display:flex;justify-content:flex-end;}
}

/* ---------- Mobile : menu hamburger déplié ---------- */
@media(max-width:768px){
  .sx-burger{display:block;}
  .sx-nav{display:none;}
  .sx-toggle:checked ~ .sx-nav{display:block;}
  .sx-nav>ul>li>a{border-top:1px solid rgba(255,255,255,.10);}
  .sx-nav ul ul{
    position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border-radius:0;min-width:0;
    background:rgba(0,0,0,.18);padding:0;
  }
  .sx-nav ul ul a{color:var(--sx-text);padding-left:38px;}
  .sx-nav ul ul a:hover{background:rgba(255,255,255,.10);color:var(--sx-text);}
}

/* ============================================================
   Ajustements desktop
   ============================================================ */

/* Tableaux de données : bordures garanties (indépendant du mode de rendu).
   Réaffirme ce que fait déjà style.css, au cas où. */

/* Le sous-menu le plus à droite (Session) s'ouvre vers la gauche afin que
   « Créer un compte » reste entièrement visible, sans déborder de l'écran. */
@media(min-width:769px){
  .sx-nav>ul>li:last-child>ul{left:auto;right:0;}
}

/* Colle la page au bord supérieur/gauche : neutralise la marge par défaut du
   navigateur, qui provoquait un léger décalage en haut de l'écran. */
html,body{margin:0;padding:0;}

/* ============================================================
   Mises en forme rapatriées de style.css — thème clair (sans le doré),
   sans interférer avec le menu (.sx-*).
   ============================================================ */

/* Typographie de base du contenu */
body{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:12px;color:#122129;}
img{border:none;}
h1,h2,h3{color:#1e3a5f;}
p{margin:5px;line-height:1.5;color:#122129;}
#page{width:800px;max-width:100%;height:auto;margin:auto;}

/* Tableaux de données */
table{font-size:12px;border-collapse:collapse;}
td{text-align:left;border:1px solid #000;padding:4px 8px;}
th{padding:5px;text-align:center;font-weight:bold;background:#eef3f9;}
.titrage td{text-align:center;font-weight:bold;background:#eef3f9;border:1px solid #000;}
.tableau1 td{border:1px solid #000;color:#000;}
.tableau5 .tr_1{background:#f2f2f2;border:1px solid #000;}
.tableau5 .tr_2{background:#e8ecf3;border:1px solid #000;}
.tableau5 .tr_3{background:transparent;border:1px solid #000;}
.tableau6 td{background:#f9f9f9;border:1px solid #333;color:#222;padding:8px;text-align:center;}

/* Tableaux de disposition de formulaire (sans bordure) */
.tableau2 td{border:0;vertical-align:middle;padding:4px 6px;color:#000;}
.tableau3 td{border:0;vertical-align:top;padding:4px 6px;color:#000;}
.tableau4 td{border:0;vertical-align:top;padding:4px 6px;}

/* Champs de formulaire */
input[type=text],input[type=password],input[type=date],input[type=number],select,textarea{
  font-family:inherit;font-size:13px;padding:4px 6px;
  border:1px solid #b9c0c9;border-radius:4px;background:#fff;color:#122129;
}
input[type=text]:focus,input[type=password]:focus,select:focus,textarea:focus{
  outline:none;border-color:#2f6fb3;box-shadow:0 0 0 2px rgba(47,111,179,.15);
}
input[type=submit],button{
  font-family:inherit;font-size:13px;padding:6px 16px;cursor:pointer;
  color:#fff;background:#1e3a5f;border:0;border-radius:4px;
}
input[type=submit]:hover,button:hover{background:#2b517f;}