/* ============================================
   Styles specifiques de l'application restit_sepsis
   - Palette : voir atih-tokens.css (charge en premier)
   - Couleurs Bootstrap : var(--bs-primary), var(--bs-info), etc.
   - Couleurs DevKit  : var(--primary-100), var(--smr-100), --medium-100, etc.
   - Police de base + typo : fournies par bslib (bs_theme + DMSans-font.css)
   AUCUNE valeur hex hardcodee ici.
   ============================================ */

/* ============================================
   Classes utilitaires partagees
   ============================================ */

.summary-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.summary-text {
  margin: 0;
  font-size: 14px;
  color: var(--medium-100);
}

.switch-wrapper {
  font-size: 14px;
  color: var(--medium-100);
}

.switch-wrapper .form-group {
  margin-bottom: 0;
}

/* ============================================
   Navbar (style ATIH-DEVKIT)
   - fond blanc, 80px de haut
   - items en font-weight 600
   - lien actif souligne 4px en primaire teal
   ============================================ */

.navbar {
  background-color: var(--white) !important;
  min-height: 80px;
  border-bottom: 1px solid var(--medium-200);
  padding: 0 1rem;
}

.navbar .navbar-brand {
  height: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 32px 0 0;
  padding: 0;
  color: var(--dark-100);
}

.navbar .navbar-brand .navbar-logo {
  height: 45px;
  width: auto;
}

.navbar .navbar-brand .navbar-title {
  font-size: 18px;
  line-height: 24px;
  font-weight: 600;
  color: var(--dark-100);
  text-transform: none;
}

.navbar .navbar-nav .nav-link {
  font-size: 15px;
  line-height: 22.5px;
  font-weight: 600;
  color: var(--dark-100);
  padding: 0.75rem 1rem;
  margin: 0 6px;
  border-bottom: 4px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:focus {
  color: var(--primary-000);
  border-bottom-color: var(--secondary-100);
}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link[aria-current="page"] {
  color: var(--dark-100);
  border-bottom-color: var(--bs-primary);
  background-color: transparent;
}

.navbar .navbar-user-info {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--medium-100);
  font-size: 14px;
}

.navbar .navbar-user-info .user-label {
  font-weight: 500;
}

/* ============================================
   Page d'accueil — Hero + Info (2 colonnes)
   ============================================ */

.hero-section {
  position: relative;
  min-height: 55vh;
  background-color: var(--bs-primary);
  background-image: linear-gradient(
    135deg,
    var(--primary-100) 0%,
    var(--secondary-100) 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: color-mix(in srgb, var(--white) 55%, transparent);
}

.hero-content {
  position: relative;
  z-index: 1;
  text-align: center;
  max-width: 800px;
  padding: 2rem;
  color: var(--dark-100);
}

.hero-content h1 {
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.hero-content .lead {
  opacity: 0.92;
  font-size: 1.1rem;
  margin-bottom: 1.5rem;
}

.hero-cta {
  margin-top: 1rem;
}

/* Section basse : "A propos" + "Connexion" */
.info-section {
  padding: 2.5rem 3rem;
  max-width: 1100px;
  margin: 0 auto;
}

.info-section h2 {
  font-weight: 700;
  color: var(--dark-100);
  margin-bottom: 1rem;
}

.info-section p {
  color: var(--medium-100);
  line-height: 1.55;
}

.info-section-highlight {
  background-color: var(--light-100);
  border-radius: 0.5rem;
  padding: 2rem;
  margin: 2rem 0;
}

/* Responsive */
@media (max-width: 768px) {
  .hero-section {
    min-height: 45vh;
  }

  .hero-content h1 {
    font-size: 1.8rem;
  }

  .info-section {
    padding: 2rem 1.5rem;
  }
}

/* ============================================
   Footer (style ATIH-DEVKIT)
   - fond dark-100, texte/logo blancs
   - layout flex : brand a gauche, liens a droite
   - logo ATIH passe en blanc via filter
   ============================================ */

.atih-footer {
  background-color: var(--dark-100);
  color: var(--white);
  padding: 20px 32px;
  margin-top: 32px;
}

.atih-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1400px;
  margin: 0 auto;
}

.atih-footer-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.atih-footer-logo {
  height: 24px;
  width: auto;
  filter: brightness(0) invert(1);
}

.atih-footer-copy {
  font-size: 13px;
  font-weight: 500;
  color: var(--white);
  opacity: 0.85;
}

.atih-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px;
}

.atih-footer-links a {
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.15s, color 0.15s;
}

.atih-footer-links a:hover,
.atih-footer-links a:focus {
  color: var(--secondary-100);
  border-bottom-color: var(--secondary-100);
}

/* ============================================
   Mise en page verticale
   - empeche le footer de remonter au milieu
     de l'ecran quand le contenu d'un module
     est court.
   - on force le conteneur layout_sidebar a
     occuper au minimum (viewport - navbar -
     footer) ; la sidebar bslib s'etire alors
     automatiquement et le footer reste ancre
     en bas du viewport.
   ============================================ */
.bslib-sidebar-layout {
  min-height: calc(100vh - 80px - 96px);
}
