/* Page « Notifications » */
.notif-appareil {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;
  padding: 1rem 1.125rem; margin-bottom: 1.25rem; background: var(--wsh-bg-soft); border-radius: .875rem;
}
.notif-appareil-texte { display: flex; flex-direction: column; gap: .25rem; min-width: 0; flex: 1 1 16rem; }
.notif-appareil-texte strong { font-size: .9375rem; color: var(--wsh-primary); }
.notif-appareil-texte span { font-size: .8125rem; line-height: 1.5; color: #6f646b; }
.notif-btn { flex: 0 0 auto; cursor: pointer; }
.notif-btn.wsh-btn-secondary {
  background: #fff; color: var(--wsh-primary); border: .0625rem solid var(--wsh-border); border-radius: 62.4375rem;
  padding: .6875rem 1.375rem; font: inherit; font-size: .875rem; font-weight: 500;
}
.notif-btn.wsh-btn-secondary:hover { background: var(--wsh-bg-soft); }
.notif-btn:disabled { opacity: .5; cursor: default; }
.wsh-btn-submit.notif-btn { font: inherit; font-size: .875rem; font-weight: 500; }
.notif-liste { display: flex; flex-direction: column; }
.notif-ligne {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 1.25rem;
  padding: .875rem 0; border-top: .0625rem solid var(--wsh-border-soft);
}
.notif-ligne:first-child { border-top: 0; }
.notif-ligne-texte { display: flex; flex-direction: column; gap: .1875rem; min-width: 0; }
.notif-ligne-texte strong { font-size: .875rem; font-weight: 600; color: #3f343d; }
.notif-ligne-texte span { font-size: .78125rem; line-height: 1.45; color: #8f7d8c; }
.notif-switch { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; font-size: .78125rem; color: #6b5f6b; user-select: none; }
.notif-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.notif-switch-piste {
  position: relative; flex: 0 0 auto; width: 2.375rem; height: 1.375rem; border-radius: 999px;
  background: #d9cfd6; transition: background .2s ease;
}
.notif-switch-piste::after {
  content: ''; position: absolute; top: .1875rem; left: .1875rem; width: 1rem; height: 1rem; border-radius: 50%;
  background: #fff; box-shadow: 0 .0625rem .1875rem rgba(0,0,0,.25); transition: transform .2s ease;
}
.notif-switch input:checked + .notif-switch-piste { background: var(--wsh-primary); }
.notif-switch input:checked + .notif-switch-piste::after { transform: translateX(1rem); }
.notif-switch input:focus-visible + .notif-switch-piste { outline: .125rem solid var(--wsh-primary-light); outline-offset: .125rem; }
.notif-switch input:disabled + .notif-switch-piste { opacity: .55; }
.notif-switch input:disabled ~ .notif-switch-lib { opacity: .6; }
.notif-switch-lib { min-width: 4.75rem; }
@media (max-width: 640px) {
  .notif-ligne { grid-template-columns: 1fr 1fr; gap: .75rem 1rem; }
  .notif-ligne-texte { grid-column: 1 / -1; }
  .notif-switch-lib { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) { .notif-switch-piste, .notif-switch-piste::after { transition: none; } }
