/* ========================================
   PHRASEOPÉDIA - THÈME SOMBRE BLEU NUIT
   Version 4.0 - Palette bleu nuit / gris clair
======================================== */

/* ----------------------------------------
   1. VARIABLES CSS (Dark Theme par défaut)
---------------------------------------- */
:root {
    --bg-primary: #0d1117;
    --bg-secondary: #161b22;
    --bg-tertiary: #1c2333;
    --bg-card: #131a27;
    --border-color: #2a3545;
    --text-primary: #d0d7de;
    --text-secondary: #8b949e;
    --text-muted: #6e7681;
    --text-white: #f0f3f6;
    --text-black: #0d1117;
    --accent-color: #4a9eff;
    --accent-hover: #79b8ff;
    --btn-primary-bg: #2563eb;
    --btn-primary-hover: #3b82f6;
    --btn-secondary-bg: #2a3545;
    --btn-secondary-hover: #3d4f65;
    --btn-outline-bg: transparent;
    --btn-outline-border: #4a9eff;
    --btn-outline-hover-bg: #1e3a5f;
    --success-bg: #0d2818;
    --success-border: #1a7f37;
    --success-text: #56d364;
    --success-btn: #238636;
    --success-btn-hover: #2ea043;
    --danger-bg: #2d1117;
    --danger-border: #7d2828;
    --danger-text: #f47067;
    --danger-btn: #c93c37;
    --danger-btn-hover: #da4a45;
    --warning-bg: #2a2111;
    --warning-border: #7a5e1e;
    --warning-text: #e3b341;
    --info-bg: #0d2035;
    --info-border: #1f6feb;
    --info-text: #58a6ff;
}

/* ----------------------------------------
   2. UTILITAIRES GLOBAUX
---------------------------------------- */

.cke_notification,
.cke_notification_warning { display: none !important; }

.cke_top, .cke_bottom { background: #1c2333 !important; border-color: #2a3545 !important; }
.cke_chrome { border-color: #2a3545 !important; background: #131a27 !important; }
.cke_button, a.cke_combo_button { background: transparent !important; border-color: transparent !important; }
.cke_button:hover, .cke_button.cke_button_on, a.cke_combo_button:hover { background: #2a3545 !important; border-color: #3d4f65 !important; }
.cke_button_icon { filter: invert(0.8) !important; }
.cke_button_arrow { border-top-color: #8b949e !important; }
.cke_button_label, .cke_combo_text { color: #d0d7de !important; }
.cke_toolbar_separator { background-color: #2a3545 !important; }
.cke_wysiwyg_frame { background: #131a27 !important; }
.cke_path_item { color: #8b949e !important; }
.cke_path_item:hover { color: #d0d7de !important; background: #2a3545 !important; }
/* CKEditor dialog — voir section 22 */

* { border-color: var(--border-color); }

/* ----------------------------------------
   3. BASE & LAYOUT
---------------------------------------- */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.content-wrapper {
    padding: 2rem 0;
    min-height: calc(100vh - 200px);
    background-color: var(--bg-primary) !important;
}

/* ----------------------------------------
   4. TYPOGRAPHIE
---------------------------------------- */
h1, h2, h3, h4, h5, h6 { color: var(--text-primary) !important; }
h1, h2 { color: var(--text-white) !important; text-shadow: 1px 1px 3px rgba(0,0,0,0.3); }
p, span, div, li, label, small, strong, em { color: var(--text-primary) !important; }
.lead { color: var(--text-primary) !important; }
.text-muted { color: var(--text-muted) !important; }
.text-secondary { color: var(--text-secondary) !important; }
.display-1, .display-2, .display-4 { color: var(--text-white) !important; font-weight: bold; }
.display-3 { color: var(--accent-color) !important; font-weight: bold; text-shadow: none; }

/* ----------------------------------------
   5. NAVIGATION
---------------------------------------- */
.navbar { background-color: #0a1021 !important; box-shadow: 0 2px 8px rgba(0,0,0,0.5); border-bottom: 1px solid var(--border-color); }
.navbar-brand { color: var(--accent-color) !important; font-weight: 600; transition: color 0.2s ease; }
.navbar-brand:hover { color: var(--accent-hover) !important; }
.navbar .nav-link { color: var(--text-secondary) !important; transition: color 0.2s ease; }
.navbar .nav-link.active, .navbar .nav-link:hover { color: var(--text-white) !important; }
.navbar-toggler { border-color: var(--border-color); }

/* ----------------------------------------
   6. CARTES
---------------------------------------- */
.card { background-color: var(--bg-card) !important; border: 1px solid var(--border-color) !important; box-shadow: 0 2px 8px rgba(0,0,0,0.3); margin-bottom: 1.5rem; border-radius: 1rem !important; overflow: hidden; }
.card-header { background-color: var(--bg-tertiary) !important; border-bottom: 1px solid var(--border-color) !important; color: var(--text-white) !important; }
.card-body { background-color: var(--bg-card) !important; color: var(--text-primary) !important; }
.card-title, .card-text { color: var(--text-primary) !important; }
.card.border-primary .display-4, .card.border-success .display-4, .card.border-info .display-4 { color: var(--accent-color) !important; }
.card.border-primary .card-body p, .card.border-success .card-body p, .card.border-info .card-body p { color: var(--text-primary) !important; }
.card-body h5, .card-body h5 a { color: var(--text-white) !important; font-weight: 600; }
.card-body h5 a:hover { color: var(--accent-color) !important; }

/* ----------------------------------------
   7. BOUTONS
---------------------------------------- */
.btn { transition: all 0.2s ease; font-weight: 500; letter-spacing: 0.01em; }
.btn i, .btn .bi { color: inherit !important; }

.btn-primary { background-color: var(--btn-primary-bg) !important; border-color: var(--btn-primary-bg) !important; color: #ffffff !important; }
.btn-primary:hover, .btn-primary:focus { background-color: var(--btn-primary-hover) !important; border-color: var(--btn-primary-hover) !important; color: #ffffff !important; box-shadow: 0 0 0 3px rgba(37,99,235,0.3); }

.btn-outline-primary { background-color: transparent !important; border-color: var(--accent-color) !important; color: var(--accent-color) !important; }
.btn-outline-primary:hover, .btn-outline-primary:focus { background-color: var(--btn-outline-hover-bg) !important; border-color: var(--accent-hover) !important; color: #ffffff !important; }

.btn-secondary { background-color: var(--btn-secondary-bg) !important; border-color: var(--border-color) !important; color: var(--text-white) !important; }
.btn-secondary:hover, .btn-secondary:focus { background-color: var(--btn-secondary-hover) !important; border-color: var(--btn-secondary-hover) !important; color: #ffffff !important; }

.btn-outline-secondary { background-color: transparent !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
.btn-outline-secondary:hover, .btn-outline-secondary:focus { background-color: var(--btn-secondary-hover) !important; border-color: var(--btn-secondary-hover) !important; color: #ffffff !important; }

.btn-success { background-color: var(--success-btn) !important; border-color: var(--success-btn) !important; color: #ffffff !important; }
.btn-success:hover, .btn-success:focus { background-color: var(--success-btn-hover) !important; border-color: var(--success-btn-hover) !important; color: #ffffff !important; box-shadow: 0 0 0 3px rgba(35,134,54,0.3); }

.btn-danger { background-color: var(--danger-btn) !important; border-color: var(--danger-btn) !important; color: #ffffff !important; }
.btn-danger:hover, .btn-danger:focus { background-color: var(--danger-btn-hover) !important; border-color: var(--danger-btn-hover) !important; color: #ffffff !important; box-shadow: 0 0 0 3px rgba(201,60,55,0.3); }

.btn-light, .btn-outline-light { background-color: var(--btn-secondary-bg) !important; border-color: var(--border-color) !important; color: var(--text-white) !important; }
.btn-light:hover, .btn-outline-light:hover { background-color: var(--btn-secondary-hover) !important; border-color: var(--btn-secondary-hover) !important; color: #ffffff !important; }

#theme-toggle { border: 1px solid var(--border-color) !important; background-color: var(--bg-tertiary) !important; color: var(--text-primary) !important; padding: 0.375rem 0.75rem; border-radius: 0.25rem; }
#theme-toggle:hover { background-color: var(--bg-secondary) !important; }
#theme-toggle i { color: var(--text-primary) !important; font-size: 1.1rem; }

/* ----------------------------------------
   8. FORMULAIRES
---------------------------------------- */
.form-control, .form-select, textarea,
input[type="text"], input[type="email"], input[type="password"], input[type="number"], select {
    background-color: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}
.form-control:focus, .form-select:focus, textarea:focus { background-color: var(--bg-tertiary) !important; border-color: var(--accent-color) !important; color: var(--text-primary) !important; box-shadow: 0 0 0 0.2rem rgba(74,158,255,0.25); }
.form-control::placeholder, textarea::placeholder, input::placeholder { color: var(--text-muted) !important; }
.form-label { color: var(--text-primary) !important; font-weight: 500; }
.form-check-input { background-color: var(--bg-secondary) !important; border: 1px solid var(--border-color) !important; }
.form-check-input:checked { background-color: var(--accent-color) !important; border-color: var(--accent-color) !important; }
.form-check-label { color: var(--text-primary) !important; }
select.form-select option { background-color: var(--bg-secondary) !important; color: var(--text-primary) !important; }
select, .form-select { color-scheme: dark; }
select.form-select optgroup { background-color: var(--bg-secondary) !important; color: var(--text-muted) !important; }
.etiquette-ajoutee .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* ----------------------------------------
   9. ALERTS
---------------------------------------- */
.alert { border: 1px solid var(--border-color); }
.alert-success { background-color: var(--success-bg) !important; border-color: var(--success-border) !important; color: var(--success-text) !important; }
.alert-danger { background-color: var(--danger-bg) !important; border-color: var(--danger-border) !important; color: var(--danger-text) !important; }
.alert-warning { background-color: var(--warning-bg) !important; border-color: var(--warning-border) !important; color: var(--warning-text) !important; }
.alert-info { background-color: var(--info-bg) !important; border-color: var(--info-border) !important; color: var(--info-text) !important; }
.alert-secondary { background-color: var(--bg-tertiary) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
.alert .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }

/* ----------------------------------------
   10. TABLEAUX
---------------------------------------- */
.table { color: var(--text-primary) !important; background-color: var(--bg-card) !important; }
.table tbody, .table tbody tr, .table tbody tr td, .table tbody tr th,
.table-striped > tbody > tr, .table-striped > tbody > tr:nth-of-type(odd),
.table-striped > tbody > tr:nth-of-type(even), .table-hover > tbody > tr {
    background-color: var(--bg-card) !important; background: var(--bg-card) !important; color: var(--text-white) !important;
}
.table thead th { background-color: var(--bg-tertiary) !important; border-color: var(--border-color) !important; color: var(--text-white) !important; font-weight: 600; }
.table td, .table th { border-color: var(--border-color) !important; color: var(--text-primary) !important; }
.table tbody tr:hover, .table-hover > tbody > tr:hover, .table tbody tr:hover td { background-color: var(--bg-tertiary) !important; background: var(--bg-tertiary) !important; color: var(--text-white) !important; }
.table tbody tr td { color: var(--text-white) !important; }
.table tbody tr td a { color: var(--text-white) !important; font-weight: 600; }
.table tbody tr td a:hover { color: var(--accent-color) !important; }
.table tbody tr strong { color: var(--text-white) !important; }
.table tbody tr small { color: var(--text-primary) !important; }

/* ----------------------------------------
   11. LISTES
---------------------------------------- */
.list-group-item { background-color: var(--bg-card) !important; border: 1px solid var(--border-color) !important; color: var(--text-primary) !important; }
.list-group-item-action:hover { background-color: var(--bg-secondary) !important; color: var(--text-white) !important; }
.list-group-item h5, .list-group-item h5 a { color: var(--text-white) !important; font-weight: 600; }
.list-group-item strong { color: var(--text-white) !important; }
.list-group-item small { color: var(--text-secondary) !important; }

/* ----------------------------------------
   12. ACCORDÉONS
---------------------------------------- */
.accordion-item { background-color: var(--bg-card) !important; border: 1px solid var(--border-color) !important; }
.accordion-button { background-color: var(--bg-tertiary) !important; color: var(--text-primary) !important; border: 1px solid var(--border-color) !important; }
.accordion-button:not(.collapsed) { background-color: var(--bg-secondary) !important; color: var(--text-white) !important; box-shadow: none; }
.accordion-button:hover { background-color: var(--bg-secondary) !important; color: var(--text-white) !important; }
.accordion-body { background-color: var(--bg-card) !important; color: var(--text-primary) !important; }

/* ----------------------------------------
   13. BADGES
---------------------------------------- */
.badge { font-weight: 500; color: var(--text-white) !important; }
.badge.bg-primary { background-color: var(--accent-color) !important; }
.badge.bg-secondary, .badge.bg-light { background-color: var(--bg-tertiary) !important; color: var(--text-primary) !important; }
.badge.bg-success { background-color: var(--success-btn) !important; }
.badge.bg-danger { background-color: var(--danger-border) !important; }
.badge.bg-warning { background-color: var(--warning-border) !important; }
.badge.bg-info { background-color: var(--info-border) !important; }

/* ----------------------------------------
   14. MODALS
---------------------------------------- */
.modal-content { background-color: var(--bg-card) !important; border: 1px solid var(--border-color) !important; color: var(--text-primary) !important; }
.modal-header { background-color: var(--bg-tertiary) !important; border-bottom: 1px solid var(--border-color) !important; color: var(--text-white) !important; }
.modal-title { color: var(--text-white) !important; }
.modal-body { background-color: var(--bg-card) !important; color: var(--text-primary) !important; }
.modal-footer { background-color: var(--bg-tertiary) !important; border-top: 1px solid var(--border-color) !important; }

/* ----------------------------------------
   15. DROPDOWNS
---------------------------------------- */
.dropdown-menu { background-color: var(--bg-card) !important; border: 1px solid var(--border-color) !important; }
.dropdown-item { color: var(--text-primary) !important; background-color: transparent !important; }
.dropdown-item:hover { background-color: var(--bg-secondary) !important; color: var(--text-white) !important; }

/* ----------------------------------------
   16. LIENS & BREADCRUMBS
---------------------------------------- */
a { color: var(--accent-color) !important; text-decoration: none; }
a:hover { color: var(--accent-hover) !important; }
.breadcrumb { background-color: var(--bg-secondary) !important; }
.breadcrumb-item { color: var(--text-secondary) !important; }
.breadcrumb-item a { color: var(--accent-color) !important; }
.breadcrumb-item.active { color: var(--text-primary) !important; }

/* ----------------------------------------
   17. PAGINATION
---------------------------------------- */
.pagination .page-link { background-color: var(--bg-card) !important; border-color: var(--border-color) !important; color: var(--text-primary) !important; }
.pagination .page-link:hover { background-color: var(--bg-secondary) !important; color: var(--text-white) !important; }
.pagination .page-item.active .page-link { background-color: var(--accent-color) !important; border-color: var(--accent-color) !important; color: var(--text-white) !important; }

/* ----------------------------------------
   18. FOOTER
---------------------------------------- */
footer { background-color: #0a1021 !important; border-top: 1px solid var(--border-color); color: var(--text-secondary) !important; }
footer * { background-color: transparent !important; color: var(--text-secondary) !important; }
footer a { color: var(--accent-color) !important; }
footer a:hover { color: var(--accent-hover) !important; }

/* ----------------------------------------
   19. UTILITAIRES
---------------------------------------- */
hr { border-color: var(--border-color) !important; opacity: 0.5; }
.bg-light { background-color: var(--bg-tertiary) !important; color: var(--text-primary) !important; }
.bg-dark { background-color: var(--bg-primary) !important; color: var(--text-primary) !important; }
.text-primary { color: var(--accent-color) !important; }
.text-success { color: #52b788 !important; }
.text-info { color: #52a7b7 !important; }

/* ----------------------------------------
   20. SCROLLBAR
---------------------------------------- */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: var(--bg-primary); }
::-webkit-scrollbar-thumb { background: var(--bg-tertiary); border-radius: 6px; border: 2px solid var(--bg-primary); }
::-webkit-scrollbar-thumb:hover { background: var(--border-color); }

/* ----------------------------------------
   21. ONGLETS (Nav Tabs & Nav Pills)
---------------------------------------- */
.nav-tabs { border-bottom: 1px solid var(--border-color) !important; }
.nav-tabs .nav-link {
    color: var(--text-secondary) !important;
    background-color: transparent !important;
    border: 1px solid transparent !important;
}
.nav-tabs .nav-link:hover {
    color: var(--text-primary) !important;
    background-color: var(--bg-tertiary) !important;
    border-color: var(--border-color) var(--border-color) transparent !important;
}
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--text-white) !important;
    background-color: var(--bg-secondary) !important;
    border-color: var(--border-color) var(--border-color) var(--bg-secondary) !important;
}
.tab-content > .tab-pane { background-color: transparent !important; }

.nav-pills .nav-link { color: var(--text-secondary) !important; background-color: transparent !important; }
.nav-pills .nav-link:hover { color: var(--text-primary) !important; background-color: var(--bg-tertiary) !important; }
.nav-pills .nav-link.active { color: var(--text-white) !important; background-color: var(--accent-color) !important; }

/* ----------------------------------------
   22. CKEDITOR — Toolbar + Dialog dark theme
---------------------------------------- */

/* Barre d'outils */
.cke_top, .cke_bottom {
    background: var(--bg-tertiary) !important;
    border-color: var(--border-color) !important;
}
.cke_toolbar_separator { background: var(--border-color) !important; }
.cke_button_label, .cke_combo_text { color: var(--text-secondary) !important; }
.cke_wysiwyg_frame { background: var(--bg-card) !important; }
.cke_path_item { color: var(--text-muted) !important; }
.cke_path_item:hover { color: var(--text-primary) !important; background: var(--bg-tertiary) !important; }

/* Conteneur principal */
.cke_dialog_body {
    background: var(--bg-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .5rem !important;
    box-shadow: 0 8px 32px rgba(0,0,0,.6) !important;
}

/* Titre */
.cke_dialog_title {
    background: var(--bg-tertiary) !important;
    color: var(--text-white) !important;
    border-bottom: 1px solid var(--border-color) !important;
    border-radius: .5rem .5rem 0 0 !important;
    font-size: .9rem !important;
    font-weight: 600 !important;
    text-shadow: none !important;
}
.cke_dialog_close_button { color: var(--text-secondary) !important; }
.cke_dialog_close_button:hover { color: var(--text-white) !important; }

/* Onglets */
.cke_dialog_tabs {
    background: var(--bg-secondary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 5px 8px 0 !important;
}
.cke_dialog_tab {
    background: var(--bg-card) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-color) !important;
    border-bottom: none !important;
    border-radius: .3rem .3rem 0 0 !important;
    font-size: .8rem !important;
    text-shadow: none !important;
}
.cke_dialog_tab:hover {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}
.cke_dialog_tab_selected {
    background: var(--bg-tertiary) !important;
    color: var(--accent-color) !important;
    border-color: var(--border-color) !important;
    border-bottom-color: var(--bg-tertiary) !important;
    font-weight: 600 !important;
}

/* Zone de contenu */
.cke_dialog_contents,
.cke_dialog_contents_body,
.cke_dialog_page_contents,
.cke_dialog_ui_vbox,
.cke_dialog_ui_hbox,
.cke_dialog_ui_hbox_first,
.cke_dialog_ui_hbox_child,
.cke_dialog_ui_hbox_last {
    background: var(--bg-secondary) !important;
}

/* Labels */
.cke_dialog_ui_labeled_label,
label.cke_dialog_ui_labeled_label,
span.cke_dialog_ui_labeled_label {
    color: var(--text-secondary) !important;
    font-size: .8rem !important;
}

/* Inputs texte / password / textarea */
.cke_dialog_ui_input_text input,
.cke_dialog_ui_input_password input,
.cke_dialog_ui_input_textarea textarea {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .3rem !important;
}
.cke_dialog_ui_input_text input:focus,
.cke_dialog_ui_input_password input:focus,
.cke_dialog_ui_input_textarea textarea:focus {
    border-color: var(--accent-color) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(74,158,255,.2) !important;
}

/* Select */
.cke_dialog_ui_input_select select {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .3rem !important;
}

/* Input file (onglet Téléverser) */
.cke_dialog_ui_input_file {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .3rem !important;
    height: 44px !important;
    width: 100% !important;
}
.cke_dialog_ui_input_file input[type="file"] {
    color: var(--text-primary) !important;
    background: var(--bg-card) !important;
}
/* Espace entre la case fichier et le bouton Envoyer */
.cke_dialog_ui_fileButton {
    margin-top: 14px !important;
}

/* Bouton Envoyer au serveur */
.cke_dialog_ui_button_input {
    background: var(--accent-color) !important;
    color: #fff !important;
    border: none !important;
    border-radius: .3rem !important;
    cursor: pointer !important;
    text-shadow: none !important;
}
.cke_dialog_ui_button_input:hover { filter: brightness(1.15) !important; }

/* Checkboxes / radios */
.cke_dialog_ui_checkbox_input + label,
.cke_dialog_ui_radio_input + label { color: var(--text-primary) !important; }

/* Pied de dialog */
.cke_dialog_footer {
    background: var(--bg-tertiary) !important;
    border-top: 1px solid var(--border-color) !important;
    border-radius: 0 0 .5rem .5rem !important;
    box-shadow: none !important;
}
.cke_dialog_ui_button {
    background: var(--bg-card) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .3rem !important;
    text-shadow: none !important;
}
.cke_dialog_ui_button_ok {
    background: var(--accent-color) !important;
    color: #fff !important;
    border-color: var(--accent-color) !important;
}
.cke_dialog_ui_button:hover { filter: brightness(1.15) !important; }

/* Zone de prévisualisation */
.cke_dialog_ui_html,
.ImagePreviewBox,
.ImagePreviewBox > table,
.ImagePreviewBox td {
    background: var(--bg-card) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}
.cke_dialog_separator { border-top-color: var(--border-color) !important; }

/* Bouton "Envoyer sur le serveur" — toutes variantes CKEditor 4 */
.cke_dialog_contents .cke_dialog_ui_button,
.cke_dialog_ui_button_input,
.cke_dialog_ui_fileButton a,
.cke_dialog input[type="button"],
.cke_dialog input[type="submit"] {
    background: var(--accent-color) !important;
    color: #fff !important;
    border: 1px solid var(--accent-color) !important;
    border-radius: .3rem !important;
    cursor: pointer !important;
    text-shadow: none !important;
    padding: .3rem .8rem !important;
    font-size: .85rem !important;
    text-decoration: none !important;
    display: inline-block !important;
}
.cke_dialog_contents .cke_dialog_ui_button:hover,
.cke_dialog_ui_button_input:hover,
.cke_dialog input[type="button"]:hover,
.cke_dialog input[type="submit"]:hover {
    filter: brightness(1.2) !important;
}

/* Bouton "Choisir un fichier" natif */
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: .25rem !important;
    padding: .25rem .75rem !important;
    cursor: pointer !important;
    margin: 0 .5rem 0 0 !important;
    vertical-align: middle !important;
    font-size: .85rem !important;
    transition: background .15s ease !important;
}
input[type="file"]::file-selector-button:hover,
input[type="file"]::-webkit-file-upload-button:hover {
    background: var(--accent-color) !important;
    color: #fff !important;
    border-color: var(--accent-color) !important;
}

/* Bouton "Enregistrer" flottant des formulaires de fiche : rond de 44 px comme
   le bouton "Remonter en haut" (base.html, #back-to-top), placé à sa gauche et
   affiché/masqué en même temps que lui (static/js/app.js). */
.btn-enregistrer-flottant {
    position: fixed;
    bottom: 2rem;
    right: 5.5rem;
    z-index: 1050;
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .4);
}

/* Réduit l'espace vide du dialog image2 */
.cke_dialog_contents_body { min-height: unset !important; }
.cke_dialog_contents { height: auto !important; min-height: unset !important; }
.cke_dialog .cke_dialog_page_contents[style*="display"] { background: var(--bg-secondary) !important; }
