/* Template « Mamba » : l'apparence d'origine de protection-chantier.fr */
:root { --accent: #428bca; --accent-fonce: #1c5c93; --titre: #1f3548; --texte: #444; --fond-alt: #f5f9fc; --pied-fond: #5c768d; --pied-bas: #587187; --rayon: 4px; }
.mb-wrap { max-width: var(--largeur); margin: 0 auto; padding: 0 16px; }
.mb-topbar { border-bottom: 1px solid #eee; font-size: 14px; }
.mb-topbar .mb-wrap { display: flex; justify-content: space-between; align-items: center; min-height: 40px; gap: 12px; }
.mb-topbar-infos { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.mb-topbar a { color: #444; }
.mb-topbar i { color: var(--accent); margin-right: 4px; }
.mb-topbar-vert { background: var(--accent); color: #fff !important; padding: 4px 14px; border-radius: 3px; white-space: nowrap; }
.mb-entete { background: #fff; position: sticky; top: 0; z-index: 997; box-shadow: 0 2px 15px rgba(0, 0, 0, .05); transition: .3s; }
.mb-entete-in { display: flex; align-items: center; justify-content: space-between; min-height: 76px; }
.mb-logo img { max-height: 58px; width: auto; }
.pc-defile .mb-entete-in { min-height: 62px; }
.mb-nav > ul { list-style: none; display: flex; align-items: center; margin: 0; padding: 0; }
.mb-nav a, .mb-nav button { display: flex; align-items: center; gap: 4px; padding: 10px 14px; font-family: var(--police-titre); font-weight: 600; font-size: 15px; color: #1f3548; background: none; border: 0; white-space: nowrap; text-decoration: none; }
.mb-nav a:hover, .mb-nav button:hover, .mb-nav [aria-current] { color: var(--accent); }
.mb-nav .mb-nav-cta { background: var(--accent); color: #fff; border-radius: 3px; margin-left: 8px; padding: 8px 18px; }
.mb-nav .mb-nav-cta:hover { background: var(--accent-fonce); color: #fff; }
.pc-deroulant { position: relative; }
.mb-sous { display: none; position: absolute; left: 0; top: 100%; min-width: 230px; list-style: none; margin: 0; padding: 8px 0; background: #fff; box-shadow: 0 0 30px rgba(127, 137, 161, .25); border-radius: 4px; z-index: 99; }
.mb-sous a, .mb-sous button { width: 100%; justify-content: space-between; font-size: 14px; font-weight: 500; padding: 8px 20px; text-transform: none; }
.mb-sous-2 { left: 100%; top: 0; }
.pc-deroulant.ouvert > .mb-sous { display: block; }
@media (hover: hover) and (min-width: 992px) { .pc-deroulant:hover > .mb-sous { display: block; } }
.mb-burger { display: none; background: none; border: 0; font-size: 32px; color: #1f3548; }
.mb-hero { position: relative; min-height: min(78vh, 680px); display: flex; align-items: center; color: #fff; overflow: hidden; background: #0d1e2d; }
.mb-hero-diapo { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.2s ease; }
.mb-hero-diapo.actif { opacity: 1; }
.mb-hero-diapos:after { content: ""; position: absolute; inset: 0; background: rgba(13, 30, 45, .62); }
.mb-hero-texte { position: relative; z-index: 2; text-align: center; padding-top: 60px; padding-bottom: 80px; }
.mb-hero h1 { color: #fff; font-size: clamp(2rem, 1.2rem + 3vw, 3.2rem); font-weight: 700; margin: 0 0 18px; text-shadow: 0 2px 12px rgba(0, 0, 0, .3); }
.mb-hero p { max-width: 820px; margin: 0 auto 26px; font-size: 1.12rem; }
.mb-hero-boutons { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.mb-btn { display: inline-flex; align-items: center; gap: 8px; font-family: var(--police-titre); font-weight: 600; letter-spacing: 1px; padding: 13px 32px; border-radius: 50px; background: var(--accent); color: #fff !important; text-decoration: none !important; transition: .3s; }
.mb-btn:hover { background: var(--accent-fonce); }
.mb-btn-clair { background: transparent; border: 2px solid #fff; }
.mb-btn-clair:hover { background: #fff; color: #1f3548 !important; }
.mb-hero-points { position: absolute; bottom: 26px; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: 8px; }
.mb-hero-points span { width: 11px; height: 11px; border-radius: 50%; background: rgba(255, 255, 255, .5); }
.mb-hero-points span.actif { background: var(--accent); }
.mb-titre { background-size: cover; background-position: center; color: #fff; padding: 56px 0 40px; }
.mb-titre h1 { color: #fff; font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.5rem); margin: 0 0 10px; }
.mb-titre .ariane, .mb-titre .ariane a { color: rgba(255, 255, 255, .85); margin: 0; }
header.major h2 { text-transform: uppercase; font-size: clamp(1.4rem, 1rem + 1.2vw, 1.9rem); }
@media (max-width: 991px) {
  .mb-burger { display: block; }
  .mb-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; box-shadow: 0 10px 20px rgba(0, 0, 0, .1); max-height: 75vh; overflow-y: auto; }
  .pc-menu-ouvert .mb-nav { display: block; }
  .mb-nav > ul { flex-direction: column; align-items: stretch; padding: 10px 0; }
  .mb-nav a, .mb-nav button { width: 100%; justify-content: space-between; padding: 12px 20px; }
  .mb-sous { position: static; box-shadow: none; padding: 0 0 0 14px; }
  .mb-nav .mb-nav-cta { margin: 8px 20px; width: auto; justify-content: center; }
  .mb-topbar-tel { display: none; }
}
@media (max-width: 600px) {
  .mb-topbar-infos { display: none; }
  .mb-topbar .mb-wrap { justify-content: center; }
}
