/* Fenêtre modale de la liste d'attente : carte centrée, fond assombri, entrée douce. */
.dialogue { width: min(640px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); margin: auto; padding: 0; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--trait); border-radius: 20px; background: var(--surface); color: var(--texte); box-shadow: 0 30px 80px -24px rgba(26, 22, 37, 0.45), 0 2px 6px rgba(26, 22, 37, 0.08); }
.dialogue::backdrop { background: rgba(26, 22, 37, 0.55); }
:root[data-theme="dark"] .dialogue { box-shadow: 0 30px 80px -24px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(255, 255, 255, 0.04); }
:root[data-theme="dark"] .dialogue::backdrop { background: rgba(5, 4, 12, 0.65); }
.dialogue[open] { animation: dialogue-entree 200ms ease-out; }
@keyframes dialogue-entree { from { opacity: 0; transform: translateY(12px) scale(0.98); } to { opacity: 1; transform: none; } }
.dialogue-tete { position: relative; padding: 28px 64px 20px 24px; border-bottom: 1px solid var(--trait); }
.dialogue-tete h2 { margin: 0; font-family: inherit; font-size: 1.5rem; line-height: 1.25; }
.dialogue-tete p { margin: 8px 0 0; color: var(--texte-attenue); }
.dialogue-fermer { position: absolute; top: 16px; right: 16px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--texte); cursor: pointer; transition: background-color 150ms; }
.dialogue-fermer:hover { background: var(--surface-2); }
.dialogue-fermer:focus-visible { outline: 2px solid var(--marque); outline-offset: 2px; }
.dialogue-fermer svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.dialogue-corps { padding: 24px; }
.dialogue .succes { padding: 4px 0; }
.dialogue .succes .actions-succes { display: flex; flex-wrap: wrap; gap: 12px; }
html.dialogue-ouvert { overflow: hidden; scrollbar-gutter: stable; }
@media (min-width: 768px) { .dialogue-tete { padding: 32px 72px 24px 32px; } .dialogue-corps { padding: 28px 32px 32px; } }
@media (max-width: 559px) { .dialogue { width: calc(100% - 16px); max-height: calc(100dvh - 32px); } }
@media (prefers-reduced-motion: reduce) { .dialogue[open] { animation: none; } .dialogue-fermer { transition: none; } }
