/* =========================================================
   CTY Airlines – thème phpVMS (v3 « centre d'opérations »)
   « la communauté dans les nuages »
   À placer dans : public_html/assets/cty/css/cty.css
   ========================================================= */

:root {
  --cty-green: #6B8284;
  --cty-green-dark: #536668;
  --cty-green-light: #dfe6e6;
  --cty-orange: #DD6800;
  --cty-orange-dark: #B35400;
  --cty-cream: #F1F0EA;
  --cty-text: #2B3436;
  --cty-ink: #182022;
  --cty-ink2: #232d30;
  --cty-muted: #6b7577;
  --cty-line: #e6e9e8;
  --cty-radius: 14px;
  --cty-shadow: 0 2px 12px rgba(43, 52, 54, 0.07);
  --cty-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

/* ---------- Base ---------- */
body {
  background-color: var(--cty-cream) !important;
  color: var(--cty-text);
}

h1, h2, h3, h4, h5, h6,
.title, .card-title {
  color: var(--cty-green-dark);
  font-weight: 700;
}
h1, h2 { font-weight: 800; }

a { color: var(--cty-orange-dark); }
a:hover, a:focus { color: var(--cty-orange); }

.text-primary { color: var(--cty-green) !important; }
.text-muted { color: var(--cty-muted) !important; }

/* ---------- Barre de navigation ---------- */
.navbar,
.navbar.bg-primary,
nav.navbar[class*="bg-"] {
  background: linear-gradient(90deg, var(--cty-green-dark) 0%, var(--cty-green) 100%) !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.14);
}
.navbar .navbar-brand,
.navbar .nav-link,
.navbar .navbar-nav .nav-link { color: #fff !important; }
.navbar .nav-link { border-bottom: 2px solid transparent; transition: border-color .15s ease; }
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-item.active .nav-link,
.navbar .nav-link.active {
  color: var(--cty-cream) !important;
  border-bottom-color: var(--cty-orange);
}
.navbar .dropdown-menu { border: none; border-radius: 12px; box-shadow: 0 10px 30px rgba(24,32,34,.18); padding: 6px; }
.navbar .dropdown-menu .dropdown-item { border-radius: 8px; }
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus { background-color: var(--cty-green-light); color: var(--cty-text); }

/* Fond bleu phpVMS derrière le logo et l'avatar */
.navbar-brand, .navbar-brand *,
.navbar .avatar, .navbar img.rounded, .navbar img.rounded-circle { background-color: transparent !important; }

/* ---------- Encadrés (cards) ---------- */
.card {
  border: none !important;
  border-radius: var(--cty-radius) !important;
  box-shadow: var(--cty-shadow) !important;
  overflow: hidden;
  background: #fff;
}
.card-header,
.card-header.bg-primary {
  background: #fff !important;
  color: var(--cty-text) !important;
  border-bottom: 1px solid var(--cty-line) !important;
  font-weight: 800;
  padding: 14px 18px;
  position: relative;
}
.card-header::before {
  content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--cty-orange);
}
.card-header h1, .card-header h2, .card-header h3,
.card-header h4, .card-header h5, .card-header h6,
.card-header .card-title { color: var(--cty-text) !important; margin: 0; font-weight: 800; }
.card-footer { background: #fafbfa !important; border-top: 1px solid var(--cty-line) !important; }

/* ---------- Compteurs du tableau de bord (cartes colorées) ---------- */
.card.bg-primary {
  background: #fff !important;
  border-bottom: 3px solid var(--cty-orange) !important;
  text-align: center;
}
.card.bg-primary,
.card.bg-primary * { color: var(--cty-muted) !important; }
.card.bg-primary h1, .card.bg-primary h2, .card.bg-primary h3,
.card.bg-primary h4, .card.bg-primary h5, .card.bg-primary h6,
.card.bg-primary .card-title {
  color: var(--cty-green-dark) !important;
  font-weight: 800 !important;
}

/* Autres fonds « primaire » (hors cartes) */
.bg-primary:not(.card):not(.card-header):not(.navbar):not(.badge):not(.btn) {
  background-color: var(--cty-green) !important;
  background-image: none !important;
  color: #fff;
}

/* ---------- Boutons ---------- */
.btn { border-radius: 10px; font-weight: 600; }
.btn-primary, .btn.btn-primary {
  background-color: var(--cty-orange) !important;
  border-color: var(--cty-orange) !important;
  background-image: none !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active {
  background-color: var(--cty-orange-dark) !important;
  border-color: var(--cty-orange-dark) !important;
  box-shadow: 0 0 0 0.2rem rgba(221, 104, 0, 0.25) !important;
}
.btn-outline-primary {
  color: var(--cty-orange-dark) !important;
  border-color: var(--cty-orange) !important;
  background: transparent !important;
}
.btn-outline-primary:hover { background-color: var(--cty-orange) !important; color: #fff !important; }
.btn-secondary, .btn-info {
  background-color: var(--cty-green) !important;
  border-color: var(--cty-green) !important;
  background-image: none !important;
  color: #fff !important;
}
.btn-secondary:hover, .btn-info:hover {
  background-color: var(--cty-green-dark) !important;
  border-color: var(--cty-green-dark) !important;
}

/* ---------- Tableaux (style « tableau d'opérations ») ---------- */
.table { --bs-table-bg: transparent; margin-bottom: 0; }
.table thead th {
  background: transparent !important;
  color: var(--cty-muted) !important;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid var(--cty-line) !important;
  border-top: none !important;
  padding: 10px 12px;
}
.table td { padding: 11px 12px; border-color: #f0f2f1 !important; vertical-align: middle; }
.table-striped > tbody > tr:nth-of-type(odd) > * { --bs-table-accent-bg: rgba(107, 130, 132, 0.04); }
.table-hover > tbody > tr:hover > * { --bs-table-accent-bg: rgba(221, 104, 0, 0.05); }
.table td a { font-weight: 600; }

/* Codes OACI, numéros de vol, immatriculations : police « écran » */
.table td:first-child,
.cty-mono, code, kbd {
  font-family: var(--cty-mono);
}

/* ---------- Badges ---------- */
.badge { border-radius: 6px; font-weight: 700; letter-spacing: .04em; }
.badge-primary, .badge.bg-primary { background-color: var(--cty-orange) !important; color: #fff !important; }
.badge-info, .badge-secondary, .badge.bg-secondary, .badge.bg-info { background-color: var(--cty-green) !important; color: #fff !important; }
.badge.bg-success, .badge-success { background-color: rgba(61,220,132,.16) !important; color: #1e8f52 !important; }

/* ---------- Onglets / pagination ---------- */
.nav-tabs { border-bottom: 1px solid var(--cty-line); }
.nav-tabs .nav-link { color: var(--cty-green-dark); border: none; border-bottom: 3px solid transparent; font-weight: 600; }
.nav-tabs .nav-link.active { background: transparent !important; color: var(--cty-text) !important; border-bottom-color: var(--cty-orange) !important; }
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--cty-green) !important; color: #fff !important;
}
.page-link { color: var(--cty-green-dark); border-radius: 8px !important; margin: 0 2px; border-color: var(--cty-line); }
.page-item.active .page-link {
  background-color: var(--cty-orange) !important;
  border-color: var(--cty-orange) !important;
  color: #fff !important;
}

/* ---------- Formulaires ---------- */
.form-control, .form-select, .custom-select { border-radius: 10px; border-color: #d6dcdb; }
.form-control:focus, .form-select:focus, .custom-select:focus {
  border-color: var(--cty-orange) !important;
  box-shadow: 0 0 0 0.2rem rgba(221, 104, 0, 0.18) !important;
}
label, .form-label { font-weight: 600; color: var(--cty-text); }

/* ---------- Alertes ---------- */
.alert { border-radius: 12px; border: none; }
.alert-info { background-color: var(--cty-green-light); color: var(--cty-text); border-left: 4px solid var(--cty-green); }
.alert-success { border-left: 4px solid #3ddc84; }
.alert-danger { border-left: 4px solid #d9534f; }
.alert-warning { border-left: 4px solid var(--cty-orange); }

/* ---------- Pied de page ---------- */
footer, .footer {
  background-color: var(--cty-ink2) !important;
  color: var(--cty-cream) !important;
}
footer *, .footer *, footer .text-muted, .footer .text-muted { color: var(--cty-cream) !important; }
footer a, .footer a { color: #fff !important; }
footer a:hover, .footer a:hover { color: var(--cty-orange) !important; }

/* ---------- Liens dans les encadrés ---------- */
.card a { text-decoration: none; }
.card a:hover { text-decoration: underline; }

/* Codes OACI des aéroports (liste des vols, fiches) */
a[href*="/airports/"] {
  font-family: var(--cty-mono);
  color: var(--cty-green-dark) !important;
  text-decoration: none !important;
  font-weight: 800;
  letter-spacing: .02em;
}
a[href*="/airports/"]:hover { color: var(--cty-orange) !important; }

/* ---------- Cartes Leaflet ---------- */
.leaflet-container { border-radius: 12px; }
.cty-footlinks { width:100%; text-align:center; padding:10px 16px 14px; font-size:.88rem; }
.cty-footlinks a { margin:0 12px; text-decoration:none !important; opacity:.9; }
.cty-footlinks a:hover { opacity:1; text-decoration:underline !important; }
/* Pages de contenu (CGU, Règlement…) : masquées dans la barre du haut, visibles en bas de page */
.navbar .nav-item:has(> a[href*="/page/"]),
.navbar a[href*="/page/"] { display:none !important; }
