#page {
  min-height: 100%;
  position: relative;
  background: transparent; /* or set to the same color as your footer */
}

.zmm-inner .menu-item.active a {
  color: #3498db; /* Match your theme, e.g., btn-warning color */
  font-weight: bold;
}
/* Style active item in mobile menu */
.zmm-inner .theme-mobile-menu .menu-item.active a {
  color: #3498db !important; /* Matches blue.css primary color */
  font-weight: bold !important;
  background-color: rgba(52, 152, 219, 0.1); /* Subtle blue background (RGBA of #3498db) */
  padding-left: 15px; /* Slight indent for emphasis */
  display: block; /* Ensures full width */
}

/* Smooth transition for all menu items */
.zmm-inner .theme-mobile-menu .menu-item a {
  transition: all 0.3s ease;
}

/* Skip link for accessibility */
.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #000;
  color: #fff;
  padding: 8px;
  text-decoration: none;
  z-index: 9999;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
}

.skip-link:focus {
  top: 6px;
}

/* Bootstrap-style visually hidden but focusable */
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Mobile Menu (ZMM Wrapper) - Hide by default and only show when opened */
.zmm-wrapper {
  /* Ensure it's an off-canvas overlay */
  position: fixed !important;
  top: 0 !important;
  left: -100% !important;
  width: 300px !important;
  height: 100vh !important;
  z-index: 9999 !important;
  background: white !important;
  box-shadow: 2px 0 5px rgba(0,0,0,0.1) !important;
  transition: left 0.3s ease-in-out !important;
  overflow-y: auto !important;
}

/* When mobile menu is opened, slide it in */
.zmm-wrapper.zmm-open {
  left: 0 !important;
}

/* Ensure body scroll is controlled when mobile menu is open */
body.zmm-open {
  overflow: hidden;
}

/* Add backdrop for mobile menu */
body.zmm-open::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
}

/* Ensure mobile menu is hidden in desktop mode */
@media (min-width: 1025px) {
  .zmm-wrapper {
    display: none !important;
  }
}

/* Responsive header display is handled by JavaScript - no CSS overrides needed */

/* Mobile Header Visibility - JavaScript-controlled (matches original theme) */
.mobile-header {
    display: none; /* Hidden by default, JavaScript will show when needed */
}

.header-inner {
    display: block; /* Shown by default, JavaScript will hide when needed */
}


/* Center reCAPTCHA v2 widget */
.g-recaptcha {
    display: inline-block;
}

/* Ensure the reCAPTCHA iframe is centered */
.recaptcha-center {
    text-align: center;
}

.recaptcha-center>div {
    display: inline-block;
}