/* Isolated header correction. Loaded after the original theme CSS. */
.main-header .container { display:flex !important; align-items:center !important; min-width:0; }
.main-header .logo-section { min-width:0 !important; flex-shrink:1 !important; }
.main-header .logo-section .logo { display:flex !important; align-items:center; max-width:100% !important; }
.main-header .logo-section .logo .logo-icon { display:block; width:100% !important; max-width:100% !important; object-fit:contain !important; }
.main-header .header-cta { display:flex !important; align-items:center !important; flex-shrink:0; min-width:0; }
.main-header .header-cta a { white-space:nowrap; }
@media (max-width:1199px) {
  .main-header .container { justify-content:space-between !important; gap:12px !important; }
  .main-header .logo-section { width:clamp(115px, 24vw, 190px) !important; height:auto !important; flex:0 1 auto !important; overflow:visible !important; }
  .main-header .logo-section .logo { width:100% !important; height:auto !important; }
  .main-header .logo-section .logo .logo-icon { height:auto !important; max-height:65px !important; }
  .main-header .main-navigation { display:none !important; }
  .main-header .header-cta { margin-left:auto !important; gap:10px !important; }
  .main-header .mobile-menu-toggle {
    display:flex !important; flex-direction:column !important; align-items:center !important;
    justify-content:center !important; gap:5px !important; width:44px !important;
    height:44px !important; min-width:44px !important; padding:10px !important;
    border:1px solid rgba(20,35,50,.18) !important; border-radius:10px !important;
    background:#fff !important; cursor:pointer; position:relative; z-index:1002;
    opacity:1 !important; visibility:visible !important; transform:none !important;
  }
  .main-header .mobile-menu-toggle span {
    display:block !important; width:22px !important; height:2px !important;
    min-height:2px !important; background:#182536 !important; border-radius:2px !important;
    opacity:1 !important; position:static !important; transform:none !important;
  }
  .main-header .mobile-menu-toggle.active span { transform:none !important; }
}
@media (max-width:600px) {
  .main-header .container { gap:6px !important; padding-left:10px !important; padding-right:10px !important; }
  .main-header .logo-section { width:clamp(108px, 37vw, 165px) !important; }
  .main-header .header-cta { gap:6px !important; }
  .main-header .header-cta .button { min-width:42px !important; width:42px !important; height:42px !important; padding:0 !important; display:flex !important; align-items:center; justify-content:center; border-radius:12px !important; }
  .main-header .header-cta .button .btn-text { display:none !important; }
}
@media (min-width:601px) and (max-width:1199px) {
  .main-header .header-cta .button { padding:10px 14px !important; font-size:13px !important; }
}
@media (max-width:1199px) {
  .mobile-menu.active { visibility:visible !important; opacity:1 !important; }
}

/* Mobile logo and reliable navigation stacking */
@media (max-width: 600px) {
 .main-header .logo-section { width:clamp(170px, 53vw, 235px) !important; flex:0 1 auto !important; }
 .main-header .logo-section .logo .logo-icon { width:100% !important; height:auto !important; max-height:78px !important; }
 .main-header .header-cta { margin-left:auto !important; }
}
@media (max-width:1199px) {
 .menu-overlay { pointer-events:none !important; }
 .menu-overlay.active { pointer-events:auto !important; }
 .mobile-menu { pointer-events:none; visibility:hidden; }
 .mobile-menu.active { pointer-events:auto; visibility:visible !important; z-index:1301 !important; }
 .mobile-menu .mobile-nav, .mobile-menu .mobile-nav a, .mobile-menu .mobile-menu-close { pointer-events:auto !important; }
}

