/**
 * Mobile-only layout (max-width: 768px). Desktop unchanged.
 */

@media (max-width: 768px) {
  html {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    --hero-parallax: 0px;
    --hero-content-shift: 0px;
    --search-shift: 0px;
  }

  body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    position: relative;
    padding-top: 0 !important;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  #site-header,
  .topbar,
  main,
  section,
  header,
  footer,
  .hero,
  .ipk-home-map-section,
  .ipk-platform-section,
  .ipk-section,
  .site-footer,
  .container,
  .ipk-container,
  .ipk-search-stack,
  .ipk-search-card,
  .ipk-map-wrap,
  .ipk-home-map-split,
  .ipk-home-advisor-card,
  #floating-nav-placeholder {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  img,
  svg,
  video,
  iframe,
  canvas {
    max-width: 100%;
    height: auto;
  }

  /* —— Header: logo + hamburger only —— */
  #site-header,
  .topbar.site-header,
  .topbar {
    position: sticky !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    z-index: 3000;
    background: #fff;
  }

  .mobile-menu-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(5, 20, 35, 0.35);
    z-index: 2500;
    display: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .mobile-menu-backdrop.is-open {
    display: block;
  }

  .topbar:not(.menu-open) .header-inner,
  .topbar:not(.menu-open) .container.nav {
    height: 72px;
    min-height: 72px;
    max-height: 72px;
    overflow: hidden;
  }

  .header-inner,
  .topbar .container.nav {
    width: 100%;
    max-width: 100%;
    padding: 0 16px;
    margin: 0 auto;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
  }

  .logo-wrap,
  .topbar .brand {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 52px) !important;
    gap: 8px;
    overflow: hidden;
  }

  .brand-subtitle,
  .brand-text small {
    display: none !important;
  }

  .brand-title,
  .brand-text strong {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .site-logo,
  .brand-mark img {
    max-width: 88px !important;
    max-height: 40px !important;
  }

  .desktop-nav,
  .main-nav,
  .topbar .nav-shell,
  .topbar .mobile-nav,
  .topbar .mobile-menu {
    display: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .topbar .header-inner {
    position: relative;
    z-index: 3001;
    background: #fff;
  }

  .topbar.menu-open .nav-shell,
  .topbar.menu-open .mobile-nav,
  .topbar.menu-open .mobile-menu,
  body.menu-open .topbar .mobile-menu,
  body.mobile-menu-open .topbar .mobile-menu,
  body.nav-open .topbar .mobile-menu,
  body.menu-open .topbar .mobile-nav,
  body.mobile-menu-open .topbar .mobile-nav,
  body.nav-open .topbar .mobile-nav {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #fff;
    z-index: 2999;
    padding: 18px 20px 24px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.16);
    border-top: 1px solid rgba(15, 35, 60, 0.08);
    border-radius: 0;
    border-left: none;
    border-right: none;
    max-height: min(75vh, calc(100dvh - 72px));
    overflow-x: clip;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .header-inner {
    position: relative;
    flex-wrap: nowrap;
    height: auto;
    min-height: 72px;
    max-height: none;
  }

  .topbar.menu-open .header-inner {
    min-height: 72px;
    max-height: 72px;
  }

  .topbar .nav-links {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }

  .topbar .nav-links > li {
    width: 100%;
    border: none;
  }

  .topbar .nav-link,
  .topbar .drop-btn,
  .mobile-menu a,
  .mobile-nav a,
  .mobile-menu button,
  .mobile-nav button {
    display: block;
    width: 100%;
    padding: 14px 0;
    color: #0b2239;
    text-align: left;
    background: transparent;
    white-space: normal;
  }

  .topbar .dropdown-menu a {
    padding: 12px 14px;
    color: #0b2239 !important;
  }

  .topbar .dropdown .dropdown-menu {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    display: none !important;
    box-shadow: none !important;
    border: none !important;
    background: var(--ipk-bg, #f4f6f9) !important;
    margin: 4px 0 8px;
    padding: 8px !important;
    border-radius: var(--ipk-radius-sm, 10px);
  }

  .topbar .dropdown.open .dropdown-menu {
    display: flex !important;
    flex-direction: column;
  }

  .topbar .dropdown:hover .dropdown-menu {
    display: none !important;
  }

  .topbar .dropdown.open:hover .dropdown-menu {
    display: flex !important;
  }

  .topbar .dropdown-menu--properties {
    grid-template-columns: 1fr !important;
  }

  .topbar .dropdown-menu--areas .dropdown-menu__group--cols {
    grid-template-columns: 1fr;
  }

  .header-actions,
  .topbar .nav-actions {
    display: none !important;
  }

  .mobile-toggle,
  .mobile-menu-toggle {
    display: inline-flex !important;
    flex: 0 0 auto;
    margin-left: 0;
    position: relative;
    z-index: 3002;
  }

  .topbar .nav-links,
  .topbar .dropdown-menu {
    max-width: 100%;
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: clip;
  }

  .topbar .dropdown-menu--properties,
  .topbar .dropdown-menu--projects,
  .topbar .dropdown-menu--areas {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .topbar.menu-open .nav-links__mobile-actions,
  .topbar.menu-open .header-actions-mobile {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }

  .nav-links__mobile-actions .btn-outline,
  .nav-links__mobile-actions .btn-primary,
  .header-actions-mobile .btn-outline,
  .header-actions-mobile .btn-primary {
    width: 100%;
    min-width: 0;
  }

  /* —— Hero —— */
  body.page-home .hero,
  .hero {
    margin-top: 0 !important;
    padding: 0 !important;
    min-height: 560px !important;
    align-items: flex-end;
    overflow: hidden;
  }

  .hero::before {
    transform: none !important;
    background-position: 80% center !important;
  }

  .hero.has-hero-img::before {
    background-position: 80% center !important;
  }

  .ipk-hero__shell {
    padding: 96px 0 48px !important;
  }

  .ipk-hero__inner {
    max-width: 100% !important;
    margin-left: 16px !important;
    margin-right: 16px !important;
    padding: 0 !important;
    transform: none !important;
  }

  .ipk-hero__title {
    font-size: clamp(2.25rem, 9.5vw, 2.75rem) !important;
    line-height: 1.05;
    max-width: 100%;
    margin-bottom: 1rem !important;
    word-break: normal;
    overflow-wrap: break-word;
  }

  .ipk-hero__lead {
    font-size: 1.0625rem !important;
    line-height: 1.55 !important;
    max-width: 100%;
    margin-bottom: 1.5rem !important;
  }

  .ipk-hero__chips {
    gap: 8px;
    margin-top: 0 !important;
  }

  .ipk-hero-chip {
    font-size: 12px !important;
    padding: 7px 11px !important;
  }

  .ipk-hero__actions {
    margin-bottom: 1.75rem !important;
  }

  .ipk-hero__pillars,
  .page-home .ipk-hero__pillars,
  .hero-features {
    display: none !important;
  }

  .ipk-hero__actions,
  .hero-cta {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
  }

  .ipk-hero__actions .ipk-btn {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .ipk-flow-section {
    padding: 40px 0 !important;
  }

  .ipk-flow-section__foot .ipk-btn {
    width: 100%;
    max-width: 100%;
  }

  .ipk-home-map-card {
    height: auto !important;
  }

  .ipk-home-map__map-col {
    height: 360px !important;
  }

  #industrialHomeAreaMap {
    height: 360px !important;
  }

  .ipk-filter-bar {
    gap: 0.875rem;
    padding: 14px 16px;
  }

  .ipk-filter-group {
    position: relative;
  }

  .ipk-filter-group::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28px;
    height: 42px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 78%);
  }

  .ipk-filter-group__pills {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 8px;
    padding: 0 24px 3px 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .ipk-filter-group__pills::-webkit-scrollbar {
    display: none;
  }

  .ipk-filter-pill {
    flex: 0 0 auto !important;
    min-height: 38px;
    padding: 8px 12px;
    white-space: nowrap;
  }

  .ipk-filter-bar__meta {
    justify-content: space-between;
    gap: 12px;
    padding-top: 2px;
  }

  .map-card:fullscreen #industrialHomeAreaMap,
  .map-card:fullscreen #industrialListingsAreaMap,
  .ipk-home-map__map-col:fullscreen #industrialHomeAreaMap,
  .ipk-home-map__map-col:fullscreen #industrialListingsAreaMap {
    height: 100% !important;
    min-height: 100% !important;
  }

  /* —— Search (legacy; hero search removed) —— */
  .ipk-search-stack {
    margin-top: -32px;
    padding: 0 16px 28px;
    width: 100%;
    max-width: 100%;
    transform: none !important;
    box-sizing: border-box;
  }

  .page-home .ipk-search-stack--compact {
    margin-top: -28px;
  }

  .ipk-search-card {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    border-radius: 20px;
    overflow: hidden;
  }

  .ipk-search-card__body {
    padding: 18px;
  }

  #heroSearchForm,
  .ipk-field--search-combo,
  .ipk-search-combo {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .ipk-search-combo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    overflow: visible;
    min-height: 0;
  }

  .ipk-search-combo__input {
    width: 100%;
    min-width: 0;
    border-radius: 10px;
    border: 1px solid var(--ipk-border, rgba(16, 42, 67, 0.1));
  }

  .ipk-search-combo__btn {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    border-left: none;
    border-radius: 10px;
  }

  .ipk-quick-chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    padding-top: 16px;
  }

  .ipk-chip {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 10px 8px;
    font-size: 0.8125rem;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
  }

  /* —— Map + advisor —— */
  .ipk-home-map-section {
    margin-top: 0;
    padding: 32px 0 40px;
    overflow: hidden;
  }

  .ipk-home-map-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
    width: 100%;
    max-width: 100%;
  }

  .ipk-map-wrap {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
  }

  .ipk-map-head {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 12px;
    min-width: 0;
  }

  .ipk-map-head__text {
    flex: none;
    width: 100%;
    min-width: 0;
  }

  .ipk-map-head .ipk-btn {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  #industrialHomeAreaMap,
  .ipk-home-map-section #industrialHomeAreaMap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 380px !important;
    min-height: 360px !important;
    overflow: hidden;
  }

  .ipk-map-wrap .leaflet-container,
  .leaflet-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .ipk-home-advisor-card,
  .ipk-home-advisor-card__inner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
  }

  .ipk-home-advisor-card__inner {
    padding: 20px 16px;
    margin: 0;
  }

  .ipk-home-advisor-card__photo {
    width: 112px;
    height: 136px;
  }

  .ipk-home-advisor-card__bio {
    max-width: 100%;
  }

  .ipk-home-advisor-card__contact a {
    overflow-wrap: anywhere;
  }

  .ipk-home-advisor-card__actions {
    width: 100%;
  }

  .ipk-home-advisor-card__actions .ipk-btn {
    width: 100%;
    min-width: 0;
  }

  /* —— Grids: force single column (fixes minmax(220px) auto-fill overflow) —— */
  .ipk-section {
    padding: 48px 0;
    overflow: hidden;
  }

  .ipk-container {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .ipk-featured-grid,
  .ipk-featured-grid--areas {
    grid-template-columns: 1fr !important;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ipk-listing-card,
  .ipk-listing-card--area {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ipk-platform-grid,
  .ipk-platform-grid--compare,
  .ipk-market-snapshot,
  .ipk-area-type-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ipk-platform-card,
  .ipk-success-card,
  .ipk-process-step--premium {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .ipk-process--premium,
  .ipk-success-grid {
    grid-template-columns: 1fr !important;
    gap: 14px;
    width: 100%;
    max-width: 100%;
  }

  .ipk-cta {
    padding: 28px 16px;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
  }

  .ipk-cta .ipk-btn--primary {
    width: 100%;
    min-width: 0;
  }

  .ipk-platform-section {
    padding: 40px 0;
    overflow: hidden;
  }

  .ipk-index-page,
  .ipk-content-page {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .ipk-index-grid,
  .listing-grid {
    grid-template-columns: 1fr !important;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .listing-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .site-footer,
  .site-footer .container {
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .footer-map-col iframe {
    max-width: 100%;
    width: 100%;
  }

  /* Prevent reveal/parallax from widening layout */
  .ipk-reveal {
    max-width: 100%;
  }

  .ipk-reveal.is-visible {
    transform: none;
  }

  /* Beat homepage inline <style> (loads after this file) */
  .page-home .ipk-container,
  .ipk-container {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }

  .page-home .ipk-search-stack,
  .page-home .ipk-search-stack--compact,
  .ipk-search-stack {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
    padding-bottom: 28px !important;
    margin-top: -28px !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  .ipk-search-card,
  .page-home .ipk-search-card--compact {
    transform: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ipk-search-combo:focus-within {
    box-shadow: inset 0 0 0 2px var(--ipk-accent, #C1121F);
  }

  .ipk-listing-card:hover,
  .ipk-platform-card:hover,
  .ipk-chip:hover,
  .ipk-listing-card:hover .ipk-listing-card__media img,
  .ipk-featured-grid--areas .ipk-listing-card--area:hover .ipk-listing-card__media img {
    transform: none !important;
  }

  .ipk-reveal {
    transform: none !important;
  }

  /* Leaflet panes/controls often extend a few px past the map box */
  #industrialHomeAreaMap {
    overflow: hidden !important;
    contain: layout paint;
  }

  #industrialHomeAreaMap .leaflet-container {
    overflow: hidden !important;
  }

  .leaflet-container,
  .leaflet-control-container,
  .leaflet-pane,
  .leaflet-map-pane,
  .leaflet-tile-pane,
  .leaflet-overlay-pane {
    max-width: 100% !important;
  }

  .leaflet-control-attribution {
    max-width: calc(100% - 12px);
    white-space: normal;
    line-height: 1.2;
    font-size: 10px;
  }

  /* Emergency mobile clamp (use 100% not 100vw — 100vw causes scrollbar overflow) */
  body > * {
    max-width: 100%;
  }

  #site-header,
  .topbar,
  .site-header,
  .hero,
  .hero-section,
  .ipk-hero__inner,
  .hero-inner,
  .ipk-search-stack,
  .ipk-search-card,
  .search-card,
  .ipk-home-map-section,
  .map-advisor-section,
  .ipk-home-map-split,
  .map-advisor-grid,
  .ipk-map-wrap,
  .map-card,
  .ipk-home-advisor-card,
  .advisor-card,
  .ipk-container,
  .section-container,
  .container {
    max-width: 100%;
    overflow-x: clip;
  }

  .header-inner,
  .topbar .container.nav,
  .ipk-hero__inner,
  .hero-inner,
  .ipk-search-card,
  .ipk-search-card__body,
  .search-card,
  .ipk-home-map-split,
  .map-advisor-grid {
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
  }

  .ipk-search-card__body {
    padding-left: 18px;
    padding-right: 18px;
  }

  .ipk-map-head {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 380px) {
  .ipk-quick-chips {
    grid-template-columns: 1fr;
  }
}
