/* --- Header logo (keep) --- */
.custom-logo-link img {
  max-height: 400px !important;
  width: auto;
}

/* --- Mobile menu (keep) --- */
@media only screen and (max-width: 768px) {
  nav,
  .main-navigation,
  .main-navigation ul,
  .main-navigation li,
  .main-navigation ul ul {
    background-color: #ffffff !important;
  }
  .main-navigation a,
  .main-navigation ul li a {
    color: #000000 !important;
    font-weight: 600;
  }
  .main-navigation ul li a:hover {
    background-color: #f0f0f0 !important;
  }
}

/* --- Brand tokens (optional, for clarity) --- */
:root {
  --tw-footer-text: #2E2E2E;
  --tw-icon-bg: #D9A178;
  --tw-icon-fg: #2E2E2E;
}

/* Force footer text color for ALL content */
.elementor-location-footer,
.elementor-location-footer * {
  color: #2E2E2E !important;
}

/* --- Footer TEXT (works in editor + live) --- */
footer.site-footer,
.elementor-location-footer,
[data-elementor-type="footer"] {
  color: var(--tw-footer-text) !important;
}

/* All common text elements inside the footer */
footer.site-footer p,
footer.site-footer li,
footer.site-footer a:not(.elementor-social-icon),
footer.site-footer span,
footer.site-footer .elementor-heading-title,
footer.site-footer .elementor-widget-text-editor,
.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer a:not(.elementor-social-icon),
.elementor-location-footer span,
.elementor-location-footer .elementor-heading-title,
.elementor-location-footer .elementor-widget-text-editor,
[data-elementor-type="footer"] p,
[data-elementor-type="footer"] li,
[data-elementor-type="footer"] a:not(.elementor-social-icon),
[data-elementor-type="footer"] span,
[data-elementor-type="footer"] .elementor-heading-title,
[data-elementor-type="footer"] .elementor-widget-text-editor {
  color: var(--tw-footer-text) !important;
}

/* Optional: footer link hover */
footer.site-footer a:not(.elementor-social-icon):hover,
.elementor-location-footer a:not(.elementor-social-icon):hover,
[data-elementor-type="footer"] a:not(.elementor-social-icon):hover {
  color: #1f1f1f !important;
  text-decoration: underline;
}

/* --- Footer SOCIAL ICONS (square bg + light glyph) --- */
footer.site-footer .elementor-social-icon,
.elementor-location-footer .elementor-social-icon,
[data-elementor-type="footer"] .elementor-social-icon {
  background-color: var(--tw-icon-bg) !important;
}

footer.site-footer .elementor-social-icon i,
footer.site-footer .elementor-social-icon svg,
.elementor-location-footer .elementor-social-icon i,
.elementor-location-footer .elementor-social-icon svg,
[data-elementor-type="footer"] .elementor-social-icon i,
[data-elementor-type="footer"] .elementor-social-icon svg {
  color: var(--tw-icon-fg) !important;
  fill: var(--tw-icon-fg) !important;
}

/* --- Neutralize dark-mode flips in the footer only --- */
@media (prefers-color-scheme: dark) {
  footer.site-footer,
  footer.site-footer *:not(.elementor-social-icon i):not(.elementor-social-icon svg),
  .elementor-location-footer,
  .elementor-location-footer *:not(.elementor-social-icon i):not(.elementor-social-icon svg),
  [data-elementor-type="footer"],
  [data-elementor-type="footer"] *:not(.elementor-social-icon i):not(.elementor-social-icon svg) {
    color: var(--tw-footer-text) !important;
  }
}
/* Nuclear option if a theme forces white everywhere in footer */
footer.site-footer *:not(.elementor-social-icon i):not(.elementor-social-icon svg) {
  color: #2E2E2E !important;
}
/* Force footer nav menu items to show dark gray */
.elementor-location-footer .elementor-nav-menu a {
  color: #2E2E2E !important;
}

/* Optional: footer nav hover state */
.elementor-location-footer .elementor-nav-menu a:hover {
  color: #000000 !important;
}
/* ☠️ Absolute force override for footer menu links */
.elementor-location-footer .elementor-nav-menu a {
  color: #2E2E2E !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: inline !important;
}
/* FINAL HARD RESET for stubborn footer text color */
footer,
footer * {
  color: #2E2E2E !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* -------------------------------
   FINAL "I refuse to be haunted" footer menu fix
   ------------------------------- */
@media (max-width: 1024px) {

  /* 1. Hide closed dropdown so it doesn't block clicks */
  .elementor-location-footer .elementor-nav-menu--dropdown {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  /* 2. When hamburger is active, show dropdown normally */
  .elementor-location-footer .elementor-menu-toggle.elementor-active
  + .elementor-nav-menu--dropdown {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto !important;
    z-index: 999 !important;
  }

  /* 3. Make sure other footer elements stay clickable */
  .elementor-location-footer {
    position: relative;
    z-index: 1;
  }
}