/**
 * SweetAlert2 — thème Elzet
 *
 * Surcharge le style par défaut de SweetAlert2 pour matcher la charte du
 * site (palette elzet-primary/dark/accent/cream + typo Playfair/Inter +
 * border-radius doux + ombre subtile). Inclus dans le layout après le
 * CSS original de SweetAlert pour que les surcharges priment.
 *
 * Couvre les modaux confirm/error/success/warning/info/question + toasts
 * (Swal.fire avec toast: true) déjà utilisés dans Mediatheque, catalogue,
 * tunnel de réservation, etc.
 */

:root {
    --elzet-primary: #2D4632;
    --elzet-dark: #1A2E22;
    --elzet-accent: #C5A880;
    --elzet-cream: #F9F7F2;
}

/* ---------- Popup container ---------- */

.swal2-popup {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
    border-radius: 16px !important;
    border: 1px solid rgba(45, 70, 50, 0.08) !important;
    box-shadow: 0 20px 60px -10px rgba(26, 46, 34, 0.25),
                0 8px 20px -8px rgba(26, 46, 34, 0.12) !important;
    padding: 1.75rem 1.5rem !important;
}

.swal2-backdrop-show {
    background: rgba(26, 46, 34, 0.55) !important;
}

/* ---------- Titre + texte ---------- */

.swal2-title {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--elzet-dark) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
    padding: 0.5rem 0 0.75rem 0 !important;
}

.swal2-html-container,
.swal2-content {
    color: #4a5246 !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin: 0 0 1rem 0 !important;
}

.swal2-input,
.swal2-textarea,
.swal2-select {
    border: 1px solid #d1d5db !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    padding: 0.6rem 0.85rem !important;
    box-shadow: none !important;
    transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
.swal2-input:focus,
.swal2-textarea:focus,
.swal2-select:focus {
    border-color: var(--elzet-primary) !important;
    box-shadow: 0 0 0 3px rgba(45, 70, 50, 0.18) !important;
    outline: none !important;
}

/* ---------- Boutons ---------- */

.swal2-actions {
    gap: 0.75rem !important;
    margin-top: 1.25rem !important;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-deny,
.swal2-styled.swal2-cancel {
    border-radius: 8px !important;
    font-family: 'Inter', system-ui, sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    padding: 0.65rem 1.4rem !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.swal2-styled.swal2-confirm {
    background-color: var(--elzet-primary) !important;
    color: #fff !important;
}
.swal2-styled.swal2-confirm:hover,
.swal2-styled.swal2-confirm:focus {
    background-color: var(--elzet-dark) !important;
    box-shadow: 0 0 0 3px rgba(45, 70, 50, 0.25) !important;
}

.swal2-styled.swal2-deny {
    background-color: #b91c1c !important;
    color: #fff !important;
}
.swal2-styled.swal2-deny:hover,
.swal2-styled.swal2-deny:focus {
    background-color: #991b1b !important;
}

.swal2-styled.swal2-cancel {
    background-color: #fff !important;
    color: #4a5246 !important;
    border-color: #d1d5db !important;
}
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-cancel:focus {
    background-color: var(--elzet-cream) !important;
    border-color: var(--elzet-accent) !important;
    color: var(--elzet-dark) !important;
}

/* ---------- Icônes ---------- */

/* Success — vert Elzet plutôt que le vert vif par défaut */
.swal2-icon.swal2-success {
    border-color: var(--elzet-primary) !important;
    color: var(--elzet-primary) !important;
}
.swal2-icon.swal2-success [class^='swal2-success-line'],
.swal2-icon.swal2-success-line-tip,
.swal2-icon.swal2-success-line-long {
    background-color: var(--elzet-primary) !important;
}
.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(45, 70, 50, 0.3) !important;
}

/* Info — accent Elzet (or/beige) */
.swal2-icon.swal2-info {
    border-color: var(--elzet-accent) !important;
    color: var(--elzet-accent) !important;
}

/* Question — primary */
.swal2-icon.swal2-question {
    border-color: var(--elzet-primary) !important;
    color: var(--elzet-primary) !important;
}

/* Warning — orange chaud, plus doux que celui par défaut */
.swal2-icon.swal2-warning {
    border-color: #d97706 !important;
    color: #d97706 !important;
}

/* Error — rouge plus profond, cohérent avec les boutons deny */
.swal2-icon.swal2-error {
    border-color: #b91c1c !important;
    color: #b91c1c !important;
}
.swal2-icon.swal2-error [class^='swal2-x-mark-line'] {
    background-color: #b91c1c !important;
}

/* ---------- Toast (Swal.fire({toast: true}) ---------- */

.swal2-popup.swal2-toast {
    padding: 0.9rem 1.1rem !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px -6px rgba(26, 46, 34, 0.25) !important;
}
.swal2-popup.swal2-toast .swal2-title {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    padding: 0 !important;
}
.swal2-popup.swal2-toast .swal2-html-container {
    font-size: 0.85rem !important;
    margin: 0.25rem 0 0 0 !important;
}
.swal2-popup.swal2-toast .swal2-icon {
    margin: 0 0.6rem 0 0 !important;
}

/* Barre de progression du timer (Swal.fire({timer:N, timerProgressBar:true})) */
.swal2-timer-progress-bar {
    background: var(--elzet-accent) !important;
    height: 3px !important;
}

/* ---------- Loader ---------- */

.swal2-loading .swal2-styled.swal2-confirm {
    border-color: var(--elzet-accent) transparent var(--elzet-primary) transparent !important;
}

/* ---------- Validation message ---------- */

.swal2-validation-message {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-radius: 8px !important;
    padding: 0.6rem 0.85rem !important;
    font-size: 0.85rem !important;
}
.swal2-validation-message::before {
    background: #b91c1c !important;
}
