/* KB FRONT V32.0.31 — Navigation premium, scoped to this theme's own header.
 * Page Fondateur has a distinct header owned by its own plugin.
 * No SaaS links, permissions, pricing, registration or templates changed.
 */
@media (min-width: 1121px) {
  body.kbf-v31-0 .kbf-header .kbf-nav { height: 82px; gap: clamp(16px, 1.5vw, 28px); }
  body.kbf-v31-0 .kbf-header .kbf-menu { gap: clamp(14px, 1.45vw, 25px); }
  body.kbf-v31-0 .kbf-header .kbf-menu a,
  body.kbf-v31-0 .kbf-header .kbf-link { font-size: 16px; line-height: 1.4; font-weight: 750; white-space: nowrap; }
  body.kbf-v31-0 .kbf-header .kbf-nav-actions { gap: 16px; }
  body.kbf-v31-0 .kbf-header .kbf-btn-sm { min-height: 48px; padding: 12px 18px; font-size: 16px; line-height: 1.2; }
  body.kbf-v31-0 .kbf-header .kbf-brand-logo { max-height: 55px; max-width: min(260px, 24vw); }
  body.kbf-v31-0 .kbf-header .kbf-brandmark { width: 48px; height: 48px; }
  body.kbf-v31-0 .kbf-header .kbf-brandtext strong { font-size: 18px; }
}
@media (min-width: 1121px) and (max-width: 1280px) {
  body.kbf-v31-0 .kbf-header .kbf-nav { gap: 14px; }
  body.kbf-v31-0 .kbf-header .kbf-menu { gap: 14px; }
  body.kbf-v31-0 .kbf-header .kbf-menu a,
  body.kbf-v31-0 .kbf-header .kbf-link { font-size: 15px; }
  body.kbf-v31-0 .kbf-header .kbf-brand-logo { max-width: 190px; }
  body.kbf-v31-0 .kbf-header .kbf-btn-sm { font-size: 15px; padding: 11px 14px; }
}
/* Collapse before text wraps or runs into the logo on intermediate screens. */
@media (max-width: 1120px) {
  body.kbf-v31-0 .kbf-header .kbf-nav { height: 72px; }
  body.kbf-v31-0 .kbf-header .kbf-menu,
  body.kbf-v31-0 .kbf-header .kbf-nav-actions { display: none; }
  body.kbf-v31-0 .kbf-header .kbf-burger { display: block; flex: none; margin-left:auto; width: 48px; height: 48px; }
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu {
    position: absolute; left: 16px; right: 16px; top: calc(100% - 1px);
    background: #fff; border: 1px solid #dfe4eb; border-radius: 14px; padding: 12px;
    box-shadow: 0 22px 50px rgba(8,20,36,.24); flex-direction: column; gap: 4px;
    max-height: calc(100dvh - 100px); overflow-y: auto;
  }
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu.open { display: flex; }
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu a:not(.kbf-btn) { font-size: 16px; min-height: 48px; display: flex; align-items: center; padding: 11px 14px; }
  body.kbf-v31-0 .kbf-header .kbf-mobile-menu .kbf-btn { font-size: 16px; min-height: 48px; }
  body.kbf-v31-0 .kbf-header .kbf-brand-logo { max-height: 48px; max-width: min(230px, 55vw); }
}
@media (max-width: 640px) {
  body.kbf-v31-0 .kbf-header .kbf-nav { height: 68px; }
  body.kbf-v31-0 .kbf-header .kbf-brand-logo { max-height: 39px; max-width: min(195px, 58vw); }
  body.kbf-v31-0 .kbf-header .kbf-burger { width: 46px; height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  body.kbf-v31-0 .kbf-header .kbf-btn:hover { transform:none; }
}
