/* === HEADER === */
.site-header {
  position: sticky; top: 0; z-index: 200;
  background: #fff;
  border-bottom: 2px solid var(--blue);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px; height: 80px;
}

/* Logo */
.logo {
  display: flex; align-items: center;
  text-decoration: none;
}
.logo-img {
  height: 72px;
  width: auto;
  display: block;
}

/* Navigation — force no underlines globally */
.site-header a,
.site-header a:link,
.site-header a:visited,
.site-header a:hover,
.site-header a:active,
.site-header a:focus {
  text-decoration: none !important;
  text-underline-offset: unset !important;
  text-decoration-line: none !important;
}
.main-nav {
  display: flex; align-items: center; gap: 16px;
}
/* WP menu outputs <ul><li><a> — flatten it */
.main-nav ul {
  list-style: none !important; display: flex; align-items: center; gap: 16px;
  margin: 0; padding: 0;
}
.main-nav > li,
.main-nav > ul > li {
  list-style: none !important;
  display: flex; align-items: center;
  margin: 0; padding: 0;
  position: relative;
}
@media (min-width: 850px) {
  .main-nav > li,
  .main-nav > ul > li {
    height: 80px;
  }
}
.main-nav li::before,
.main-nav li::marker {
  content: none !important;
  display: none !important;
}

/* Sub-menus — dropdown on hover */
.main-nav ul ul,
.main-nav .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border: none;
  box-shadow: none;
  flex-direction: column;
  padding: 6px 0;
  z-index: 300;
  gap: 0;
}
.main-nav li:hover > .sub-menu {
  display: flex;
}
/* Last menu items: open submenu to the left so it doesn't overflow viewport */
.main-nav li:last-child > .sub-menu,
.main-nav li:nth-last-child(2) > .sub-menu {
  left: auto;
  right: 0;
}
.main-nav .sub-menu li {
  display: flex;
  list-style: none !important;
  margin: 0; padding: 0;
}
.main-nav .sub-menu li {
  display: block;
  width: 100%;
}
.main-nav .sub-menu a,
.main-nav .sub-menu a:visited {
  display: block;
  padding: 10px 18px;
  font-size: 12px;
  font-weight: 500;
  color: var(--blue) !important;
  text-decoration: none !important;
  width: 100%;
  transition: background .2s, color .2s;
  white-space: nowrap;
  text-align: left;
}
.main-nav .sub-menu a:hover,
.main-nav .sub-menu a:focus {
  background: var(--sky);
  color: var(--blue) !important;
  font-size: 12px;
}
/* Show emoji images in sub-menu links */
.main-nav .sub-menu li a img.wp-smiley,
.main-nav .sub-menu li a img[src*="emoji"] {
  display: inline;
  width: 14px; height: 14px;
}
/* Hide emoji images in nav links (emojis render as text, images are duplicates) */
.main-nav li a img.wp-smiley,
.main-nav li a img[src*="emoji"] {
  display: none;
}
.main-nav a,
.main-nav a:hover,
.main-nav a:focus,
.main-nav a:visited,
.main-nav a:active {
  color: var(--muted); text-decoration: none !important;
  font-size: 14px; font-weight: 500; letter-spacing: .3px;
  transition: color .2s;
  white-space: nowrap;
}
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-parent > a,
.main-nav .current-menu-ancestor > a {
  color: var(--blue);
}

/* Mobile hamburger — animated */
.menu-toggle {
  display: none;
  background: none; border: none; cursor: pointer;
  width: 40px; height: 40px;
  flex-direction: column; justify-content: center; align-items: center; gap: 6px;
  position: relative; z-index: 501;
  padding: 8px;
  border-radius: 0;
  transition: background .2s;
}
.menu-toggle:hover { background: var(--sky); }
.menu-toggle span {
  display: block; width: 24px; height: 2.5px;
  background: var(--blue); border-radius: 2px;
  transition: transform .35s cubic-bezier(.4,.01,.165,.99), opacity .25s ease, width .25s ease;
  transform-origin: center;
}
.menu-toggle.active span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); width: 24px; }
.menu-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.menu-toggle.active span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); width: 24px; }

/* Mobile menu header (logo + close button inside overlay) */
.mobile-menu-header {
  display: none;
}
/* Mobile close button */
.mobile-menu-close {
  display: none;
}

/* Header CTA button */
.btn-header {
  background: var(--blue); color: #fff;
  font-family: 'Outfit', sans-serif; font-weight: 700;
  font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase;
  padding: 10px 24px; text-decoration: none;
  transition: background .2s, transform .2s;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  white-space: nowrap;
}
.btn-header:hover { background: var(--blue2); transform: translateY(-1px); }

/* Offset sticky header when WP admin bar is present (desktop only — admin bar is sticky on desktop) */
.admin-bar .site-header {
  top: 32px;
}
/* On mobile/tablet, WP admin bar scrolls away — so header should stick at top: 0 */
@media (max-width: 782px) {
  .admin-bar .site-header {
    top: 0;
  }
}

/* Mobile responsive rules are in responsive.css — do NOT duplicate here */
