/* ═══════════════════════════════════════════════════════════════
   CAROOM — Simulateur CO2 réel vs Malus
   Namespace : sim-co2-*  |  Root : #sim-co2-root
   Version 2 — fixes thème Caroom (consignes intégration v3)
   ═══════════════════════════════════════════════════════════════ */

#sim-co2-root, #sim-co2-root * { box-sizing: border-box !important; }

#sim-co2-root {
  font-family: 'DM Sans', 'Segoe UI', sans-serif !important;
  color: #1E293B !important;
  max-width: 786px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  line-height: 1.5 !important;
}

/* ── HEADER ── */
#sim-co2-root .sim-co2-header { text-align: center !important; padding: 28px 0 20px !important; }
#sim-co2-root .sim-co2-title { font-family: 'Plus Jakarta Sans', 'DM Sans', sans-serif !important; font-size: 20px !important; font-weight: 800 !important; letter-spacing: -0.5px !important; color: #185FA5 !important; line-height: 1.25 !important; }
#sim-co2-root .sim-co2-subtitle { font-size: 13px !important; color: #475569 !important; margin-top: 8px !important; max-width: 600px !important; margin-left: auto !important; margin-right: auto !important; line-height: 1.5 !important; }

/* ── DÉTENTION ── */
#sim-co2-root .sim-co2-detention { display: flex !important; align-items: center !important; gap: 12px !important; padding: 12px 16px !important; border-radius: 10px !important; background: #F1F5F9 !important; margin-bottom: 20px !important; flex-wrap: wrap !important; }
#sim-co2-root .sim-co2-det-label { font-size: 13px !important; font-weight: 600 !important; color: #1E293B !important; }
#sim-co2-root .sim-co2-det-val { font-size: 14px !important; font-weight: 700 !important; color: #185FA5 !important; min-width: 40px !important; text-align: center !important; }

/* ═══ RANGE SLIDERS — OVERRIDE THÈME CAROOM ═══
   Le thème applique input:not([type=checkbox]):not([type=radio])
   avec min-height, border, padding. On écrase tout. */

#sim-co2-root input[type="range"].sim-co2-range,
#sim-co2-root .sim-co2-card-body input[type="range"].sim-co2-range,
#sim-co2-root .sim-co2-detention input[type="range"].sim-co2-range {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  height: 6px !important;
  min-height: 6px !important;
  max-height: 6px !important;
  background: #CBD5E1 !important;
  background-color: #CBD5E1 !important;
  border-radius: 3px !important;
  border: none !important;
  border-width: 0 !important;
  border-color: transparent !important;
  outline: none !important;
  outline-color: transparent !important;
  padding: 0 !important;
  margin: 8px 0 !important;
  box-shadow: none !important;
  min-width: 0 !important;
  cursor: pointer !important;
  flex: 1 !important;
}

/* WebKit thumb (Chrome, Brave, Safari) */
#sim-co2-root input[type="range"].sim-co2-range::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: #185FA5 !important;
  background-color: #185FA5 !important;
  cursor: pointer !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25) !important;
  margin-top: -8px !important;
  position: relative !important;
  z-index: 2 !important;
}

/* WebKit track */
#sim-co2-root input[type="range"].sim-co2-range::-webkit-slider-runnable-track {
  height: 6px !important;
  background: #CBD5E1 !important;
  background-color: #CBD5E1 !important;
  border-radius: 3px !important;
  border: none !important;
  border-width: 0 !important;
}

/* Firefox thumb */
#sim-co2-root input[type="range"].sim-co2-range::-moz-range-thumb {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #185FA5 !important;
  background-color: #185FA5 !important;
  cursor: pointer !important;
  border: 2px solid #fff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.25) !important;
}

/* Firefox track */
#sim-co2-root input[type="range"].sim-co2-range::-moz-range-track {
  height: 6px !important;
  background: #CBD5E1 !important;
  background-color: #CBD5E1 !important;
  border-radius: 3px !important;
  border: none !important;
  border-width: 0 !important;
}

/* ── SLOTS GRID ── */
#sim-co2-root .sim-co2-slots { display: grid !important; gap: 12px !important; margin-bottom: 8px !important; }
#sim-co2-root .sim-co2-slots-2 { grid-template-columns: 1fr 1fr !important; }
#sim-co2-root .sim-co2-slots-3 { grid-template-columns: 1fr 1fr 1fr !important; }
#sim-co2-root .sim-co2-slots-4 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }

#sim-co2-root .sim-co2-card { border-radius: 12px !important; border: 2px solid #E2E8F0 !important; overflow: hidden !important; background: #fff !important; }
#sim-co2-root .sim-co2-card-head { color: #fff !important; padding: 8px 12px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; font-size: 12px !important; font-weight: 700 !important; }
#sim-co2-root .sim-co2-card-rm { border: none !important; background: rgba(255,255,255,0.25) !important; color: #fff !important; border-radius: 4px !important; cursor: pointer !important; font-size: 14px !important; padding: 2px 8px !important; font-family: inherit !important; line-height: 1 !important; }
#sim-co2-root .sim-co2-card-body { padding: 10px 12px !important; }

/* ── SELECT ── */
#sim-co2-root select.sim-co2-select {
  width: 100% !important; padding: 8px 6px !important; border-radius: 8px !important;
  border: 1px solid #E2E8F0 !important; font-size: 12px !important;
  font-family: 'DM Sans', sans-serif !important; font-weight: 600 !important;
  cursor: pointer !important; background: #fff !important; color: #1E293B !important;
  -webkit-appearance: auto !important; appearance: auto !important;
  min-height: 0 !important; max-height: none !important;
}

/* ── CUSTOM FIELDS ── */
#sim-co2-root .sim-co2-custom-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; margin-top: 8px !important; }
#sim-co2-root .sim-co2-custom-label { font-size: 10px !important; color: #475569 !important; display: flex !important; flex-direction: column !important; gap: 2px !important; }
#sim-co2-root input.sim-co2-custom-input { padding: 5px 6px !important; border-radius: 6px !important; border: 1px solid #E2E8F0 !important; font-size: 12px !important; font-family: 'DM Sans', sans-serif !important; background: #fff !important; color: #1E293B !important; width: 100% !important; min-height: 0 !important; }

/* ── INFO ── */
#sim-co2-root .sim-co2-info { margin-top: 10px !important; font-size: 11px !important; color: #475569 !important; line-height: 1.5 !important; }
#sim-co2-root .sim-co2-info strong { color: #1E293B !important; }

/* ── KM SLIDER ── */
#sim-co2-root .sim-co2-km-wrap { margin-top: 12px !important; }
#sim-co2-root .sim-co2-km-header { display: flex !important; justify-content: space-between !important; font-size: 11px !important; margin-bottom: 4px !important; color: #475569 !important; }
#sim-co2-root .sim-co2-km-val { font-weight: 700 !important; }
#sim-co2-root .sim-co2-km-ticks { display: flex !important; justify-content: space-between !important; font-size: 9px !important; color: #94A3B8 !important; }

/* ── ADD ── */
#sim-co2-root .sim-co2-add-wrap { text-align: center !important; margin-bottom: 24px !important; margin-top: 8px !important; }
#sim-co2-root .sim-co2-add-btn { border: 2px dashed #E2E8F0 !important; background: transparent !important; padding: 8px 24px !important; border-radius: 10px !important; cursor: pointer !important; font-size: 13px !important; font-weight: 600 !important; color: #475569 !important; font-family: 'DM Sans', sans-serif !important; }
#sim-co2-root .sim-co2-add-btn:hover { border-color: #185FA5 !important; color: #185FA5 !important; }

/* ── RESULTS ── */
#sim-co2-root .sim-co2-results { border-radius: 14px !important; border: 1px solid #E2E8F0 !important; overflow: hidden !important; margin-bottom: 24px !important; }

/* ── KPI ── */
#sim-co2-root .sim-co2-kpi-row { display: grid !important; gap: 0 !important; }
#sim-co2-root .sim-co2-kpi-2 { grid-template-columns: 1fr 1fr !important; }
#sim-co2-root .sim-co2-kpi-3 { grid-template-columns: 1fr 1fr 1fr !important; }
#sim-co2-root .sim-co2-kpi-4 { grid-template-columns: 1fr 1fr 1fr 1fr !important; }
#sim-co2-root .sim-co2-kpi { padding: 16px 12px !important; text-align: center !important; border-bottom: 3px solid #E2E8F0 !important; background: #fff !important; }
#sim-co2-root .sim-co2-kpi-name { font-size: 11px !important; font-weight: 600 !important; margin-bottom: 2px !important; }
#sim-co2-root .sim-co2-kpi-big { font-size: 26px !important; font-weight: 800 !important; color: #1E293B !important; font-family: 'Plus Jakarta Sans', 'DM Sans', sans-serif !important; }
#sim-co2-root .sim-co2-kpi-unit { font-size: 11px !important; color: #475569 !important; }
#sim-co2-root .sim-co2-kpi-malus { margin-top: 8px !important; font-size: 13px !important; font-weight: 700 !important; }
#sim-co2-root .sim-co2-kpi-cout { margin-top: 4px !important; font-size: 11px !important; color: #475569 !important; }
#sim-co2-root .sim-co2-kpi-det { font-size: 9px !important; color: #94A3B8 !important; }
#sim-co2-root .sim-co2-kpi-ve { margin-top: 4px !important; font-size: 11px !important; color: #2E7D32 !important; font-weight: 600 !important; }

/* ── BAR CHART ── */
#sim-co2-root .sim-co2-chart-wrap { padding: 20px 16px !important; }
#sim-co2-root .sim-co2-chart-title { font-size: 13px !important; font-weight: 700 !important; margin-bottom: 16px !important; color: #1E293B !important; }
#sim-co2-root .sim-co2-bars-section { margin-bottom: 20px !important; }
#sim-co2-root .sim-co2-bars-label { font-size: 11px !important; font-weight: 600 !important; color: #475569 !important; margin-bottom: 8px !important; }
#sim-co2-root .sim-co2-bar-row { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 6px !important; }
#sim-co2-root .sim-co2-bar-name { width: 100px !important; font-size: 11px !important; font-weight: 600 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; flex-shrink: 0 !important; }
#sim-co2-root .sim-co2-bar-track { flex: 1 !important; height: 28px !important; background: #F1F5F9 !important; border-radius: 6px !important; overflow: hidden !important; position: relative !important; }
#sim-co2-root .sim-co2-bar-fill { height: 100% !important; border-radius: 6px !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 6px !important; transition: width 0.4s ease-out !important; }
#sim-co2-root .sim-co2-bar-val-in { font-size: 11px !important; font-weight: 700 !important; color: #fff !important; }
#sim-co2-root .sim-co2-bar-val-out { position: absolute !important; top: 50% !important; transform: translateY(-50%) !important; font-size: 11px !important; font-weight: 700 !important; color: #1E293B !important; }

/* ── TABLE — heavy overrides against Caroom theme global table styles ── */
#sim-co2-root .sim-co2-table-wrap { padding: 0 16px 16px !important; overflow-x: auto !important; }

#sim-co2-root table.sim-co2-table,
#sim-co2-root .sim-co2-table-wrap table {
  display: table !important; width: 100% !important; border-collapse: collapse !important;
  font-size: 12px !important; border: none !important; border-width: 0 !important;
  border-radius: 0 !important; border-spacing: 0 !important;
  margin: 0 !important; padding: 0 !important;
  background: transparent !important; background-color: transparent !important;
  table-layout: auto !important;
}

#sim-co2-root .sim-co2-table thead,
#sim-co2-root .sim-co2-table-wrap table thead {
  background: #185FA5 !important; background-color: #185FA5 !important;
}

#sim-co2-root .sim-co2-table thead tr,
#sim-co2-root .sim-co2-table-wrap table thead tr {
  background: #185FA5 !important; background-color: #185FA5 !important;
  border: none !important; border-width: 0 !important;
}

#sim-co2-root .sim-co2-table th,
#sim-co2-root .sim-co2-table thead th,
#sim-co2-root .sim-co2-table-wrap table th {
  padding: 8px 10px !important; text-align: right !important;
  font-weight: 600 !important; color: #fff !important;
  border: none !important; border-width: 0 !important;
  background: transparent !important; background-color: transparent !important;
  text-transform: none !important; letter-spacing: normal !important;
  font-size: 12px !important; font-family: 'DM Sans', sans-serif !important;
  white-space: nowrap !important; vertical-align: middle !important;
  border-radius: 0 !important;
}

#sim-co2-root .sim-co2-table .sim-co2-th-left,
#sim-co2-root .sim-co2-table thead th:first-child {
  text-align: left !important;
}

#sim-co2-root .sim-co2-table tbody,
#sim-co2-root .sim-co2-table-wrap table tbody {
  background: transparent !important;
}

#sim-co2-root .sim-co2-table tbody tr,
#sim-co2-root .sim-co2-table-wrap table tbody tr {
  background: #fff !important; border: none !important; border-width: 0 !important;
}

#sim-co2-root .sim-co2-table tbody tr.sim-co2-tr-alt {
  background: #F8FAFC !important; background-color: #F8FAFC !important;
}

#sim-co2-root .sim-co2-table td,
#sim-co2-root .sim-co2-table tbody td,
#sim-co2-root .sim-co2-table-wrap table td {
  padding: 7px 10px !important;
  border: none !important; border-width: 0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  background: transparent !important; background-color: transparent !important;
  text-transform: none !important; letter-spacing: normal !important;
  font-size: 12px !important; font-family: 'DM Sans', sans-serif !important;
  color: #1E293B !important; vertical-align: middle !important;
  border-radius: 0 !important;
}

#sim-co2-root .sim-co2-td-name { font-weight: 600 !important; text-align: left !important; }
#sim-co2-root .sim-co2-td-r { text-align: right !important; }
#sim-co2-root .sim-co2-td-bold { font-weight: 700 !important; }
#sim-co2-root .sim-co2-table-note { font-size: 10px !important; color: #94A3B8 !important; margin-top: 4px !important; }
#sim-co2-root .sim-co2-phev-note { font-size: 9px !important; color: #E65100 !important; }

/* ── PHRASE CHOC ── */
#sim-co2-root .sim-co2-choc { border-radius: 14px !important; padding: 20px !important; margin-bottom: 24px !important; background: linear-gradient(135deg, #FFF8E1, #FFF3E0) !important; border: 1px solid #FFB74D !important; }
#sim-co2-root .sim-co2-choc-title { font-size: 13px !important; font-weight: 700 !important; color: #E65100 !important; margin-bottom: 8px !important; }
#sim-co2-root .sim-co2-choc-body { font-size: 13px !important; line-height: 1.7 !important; color: #1E293B !important; }

/* ── NOTE PHEV ── */
#sim-co2-root .sim-co2-phev { border-radius: 10px !important; padding: 14px 16px !important; margin-bottom: 24px !important; background: rgba(230,81,0,0.06) !important; border: 1px solid rgba(230,81,0,0.2) !important; font-size: 12px !important; line-height: 1.6 !important; color: #1E293B !important; }

/* ── SHARE ── */
#sim-co2-root .sim-co2-share-wrap { text-align: center !important; margin-bottom: 24px !important; }
#sim-co2-root .sim-co2-share-btn { background: #185FA5 !important; color: #fff !important; border: none !important; padding: 12px 32px !important; border-radius: 10px !important; cursor: pointer !important; font-size: 14px !important; font-weight: 700 !important; font-family: 'DM Sans', sans-serif !important; }
#sim-co2-root .sim-co2-share-btn:hover { background: #134B84 !important; }

/* ── FOOTER ── */
#sim-co2-root .sim-co2-footer { padding: 16px 0 !important; border-top: 1px solid #E2E8F0 !important; font-size: 10px !important; color: #94A3B8 !important; text-align: center !important; line-height: 1.6 !important; }
#sim-co2-root .sim-co2-footer a { color: #185FA5 !important; text-decoration: none !important; font-weight: 600 !important; }

/* ── COLORS ── */
#sim-co2-root .sim-co2-rouge { color: #D32F2F !important; }
#sim-co2-root .sim-co2-vert { color: #2E7D32 !important; }
#sim-co2-root .sim-co2-orange { color: #E65100 !important; }

/* ── RESPONSIVE ── */
@media (max-width: 640px) {
  #sim-co2-root .sim-co2-slots-3, #sim-co2-root .sim-co2-slots-4 { grid-template-columns: 1fr 1fr !important; }
  #sim-co2-root .sim-co2-kpi-3, #sim-co2-root .sim-co2-kpi-4 { grid-template-columns: 1fr 1fr !important; }
  #sim-co2-root .sim-co2-kpi-big { font-size: 22px !important; }
  #sim-co2-root .sim-co2-bar-name { width: 70px !important; font-size: 10px !important; }
  #sim-co2-root .sim-co2-title { font-size: 17px !important; }
}
@media (max-width: 480px) {
  #sim-co2-root .sim-co2-slots-2, #sim-co2-root .sim-co2-slots-3, #sim-co2-root .sim-co2-slots-4 { grid-template-columns: 1fr !important; }
  #sim-co2-root .sim-co2-kpi-2, #sim-co2-root .sim-co2-kpi-3, #sim-co2-root .sim-co2-kpi-4 { grid-template-columns: 1fr 1fr !important; }
}
