:root {
  --bt-primary: #0d3b66;
  --bt-primary-2: #0f5f97;
  --bt-accent: #f4d35e;
  --bt-success: #25d366;
  --bt-ink: #102a43;
  --bt-muted: #62748a;
  --bt-bg: #f5f8fb;
  --bt-card: #ffffff;
  --bt-border: rgba(13, 59, 102, .12);
  --bt-shadow: 0 18px 45px rgba(13, 59, 102, .10);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  min-height: 100vh;
  margin: 0;
  color: var(--bt-ink);
  background:
    radial-gradient(circle at top left, rgba(244, 211, 94, .18), transparent 32rem),
    linear-gradient(180deg, #ffffff 0%, var(--bt-bg) 72%);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.6;
  padding-top: 76px;
}

a { text-decoration: none; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  z-index: 2000;
  padding: .65rem 1rem;
  color: #fff;
  background: #000;
  border-radius: .5rem;
}
.skip-link:focus { top: .75rem; }

.navbar {
  background: rgba(13, 59, 102, .96);
  backdrop-filter: blur(12px);
}
.navbar-brand { font-weight: 800; letter-spacing: .01em; }
.navbar-brand img { background: #fff; object-fit: cover; }
.navbar .nav-link { font-weight: 650; opacity: .92; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--bt-accent) !important; opacity: 1; }
.dropdown-menu { border: none; box-shadow: var(--bt-shadow); border-radius: 1rem; padding: .65rem; }
.dropdown-item { border-radius: .65rem; padding: .55rem .75rem; }
.search-bar { position: relative; min-width: min(100%, 240px); }
.search-suggestions {
  position: absolute;
  top: calc(100% + .45rem);
  right: 0;
  z-index: 1500;
  width: min(360px, 90vw);
  background: #fff;
  border: 1px solid var(--bt-border);
  border-radius: 1rem;
  box-shadow: var(--bt-shadow);
  overflow: hidden;
}

.hero {
  position: relative;
  overflow: hidden;
  min-height: 74vh;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(13, 59, 102, .96), rgba(15, 95, 151, .88)),
    url("img/equipe.jpg") center/cover;
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto -6rem -12rem auto;
  width: 28rem;
  height: 28rem;
  border-radius: 999px;
  background: rgba(244, 211, 94, .2);
}
.hero .container { position: relative; z-index: 1; }
.hero .badge { background: rgba(255,255,255,.14); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.hero h1 { font-weight: 850; line-height: 1.05; }
.hero p.lead { color: rgba(255,255,255,.86); max-width: 780px; }
.hero-card {
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.4rem;
  backdrop-filter: blur(10px);
}
.hero-stat {
  border-radius: 1.1rem;
  padding: 1.1rem;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.14);
}

.section {
  padding: 5rem 0;
}
.section-sm { padding: 3rem 0; }
.section-title { max-width: 760px; margin: 0 auto 2.5rem; text-align: center; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--bt-primary-2);
  background: rgba(13,59,102,.08);
  border: 1px solid var(--bt-border);
  border-radius: 999px;
  padding: .35rem .8rem;
  font-weight: 800;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.section-title h1, .section-title h2, .page-hero h1 { font-weight: 850; color: var(--bt-ink); }
.section-title p, .page-hero p, .text-muted-soft { color: var(--bt-muted); }

.page-hero {
  padding: 4rem 0 2.25rem;
  background: linear-gradient(180deg, rgba(13,59,102,.08), transparent);
}
.page-hero .container {
  max-width: 980px;
}

.service-card, .feature-card, .product-card, .formation-card, .info-card, .blog-article, .support-card {
  background: var(--bt-card);
  border: 1px solid var(--bt-border);
  border-radius: 1.35rem;
  box-shadow: 0 12px 30px rgba(13, 59, 102, .08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.service-card:hover, .feature-card:hover, .product-card:hover, .formation-card:hover, .support-card:hover, .clickable-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--bt-shadow);
  border-color: rgba(13,59,102,.2);
}
.icon-badge {
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  color: var(--bt-primary);
  background: rgba(244, 211, 94, .32);
  font-size: 1.35rem;
}

.btn-primary {
  --bs-btn-bg: var(--bt-primary);
  --bs-btn-border-color: var(--bt-primary);
  --bs-btn-hover-bg: var(--bt-primary-2);
  --bs-btn-hover-border-color: var(--bt-primary-2);
}
.btn-success {
  --bs-btn-bg: var(--bt-success);
  --bs-btn-border-color: var(--bt-success);
}
.btn-soft {
  color: var(--bt-primary);
  background: rgba(13,59,102,.08);
  border: 1px solid var(--bt-border);
}
.btn-soft:hover { color: #fff; background: var(--bt-primary); }

main img, .card-img-top, .product-card img {
  max-width: 100%;
}

.about-image, .rounded-media {
  border-radius: 1.5rem;
  box-shadow: var(--bt-shadow);
  border: 1px solid var(--bt-border);
}

.product-toolbar {
  position: sticky;
  top: 86px;
  z-index: 950;
  background: rgba(245, 248, 251, .92);
  backdrop-filter: blur(10px);
  border: 1px solid var(--bt-border);
  border-radius: 1.25rem;
  padding: .85rem;
}
.product-grid, .formation-grid, .support-grid, .maintenance-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
  gap: 1.35rem;
}
.product-card {
  position: relative;
  overflow: hidden;
  padding: 1rem;
}
.product-card img {
  width: 100%;
  height: 190px;
  object-fit: contain;
  background: #f2f6fa;
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: 1rem;
}
.product-card h3 { font-size: 1.05rem; font-weight: 800; margin-bottom: .35rem; }
.product-card p { color: var(--bt-muted); font-size: .95rem; }
.product-price { color: var(--bt-primary); font-weight: 850; margin-bottom: .75rem; }
.add-to-cart { width: 100%; }
.whatsapp-link {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 2.45rem;
  height: 2.45rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bt-success);
  box-shadow: 0 10px 24px rgba(37,211,102,.22);
}
.cart-panel {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: min(360px, calc(100vw - 2rem));
  z-index: 1030;
  background: #fff;
  border: 1px solid var(--bt-border);
  border-radius: 1.25rem;
  box-shadow: var(--bt-shadow);
  padding: 1rem;
}
.cart-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .75rem;
  padding: .65rem 0;
  border-bottom: 1px solid rgba(13,59,102,.08);
}
.cart-toast {
  position: fixed;
  right: 1rem;
  bottom: 12rem;
  z-index: 1040;
  color: #fff;
  background: var(--bt-primary);
  border-radius: 999px;
  padding: .7rem 1rem;
  box-shadow: var(--bt-shadow);
  opacity: 0;
  transform: translateY(1rem);
  transition: .2s ease;
  pointer-events: none;
}
.cart-toast.show { opacity: 1; transform: translateY(0); }

.tarif-video-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.tarifs-formation, .video-box {
  background: #fff;
  border: 1px solid var(--bt-border);
  border-radius: 1.25rem;
  box-shadow: var(--bt-shadow);
  padding: 1.5rem;
}
.video-box video { width: 100%; border-radius: 1rem; background: #0d3b66; }

.assistance-services { list-style: none; padding: 0; }
.assistance-services li {
  padding: .85rem 1rem;
  margin-bottom: .7rem;
  background: #fff;
  border: 1px solid var(--bt-border);
  border-radius: 1rem;
}

.faq-container, .policy-container {
  max-width: 920px;
  margin: 0 auto;
}
.faq-question, .policy-title {
  width: 100%;
  text-align: left;
  border: 0;
  background: #fff;
  padding: 1.1rem 1.25rem;
  font-weight: 800;
  color: var(--bt-ink);
}
.faq-item, .policy-item {
  border: 1px solid var(--bt-border);
  border-radius: 1.1rem;
  overflow: hidden;
  margin-bottom: .9rem;
  background: #fff;
  box-shadow: 0 10px 22px rgba(13,59,102,.05);
}
.faq-answer, .policy-content { padding: 0 1.25rem 1.1rem; color: var(--bt-muted); display: none; }
.faq-question.active, .policy-title.active { color: var(--bt-primary); background: rgba(13,59,102,.05); }

.chat-box {
  min-height: 360px;
  background: #f8fafc;
  border-radius: 1.1rem;
  padding: 1rem;
  overflow-y: auto;
  border: 1px solid var(--bt-border);
}
.message { max-width: 84%; margin-bottom: .8rem; padding: .8rem 1rem; border-radius: 1.1rem; word-wrap: break-word; }
.message.user { background: var(--bt-primary); color: #fff; margin-left: auto; border-bottom-right-radius: .25rem; }
.message.agent { background: #e9eef5; color: var(--bt-ink); margin-right: auto; border-bottom-left-radius: .25rem; }

.blog-article .card-header {
  background: linear-gradient(135deg, var(--bt-primary), var(--bt-primary-2));
  color: #fff;
}
.blog-comment {
  background: #fff;
  border: 1px solid var(--bt-border);
  border-radius: 1rem;
  padding: 1rem;
  margin-bottom: .75rem;
}
.comment-avatar {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 999px;
}

.site-footer {
  color: #dce6ef;
  background:
    linear-gradient(135deg, #071d33, #0d3b66);
}
.site-footer a { color: #dce6ef; }
.site-footer a:hover { color: var(--bt-accent); }
.footer-links li { margin-bottom: .45rem; }
.social-icons a {
  width: 2.4rem;
  height: 2.4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: .35rem;
  color: #fff;
  background: rgba(255,255,255,.1);
  border-radius: 999px;
  transition: .18s ease;
}
.social-icons a:hover { transform: translateY(-2px); background: rgba(244,211,94,.22); }

@media (max-width: 991.98px) {
  body { padding-top: 70px; }
  .navbar-collapse { padding-top: .9rem; }
  .search-bar { width: 100%; }
  .hero { min-height: auto; padding: 4rem 0; }
  .cart-panel { position: static; width: auto; margin: 1rem; }
}
@media (max-width: 575.98px) {
  .section { padding: 3.5rem 0; }
  .hero h1 { font-size: 2.35rem; }
}


/* === Améliorations professionnelles Birgo-Tech === */
:root{
  --bt-primary:#0d3b66;--bt-primary-2:#145da0;--bt-accent:#f4d35e;--bt-bg:#f5f8fb;--bt-dark:#071d33;--bt-muted:#64748b;--bt-border:rgba(13,59,102,.12);--bt-shadow:0 24px 60px rgba(7,29,51,.12);--bt-success:#25d366;
}
html{scroll-behavior:smooth}body{background:var(--bt-bg);color:#102033;padding-top:76px}.navbar{background:linear-gradient(135deg,var(--bt-primary),var(--bt-dark))}.navbar-brand{font-weight:900}.dropdown-menu{border:0;border-radius:1rem;box-shadow:var(--bt-shadow)}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:2000;background:#fff;padding:.6rem 1rem;border-radius:.75rem}.search-bar{position:relative}.search-suggestions{position:absolute;right:0;top:110%;width:min(380px,90vw);background:#fff;border-radius:1rem;box-shadow:var(--bt-shadow);overflow:hidden;z-index:1200}.cta-nav{white-space:nowrap}.hero{background:radial-gradient(circle at 20% 20%,rgba(244,211,94,.25),transparent 28%),linear-gradient(135deg,var(--bt-primary),var(--bt-dark));color:#fff}.hero-pro{min-height:650px;display:flex;align-items:center}.hero .badge,.eyebrow{background:rgba(244,211,94,.18);color:var(--bt-accent);border:1px solid rgba(244,211,94,.35);padding:.55rem .8rem;border-radius:999px;font-weight:800;letter-spacing:.02em}.hero-card{background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:1.5rem;box-shadow:var(--bt-shadow)}.hero-stat{color:#fff;text-decoration:none;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);border-radius:1.25rem;padding:1rem;min-height:125px}.section{padding:5rem 0}.section-sm{padding:3rem 0}.section-title{text-align:center;max-width:820px;margin:0 auto 2.5rem}.text-muted-soft{color:var(--bt-muted)}.service-card,.formation-card,.form-card,.testimonial-card,.project-card,.mini-proof,.timeline-step{background:#fff;border:1px solid var(--bt-border);border-radius:1.35rem;box-shadow:0 14px 35px rgba(7,29,51,.06);transition:.2s ease;text-decoration:none}.service-card:hover,.formation-card:hover,.project-card:hover{transform:translateY(-4px);box-shadow:var(--bt-shadow)}.icon-badge{width:3rem;height:3rem;border-radius:1rem;background:rgba(13,59,102,.08);color:var(--bt-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem}.btn-primary{background:var(--bt-primary);border-color:var(--bt-primary)}.btn-primary:hover{background:var(--bt-dark);border-color:var(--bt-dark)}.btn-soft{color:var(--bt-primary);background:rgba(13,59,102,.08);border:1px solid var(--bt-border)}.btn-soft:hover{color:#fff;background:var(--bt-primary)}.page-hero{padding:5rem 0 3rem;background:linear-gradient(180deg,#fff,rgba(245,248,251,.7))}.about-image,.rounded-media{border-radius:1.5rem;box-shadow:var(--bt-shadow);border:1px solid var(--bt-border)}main img,.card-img-top,.product-card img{max-width:100%}.mini-proof{padding:1rem;display:grid;gap:.25rem}.mini-proof i{color:var(--bt-primary);font-size:1.4rem}.mini-proof span,.testimonial-card span{color:var(--bt-muted);font-size:.95rem}.timeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.timeline-step{padding:1.25rem;position:relative}.timeline-step span{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:999px;background:var(--bt-primary);color:#fff;font-weight:900;margin-bottom:.75rem}.cta-band{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:linear-gradient(135deg,var(--bt-primary),var(--bt-dark));color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:var(--bt-shadow)}.cta-band p{margin-bottom:0;color:#dce6ef}.testimonial-card{padding:1.5rem;height:100%}.testimonial-card p{font-size:1.05rem}.form-card{padding:1.5rem}.checklist{padding-left:1.2rem}.checklist li{margin-bottom:.65rem}.formation-card{padding:1.5rem}.formation-card ul{color:var(--bt-muted);padding-left:1.1rem}.project-card{overflow:hidden;height:100%}.project-card img{width:100%;height:190px;object-fit:cover;background:#eef4fa}.project-card>div{padding:1.2rem}.product-toolbar{position:sticky;top:86px;z-index:950;background:rgba(245,248,251,.94);backdrop-filter:blur(10px);border:1px solid var(--bt-border);border-radius:1.25rem;padding:.85rem}.product-grid,.formation-grid,.support-grid,.maintenance-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1.35rem}.product-card{position:relative;overflow:hidden;padding:1rem;background:#fff;border:1px solid var(--bt-border);border-radius:1.35rem;box-shadow:0 14px 35px rgba(7,29,51,.06);transition:.2s ease;cursor:pointer}.product-card:hover{transform:translateY(-4px);box-shadow:var(--bt-shadow)}.product-card img{width:100%;height:190px;object-fit:contain;background:#f2f6fa;border-radius:1rem;padding:1rem;margin-bottom:1rem}.product-card h3{font-size:1.05rem;font-weight:800;margin-bottom:.35rem}.product-card p{color:var(--bt-muted);font-size:.95rem}.product-price{color:var(--bt-primary);font-weight:850;margin-bottom:.75rem}.add-to-cart{width:100%}.whatsapp-link{position:absolute;top:1.2rem;right:1.2rem;width:2.45rem;height:2.45rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:var(--bt-success);box-shadow:0 10px 24px rgba(37,211,102,.22)}.cart-panel{position:fixed;right:1rem;bottom:1rem;width:min(360px,calc(100vw - 2rem));z-index:1030;background:#fff;border:1px solid var(--bt-border);border-radius:1.25rem;box-shadow:var(--bt-shadow);padding:1rem}.cart-item{display:grid;grid-template-columns:1fr auto;gap:.75rem;padding:.65rem 0;border-bottom:1px solid rgba(13,59,102,.08)}.cart-toast{position:fixed;right:1rem;bottom:12rem;z-index:1040;color:#fff;background:var(--bt-primary);border-radius:999px;padding:.7rem 1rem;box-shadow:var(--bt-shadow);opacity:0;transform:translateY(10px);transition:.2s ease}.cart-toast.show{opacity:1;transform:translateY(0)}.faq-list{max-width:900px;margin:auto}.faq-item{background:#fff;border:1px solid var(--bt-border);border-radius:1rem;margin-bottom:1rem;overflow:hidden}.faq-question,.policy-title{width:100%;border:0;background:#fff;text-align:left;padding:1rem 1.2rem;font-weight:800;color:var(--bt-primary)}.faq-answer,.policy-content{display:none;padding:0 1.2rem 1rem;color:var(--bt-muted)}.site-footer{color:#dce6ef;background:radial-gradient(circle at 10% 10%,rgba(244,211,94,.12),transparent 25%),linear-gradient(135deg,#071d33,#0d3b66)}.site-footer a{color:#dce6ef}.site-footer a:hover{color:var(--bt-accent)}.footer-links li{margin-bottom:.45rem}.social-icons a{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;margin-right:.35rem;color:#fff;background:rgba(255,255,255,.1);border-radius:999px;transition:.18s ease}.social-icons a:hover{transform:translateY(-2px);background:rgba(244,211,94,.22)}@media (max-width:991.98px){body{padding-top:70px}.navbar-collapse{padding-top:.9rem}.search-bar{width:100%}.hero{min-height:auto;padding:4rem 0}.cart-panel{position:static;width:auto;margin:1rem 0}.cta-band{align-items:flex-start;flex-direction:column}}@media (max-width:575.98px){.section{padding:3.5rem 0}.hero h1{font-size:2.35rem}.page-hero{padding-top:3.5rem}}
