h3.wp-block-heading {
  padding-top: 1rem !important;
  margin-bottom: 0rem !important;
}

ul.wp-block-navigation > li {
  border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 6px !important;
  padding: 8px 4px 8px 4px !important;
  margin: 0 6px !important;
  cursor: pointer !important;
  transition: background 0.2s;
  position: relative !important;
}

ul.wp-block-navigation > li:hover {
  background: rgba(255, 255, 255, 0.15) !important;
}

ul.wp-block-navigation > li > a {
  padding: 0 12px !important;
}

ul.wp-block-navigation > li.wp-block-navigation-link > a::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

ul.wp-block-navigation > li > button.wp-block-navigation-submenu__toggle {
  background: none !important;
  padding: 0 16px 0 2px !important;
  margin: 0 !important;
}

ul.wp-block-navigation > li > button.wp-block-navigation-submenu__toggle:hover {
  background: none !important;
}

ul.wp-block-navigation > li > a > .wp-block-navigation-item__label,
ul.wp-block-navigation > li > button > .wp-block-navigation-item__label {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
}

ul.wp-block-navigation > li:has(> a[href*="contact"]) {
  background: #E8B84B !important;
  border-color: #E8B84B !important;
}

ul.wp-block-navigation > li:has(> a[href*="contact"]):hover {
  background: #D4A43A !important;
  border-color: #D4A43A !important;
}

ul.wp-block-navigation > li:has(> a[href*="contact"]) > a {
  color: #1a1a1a !important;
}

ul.wp-block-navigation a,
ul.wp-block-navigation button {
  cursor: pointer !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container li {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  position: static !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container li > a {
  padding: 8px 14px !important;
  color: inherit !important;
  font-size: 1.15rem !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container li > a::after {
  content: none !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
  font-size: 1.15rem !important;
  font-weight: 400 !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container {
  min-width: auto !important;
  width: max-content !important;
  padding: 6px 0 !important;
}

ul.wp-block-navigation .wp-block-navigation__submenu-container li:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}

.wp-block-template-part .wp-block-columns.has-background {
  margin-bottom: 0 !important;
}

.wp-block-template-part .wp-block-columns.has-background .wp-block-image {
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.wp-site-blocks {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

.wp-site-blocks > .wp-block-template-part:last-child {
  margin-top: auto !important;
}

.bg-card {
  background: #e8f4f5 !important;
  border-radius: 8px !important;
  padding: 1.5rem !important;
  position: relative !important;
  transition: background 0.2s;
  cursor: pointer !important;
}

.bg-card:hover {
  background: #d0eaec !important;
}

.bg-card a {
  text-decoration: none !important;
}

.bg-card a::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.bg-card h4 {
  margin: 0 !important;
}

.wp-block-columns:has(.bg-card) {
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.wp-block-columns:has(.bg-card) > .bg-card {
  min-width: 180px !important;
  flex: 1 1 180px !important;
  max-width: 250px !important;
  text-align: center !important;
}

.wp-block-navigation__responsive-container-open svg {
  width: 36px !important;
  height: 36px !important;
}

@media (max-width: 1049px) and (min-width: 600px) {
  .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }

  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}

@media (max-width: 1049px) {
  .wp-block-template-part:first-child .wp-block-columns.has-background {
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding: 12px 16px !important;
    gap: 8px !important;
  }

  .wp-block-template-part:first-child .wp-block-columns.has-background > .wp-block-column:first-child {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 1 !important;
    max-width: 250px !important;
    min-width: 100px !important;
  }

  .wp-block-template-part:first-child .wp-block-columns.has-background > .wp-block-column:last-child {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    max-width: none !important;
    width: auto !important;
  }

  body .wp-site-blocks > .wp-block-columns {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body .wp-block-post-title {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* ===== MOBILE MENU (open state) ===== */

.wp-block-navigation__responsive-container.is-menu-open {
  background: #5f9ea0 !important;
}

/* Close button - plain icon, not touching the edge */
.wp-block-navigation__responsive-container-close {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 8px !important;
  top: 20px !important;
  right: 20px !important;
}

.wp-block-navigation__responsive-container-close svg {
  fill: white !important;
  width: 28px !important;
  height: 28px !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  align-items: stretch !important;
}

.wp-block-navigation__responsive-container.is-menu-open ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  gap: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  position: relative !important;
}

/* Thicker separator only between top-level sections */
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li {
  border-top: 2px solid rgba(255, 255, 255, 0.4) !important;
}
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li:first-child {
  border-top: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li:has(> a[href*="contact"]) {
  background: rgba(232, 184, 75, 0.2) !important;
}

.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li:has(> a[href*="contact"]) > a {
  color: #E8B84B !important;
}

/* Top-level links */
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 14px 24px !important;
  color: white !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

/* Hide submenu toggle arrows - submenus are always expanded on mobile */
.wp-block-navigation__responsive-container.is-menu-open ul.wp-block-navigation > li > button.wp-block-navigation-submenu__toggle {
  display: none !important;
}

/* Submenu container - darker background to visually group items under their parent */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: rgba(0, 0, 0, 0.15) !important;
}

/* No separators between submenu items - the shared dark background holds them together */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li {
  border: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li > a {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  padding: 10px 24px !important;
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}