/* Shared mobile navigation and document layout. */
body:not(.property-lightbox-open) { overflow-x: clip; overflow-y: visible; }
.entry-header { position: static !important; }
.gns-mobile-nav nav { max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
.gns-mobile-nav summary:focus-visible, .gns-mobile-nav nav a:focus-visible { outline: 2px solid #0274be; outline-offset: 3px; }
.gns-mobile-nav nav a { overflow-wrap: anywhere; min-height: 44px; }
.property-mobile-bar a span { color: inherit; }
@media (max-width: 921px) {
  .gns-header-row .gns-desktop-nav, .gns-header-row .gns-header-cta { display: none !important; }
  .gns-hfe-header .gns-mobile-nav { display: block !important; width: auto; margin-left: auto; }
  .gns-mobile-nav nav { width: min(280px, calc(100vw - 32px)); min-width: 0; right: 0; }
  .gns-header-row { gap: 12px; }
  .gns-brand img { max-width: min(205px, 54vw); }
  .property-mobile-bar { justify-content: flex-end; }
  .gs-results-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .property-detail__prose, .gs-post-content, .gs-author-info, .gns-footer-contact { min-width: 0; overflow-wrap: anywhere; }
  .property-gallery__thumbs { max-width: 100%; }
}
@media (max-width: 360px) {
  .gns-mobile-nav nav a { padding: 10px 12px; font-size: 16px; }
  .property-summary h1 { overflow-wrap: anywhere; }
  .property-summary__actions { flex-wrap: wrap; }
  .property-summary__actions a { max-width: 100%; }
  .property-detail__breadcrumb { overflow-wrap: anywhere; flex-wrap: wrap; }
}
