/* ===== Compléments CarTelematics (mêmes couleurs que le thème : --primary #D81324, --secondary #0B2154) ===== */
.ctl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ctl-form table{width:100%}.ctl-form td{padding:.25rem .4rem;vertical-align:middle}.ctl-form td:first-child{width:38%}
.ctl-form label{margin:0}.ctl-form.dark label{color:#fff}
.ctl-code{display:inline-flex;gap:.15rem;margin-left:.35rem;padding:.15rem .45rem;background:#fff;color:var(--secondary);font:700 1.05rem/1.2 "Courier New",monospace;letter-spacing:.12em;border:2px dashed var(--primary);border-radius:2px;user-select:none;vertical-align:middle}
.ctl-code span:nth-child(odd){transform:rotate(-6deg)}.ctl-code span:nth-child(even){transform:rotate(5deg) translateY(1px)}
.ctl-code-in{text-transform:uppercase;letter-spacing:.3em;font-weight:700}
.ctl-zones{list-style:none;padding:0;margin:0;font-size:.85rem}.ctl-zones li{margin:.15rem 0}.ctl-zones a{color:#ccc}.ctl-zones a:hover{color:#fff}

/* Sélecteurs du catalogue */
.ctl-pick h3{margin-top:.5rem}.ctl-pick select[size]{height:auto;min-height:12rem;padding:.25rem}
.ctl-pick select option{padding:.35rem .5rem;border-bottom:1px solid #eee}
.ctl-pick details{margin-top:.6rem}.ctl-pick details summary{cursor:pointer;color:var(--primary);font-weight:500}
.ctl-pick details ul{columns:2;padding-left:1.1rem;margin-top:.5rem;font-size:.92rem}
.ctl-brands{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin-top:1rem}
.ctl-brands a{display:flex;align-items:center;gap:.6rem;padding:.6rem .75rem;background:var(--light);color:var(--dark);font-weight:500;transition:.3s}
.ctl-brands a:hover{background:var(--primary);color:#fff}.ctl-brands img{width:42px;height:31px;object-fit:contain;background:#fff}

/* Fiche véhicule */
.ctl-fiche .ctl-title{background:var(--primary);color:#fff;padding:1rem 1.25rem;font-size:1.4rem;margin:0}
.ctl-fiche .ctl-sub{background:var(--secondary);color:#fff;padding:.5rem 1.25rem;font-size:.9rem;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem;align-items:center}
.ctl-fiche .ctl-sub img{height:34px;background:#fff;padding:2px}
.ctl-table{width:100%;margin:0}.ctl-table th,.ctl-table td{padding:.6rem .8rem;border-bottom:1px solid #e9e9e9}
.ctl-table thead th{background:var(--light);font-family:Barlow,sans-serif;text-transform:uppercase;font-size:.85rem;color:var(--secondary)}
.ctl-table td.gain{color:var(--primary);font-weight:700}
.ctl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:#e9e9e9;margin:1.25rem 0}
.ctl-kpis div{background:#fff;padding:1rem;text-align:center}.ctl-kpis span{display:block;font-size:.8rem;text-transform:uppercase;color:#777}
.ctl-kpis strong{display:block;font-family:Barlow,sans-serif;font-size:1.9rem;color:var(--primary);line-height:1.1}.ctl-kpis small{font-size:.8rem;color:#555}
.ctl-meters{background:var(--light);padding:1.25rem 1.25rem .5rem;margin:1.25rem 0}
.ctl-meters h4{font-size:1.1rem;color:var(--secondary);margin-bottom:1rem}
.ctl-meter{margin-bottom:1.1rem}
.ctl-meter .mh{display:flex;justify-content:space-between;font-weight:500;font-size:.92rem;margin-bottom:.3rem}
.ctl-meter .mh b{color:var(--primary)}
.ctl-meter .mr{display:grid;grid-template-columns:7.5rem 1fr 6.5rem;align-items:center;gap:.6rem;font-size:.85rem;margin:.15rem 0}
.ctl-meter .mr strong{text-align:right;font-family:Barlow,sans-serif;font-size:1rem}
.ctl-meter meter{width:100%;height:1.15rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#dcdcdc;border-radius:0}
.ctl-meter meter::-webkit-meter-bar{background:#dcdcdc;border:0;border-radius:0;height:1.15rem}
.ctl-meter meter::-webkit-meter-optimum-value,.ctl-meter meter::-webkit-meter-suboptimum-value,.ctl-meter meter::-webkit-meter-even-less-good-value{background:linear-gradient(90deg,#5a6b8f,var(--secondary));border-radius:0;transition:width .2s}
.ctl-meter meter::-moz-meter-bar{background:linear-gradient(90deg,#5a6b8f,var(--secondary));border-radius:0}
.ctl-meter .after meter::-webkit-meter-optimum-value,.ctl-meter .after meter::-webkit-meter-suboptimum-value,.ctl-meter .after meter::-webkit-meter-even-less-good-value{background:linear-gradient(90deg,#f05a67,var(--primary))}
.ctl-meter .after meter::-moz-meter-bar{background:linear-gradient(90deg,#f05a67,var(--primary))}
.ctl-meter .after strong{color:var(--primary)}
.ctl-meters .note{font-size:.78rem;color:#777;margin:0 0 .75rem}
.ctl-offers .d-flex{margin-bottom:.8rem}.ctl-offers h6{margin:0}
.ctl-fiche details{background:var(--light);padding:.75rem 1rem;margin-top:1rem}.ctl-fiche details summary{cursor:pointer;font-weight:500;color:var(--primary)}
.ctl-side{position:sticky;top:100px}

/* Contact */
#map{height:420px;width:100%;border:1px solid gray}
.ctl-villes{columns:3 12rem;font-size:.88rem;padding-left:1rem}.ctl-villes li{break-inside:avoid;margin:.1rem 0}.ctl-villes small{color:#888}
.ctl-zone-info{background:var(--light);padding:1rem 1.25rem;margin-bottom:1rem}

/* FileService */
.ctl-fs h3{font-size:1.2rem;color:var(--secondary);border-bottom:2px solid var(--primary);padding-bottom:.4rem;margin-bottom:1rem}
.ctl-fs select[size]{height:auto}.ctl-fs .form-control{margin-bottom:.7rem}
.ctl-fs optgroup{font-style:normal;font-weight:700;color:var(--secondary)}
.ctl-pay{background:var(--light);border-left:5px solid var(--primary);padding:1.5rem}
@media (max-width:767px){.ctl-form td{display:block;width:100%!important}.ctl-meter .mr{grid-template-columns:5.5rem 1fr 5.5rem}}
/* Service de fichiers : options multiples + total */
.ctl-opts{border:1px solid #e3e3e3;background:#fff;max-height:26rem;overflow:auto}
.ctl-opts-g{background:var(--secondary);color:#fff;font-weight:500;padding:.35rem .8rem;font-size:.85rem;text-transform:uppercase}
.ctl-opt{display:flex;align-items:center;gap:.6rem;padding:.5rem .8rem;border-bottom:1px solid #eee;cursor:pointer;margin:0}
.ctl-opt:hover{background:var(--light)}.ctl-opt span{flex:1}.ctl-opt b{color:var(--primary);white-space:nowrap}
.ctl-opt input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}
.ctl-total{background:var(--light);border-left:5px solid var(--primary);padding:.8rem 1rem;font-size:1.15rem;margin:.75rem 0}
.ctl-total strong{color:var(--primary);font-family:Barlow,sans-serif;font-size:1.5rem}.ctl-total small{display:block;font-size:.85rem;color:#1a7f37}
