/* 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: #786976; }
.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; } }

/* Bloc « Recevoir les e-mails sur » (fenêtre du guide et page Notifications) */
.guide-adresse { margin: 0; padding: 0.75rem 0.875rem; border: 0.0625rem solid var(--wsh-border-soft); border-radius: 0.875rem; display: flex; flex-direction: column; gap: 0.4375rem; }
.guide-adresse legend { padding: 0 0.25rem; font-size: 0.71875rem; font-weight: 700; color: var(--wsh-primary); }
.guide-radio { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78125rem; color: #4f454d; cursor: pointer; }
.guide-radio input { accent-color: var(--wsh-primary); margin: 0; }
.guide-radio em { font-style: normal; color: #786976; }
.guide-adresse-autre { display: flex; gap: 0.5rem; margin-left: 1.375rem; }
.guide-adresse-autre[hidden] { display: none; }
.guide-adresse-autre input { flex: 1; min-width: 0; padding: 0.5rem 0.75rem; border: 0.0625rem solid var(--wsh-border); border-radius: 0.625rem; font: inherit; font-size: 0.8125rem; }
.guide-adresse-ok { padding: 0.5rem 0.875rem; border: 0; border-radius: 62.4375rem; background: var(--wsh-primary); color: #fff; font: inherit; font-size: 0.75rem; font-weight: 600; cursor: pointer; }
.guide-adresse-ok:hover { background: var(--wsh-primary-light); }
.notif-ligne-extra { grid-column: 1 / -1; }

@media (max-width: 640px) { .guide-adresse-autre { flex-direction: column; margin-left: 0; } }
