/* GeoArea Mobile UX A5 — bottom navigation, settings and final QA */
.ga-mobile-bottom-nav { display: none; }

@media (max-width: 820px) {
  body.ga-mobile-bottom-nav-on { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body.ga-mobile-bottom-nav-on .ga-footer { padding-bottom: calc(78px + env(safe-area-inset-bottom, 0px)); }

  .ga-mobile-bottom-nav {
    position: fixed;
    z-index: 9994;
    left: 10px;
    right: 10px;
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: end;
    min-height: 64px;
    padding: 8px 8px 7px;
    border: 1px solid rgba(15, 41, 75, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 12px 38px rgba(15, 41, 75, .22);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  body:not(.ga-mobile-bottom-nav-on) .ga-mobile-bottom-nav { display: none; }

  .ga-mobile-bottom-nav a,
  .ga-mobile-bottom-nav button {
    min-width: 0;
    border: 0;
    background: transparent;
    color: #64748b;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-height: 48px;
    padding: 3px 2px;
    font: inherit;
    cursor: pointer;
  }
  .ga-mobile-bottom-nav svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
  .ga-mobile-bottom-nav small { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 700; }
  .ga-mobile-bottom-nav .is-active { color: #0d3970; }
  .ga-mobile-bottom-nav .ga-mobile-nav-add {
    align-self: start;
    width: 54px;
    height: 54px;
    min-height: 54px;
    margin: -24px auto 0;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, #173f78, #0a2d5b);
    border: 4px solid #fff;
    box-shadow: 0 8px 22px rgba(13, 57, 112, .32);
  }
  .ga-mobile-bottom-nav .ga-mobile-nav-add svg { width: 25px; height: 25px; }
  .ga-mobile-bottom-nav .ga-mobile-nav-add small { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

  body.ga-mobile-bottom-nav-on .ga-mobile-fab { display: none !important; }
  body.ga-mobile-bottom-nav-on .gsp-mobile-action-bar { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body.ga-mobile-bottom-nav-on .ga-mobile-account-toolbar { bottom: auto; }

  body:not(.ga-mobile-home-slider-on) [data-ga-mobile-slider] .ga-mobile-slider__nav,
  body:not(.ga-mobile-home-slider-on) [data-ga-mobile-slider] [data-ga-slider-dots] { display: none !important; }
  body:not(.ga-mobile-home-slider-on) [data-ga-mobile-slider] .ga-property-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  body:not(.ga-mobile-swipe-on) [data-ga-mobile-slider] .ga-property-grid,
  body:not(.ga-mobile-swipe-on) [data-ga-mobile-gallery] .gsp-mobile-gallery-track { touch-action: pan-y; scroll-snap-type: none !important; }

  body:not(.ga-mobile-services-vertical-on) .ga-services__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body:not(.ga-mobile-sticky-search-on) .ga-mobile-archive-toolbar,
  body:not(.ga-mobile-sticky-search-on) .ga-search-mobile-sticky { position: static !important; }

  body:not(.ga-mobile-sticky-contact-on) .gsp-mobile-action-bar { display: none !important; }
  body:not(.ga-mobile-fullscreen-gallery-on) .gsp-lightbox,
  body:not(.ga-mobile-fullscreen-gallery-on) [data-ga-lightbox-open] { display: none !important; }
}
@media (max-width: 820px) {
  .ga-mobile-bottom-nav { transition: transform .22s ease, opacity .22s ease; }
  .ga-mobile-bottom-nav.is-hidden { transform: translateY(calc(100% + 20px)); opacity: .25; }
}
