
/* v48 FINAL OVERRIDE — mobile uses the same desktop hub UI, resized only */
.mobile-site,
.mobile-original-shell,
.mobile-disclaimer,
.mobile-desktop-note,
.responsive-mobile-note,
iframe[src="/mobile.html"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.desktop-site,
.desktop-app,
.responsive-hub-site {
  display: block !important;
  visibility: visible !important;
  width: 100% !important;
  max-width: 100% !important;
}

body {
  margin: 0 !important;
  background: #050505 !important;
}

.request-button,
.license-bottom-cta .request-button,
.license-hero .request-button,
.path-cta,
.quote-form button {
  background: var(--accent, #f97316) !important;
  color: var(--button-text, #050505) !important;
  border: 0 !important;
  border-radius: 9px !important;
  min-height: 44px !important;
  padding: 11px 16px !important;
  font-weight: 900 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: var(--mapp-font, inherit) !important;
}

.license-bottom-cta .request-button {
  min-width: 190px !important;
  width: auto !important;
}

.app {
  width: 100% !important;
}

@media (max-width: 900px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: #050505 !important;
  }

  .desktop-site,
  .desktop-app,
  .responsive-hub-site {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .app {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100vh !important;
    padding: 10px !important;
    background: var(--app-bg, #050505) !important;
  }

  .app-header {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: center !important;
    justify-items: stretch !important;
    width: 100% !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
  }

  .facility-logo {
    width: min(430px, 100%) !important;
    max-width: 100% !important;
    justify-self: center !important;
  }

  .theme-picker-wrap {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .theme-picker-wrap label {
    text-align: center !important;
  }

  .theme-picker-wrap select,
  .request-button,
  .preview-button,
  .gate-button,
  .back-button,
  .quote-form button,
  .license-bottom-cta .request-button {
    width: 100% !important;
    max-width: none !important;
    min-height: 46px !important;
  }

  .page {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: auto !important;
    padding: 16px 12px !important;
    border-radius: 12px !important;
  }

  .page.active {
    display: block !important;
  }

  .gate-page.active {
    display: grid !important;
    min-height: auto !important;
    padding: 24px 12px !important;
  }

  .gate-logo-wrap {
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 auto 18px !important;
  }

  .gate-copy h1,
  #hub h1,
  .page-title h2,
  .license-hero h2 {
    font-size: clamp(31px, 10vw, 54px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
  }

  .gate-copy span,
  .subtitle,
  .hub-leadout,
  .license-hero span {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .hub-cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
    width: 100% !important;
    gap: 12px !important;
    margin: 0 auto !important;
  }

  .hub-card {
    width: 100% !important;
    min-height: 148px !important;
    display: grid !important;
    grid-template-rows: 42px auto auto !important;
    align-content: center !important;
    justify-items: center !important;
  }

  .license-hero,
  .license-bottom-cta,
  .site-footer,
  .quote-form,
  .feature-table,
  .license-paths,
  .tier-sales-grid,
  .license-grid,
  .tier-grid {
    width: 100% !important;
    max-width: 100% !important;
  }

  .license-paths,
  .tier-sales-grid,
  .license-grid,
  .tier-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .feature-table div {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  .gallery {
    min-height: auto !important;
  }

  .slide img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
  }

  .tabs {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 6px !important;
  }

  .tab {
    white-space: nowrap !important;
  }

  .site-footer img {
    width: min(360px, 90%) !important;
  }

  .site-footer p {
    font-size: 11px !important;
    overflow-wrap: anywhere !important;
  }
}
