/* =======================================================================
   Système de thème clair / sombre — partagé par TOUTES les pages du site
   (bouton de bascule, palette sombre, vignette des images en mode sombre)
   ======================================================================= */

/* Accent gris (remplace l'accent d'origine du template) */
:root { --accent-color: #4d4d4d; --accent-bright: rgba(255, 255, 255, 0.5); }

/* Sécurité anti-débordement horizontal (mobile) — sur .main uniquement.
   NE PAS mettre overflow sur html/body : ça crée un conteneur de scroll qui
   empêche ScrollTrigger/GSAP de lire la position de défilement. */
.main { overflow-x: clip; }

/* ---- Mode sombre (par défaut) — palette proche d'inesberger.ch, accent gris ---- */
html[data-theme="dark"] {
  --accent-color: #b3b3b3;
  --background-color: #262626;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #000000;
  --contrast-color: #000000;
  --nav-color: #ffffff;
  --nav-hover-color: #d5d8dc;
  --nav-mobile-background-color: #000000;
  --nav-dropdown-background-color: #000000;
  --nav-dropdown-color: #ffffff;
  --nav-dropdown-hover-color: #000000;
}
html[data-theme="dark"] .light-background {
  --background-color: #060606;
  --surface-color: #000000;
}
html[data-theme="dark"] .dark-background {
  --background-color: #1a1a1a;
  --default-color: #ffffff;
  --heading-color: #ffffff;
  --surface-color: #000000;
  --contrast-color: #ffffff;
}

/* ---- Bouton de bascule de thème ---- */
.theme-toggle {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1000;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--default-color), transparent 65%);
  background: color-mix(in srgb, var(--background-color), transparent 8%);
  color: var(--default-color);
  font-size: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: color .3s ease, border-color .3s ease, background .3s ease;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.theme-toggle:hover { color: var(--accent-color); border-color: var(--accent-color); }

/* Sur mobile/tablette : à gauche du menu hamburger (qui est en haut à droite) */
@media (max-width: 1199px) {
  #theme-toggle.theme-toggle { top: 15px; right: 72px; width: 40px; height: 40px; font-size: 17px; }
}

/* ---- Vignette sombre sur les images (UNIQUEMENT en mode sombre) ----
   Adoucit la transition entre les bords blancs des images et le fond sombre. */
html[data-theme="dark"] .swiper-slide,
html[data-theme="dark"] .news-card,
html[data-theme="dark"] .news-details-slider .swiper-slide {
  position: relative;
}
html[data-theme="dark"] .swiper-slide::after,
html[data-theme="dark"] .news-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 45px 14px rgba(0, 0, 0, 0.6);
  z-index: 2;
}
