/* =========================================================
   650 KGL V4.5 — FINAL FOOTER POLISH
   Keep the sitemap visually subordinate and compact.
   ========================================================= */

:root {
  --kgl-footer-copy: rgba(255, 255, 255, .78);
  --kgl-footer-copy-hover: #ffffff;
}

/* The generated universal footer sitemap */
footer .kgl-v44-footer-sitemap,
.site-footer .kgl-v44-footer-sitemap,
#site-footer .kgl-v44-footer-sitemap,
.elementor-location-footer .kgl-v44-footer-sitemap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 3px !important;

  margin-top: 9px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;

  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Match the scale and tone of reservation/address copy */
footer .kgl-v44-footer-sitemap a,
.site-footer .kgl-v44-footer-sitemap a,
#site-footer .kgl-v44-footer-sitemap a,
.elementor-location-footer .kgl-v44-footer-sitemap a {
  display: inline-block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: var(--kgl-footer-copy) !important;
  font-family: Helvetica, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;

  text-decoration: none !important;
  text-transform: none !important;

  opacity: 1 !important;
  transition: color .18s ease, opacity .18s ease !important;
}

footer .kgl-v44-footer-sitemap a:hover,
footer .kgl-v44-footer-sitemap a:focus-visible,
.site-footer .kgl-v44-footer-sitemap a:hover,
.site-footer .kgl-v44-footer-sitemap a:focus-visible,
#site-footer .kgl-v44-footer-sitemap a:hover,
#site-footer .kgl-v44-footer-sitemap a:focus-visible,
.elementor-location-footer .kgl-v44-footer-sitemap a:hover,
.elementor-location-footer .kgl-v44-footer-sitemap a:focus-visible {
  color: var(--kgl-footer-copy-hover) !important;
  opacity: 1 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/*
 * Keep Navigate heading at the footer's established hierarchy,
 * but prevent inherited margins from making this column too tall.
 */
footer .kgl-v44-footer-sitemap + *,
.site-footer .kgl-v44-footer-sitemap + *,
.elementor-location-footer .kgl-v44-footer-sitemap + * {
  margin-top: 0 !important;
}

/* Trim excess space from a Navigate wrapper that contains our sitemap. */
footer *:has(> .kgl-v44-footer-sitemap),
.site-footer *:has(> .kgl-v44-footer-sitemap),
#site-footer *:has(> .kgl-v44-footer-sitemap),
.elementor-location-footer *:has(> .kgl-v44-footer-sitemap) {
  row-gap: 0 !important;
}

/* Tablet/mobile: retain readable click targets without enlarging typography. */
@media (max-width: 1024px) {
  footer .kgl-v44-footer-sitemap,
  .site-footer .kgl-v44-footer-sitemap,
  #site-footer .kgl-v44-footer-sitemap,
  .elementor-location-footer .kgl-v44-footer-sitemap {
    gap: 4px !important;
  }

  footer .kgl-v44-footer-sitemap a,
  .site-footer .kgl-v44-footer-sitemap a,
  #site-footer .kgl-v44-footer-sitemap a,
  .elementor-location-footer .kgl-v44-footer-sitemap a {
    min-height: 16px;
  }
}

@media (max-width: 680px) {
  footer .kgl-v44-footer-sitemap,
  .site-footer .kgl-v44-footer-sitemap,
  #site-footer .kgl-v44-footer-sitemap,
  .elementor-location-footer .kgl-v44-footer-sitemap {
    margin-top: 8px !important;
    font-size: 11px !important;
  }
}
