/* ================================================================
   LCD CONSULTING — Surcharges Bootstrap 5
   Bleu #1B4F8A | Vert #5DB233
   ================================================================ */

:root {
  --lcd-bleu:       #1B4F8A;
  --lcd-bleu-dark:  #123565;
  --lcd-bleu-light: #2563b0;
  --lcd-vert:       #5DB233;
  --lcd-vert-dark:  #3d8a1e;
  --lcd-vert-light: #7acc4a;
}

/* Fonts */
body { font-family: 'Open Sans', sans-serif; color: #1a2233; }
h1,h2,h3,h4,h5,h6,.navbar-brand,.btn { font-family: 'Raleway', sans-serif; }

/* ── Couleurs utilitaires ── */
.bg-lcd-bleu      { background-color: var(--lcd-bleu) !important; }
.bg-lcd-vert      { background-color: var(--lcd-vert) !important; }
.bg-lcd-dark      { background-color: #0d2a4a !important; }
.text-lcd-bleu    { color: var(--lcd-bleu) !important; }
.text-lcd-vert    { color: var(--lcd-vert) !important; }
.text-lcd-vert-light { color: var(--lcd-vert-light) !important; }

/* ── Boutons LCD ── */
.btn-lcd-bleu { background:var(--lcd-bleu);color:#fff;border:none;font-weight:700; }
.btn-lcd-bleu:hover { background:var(--lcd-bleu-dark);color:#fff; }
.btn-lcd-vert { background:var(--lcd-vert);color:#fff;border:none;font-weight:700; }
.btn-lcd-vert:hover { background:var(--lcd-vert-dark);color:#fff; }
.btn-lcd-outline { background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);font-weight:700; }
.btn-lcd-outline:hover { border-color:#fff;background:rgba(255,255,255,.1);color:#fff; }

/* ── NAVBAR ── */
.navbar {
  background:#fff !important;
  border-bottom:3px solid var(--lcd-bleu);
  box-shadow:0 2px 10px rgba(0,0,0,.07);
  padding-top:.5rem;
  padding-bottom:.5rem;
}
/* Logo : taille fixe petite */
.navbar-brand img {
  height:36px;
  width:auto;
  display:block;
}
.nav-link {
  font-weight:600;font-size:13px;
  color:var(--lcd-bleu) !important;
  text-transform:uppercase;letter-spacing:.4px;
  padding:.4rem .6rem !important;
  position:relative;
}
.nav-link::after {
  content:'';position:absolute;bottom:0;left:.6rem;right:.6rem;
  height:2px;background:var(--lcd-vert);
  transform:scaleX(0);transition:transform .25s;
}
.nav-link:hover::after,.nav-link.active::after { transform:scaleX(1); }
.nav-link:hover { color:var(--lcd-bleu-dark) !important; }

.nav-cta {
  background:var(--lcd-bleu) !important;color:#fff !important;
  border-radius:5px !important;padding:.45rem 1.1rem !important;
  font-weight:700 !important;font-size:13px !important;
}
.nav-cta:hover { background:var(--lcd-bleu-dark) !important; }
.nav-cta::after { display:none !important; }

.nav-toolbox {
  background:var(--lcd-vert) !important;color:#fff !important;
  border-radius:5px !important;padding:.45rem 1rem !important;
  font-weight:700 !important;font-size:12px !important;
}
.nav-toolbox:hover { background:var(--lcd-vert-dark) !important; }
.nav-toolbox::after { display:none !important; }

/* ── HERO ── */
/* On utilise padding-top via la class py-* Bootstrap + mt-* */
.hero-section {
  background:linear-gradient(135deg,var(--lcd-bleu-dark) 0%,var(--lcd-bleu) 60%,#2563b0 100%);
  position:relative;overflow:hidden;
}
.hero-section::before {
  content:'';position:absolute;top:-100px;right:-100px;
  width:500px;height:500px;
  background:rgba(93,178,51,.07);border-radius:50%;
  pointer-events:none;
}

.hero-badge {
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(93,178,51,.18);border:1px solid rgba(93,178,51,.35);
  color:var(--lcd-vert-light);padding:5px 14px;border-radius:30px;
  font-size:11.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
}
.hero-badge::before {
  content:'';width:6px;height:6px;
  background:var(--lcd-vert-light);border-radius:50%;
  animation:hpulse 2s infinite;
}
@keyframes hpulse{0%,100%{opacity:1}50%{opacity:.35}}

.hero-stat .num {
  font-family:'Raleway',sans-serif;font-size:2rem;font-weight:800;
  color:var(--lcd-vert-light);line-height:1;
}
.hero-stat .lbl { font-size:11px;color:rgba(255,255,255,.6);margin-top:3px; }

.hero-card {
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;padding:1.8rem 1.5rem;
}
.hero-card img {
  height:48px;width:auto;background:#fff;
  border-radius:7px;padding:5px 12px;display:block;margin:0 auto 1rem;
}
.hero-card-item {
  background:rgba(255,255,255,.09);border-radius:7px;
  padding:.6rem .9rem;display:flex;align-items:center;gap:9px;
  color:rgba(255,255,255,.85);font-size:.84rem;margin-bottom:.5rem;
}

/* ── Bande dégradée ── */
.hero-strip { height:5px;background:linear-gradient(to right,var(--lcd-bleu),var(--lcd-vert)); }

/* ── Section tag + filet ── */
.section-tag {
  display:inline-block;background:rgba(27,79,138,.08);color:var(--lcd-bleu);
  padding:4px 14px;border-radius:30px;
  font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;
}
.filet {
  width:50px;height:4px;margin:.8rem auto 0;
  background:linear-gradient(to right,var(--lcd-bleu),var(--lcd-vert));border-radius:2px;
}

/* ── Phase cards ── */
.phase-card {
  background:#fff;border-radius:10px;padding:1.8rem;
  box-shadow:0 3px 14px rgba(0,0,0,.07);
  border-top:4px solid var(--lcd-bleu);
  transition:transform .25s,box-shadow .25s;
  position:relative;height:100%;
}
.phase-card:hover { transform:translateY(-4px);box-shadow:0 10px 28px rgba(27,79,138,.14); }
.phase-card.vert  { border-top-color:var(--lcd-vert); }
.phase-num {
  position:absolute;top:-15px;left:1.3rem;
  width:32px;height:32px;background:var(--lcd-bleu);color:#fff;
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13px;
}
.phase-card.vert .phase-num { background:var(--lcd-vert); }
.phase-ico { font-size:1.9rem;margin:.4rem 0 .8rem; }

/* ── Services ── */
.service-visuel {
  background:linear-gradient(135deg,var(--lcd-bleu-dark),var(--lcd-bleu));
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:3rem 2rem;text-align:center;color:#fff;min-height:280px;
}
.service-visuel.vert{background:linear-gradient(135deg,var(--lcd-vert-dark),var(--lcd-vert));}
.service-visuel .s-ico{font-size:3.5rem;margin-bottom:.7rem;}
.service-label {
  display:inline-block;background:rgba(27,79,138,.08);color:var(--lcd-bleu);
  padding:3px 12px;border-radius:20px;
  font-size:10.5px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:.7rem;
}
.service-texte { padding:2.5rem 3rem; }
.service-texte ul { list-style:none;padding:0; }
.service-texte ul li {
  display:flex;align-items:flex-start;gap:9px;
  padding:.4rem 0;border-bottom:1px solid #f0f0f0;
  font-size:.91rem;color:#5a6170;
}
.service-texte ul li::before {
  content:'';width:7px;height:7px;
  background:var(--lcd-vert);border-radius:50%;flex-shrink:0;margin-top:8px;
}

/* ── Chiffres ── */
.chiffre-num {
  font-family:'Raleway',sans-serif;font-size:2.6rem;
  font-weight:800;color:var(--lcd-vert-light);line-height:1;
}
.chiffre-label{font-size:.85rem;color:rgba(255,255,255,.7);margin-top:.4rem;}
.chiffre-item{border-right:1px solid rgba(255,255,255,.1);padding:2rem 1rem;}
.chiffre-item:last-child{border:none;}

/* ── About ── */
.about-card {
  background:linear-gradient(135deg,var(--lcd-bleu-dark),var(--lcd-bleu));
  border-radius:14px;padding:2.2rem 1.8rem;color:#fff;text-align:center;position:relative;
}
.about-card img {
  height:58px;background:#fff;border-radius:7px;
  padding:6px 13px;display:block;margin:0 auto 1rem;
}
.badge-exp {
  position:absolute;bottom:-14px;right:-14px;
  background:var(--lcd-vert);color:#fff;border-radius:50%;
  width:80px;height:80px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'Raleway',sans-serif;
  box-shadow:0 4px 16px rgba(93,178,51,.4);
}
.badge-exp .n{font-size:1.4rem;font-weight:800;line-height:1;}
.badge-exp .l{font-size:8.5px;line-height:1.3;margin-top:2px;}

/* ── Refs ── */
.ref-card {
  background:#fff;border:1.5px solid #e0e4ea;border-radius:9px;
  padding:1.4rem 1rem;text-align:center;transition:all .25s;height:100%;
}
.ref-card:hover{border-color:var(--lcd-bleu);box-shadow:0 5px 18px rgba(27,79,138,.1);transform:translateY(-3px);}
.ref-logo-wrap{height:56px;display:flex;align-items:center;justify-content:center;margin-bottom:.7rem;}
.ref-logo-wrap img{max-height:50px;max-width:160px;object-fit:contain;}

/* ── CTA bande ── */
.cta-band{background:var(--lcd-vert);}

/* ── Cards génériques ── */
.lcd-card {
  background:#fff;border-radius:9px;padding:1.6rem;
  box-shadow:0 3px 14px rgba(0,0,0,.07);
  border-top:4px solid var(--lcd-bleu);height:100%;
}
.lcd-card.vert{border-top-color:var(--lcd-vert);}

/* ── Page hero (pages intérieures) ── */
.page-hero {
  background:var(--lcd-bleu);padding:110px 0 48px;
  text-align:center;color:#fff;
  border-bottom:4px solid var(--lcd-vert);
}
.page-hero h1{font-size:2.1rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;}
.breadcrumb-item a{color:rgba(255,255,255,.6);}
.breadcrumb-item.active{color:rgba(255,255,255,.4);}
.breadcrumb-item+.breadcrumb-item::before{color:var(--lcd-vert-light);}

/* ── Formulaires ── */
.form-label{font-size:12px;font-weight:700;color:var(--lcd-bleu);text-transform:uppercase;letter-spacing:.3px;}
.form-control:focus,.form-select:focus{border-color:var(--lcd-bleu);box-shadow:0 0 0 .2rem rgba(27,79,138,.15);}
.form-req{color:var(--lcd-vert);}
.flash-success{background:rgba(93,178,51,.1);color:#256b15;border-left:4px solid var(--lcd-vert);border-radius:5px;padding:11px 15px;}
.flash-error{background:rgba(220,53,69,.08);color:#c0392b;border-left:4px solid #e74c3c;border-radius:5px;padding:11px 15px;}

/* ── Login ── */
.login-card{background:#fff;border-radius:10px;padding:2.2rem;box-shadow:0 6px 24px rgba(0,0,0,.1);border-top:4px solid var(--lcd-bleu);}

/* ── Footer ── */
footer a:hover{color:var(--lcd-vert-light) !important;}
.footer-siret{font-size:.76rem;color:rgba(255,255,255,.25);margin-top:.7rem;}

/* ── Responsive ── */
@media(max-width:992px){
  .service-texte{padding:2rem 1.5rem;}
  .badge-exp{display:none;}
}
@media(max-width:768px){
  .page-hero{padding:95px 0 36px;}
  .page-hero h1{font-size:1.7rem;}
  .phase-card{margin-bottom:1.5rem;}
}
