/* Clim59.fr — habillage sur Bootstrap 5 */
:root{
  --c-primary:#0ea5e9;      /* sky-500 */
  --c-primary-d:#0284c7;    /* sky-600 */
  --c-primary-dd:#075985;   /* sky-800 */
  --c-ink:#0f172a;          /* slate-900 */
  --c-muted:#475569;        /* slate-600 */
  --c-soft:#f1f5f9;         /* slate-100 */
}
*{ scroll-behavior:smooth; }
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  color:var(--c-ink);
  padding-bottom:0;
}
@media (max-width:991.98px){ body{ padding-bottom:64px; } }

h1,h2,h3,h4,.navbar-brand{ letter-spacing:-.02em; }
.lead{ font-weight:400; }

/* Couleurs primaires */
.text-primary{ color:var(--c-primary-d)!important; }
.bg-primary{ background:var(--c-primary)!important; }
.btn-primary{ --bs-btn-bg:var(--c-primary); --bs-btn-border-color:var(--c-primary); --bs-btn-hover-bg:var(--c-primary-d); --bs-btn-hover-border-color:var(--c-primary-d); --bs-btn-active-bg:var(--c-primary-dd); }
.btn-outline-primary{ --bs-btn-color:var(--c-primary-d); --bs-btn-border-color:var(--c-primary); --bs-btn-hover-bg:var(--c-primary); --bs-btn-hover-border-color:var(--c-primary); }
.link-primary{ color:var(--c-primary-d)!important; }
a{ color:var(--c-primary-d); }

.topbar{ background:var(--c-primary-dd); }
.brand-badge{
  display:inline-grid; place-items:center; width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dd)); color:#fff; font-size:1.1rem;
}
.navbar-brand{ font-size:1.4rem; }
.navbar .nav-link{ font-weight:500; color:var(--c-ink); }
.navbar .nav-link:hover,.navbar .nav-link.active{ color:var(--c-primary-d); }

/* HERO */
.hero{
  position:relative; color:#fff; overflow:hidden;
  background:
    radial-gradient(1200px 500px at 80% -10%, rgba(255,255,255,.18), transparent 60%),
    linear-gradient(135deg,#0369a1 0%,#0ea5e9 55%,#38bdf8 100%);
}
.hero::after{
  content:""; position:absolute; inset:auto 0 -1px 0; height:60px;
  background:linear-gradient(to top,#fff,transparent);
}
.hero .badge-soft{ background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(4px); }
.hero .trust i{ color:#fde047; }

.section{ padding:4.5rem 0; }
.section-soft{ background:var(--c-soft); }
.eyebrow{ color:var(--c-primary-d); font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }

/* Cartes services */
.svc-card{ border:1px solid #e2e8f0; border-radius:1rem; transition:.2s; height:100%; background:#fff; }
.svc-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -18px rgba(2,132,199,.45); border-color:#bae6fd; }
.svc-icon{ display:inline-grid; place-items:center; width:56px; height:56px; border-radius:14px; background:#e0f2fe; color:var(--c-primary-d); font-size:1.5rem; }

/* Étapes */
.step-num{ width:44px; height:44px; border-radius:50%; background:var(--c-primary); color:#fff; display:grid; place-items:center; font-weight:700; }
.step-line{ border-top:2px dashed #bae6fd; }

/* Points forts */
.feature-ic{ color:var(--c-primary-d); font-size:1.4rem; }

/* Villes */
.city-chip{ display:block; padding:.85rem 1rem; border:1px solid #e2e8f0; border-radius:.75rem; background:#fff; text-decoration:none; color:var(--c-ink); font-weight:600; transition:.15s; }
.city-chip:hover{ border-color:var(--c-primary); background:#f0f9ff; color:var(--c-primary-d); }
.city-chip i{ color:var(--c-primary-d); }

/* Devis card */
.devis-card{ border-radius:1.25rem; }
.success-check{ width:72px; height:72px; border-radius:50%; background:#dcfce7; color:#16a34a; font-size:2.4rem; display:grid; place-items:center; margin:0 auto; }

/* CTA band */
.cta-band{ background:linear-gradient(135deg,var(--c-primary-dd),var(--c-primary)); }

/* Simulateur */
.sim-result{ background:linear-gradient(135deg,#0369a1,#0ea5e9); color:#fff; border-radius:1rem; }
.sim-result .amount{ font-size:2.4rem; font-weight:800; }

/* Reviews */
.review-card{ background:#fff; border:1px solid #e2e8f0; border-radius:1rem; height:100%; }
.stars i{ color:#f59e0b; }

/* Accordion */
.accordion-button:not(.collapsed){ color:var(--c-primary-dd); background:#f0f9ff; }
.accordion-button:focus{ box-shadow:none; }

/* Footer */
.site-footer{ background:var(--c-ink); }
.site-footer a:hover{ opacity:1!important; color:#fff!important; }

/* Barre mobile */
.mobile-callbar{ position:fixed; bottom:0; left:0; right:0; z-index:1030; display:flex; gap:.4rem; padding:.5rem .6rem; background:rgba(255,255,255,.96); border-top:1px solid #e2e8f0; box-shadow:0 -6px 20px -10px rgba(0,0,0,.25); }
.mobile-callbar .btn{ font-weight:600; }

/* Divers */
.breadcrumb a{ text-decoration:none; }
.list-check li{ margin-bottom:.5rem; }
.list-check i{ color:#16a34a; margin-right:.5rem; }
