/* ═══ Madali Services — styles communs (en-tête, menu mobile, pied de page, icônes) ═══ */
:root{--teal:#2A8F8D;--teal-dark:#1D6F6D;--teal-light:#3BAFAD;--noir:#1A1A1A;--blanc:#FFFFFF;--gris-bg:#F4F4F4;--gris-mid:#6b6b6b;--border:#E0E0E0}

/* En-tête */
.mx-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:68px;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:2px solid var(--teal);display:flex;align-items:center;justify-content:space-between;padding:0 5%;font-family:'DM Sans',sans-serif}
.mx-header .mx-logo img{height:44px;width:auto;display:block}
.mx-links{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.mx-links a{display:block;text-decoration:none;color:var(--noir);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;border-radius:2px;transition:all .25s ease}
.mx-links a:hover,.mx-links a.active{background:var(--teal);color:#fff}
.mx-links a.mx-cta{background:var(--teal);color:#fff;margin-left:8px}
.mx-links a.mx-cta:hover{background:var(--teal-dark)}
.mx-burger{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;padding:10px;flex-direction:column;justify-content:space-between}
.mx-burger span{display:block;height:2px;width:100%;background:var(--noir);transition:all .25s ease}
.mx-burger.open span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.mx-burger.open span:nth-child(2){opacity:0}
.mx-burger.open span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
@media (max-width:980px){
  .mx-burger{display:flex}
  .mx-links{display:none;position:fixed;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:2px solid var(--teal);box-shadow:0 12px 30px rgba(0,0,0,.12);padding:8px 0}
  .mx-links.open{display:flex}
  .mx-links a{padding:14px 24px;font-size:14px;border-radius:0}
  .mx-links a.mx-cta{margin:8px 24px;text-align:center}
}

/* Icônes */
.mx-icon{width:30px;height:30px;stroke:var(--teal);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
.mx-icon-sm{width:18px;height:18px}

/* Pied de page */
.mx-footer{background:#111;color:#fff;padding:64px 5% 0;font-family:'DM Sans',sans-serif;margin-top:0}
.mx-footer::after{content:'';display:block;height:4px;background:var(--teal);margin:0 -5.3%}
.mx-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.mx-footer-brand img{height:56px;width:auto;margin-bottom:18px;display:block;filter:brightness(0) invert(1)}
.mx-footer-brand p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.7;max-width:280px}
.mx-footer h4{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-light);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid rgba(42,143,141,.3)}
.mx-footer ul{list-style:none;margin:0;padding:0}
.mx-footer li{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:10px;line-height:1.6;display:flex;gap:8px;align-items:center}
.mx-footer a{color:rgba(255,255,255,.8);text-decoration:none}
.mx-footer a:hover{color:var(--teal-light)}
.mx-footer .mx-icon{stroke:var(--teal-light)}
.mx-footer-bottom{max-width:1200px;margin:0 auto;padding:20px 0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.45)}
.mx-footer-bottom a{color:rgba(255,255,255,.6)}
@media (max-width:768px){.mx-footer-grid{grid-template-columns:1fr;gap:28px}}

/* Pages légales */
.mx-legal{max-width:860px;margin:0 auto;padding:130px 24px 80px;font-family:'DM Sans',sans-serif;color:var(--noir);line-height:1.75}
.mx-legal h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(30px,5vw,46px);text-transform:uppercase;margin-bottom:8px;line-height:1.1}
.mx-legal h2{font-family:'Space Grotesk',sans-serif;font-size:20px;margin:36px 0 10px;color:var(--teal-dark)}
.mx-legal p,.mx-legal li{font-size:15px;color:#333}
.mx-legal ul{padding-left:20px;margin:8px 0}
.mx-legal .mx-updated{color:var(--gris-mid);font-size:13px;margin-bottom:24px}
.mx-legal a{color:var(--teal-dark)}
.contact-icon .mx-icon{stroke:#fff;width:22px;height:22px}
.suivi-icon .mx-icon{width:34px;height:34px}
.contact-right{padding:0 !important;overflow:hidden}
.contact-right iframe{background:#1a1a1a !important}
.contact-right p{padding:12px 20px 16px}
