/* ══════════════════════════════════════════════════════════
   OMIV Global Theme — omiv.core
   ══════════════════════════════════════════════════════════ */

/* ── Police globale ── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

body, p, li, td, th, span, input, button, select, textarea, label,
.form-control, .selectize-input, .shiny-input-container {
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
}

/* ── Tailles de texte ── */
body, p, li, td, th { font-size: 15px; }

h1 { font-size: 28px !important; font-weight: 700 !important; }
h2 { font-size: 24px !important; font-weight: 700 !important; }
h3 { font-size: 20px !important; font-weight: 600 !important; }
h4 { font-size: 18px !important; font-weight: 600 !important; }
h5 { font-size: 16px !important; font-weight: 600 !important; }

/* ── Reset shinydashboard ── */
.main-header .logo,
.main-header .navbar { display: none !important; }
.main-header          { min-height: 0 !important; height: 0 !important; }
.content-wrapper      { padding: 0 !important; min-height: 100vh !important; margin-left: 230px !important; }
.main-sidebar         { width: 230px !important; min-height: 100vh !important; }
.content              { padding: 0 !important; }
.wrapper              { min-height: 0 !important; }
body                  { background: #f0f4f8 !important; }

/* ── Alpine Frost Header ── */
.af-header {
  background: #1a7abf;
  padding: 8px 0;
  border-bottom: 3px solid #b5d4f4;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.af-title {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  width: 100%;
  letter-spacing: -0.01em;
}
.af-body { padding: 20px; }

/* ── Sidebar menu ── */
.sidebar-menu > li > a {
  font-size: 15px !important;
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
}
.sidebar-menu > li > a > .fa,
.sidebar-menu > li > a > .glyphicon,
.sidebar-menu > li > a > .ion { font-size: 16px !important; }

/* ── Box ── */
.box-title { font-size: 16px !important; font-weight: 600 !important; }

/* ── Tabs ── */
.nav-tabs > li > a { font-size: 15px !important; }
.tab-content       { font-size: 15px !important; }

/* ── Labels & badges ── */
.label, .badge { font-size: 13px !important; }

/* ── Dropdown z-index ── */
.vscomp-dropbox-container { z-index: 5 !important; }

/* ── Date picker icon ── */
.btn.action-button.input-group-addon.shiny-bound-input { display: table-cell; }

/* ── Sidebar inputs ── */
section.sidebar .form-group.shiny-input-container {
  margin-bottom: 0px !important;
  padding-top: 3px !important;
  padding-bottom: 8px !important;
  background: #2c3b41;
  color: #c5d2d8;
}

/* ── Radio buttons ── */
.btn.radiobtn.btn-default { text-align: left; }

/* ── Row box height ── */
.row { display: flex; }
.row > div { margin-bottom: 20px; }
.row > div > .box { height: 100%; }

/* ── Sidebar logos ── */
#sidebarfooter           { text-align: center; }
#sidebarfooter a         { text-decoration: underline; }
#sidebarlogos            { display: flex; flex-wrap: wrap; justify-content: space-around; padding: 0; }
#sidebarlogos > li       { list-style-type: none; align-self: center; }
#sidebarlogos > li > img { width: 65px; margin: 12px 0; }
#maintitle               { font-size: 17px; }
#sidebarCollapsed        { height: 100%; }
#sidebarItemExpanded     { min-height: 100%; display: flex; flex-direction: column; justify-content: space-between; }

/* ── Station cards ── */
.station-list-box {
  display: inline-block;
  height: 180px;
  background-color: black;
  overflow: hidden;
  position: relative;
}
.station-list-box img {
  opacity: 0.85;
  position: absolute;
  left: 0; top: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: all .5s ease;
}
.station-list-box:hover img { transform: scale(1.05); opacity: 0.75; }
.station-list-box div {
  position: absolute;
  bottom: 0; z-index: 10;
  margin-left: 20px; margin-bottom: 20px;
}
.station-list-box h2,
.station-list-box h4 { color: white; font-weight: bold; }

/* ── Station badge ── */
.station-badge {
  position: absolute;
  top: 15px; right: -45px;
  width: 140px; height: 24px;
  text-align: center;
  color: white !important;
  transform: rotate(45deg);
  padding: 2px 0;
  font-size: 12px !important;
  font-weight: bold;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 10;
}
.badge-supervised { background: linear-gradient(45deg, #007bff, #00bfff); }
.badge-warning    { background: linear-gradient(45deg, #ffc107, #ffca2c); color: #000 !important; }

/* ── Ribbon ── */
.ribbon {
  position: absolute;
  top: 20px; right: -50px;
  width: 150px; height: 20px;
  text-align: center;
  background-color: gold;
  color: darkgoldenrod;
  transform: rotate(45deg);
  padding: 2px 0;
  font-size: 12px;
  font-weight: bold;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* ── No data image ── */
.nodata-img {
  max-width: min(100%, 400px);
  display: block;
  margin: auto;
}

/* ── Exclure Leaflet du CSS global ── */
.leaflet-container .fa,
.leaflet-container svg {
  font-size: inherit !important;
  width: auto !important;
  height: auto !important;
  display: inline !important;
  margin: 0 !important;
}

/* ── Scrollbar ── */
#style-1::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
  border-radius: 10px;
  background-color: #F5F5F5;
}
#style-1::-webkit-scrollbar       { width: 12px; background-color: #F5F5F5; }
#style-1::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
  background-color: #555;
}
.custom-box { height: 300px; overflow-y: auto; }

/* ══════════════════════════════════════════════
   HOME PAGE ICONS — grandes icônes centrées
   ══════════════════════════════════════════════ */
.text-primary {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
}

.text-primary .fa,
.text-primary .fas,
.text-primary .far,
.text-primary .fab,
.text-primary svg {
  font-size: 110px !important;
  width: 110px !important;
  height: 110px !important;
  display: block !important;
  margin: 0 auto 16px auto !important;
}

.text-primary h3 {
  font-size: 26px !important;
  font-weight: 600 !important;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
}

/* ══════════════════════════════════════════════
   BOUTONS DE NAVIGATION (Back to...)
   Annule les grandes tailles des icônes home
   ══════════════════════════════════════════════ */
.text-primary.mb-3,
a.text-primary[onclick*="backtolist"],
a.text-primary[onclick*="back_to"] {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  margin-bottom: 12px !important;
}

.text-primary.mb-3 .fa,
.text-primary.mb-3 svg,
a.text-primary[onclick*="backtolist"] .fa,
a.text-primary[onclick*="backtolist"] svg,
a.text-primary[onclick*="back_to"] .fa,
a.text-primary[onclick*="back_to"] svg {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  display: inline !important;
  margin: 0 6px 0 0 !important;
}

/* Station list boxes — ne pas appliquer flex colonne */
.text-primary.station-list-box,
.text-primary.box {
  display: inline-block !important;
  flex-direction: unset !important;
}