/* Fenêtres de confirmation personnalisées */
.ep-dialog { padding: 0; border: 0; background: transparent; max-width: calc(100vw - 32px); width: 440px; overflow: visible; color: var(--ivory, #2a1d15); }
.ep-dialog::backdrop { background: rgba(35, 15, 10, .45); backdrop-filter: blur(3px); opacity: 0; transition: opacity .18s ease; }
.ep-dialog.is-open::backdrop { opacity: 1; }
.ep-dialog-box {
  margin: 0; padding: 26px 26px 20px; border-radius: 14px; background: var(--panel, #fbf6ef);
  border: 1px solid var(--line, #dac7b0); box-shadow: 0 30px 70px -25px rgba(40, 15, 10, .55);
  transform: translateY(10px) scale(.98); opacity: 0; transition: transform .2s cubic-bezier(.2, .7, .2, 1), opacity .18s ease;
}
.ep-dialog.is-open .ep-dialog-box { transform: none; opacity: 1; }
.ep-dialog-title { margin: 0 0 8px; font-family: var(--serif, Georgia, serif); font-size: 1.45rem; font-weight: 500; line-height: 1.2; color: var(--ivory, #2a1d15); }
.ep-dialog-msg { margin: 0 0 18px; font-family: var(--sans, system-ui, sans-serif); font-size: 1rem; line-height: 1.55; color: var(--text-soft, #46362a); white-space: pre-line; }
.ep-dialog-msg:empty { display: none; }
.ep-dialog-input {
  display: block; width: 100%; margin: 0 0 18px !important; padding: 12px 13px !important; border: 1px solid var(--line-strong, #bf9f78) !important;
  border-radius: 8px !important; background: #fffaf3 !important; font: 400 1rem var(--sans, system-ui, sans-serif); color: var(--ivory, #2a1d15);
}
.ep-dialog-input:focus { outline: none; border-color: var(--accent, #9b2335) !important; box-shadow: 0 0 0 3px rgba(155, 35, 53, .14) !important; }
.ep-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.ep-dialog-btn {
  min-height: 44px; padding: 11px 20px; border-radius: 8px; cursor: pointer;
  font: 600 .8rem/1 var(--sans, system-ui, sans-serif); letter-spacing: .1em; text-transform: uppercase;
  background: transparent; color: var(--ivory, #2a1d15); border: 1px solid var(--line-strong, #bf9f78); transition: background .2s, border-color .2s, color .2s;
}
.ep-dialog-btn:hover { border-color: var(--ivory, #2a1d15); }
.ep-dialog-btn:focus-visible { outline: 2px solid var(--accent, #9b2335); outline-offset: 2px; }
.ep-dialog-ok { background: var(--deep, #6e1a26); border-color: var(--deep, #6e1a26); color: var(--cream, #f5ece2); }
.ep-dialog-ok:hover { background: var(--accent, #9b2335); border-color: var(--accent, #9b2335); color: #fff; }
.ep-dialog-ok.is-danger { background: #a8453a; border-color: #a8453a; }
.ep-dialog-ok.is-danger:hover { background: #8e3329; border-color: #8e3329; }
@media (max-width: 480px) {
  .ep-dialog { width: 100%; }
  .ep-dialog-actions { flex-direction: column-reverse; }
  .ep-dialog-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ep-dialog-box, .ep-dialog::backdrop { transition: none; } }
