/* UK Help Now - ultra compact header/menu */
:root{
  --ukhn-header-max:1180px;
  --ukhn-header-pad-x:12px;
  --ukhn-logo-size:28px;
  --ukhn-header-height:44px;
}

/* Header container */
.ukhn-shell-header,
.site-header,
.main-header,
header.ukhn-header,
header {
  min-height:var(--ukhn-header-height) !important;
  height:auto !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  box-sizing:border-box !important;
}

/* Header inner row */
.ukhn-shell-header .ukhn-shell-inner,
.ukhn-shell-header .inner,
.site-header .inner,
.main-header .inner,
header.ukhn-header .inner,
header .inner,
header nav,
.ukhn-shell-header nav {
  max-width:var(--ukhn-header-max) !important;
  min-height:var(--ukhn-header-height) !important;
  margin:0 auto !important;
  padding:2px var(--ukhn-header-pad-x) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:8px !important;
  box-sizing:border-box !important;
}

/* Logo / brand */
.ukhn-brand,
.logo,
.brand,
.site-logo,
header a.logo,
header a.brand {
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  text-decoration:none !important;
}

.ukhn-brand img,
.logo img,
.brand img,
.site-logo img,
header img {
  width:var(--ukhn-logo-size) !important;
  height:var(--ukhn-logo-size) !important;
  max-width:var(--ukhn-logo-size) !important;
  max-height:var(--ukhn-logo-size) !important;
  object-fit:contain !important;
  margin:0 !important;
  padding:0 !important;
}

.ukhn-brand span,
.logo span,
.brand span,
.site-logo span {
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}

/* Menu wrapper */
.ukhn-nav,
.nav,
.navbar,
.menu,
.nav-links,
header nav ul,
.ukhn-shell-header nav ul {
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:wrap !important;
  gap:4px !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  line-height:1 !important;
}

/* Menu buttons/links - minimum top/bottom margin */
.ukhn-nav a,
.nav a,
.navbar a,
.menu a,
.nav-links a,
header nav a,
.ukhn-shell-header nav a,
header a.nav-link,
header .nav-link,
header .btn,
header .button {
  min-height:26px !important;
  height:26px !important;
  padding-top:2px !important;
  padding-bottom:2px !important;
  padding-left:8px !important;
  padding-right:8px !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-sizing:border-box !important;
}

/* Remove extra vertical space after menu/header */
.ukhn-shell-page-title,
.page-title,
.hero-small,
.subpage-hero {
  padding-top:8px !important;
  padding-bottom:6px !important;
  margin-top:0 !important;
}

main,
.main,
.page,
.content,
.container {
  margin-top:0 !important;
}

/* Homepage hero: reduce gap under menu */
.hero,
.home-hero,
.homepage-hero,
section.hero {
  padding-top:14px !important;
}

/* Mobile */
@media(max-width:760px){
  :root{
    --ukhn-logo-size:26px;
    --ukhn-header-height:42px;
    --ukhn-header-pad-x:10px;
  }

  .ukhn-shell-header .ukhn-shell-inner,
  .ukhn-shell-header .inner,
  .site-header .inner,
  .main-header .inner,
  header.ukhn-header .inner,
  header .inner,
  header nav,
  .ukhn-shell-header nav {
    padding-top:2px !important;
    padding-bottom:2px !important;
    gap:6px !important;
  }

  .ukhn-nav a,
  .nav a,
  .navbar a,
  .menu a,
  .nav-links a,
  header nav a,
  .ukhn-shell-header nav a,
  header a.nav-link,
  header .nav-link,
  header .btn,
  header .button {
    min-height:24px !important;
    height:24px !important;
    padding-top:1px !important;
    padding-bottom:1px !important;
    padding-left:7px !important;
    padding-right:7px !important;
    font-size:12px !important;
  }

  .hero,
  .home-hero,
  .homepage-hero,
  section.hero {
    padding-top:10px !important;
  }
}
