/*
 * ActiveFoot — Theme toggle
 * Lot 11c3
 * Public/mobile : bouton flottant discret en bas à gauche.
 * Admin desktop / superadmin desktop : bouton intégré dans le panneau latéral.
 */
.af-theme-toggle{
  position:fixed;
  left:max(14px, env(safe-area-inset-left));
  right:auto;
  bottom:max(16px, env(safe-area-inset-bottom));
  z-index:2147483000;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  padding:8px 12px;
  border:1px solid var(--af-border-green, rgba(34,197,94,.34));
  border-radius:999px;
  background:var(--af-bg-elevated, #131A24);
  color:var(--af-text-main, #E2EAF5);
  box-shadow:var(--af-shadow-soft, 0 18px 55px rgba(0,0,0,.25));
  font-family:var(--af-font-body, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
  font-size:12px;
  font-weight:800;
  line-height:1;
  letter-spacing:.02em;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, opacity .16s ease;
}
.af-theme-toggle:hover{
  transform:translateY(-1px);
  border-color:var(--af-green, #22C55E);
  box-shadow:var(--af-shadow-strong, 0 24px 80px rgba(0,0,0,.35));
}
.af-theme-toggle:active{transform:translateY(0) scale(.98)}
.af-theme-toggle:focus-visible{
  outline:none;
  box-shadow:var(--af-focus-ring, 0 0 0 3px rgba(34,197,94,.22)), var(--af-shadow-soft, 0 18px 55px rgba(0,0,0,.25));
}
.af-theme-toggle__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  font-size:15px;
  line-height:1;
}
.af-theme-toggle__label{white-space:nowrap}
.af-theme-toggle__state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:4px 7px;
  border-radius:999px;
  background:var(--af-bg-green-soft, rgba(34,197,94,.10));
  color:var(--af-green, #22C55E);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.08em;
}
html[data-af-theme="light"] .af-theme-toggle{
  background:var(--af-bg-elevated, #F8FBFE);
  color:var(--af-text-main, #172033);
  border-color:var(--af-border-green, rgba(22,163,74,.30));
}
html[data-af-theme-choice="system"] .af-theme-toggle__state{
  color:var(--af-blue, #4DA6FF);
  background:var(--af-bg-blue-soft, rgba(77,166,255,.12));
}

/* Intégration propre dans les panneaux latéraux admin desktop */
.af-theme-toggle--embedded{
  position:static;
  left:auto;
  right:auto;
  bottom:auto;
  z-index:auto;
  width:100%;
  min-width:0;
  min-height:38px;
  justify-content:flex-start;
  padding:9px 12px;
  margin:0 0 10px;
  box-shadow:none;
  opacity:1;
}
.af-theme-toggle--embedded:hover{
  box-shadow:none;
}
.af-theme-toggle--embedded .af-theme-toggle__state{
  margin-left:auto;
}
.sidebar-footer{
  flex-wrap:wrap;
  row-gap:8px;
}
.sidebar-footer .af-theme-toggle--embedded{
  order:-1;
  flex:1 0 100%;
}
.sa-sidebar-foot .af-theme-toggle--embedded{
  display:flex;
  width:100%;
}

@media (max-width: 720px){
  .af-theme-toggle:not(.af-theme-toggle--embedded){
    left:max(10px, env(safe-area-inset-left));
    right:auto;
    bottom:max(12px, env(safe-area-inset-bottom));
    width:42px;
    min-width:42px;
    height:42px;
    min-height:42px;
    padding:0;
    gap:0;
    opacity:.92;
  }
  .af-theme-toggle:not(.af-theme-toggle--embedded) .af-theme-toggle__label,
  .af-theme-toggle:not(.af-theme-toggle--embedded) .af-theme-toggle__state{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
  }
}
@media print{
  .af-theme-toggle{display:none!important}
}
