:root{
  --bleu-nuit: #0B1020;
  --bleu-profond: #151A2E;
  --orange: #E07A1F;
  --gris-metal: #BFC5CF;
  --blanc-casse: #F6F7FB;
  --texte: #111827;
  --texte-doux: #6B7280;
}

body{
  font-family: Arial, sans-serif;
  color: var(--texte);
  background: white;
}

/* NAVBAR */
.navbar{
  background: white !important;
}
.navbar .navbar-brand{
  font-weight:800;
  color: var(--bleu-nuit) !important;
}
.navbar .nav-link{
  color: var(--texte) !important;
}
.navbar .nav-link:hover{
  color: var(--orange) !important;
}

/* HERO */
.hero{
  background: linear-gradient(135deg, var(--bleu-nuit) 0%, var(--bleu-profond) 100%);
  min-height:70vh;
  color:white;
  display:flex;
  align-items:center;
}
.hero-overlay{
  background: rgba(0,0,0,0.45);
  width:100%;
  padding:70px 0;
}

/* BOUTONS */
.btn-primary{
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  font-weight:700;
}
.btn-primary:hover{
  background:#c96a18 !important;
  border-color:#c96a18 !important;
}

.btn-outline-primary{
  border-color: var(--orange) !important;
  color: var(--orange) !important;
  font-weight:700;
}
.btn-outline-primary:hover{
  background: var(--orange) !important;
  color: white !important;
}

/* CARTES */
.card{
  border:0;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(17,24,39,.06);
}
.card-title{
  color: var(--bleu-nuit);
  font-weight:800;
}

/* TITRES SECTIONS */
.section-title{
  font-weight:800;
  color: var(--bleu-nuit);
}

/* FOOTER */
footer{
  background: var(--bleu-nuit);
  color: white;
}
footer a{ color: var(--gris-metal); }
footer a:hover{ color: var(--orange); }

/* BADGES */
.badge-cta{
  background: var(--orange);
  color:white;
  font-weight:700;
}


body { font-family: Arial, sans-serif; }
.hero {
  background: url("../images/hero.jpg") center/cover no-repeat;
  min-height: 70vh;
  color: white;
  display: flex; align-items: center;
}
.hero-overlay { background: rgba(0,0,0,0.55); width:100%; padding:60px 0; }
.section-title { font-weight:700; margin-bottom:20px; }
.card img { height: 220px; object-fit: cover; }
footer { background:#111; color:#eee; padding:30px 0; margin-top:40px;}
.whatsapp-float {
  position:fixed; right:20px; bottom:20px;
  background:#25D366; color:white; padding:12px 16px;
  border-radius:50px; text-decoration:none; font-weight:bold;
  box-shadow:0 5px 10px rgba(0,0,0,.25);
}


/* ===== NAVBAR PRO ===== */
.nav-pro {   padding: 6px 0 !important; }
.logo-nav{
  height: 38px !important;
  width: auto;
  
}
.brand-text{ line-height: 1; }
.brand-main{
  display:block;
  font-weight:800;
  color: var(--bleu-nuit);
  font-size: 16px !important; 
}
.brand-sub{
  display:block;
  font-size: 10px !important;
  color: var(--texte-doux);
  letter-spacing: .6px;
  text-transform: uppercase;
}

/* CTA nav */
.btn-cta{ padding: 10px 16px; }

/* ===== HERO PRO ===== */
.hero-pro{
  background: linear-gradient(135deg, var(--bleu-nuit) 0%, var(--bleu-profond) 100%);
  min-height: 78vh;
  display:flex; align-items:center;
padding: 4px 0 !important;
}
.hero-overlay-pro{
  width:100%;
  padding: 70px 0;
  background: radial-gradient(ellipse at top, rgba(255,255,255,0.04), transparent 70%);
}
.badge-hero{
  background: rgba(224,122,31,0.15);
  color: #fff;
  border:1px solid rgba(224,122,31,0.5);
  font-weight:700;
  padding:8px 12px;
  border-radius:999px;
}

/* Statistiques */
.hero-stats{
  display:flex; gap:18px; flex-wrap:wrap;
}
.stat{
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.08);
  padding:12px 14px;
  border-radius:12px;
  min-width:120px;
}
.stat-num{ font-size:22px; font-weight:800; }
.stat-label{ font-size:12px; opacity:.85; }

/* Card formulaire hero */
.hero-card{
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.hero-card h5{
  font-weight:800;
  color: var(--bleu-nuit);
}
/* ===== WHY PRO SECTION ===== */
.why-pro{
  background: var(--blanc-casse);
}

.why-title{
  font-weight: 900;
  color: var(--bleu-nuit);
  font-size: 32px;
  margin-bottom: 10px;
}

.why-subtitle{
  color: var(--texte-doux);
  max-width: 720px;
  margin: 0 auto;
  font-size: 16px;
}

/* Cartes */
.why-card{
  background: #fff;
  border-radius: 16px;
  padding: 22px;
  box-shadow: 0 8px 22px rgba(17,24,39,.06);
  border: 1px solid #eef0f5;
  transition: all .25s ease;
  position: relative;
  overflow: hidden;
}

.why-card::after{
  content:"";
  position:absolute;
  inset:auto -40% -70% auto;
  width:220px; height:220px;
  background: rgba(224,122,31,.07);
  border-radius:50%;
  transform: translate(20px, 20px);
}

.why-card:hover{
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(17,24,39,.12);
  border-color: rgba(224,122,31,.35);
}

.why-icon{
  width: 54px;
  height: 54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  background: rgba(11,16,32,.06);
  color: var(--bleu-nuit);
  font-size: 24px;
  margin-bottom: 14px;
}

.why-card h5{
  font-weight: 800;
  color: var(--bleu-nuit);
  margin-bottom: 8px;
}

.why-card p{
  color: var(--texte-doux);
  font-size: 14.5px;
  margin:0;
}

/* Stats */
.why-stats{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.stat-box{
  background: linear-gradient(135deg, #fff 0%, #f9fafb 100%);
  border-radius: 14px;
  padding: 16px;
  text-align:center;
  border:1px solid #eef0f5;
}

.stat-number{
  font-weight: 900;
  color: var(--orange);
  font-size: 22px;
  line-height: 1.1;
}

.stat-text{
  font-size: 12.5px;
  color: var(--texte-doux);
  margin-top: 4px;
  font-weight: 700;
  letter-spacing:.2px;
}

@media (max-width: 992px){
  .why-stats{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px){
  .why-stats{ grid-template-columns: 1fr; }
}
/* ===== SERVICES PRO ===== */
.services-pro{ background: white; }

.services-title{
  font-weight:900;
  color: var(--bleu-nuit);
  font-size: 34px;
  margin-bottom: 10px;
}
.services-subtitle{
  color: var(--texte-doux);
  max-width: 720px;
  margin:0 auto;
  font-size:16px;
}

/* cartes services */
.service-card{
  background:#fff;
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(17,24,39,.06);
  border:1px solid #eef0f5;
  transition:all .25s ease;
  position:relative;
  overflow:hidden;
}
.service-card::after{
  content:"";
  position:absolute;
  inset:auto -35% -70% auto;
  width:220px; height:220px;
  background: rgba(224,122,31,.07);
  border-radius:50%;
}
.service-card:hover{
  transform: translateY(-6px);
  box-shadow:0 14px 30px rgba(17,24,39,.12);
  border-color: rgba(224,122,31,.35);
}

.service-icon{
  width:56px; height:56px;
  display:flex; align-items:center; justify-content:center;
  border-radius:14px;
  background: rgba(11,16,32,.06);
  font-size:24px; margin-bottom:14px;
}
.service-card h5{
  font-weight:800; color: var(--bleu-nuit); margin-bottom:8px;
}
.service-card p{
  color: var(--texte-doux); font-size:14.5px; margin:0;
}

/* CTA services */
.services-cta-box{
  background: var(--blanc-casse);
  border:1px solid #eef0f5;
  border-radius:18px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
@media (max-width: 768px){
  .services-cta-box{ flex-direction:column; align-items:flex-start; }
}


/* ===== ABOUT PRO ===== */
.about-pro{ background: var(--blanc-casse); }

.about-title{
  font-weight:900;
  color: var(--bleu-nuit);
  font-size: 34px;
  margin-bottom: 12px;
}
.about-text{
  color: var(--texte);
  font-size:16px;
  line-height:1.7;
}

.about-card{
  background:#fff;
  border-radius:16px;
  padding:20px;
  box-shadow:0 10px 26px rgba(17,24,39,.08);
  border:1px solid #eef0f5;
}
.about-card h5{
  font-weight:800;
  color: var(--bleu-nuit);
}
.about-card p{ color: var(--texte-doux); }

.about-mini{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:10px; margin-top:12px;
}
.mini{
  background:#f9fafb;
  border:1px solid #eef0f5;
  border-radius:12px;
  padding:10px;
  text-align:center;
}
.mini-num{
  font-weight:900; color: var(--orange); font-size:18px;
}
.mini-txt{
  font-size:12px; color: var(--texte-doux); font-weight:700;
}

.about-values-title{
  font-weight:900;
  color: var(--bleu-nuit);
  font-size:28px;
}
.about-subtitle{
  color: var(--texte-doux);
  font-size:15.5px;
}

/* cartes valeurs */
.value-card{
  background:#fff;
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 22px rgba(17,24,39,.06);
  border:1px solid #eef0f5;
  transition:all .25s ease;
}
.value-card:hover{
  transform: translateY(-5px);
  box-shadow:0 14px 30px rgba(17,24,39,.12);
  border-color: rgba(224,122,31,.35);
}
.value-icon{
  width:46px; height:46px;
  display:flex; align-items:center; justify-content:center;
  border-radius:12px;
  background: rgba(11,16,32,.06);
  font-size:20px; margin-bottom:12px;
}
.value-card h6{
  font-weight:800; color: var(--bleu-nuit); margin-bottom:6px;
}
.value-card p{
  color: var(--texte-doux); font-size:14px; margin:0;
}
/* ===== CONTACT PRO ===== */
.contact-pro{ background:white; }

.contact-title{
  font-weight:900;
  color: var(--bleu-nuit);
  font-size:34px;
  margin-bottom:8px;
}
.contact-subtitle{
  color: var(--texte-doux);
  max-width:720px;
  margin:0 auto;
  font-size:16px;
}

/* cartes */
.contact-info-card,
.contact-form-card{
  background:#fff;
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(17,24,39,.06);
  border:1px solid #eef0f5;
}

.contact-info-card h5,
.contact-form-card h5{
  font-weight:800;
  color: var(--bleu-nuit);
}

/* items info */
.contact-item{
  display:flex;
  gap:12px;
  padding:12px 0;
  border-bottom:1px dashed #eef0f5;
}
.contact-item:last-child{ border-bottom:0; }

.contact-ico{
  width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:12px;
  background: rgba(11,16,32,.06);
  font-size:18px;
}

.contact-item .label{
  font-size:12px;
  font-weight:800;
  color: var(--texte-doux);
  text-transform: uppercase;
  letter-spacing:.4px;
}
.contact-item .value{
  font-size:15px;
  font-weight:700;
  color: var(--bleu-nuit);
}
.contact-item .value a{
  color: var(--bleu-nuit);
  text-decoration:none;
}
.contact-item .value a:hover{ color: var(--orange); }

/* map */
.map-card{
  background: var(--blanc-casse);
  border:1px solid #eef0f5;
  border-radius:18px;
  padding:18px;
}
.map-card h5{ font-weight:800; color: var(--bleu-nuit); }

.map-card iframe{
  width:100%;
  height:360px;
  border:0;
  border-radius:14px;
}

.map-placeholder{
  background:#fff;
  border:1px dashed #dfe3ea;
  border-radius:14px;
  padding:18px;
  text-align:center;
  color: var(--texte-doux);
}
