/**
 * OpenFit — Modal global (alert/confirm).
 * Style aligné sur ofa-reserve-modal (single-activity.php).
 */
.ofa-modal {
    position: fixed;
    inset: 0;
    z-index: 9999; /* au-dessus de la nav fixe et du calendrier */
}

.ofa-modal.hidden { display: none; }

.ofa-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.ofa-modal-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    pointer-events: none;
}

.ofa-modal-box {
    background: #fff;
    border-radius: var(--radius-xl, 16px);
    box-shadow: 0 30px 80px rgba(39, 32, 24, 0.22);
    max-width: 440px;
    width: 100%;
    padding: 28px;
    pointer-events: auto;
    animation: ofa-modal-pop 0.16s ease-out;
}

@keyframes ofa-modal-pop {
    from { opacity: 0; transform: translateY(8px) scale(0.98); }
    to   { opacity: 1; transform: none; }
}

.ofa-modal-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 16px;
    color: var(--ink, #1f1a14);
}

.ofa-modal-body {
    font-size: 0.92rem;
    color: var(--muted, #6b6257);
    margin-bottom: 22px;
    padding: 16px;
    background: var(--bg, #f7f4ef);
    border-radius: var(--radius-md, 10px);
    line-height: 1.65;
    word-break: break-word;
}

.ofa-modal-body p { margin: 0; }

.ofa-modal-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

/* Bouton destructif (suppression / annulation) */
.ofa-modal .ofa-btn-danger {
    background: #c0392b;
    border-color: #c0392b;
    color: #fff;
}
.ofa-modal .ofa-btn-danger:hover {
    background: #a93226;
    border-color: #a93226;
}
