/*
 * Chef-BE 3.78.0 : style commun de toutes les fenêtres modales (administration et site public).
 * Chargé après les feuilles du thème (admin-panel/autoload.php, themes/chefbe/layout/container.html).
 * Les pages gardent leur balisage et leurs tailles ; ce fichier n'unifie que l'apparence :
 * voile, boîte, titre, en-tête, pied et boutons de fermeture.
 * Mode sombre : body.dark (administration), night-mode.css (site public, :root:root).
 */

:root {
    --cbm-overlay: rgba(12, 14, 20, .58);
    --cbm-bg: #ffffff;
    --cbm-fg: #1f2329;
    --cbm-muted: #6b7280;
    --cbm-line: rgba(127, 127, 127, .22);
    --cbm-hover: rgba(127, 127, 127, .14);
    --cbm-radius: 12px;
    --cbm-pad: 20px 22px;
    --cbm-shadow: 0 24px 64px rgba(0, 0, 0, .28), 0 2px 8px rgba(0, 0, 0, .12);
}
body.dark {
    --cbm-overlay: rgba(0, 0, 0, .66);
    --cbm-bg: #26272b;
    --cbm-fg: #e8e9ec;
    --cbm-muted: #a3a8b3;
    --cbm-line: rgba(255, 255, 255, .09);
    --cbm-hover: rgba(255, 255, 255, .08);
}

/* ---------- Voile ---------- */
.modal-backdrop { background: var(--cbm-overlay) !important; }
.modal-backdrop.in, .modal-backdrop.show { opacity: 1 !important; }
.dp-modal, .en-modal, .po-modal, .op-modal, .cron-modal, .ml-modal, .ck-modal, .fa-modal, .sp-modal,
.pod-modal, .cms-modal, .cbp-dialog, .cbe-pg, .ed-modal-bg, .cb_auth_box,
.swal-overlay, .swal2-container.swal2-backdrop-show {
    background: var(--cbm-overlay) !important;
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

/* ---------- Boîte ---------- */
.modal-content,
.dp-modal-box, .en-modal-box, .po-dialog, .op-modal-box, .cron-modal-box, .ml-dialog, .ck-dialog, .fa-modal-box, .sp-dialog,
.pod-modal > div, .cms-modal-box, .cbp-dialog-box, .cbe-pg-box, .pb-box, .ed-modal, .cb_auth_box .login-form,
.swal-modal, .swal2-popup {
    background: var(--cbm-bg) !important;
    color: var(--cbm-fg) !important;
    border: 1px solid var(--cbm-line) !important;
    border-radius: var(--cbm-radius) !important;
    box-shadow: var(--cbm-shadow) !important;
}
/* Boîtes simples : marge intérieure commune. Les boîtes à en-tête (lecteurs PDF, sortie de tâche) la gardent à 0. */
.dp-modal-box, .po-dialog, .op-modal-box, .cron-modal-box:not(.cron-output-box), .ml-dialog, .ck-dialog, .fa-modal-box, .sp-dialog,
.pod-modal > div, .cms-modal-box, .cbp-dialog-box, .cbe-pg-box, .pb-box {
    padding: var(--cbm-pad) !important;
}
.dp-modal-box, .en-modal-box, .po-dialog, .op-modal-box, .cron-modal-box, .ml-dialog, .ck-dialog, .fa-modal-box, .sp-dialog,
.pod-modal > div, .cms-modal-box, .cbp-dialog-box, .cbe-pg-box, .pb-box, .ed-modal {
    animation: cbm-in .16s ease-out;
}
@keyframes cbm-in { from { opacity: 0; transform: translateY(8px) scale(.985); } }
@media (prefers-reduced-motion: reduce) {
    .dp-modal-box, .en-modal-box, .po-dialog, .op-modal-box, .cron-modal-box, .ml-dialog, .ck-dialog, .fa-modal-box, .sp-dialog,
    .pod-modal > div, .cms-modal-box, .cbp-dialog-box, .cbe-pg-box, .pb-box, .ed-modal { animation: none; }
}

/* ---------- Titre ---------- */
.modal-title,
.po-dialog > h4, .ml-dialog > h4, .ck-dialog > h4, .sp-dialog > h4, .fa-modal-box > h4,
.op-modal-box > h5, .cron-modal-box > h5, .cron-modal-head h5, .dp-modal-h h5, .en-modal-head .en-modal-titre,
.pod-modal-head h2, .ed-modal-head h3, .ed-modal-head h2,
.swal-title, .swal2-title {
    font-family: inherit !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: inherit !important;
}
.po-dialog > h4, .ml-dialog > h4, .ck-dialog > h4, .sp-dialog > h4, .fa-modal-box > h4,
.op-modal-box > h5, .cron-modal-box > h5 { margin: 0 0 12px !important; padding-right: 36px; }
.modal-content .modal-title { margin: 0 !important; }
.po-modal-sub, .sp-sub, .fa-modal-box > p, .dp-m-meta { color: var(--cbm-muted) !important; opacity: 1 !important; }

/* ---------- En-tête ---------- */
.modal-content > .modal-header, .modal.matdialog .modal-header {
    display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
    padding: 18px 22px 6px !important; margin: 0 !important;
    border: 0 !important; background: transparent !important;
}
.modal-header:before, .modal-header:after { content: none !important; }
.dp-modal-h, .pod-modal-head { align-items: center !important; gap: 12px; margin-bottom: 12px !important; }
.dp-modal-h h5, .pod-modal-head h2 { margin: 0 !important; }
.en-modal-head, .cron-modal-head, .ed-modal-head {
    padding: 14px 18px !important; gap: 12px;
    border-bottom: 1px solid var(--cbm-line) !important;
}

/* ---------- Contenu ---------- */
.modal-content > .modal-body, .modal.matdialog .modal-body { padding: 10px 22px 16px !important; margin: 0 !important; }
.modal.matdialog .modal-content { padding: 0 !important; height: auto !important; }

/* ---------- Pied et actions ---------- */
.modal-content > .modal-footer, .modal.matdialog .modal-footer {
    display: flex !important; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 8px;
    padding: 6px 22px 18px !important; margin: 0 !important;
    border: 0 !important; background: transparent !important; color: inherit !important;
}
.modal-footer:before, .modal-footer:after { content: none !important; }
.modal-footer > * { margin: 0 !important; }
.po-modal-actions, .ml-modal-actions, .ck-modal-actions, .fa-modal-actions, .cron-modal-actions, .ed-modal-actions,
.op-modal-box .cbe-actions {
    display: flex !important; justify-content: flex-end !important; align-items: center; flex-wrap: wrap;
    gap: 8px !important; margin-top: 18px !important;
}
.cron-output-box .cron-modal-actions { margin-top: 0 !important; padding: 12px 18px !important; border-top: 1px solid var(--cbm-line); }
.po-modal-msg, .ml-modal-msg, .ck-modal-msg { color: #d9534f !important; }

/* ---------- Bouton de fermeture ---------- */
.modal-header .close, .modal-header .btn-close, .sp-x, .cms-x,
.dp-modal-h [data-act="fermer"], .en-modal-actions [data-close], .ed-modal-close, .cbe-login-close {
    width: 32px !important; height: 32px !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important;
    display: inline-flex !important; align-items: center; justify-content: center; flex: none;
    border: 0 !important; border-radius: 8px !important; background: transparent !important;
    color: inherit !important; opacity: .7 !important; text-shadow: none !important;
    font-size: 20px !important; line-height: 1 !important; text-decoration: none !important; float: none !important;
    cursor: pointer;
}
.modal-header .close:hover, .modal-header .btn-close:hover, .sp-x:hover, .cms-x:hover,
.dp-modal-h [data-act="fermer"]:hover, .en-modal-actions [data-close]:hover, .ed-modal-close:hover, .cbe-login-close:hover {
    opacity: 1 !important; background: var(--cbm-hover) !important;
}
.sp-x, .cms-x, .cbe-login-close { position: absolute !important; top: 12px !important; right: 12px !important; }

/* ---------- SweetAlert ---------- */
.swal-text, .swal2-html-container, .swal2-content { color: var(--cbm-muted) !important; }
.swal-footer { text-align: right; }

/* ---------- Petits écrans ---------- */
@media (max-width: 576px) {
    .dp-modal, .en-modal, .po-modal, .op-modal, .cron-modal, .ml-modal, .ck-modal, .fa-modal, .sp-modal,
    .pod-modal, .cms-modal, .cbp-dialog, .cbe-pg { padding: 10px !important; }
    .dp-modal-box, .po-dialog, .op-modal-box, .cron-modal-box:not(.cron-output-box), .ml-dialog, .ck-dialog, .fa-modal-box, .sp-dialog,
    .pod-modal > div, .cms-modal-box, .cbp-dialog-box, .cbe-pg-box, .pb-box { padding: 16px !important; }
    .modal-content > .modal-header, .modal.matdialog .modal-header { padding: 16px 16px 4px !important; }
    .modal-content > .modal-body, .modal.matdialog .modal-body { padding: 8px 16px 14px !important; }
    .modal-content > .modal-footer, .modal.matdialog .modal-footer { padding: 4px 16px 16px !important; }
}
