:root{
  --ct-orange:#E45518;
  --ct-orange-dark:#c8470f;
  --ct-blue:#2E73B8;
  --ct-blue-dark:#22568b;
  --ct-ink:#1A1A2E;
  --ct-muted:#6B7280;
  --ct-bg:#F7F8FB;
}

*{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ct-ink);
  background:#fff;
}
a{text-decoration:none}
.text-orange{color:var(--ct-orange)!important}
.text-blue{color:var(--ct-blue)!important}
.bg-soft{background:var(--ct-bg)}

/* Boutons */
.btn-ct{background:var(--ct-orange);border:none;color:#fff;font-weight:600;border-radius:10px;padding:.7rem 1.4rem}
.btn-ct:hover{background:var(--ct-orange-dark);color:#fff}
.btn-ct-outline{border:2px solid #fff;color:#fff;font-weight:600;border-radius:10px;padding:.6rem 1.3rem;background:transparent}
.btn-ct-outline:hover{background:#fff;color:var(--ct-blue-dark)}
.btn-blue{background:var(--ct-blue);border:none;color:#fff;font-weight:600;border-radius:10px;padding:.7rem 1.4rem}
.btn-blue:hover{background:var(--ct-blue-dark);color:#fff}

/* Bouton d'appel à l'action animé (téléchargement app) */
.ct-pulse{animation:ctPulse 2s infinite}
@keyframes ctPulse{
  0%{box-shadow:0 0 0 0 rgba(228,85,24,.5)}
  70%{box-shadow:0 0 0 10px rgba(228,85,24,0)}
  100%{box-shadow:0 0 0 0 rgba(228,85,24,0)}
}
@media (prefers-reduced-motion: reduce){ .ct-pulse{animation:none} }

/* Navbar */
.ct-navbar{background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.06)}
.ct-navbar .navbar-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;color:var(--ct-ink)}
.ct-navbar .navbar-brand img{height:42px;width:42px;border-radius:50%;object-fit:cover}
.ct-navbar .nav-link{font-weight:500;color:var(--ct-ink)}
.ct-navbar .nav-link:hover,.ct-navbar .nav-link.active{color:var(--ct-orange)}

/* Hero */
.ct-hero{
  position:relative;color:#fff;
  background:linear-gradient(120deg,rgba(46,115,184,.92),rgba(228,85,24,.85)),
             url('/images/site/nouvelle-flotte-1.jpg') center/cover no-repeat;
}
.ct-hero .container{position:relative;z-index:2;padding:5.5rem 0}
.ct-hero h1{font-weight:800;font-size:2.6rem;line-height:1.1}
.ct-hero .tagline{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;opacity:.9}

/* Sections */
.section{padding:4rem 0}
.section-title{font-weight:800;margin-bottom:.4rem}
.section-sub{color:var(--ct-muted);margin-bottom:2rem}

/* Cards */
.ct-card{border:1px solid #eef0f4;border-radius:16px;overflow:hidden;background:#fff;
  transition:transform .15s ease,box-shadow .15s ease}
/* Hauteur égale uniquement dans une grille de cartes (1 carte par colonne) */
.ct-grid .ct-card{height:100%}
.ct-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.ct-card img{height:170px;width:100%;object-fit:cover}
.ct-card .body{padding:1.1rem}
.ct-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;
  background:rgba(228,85,24,.1);color:var(--ct-orange);font-size:1.4rem}
.badge-class{background:rgba(46,115,184,.12);color:var(--ct-blue);font-weight:600;border-radius:20px;padding:.25rem .7rem;font-size:.8rem}

/* Bandeau valeurs */
.values .ct-icon{margin-bottom:.8rem}

/* Footer */
.ct-footer{background:var(--ct-ink);color:#cbd2e0;padding:3rem 0 1.5rem}
.ct-footer a{color:#cbd2e0}
.ct-footer a:hover{color:#fff}
.ct-footer h6{color:#fff;font-weight:700;margin-bottom:1rem}
.ct-footer .copy{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.2rem;font-size:.85rem;color:#8a93a6}

/* CTA bandeau */
.ct-cta{background:linear-gradient(120deg,var(--ct-blue),var(--ct-orange));color:#fff;border-radius:20px;padding:2.5rem}

@media(max-width:768px){
  .ct-hero h1{font-size:2rem}
  .ct-hero .container{padding:3.5rem 0}
  .ct-cta{padding:1.6rem}
}
