/* ==================================== */
/* STRUCTURE ACCESSIBLE (A11Y-16)       */
/* ==================================== */
/* Feuille commune aux quatre apps GoFast, liée par chaque page d'entrée.
   Lien d'évitement (RGAA 12.7, WCAG 2.4.1) : premier élément focalisable de la
   page, il mène au contenu principal (#main-area). Masqué visuellement tant
   qu'il n'a pas le focus, affiché en haut à gauche dès qu'il l'a. Toujours en
   position absolue : hors du flux, il ne prend aucune place dans la mise en
   page du <body> (sidebar + zone principale). */

.skip-link {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3000; /* au-dessus des modales (1100) et du bandeau de démarrage (2000) */
  padding: 8px 16px;
  background: var(--bg-canvas);
  color: var(--text-primary);
  border: 2px solid var(--accent-primary-hover);
  border-radius: var(--border-radius-md);
  font-weight: 600;
  text-decoration: underline;
}

.skip-link:not(:focus) {
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ==================================== */
/* DÉMARRAGE SANS STYLE EN LIGNE        */
/* ==================================== */
/* SEC-10 : la CSP de GoFast n'admet plus d'attribut style dans le HTML
   (style-src 'self'). */

/* Message affiché sans JavaScript (<noscript>, SEO-09), au niveau du bandeau
   de démarrage (2000) ; valeurs de repli si design-system.css manque. */
.noscript-banner {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2000;
  padding: 12px 16px;
  background: var(--bg-canvas, #FFFFFF);
  color: var(--text-primary, #1A1A1A);
  border-bottom: 3px solid var(--accent-danger, #C45C5C);
  font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-align: center;
}

/* Élément masqué au départ : la classe ne sert qu'au premier rendu.
   shared/js/core/initial-hidden.js la remplace par style.display = 'none'
   (CSSOM, admis par la CSP), que le code des apps bascule ensuite.
   !important, comme l'ancien style en ligne, l'emporte sur les règles
   d'affichage. */
.js-initially-hidden {
  display: none !important;
}

/* ==================================== */
/* COPIES POUR LE DÉPLOIEMENT           */
/* ==================================== */
/* Copies à l'identique de .visually-hidden (Senologie/css/sein.css) et du
   pied légal (shared/css/layout.css), règles d'origine gardées. Cette feuille,
   nouvelle, n'est jamais en cache : la copie protège le premier rendu tant
   qu'un ancien sein.css ou un ancien layout.css l'est (décision D2, cache
   d'1 h). */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.legal-footer {
  font-size: 12px;
  color: var(--text-secondary);
}

.legal-footer p {
  margin: 0 0 6px;
}

.legal-footer a {
  color: var(--text-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legal-footer a:hover {
  color: var(--accent-primary);
}
