/* THEME — style inspiré de la capture, couleurs sans violet */
:root {
  --bg-body: #0b1220;
  --bg-elev-1: #0f1a2b;
  --bg-elev-2: #132136;
  --text-main: #e6f0ff;
  --text-muted: #9bb2d1;
  --brand: #00d1ff;
  --brand-700: #00a5cc;
  --brand-900: #007a99;
  --border: #1f2c44;
  --success: #22c55e;
  --danger: #ef4444;
  --warning: #f59e0b;
  --radius-xl: 18px;
  --shadow-soft: 0 10px 24px rgba(0,0,0,.35), 0 2px 6px rgba(0,0,0,.2);
}

html, body { background: var(--bg-body); color: var(--text-main); }

.navbar.bg-dark { background-color: #0b1220 !important; border-bottom: 1px solid var(--border); }
.navbar .navbar-brand { color: var(--brand) !important; font-weight: 800; letter-spacing: .2px; }
.navbar .nav-link { color: var(--text-muted) !important; }
.navbar .nav-link:hover { color: var(--text-main) !important; }

.card { background: var(--bg-elev-1); color: var(--text-main); border: 1px solid var(--border); border-radius: var(--radius-xl); box-shadow: var(--shadow-soft); }
.card + .card { margin-top: 1rem; }
.card .card-title, .card h1, .card h2, .card h3, .card h4, .card h5 { color: var(--text-main); }

.section-title { display:flex; align-items:center; gap:.6rem; padding:.6rem .9rem; background: linear-gradient(180deg, rgba(0,209,255,.18), rgba(0,209,255,0)); border-radius: calc(var(--radius-xl) - 6px) calc(var(--radius-xl) - 6px) 0 0; border-bottom: 1px solid var(--border); font-weight:700; color: var(--text-main); }
.section-title .icon { width: 28px; height: 28px; display:grid; place-items:center; border-radius: 10px; background: rgba(0,209,255,.14); border: 1px solid rgba(0,209,255,.28); }

.btn-primary { background: var(--brand); border-color: var(--brand); color: #04121a; font-weight:700; border-radius: 14px; }
.btn-primary:hover { background: var(--brand-700); border-color: var(--brand-700); }
.btn-outline-light { color: var(--text-main); border-color: var(--border); border-radius: 14px; }
.btn-outline-light:hover { background: var(--bg-elev-2); border-color: var(--text-main); }
.btn-outline-secondary { color: var(--text-muted); border-color: var(--border); border-radius: 14px; }

.badge-soft-success { background: rgba(34,197,94,.15); color: #6ee7b7; border: 1px solid rgba(34,197,94,.35); border-radius: 10px; }
.badge-soft-danger  { background: rgba(239,68,68,.12); color: #fca5a5; border: 1px solid rgba(239,68,68,.3); border-radius: 10px; }

.table { color: var(--text-main); }
.table thead th { color: var(--text-muted); border-bottom: 1px solid var(--border); }
.table-striped > tbody > tr:nth-of-type(odd) > * { background: rgba(255,255,255,.02); }
.table > :not(caption) > * > * { border-bottom: 1px solid var(--border); }

.hero { background: radial-gradient(60% 80% at 15% 10%, rgba(0,209,255,.16) 0%, rgba(0,209,255,0) 60%), radial-gradient(40% 60% at 85% 15%, rgba(0,167,207,.20) 0%, rgba(0,167,207,0) 55%), var(--bg-elev-1); border-radius: var(--radius-xl); box-shadow: var(--shadow-soft); }
.hero h1 { color: var(--brand); }
.hero .btn-outline-light { color: var(--brand); border-color: rgba(0,209,255,.35); }
.hero .btn-outline-light:hover { background: rgba(0,209,255,.12); border-color: var(--brand); }

.progress { background: rgba(255,255,255,.06); border-radius: 12px; border: 1px solid var(--border); }
.progress-lg { height: 1.15rem; }
.progress .progress-bar { background: linear-gradient(90deg, var(--brand), var(--brand-700)); color: #001018; font-weight: 700; letter-spacing: .3px; }

.text-muted { color: var(--text-muted) !important; }
hr { border-top: 1px solid var(--border); opacity: 1; }
.form-control, .form-select { background: #0e1830; border: 1px solid var(--border); color: var(--text-main); border-radius: 12px; }
.form-control:focus, .form-select:focus { border-color: var(--brand); box-shadow: 0 0 0 .2rem rgba(0,209,255,.15); }

.action-card .btn { padding: .9rem 1rem; font-weight: 700; }

.navbar-brand img {
  height: 100px; /* taille logo */
  width: auto;
  filter: drop-shadow(0 0 8px rgba(0, 209, 255, 0.7));
}

/* Table admin sombre lisible */
.table-admin-dark thead tr {
  background: #0f172a;
  border-bottom: 1px solid #23324d;
}
.table-admin-dark thead th {
  color: #cbd5e1;
  letter-spacing: .04em;
}

.table-admin-dark tbody tr {
  background: #0b1220;
  color: #e5e7eb;
}
.table-admin-dark tbody tr:nth-child(odd) {
  background: #0d1426;
}
.table-admin-dark tbody tr:hover {
  background: #111a33;
}

.table-admin-dark td, .table-admin-dark th {
  border-color: #1f2a44;
  padding-top: .8rem;
  padding-bottom: .8rem;
}

.text-light-50 {
  color: rgba(229,231,235,.65) !important;
}

.navbar-scrolled {
    background-color: rgba(0, 0, 0, 0.85) !important;
    transition: background-color 0.3s ease;
}

/* === Alignement TinyMCE dans patch-content === */
.patch-content img { max-width: 100%; height: auto; }
.patch-content figure.image { display: inline-block; margin: 0; }
.patch-content figure.image figcaption {
  font-size: .9rem;
  color: var(--text-muted);
  margin-top: .25rem;
}
/* Espacement si non flottante */
.patch-content img:not(.float-start):not(.float-end) { margin: .5rem 0; }
/* Gauche */
.patch-content img.align-left,
.patch-content figure.align-left,
.patch-content figure.image.align-left,
.patch-content figure.image.image-align-left {
  float: left !important;
  display: inline !important;
  margin: .25rem 1rem .25rem 0 !important;
}
/* Droite */
.patch-content img.align-right,
.patch-content figure.align-right,
.patch-content figure.image.align-right,
.patch-content figure.image.image-align-right {
  float: right !important;
  display: inline !important;
  margin: .25rem 0 .25rem 1rem !important;
}
/* Centre */
.patch-content img.align-center,
.patch-content figure.align-center,
.patch-content figure.image.align-center {
  float: none !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
/* Clear des floats */
.patch-content::after { content: ""; display: block; clear: both; }

/* Élargir légèrement les modals XL */
.modal-xl { --bs-modal-width: 1200px; }            /* par défaut 1140px */
@media (min-width: 1600px) {
  .modal-xl { --bs-modal-width: 1400px; }
}


/* TinyMCE au-dessus des modals Bootstrap */
.tox-dialog,
.tox .tox-dialog-wrap {
  z-index: 1060 !important;
}
