/* =============================================================================
   M-VITRINE.1 (24/10/2026) — en-tête unique du site (views/partials/navbar.php) et pied de page
   (views/container_footer.php, container_footer_pro.php). Maquette : vue 7 « En-tête & pied ».
   Classes .kfh-* (en-tête) et .kft-* (pied) : aucune collision avec Bootstrap 3 ni style.css.
   Le menu du compte réutilise assets/css/kfa_espace_entry.css (.kfe-*).
   ============================================================================= */
.kfh{position:relative;z-index:40;background:#fff;border-bottom:1px solid #eef1f7;margin:0;font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.kfh *,.kfh *::before,.kfh *::after{box-sizing:border-box}
.kfh-in{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:10px;min-height:60px}
.kfh-logo{display:inline-flex;align-items:center;flex:none}
.kfh-logo img{height:26px;width:auto;display:block}
.kfh-act{margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0}
.kfh-i{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.kfh-hide-m{display:none!important}
.kfh-link{display:inline-flex;align-items:center;font-size:14px;font-weight:600;color:#20285e;padding:8px 10px;border-radius:8px;text-decoration:none;white-space:nowrap}
.kfh-link:hover,.kfh-link:focus{background:#f6f7fb;color:#20285e;text-decoration:none}
.kfh-login{display:inline-flex;align-items:center;min-height:40px;font:inherit;font-size:14px;font-weight:700;color:#20285e;background:#fff;border:1.5px solid #dde2ed;border-radius:10px;padding:7px 14px;cursor:pointer;white-space:nowrap}
.kfh-login:hover{border-color:#c4cce4}
.kfh-burger{display:inline-grid;place-items:center;width:40px;height:40px;border:1.5px solid #dde2ed;border-radius:10px;background:#fff;color:#20285e;cursor:pointer;padding:0}
.kfh-burger .kfh-i{width:20px;height:20px}
.kfh-lang{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.kfh-lang .kfa-lg-btn{margin-top:0}
.kfh-av{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e6ecff;color:#20285e!important;font-weight:800;font-size:14px;letter-spacing:.02em;text-decoration:none!important;flex:none}
.kfh-av:hover,.kfh-av:focus{background:#dbe3ff}
.kfh-av:focus-visible,.kfh-login:focus-visible,.kfh-burger:focus-visible,.kfh-link:focus-visible,.kfh-ib:focus-visible,.kfh-cta:focus-visible,.kfh-pill:focus-visible{outline:2px solid #f15e61;outline-offset:2px}
.kfh-badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:999px;background:#d6424a;color:#fff;font-size:10.5px;font-weight:800;line-height:1;display:grid;place-items:center;padding:0 4px;border:2px solid #fff}
.kfh-pill{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;background:#e6f6ef;color:#11795a!important;font-size:13.5px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.kfh-pill .kfh-i{width:16px;height:16px}
.kfh-cta{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border-radius:10px;background:#20285e;color:#fff!important;font-size:14px;font-weight:700;text-decoration:none!important;white-space:nowrap}
.kfh-cta:hover,.kfh-cta:focus{background:#2d3875}
.kfh-cta .kfh-i{width:17px;height:17px}
.kfh-ib{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;color:#20285e!important;text-decoration:none!important}
.kfh-ib:hover,.kfh-ib:focus{background:#f6f7fb}
.kfh-ib .kfh-badge{top:2px;right:0}
@media (min-width:768px){
  .kfh-in{padding:0 28px;min-height:68px;gap:14px}
  .kfh-logo img{height:30px}
  .kfh-hide-m{display:inline-flex!important}
  .kfh-burger{display:none}
}
@media print{.kfh{border:0}.kfh-act{display:none}}

/* ---------------- Pied de page ---------------- */
.kft{background:#20285e;color:#cfd5f5;font-size:14px;line-height:1.5;padding:32px 0 24px;font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.kft *,.kft *::before,.kft *::after{box-sizing:border-box}
.kft-in{max-width:1180px;margin:0 auto;padding:0 16px}
.kft-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.kft-h{display:block;color:#fff;opacity:.72;font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;margin:0 0 10px}
.kft a{color:#eef1ff;text-decoration:none}
.kft a:hover,.kft a:focus{color:#fff;text-decoration:underline;text-underline-offset:3px}
.kft-col a{display:block;padding:4px 0}
.kft-soc{display:flex;gap:10px}
.kft-soc a{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12)}
.kft-soc a:hover{background:rgba(255,255,255,.2)}
.kft-soc img{width:18px;height:18px;display:block}
.kft-strip{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.kft-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kft-strip li a{display:inline-block;padding:6px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:13px;line-height:1.3}
.kft-strip li a:hover{background:rgba(255,255,255,.08);text-decoration:none}
.kft-bottom{margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:12px}
.kft-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}
.kft-logo{font-weight:800;font-size:21px;letter-spacing:-.04em;color:#fff!important;text-decoration:none!important}
.kft-logo span{color:#ff5e58}
.kft-legal{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px}
.kft-legal a,.kft-legal button{display:inline;padding:0;margin:0;color:#cfd5f5;background:none;border:0;font:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.kft-legal a:hover,.kft-legal button:hover{color:#fff}
@media (min-width:768px){
  .kft-in{padding:0 28px}
  .kft-g{grid-template-columns:repeat(4,minmax(0,1fr))}
  .kft-bottom{grid-template-columns:auto 1fr;align-items:center}
  .kft-copy{justify-content:flex-start;gap:22px}
  .kft-legal{justify-content:flex-end}
}
