/* Mobile app layout polish: public homepage and content pages. */
@media (max-width: 760px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  body > .platform-header.platform-header {
    padding: 10px 12px 11px !important;
    gap: 9px 10px !important;
  }

  body > .platform-header .platform-logo {
    min-height: 44px !important;
  }

  body > .platform-header .platform-logo img {
    max-width: 104px !important;
    height: 44px !important;
  }

  body > .platform-header .mobile-menu {
    min-width: 44px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
  }

  body > .platform-header .header-app-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    grid-template-columns: none !important;
    justify-self: end !important;
    width: auto !important;
    max-width: calc(100% - 32px) !important;
    margin: 0 4px 0 auto !important;
    gap: 6px !important;
  }

  body > .platform-header .header-app-actions > .member-link,
  body > .platform-header .header-app-actions > .app-install-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .platform-nav.open a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .platform-hero .hero-content h1 {
    font-size: clamp(38px, 10.8vw, 44px) !important;
    line-height: 1.13 !important;
    letter-spacing: -0.045em !important;
  }

  .platform-hero .hero-content > span {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .platform-hero .hero-content > div a,
  .platform-hero .orange-button {
    min-height: 48px;
    padding: 0 18px;
    font-size: 14px;
  }

  .quick-grid a {
    min-height: 132px;
    padding: 22px 18px !important;
  }

  .quick-grid span {
    font-size: 11px;
  }

  .quick-grid b {
    font-size: 17px !important;
    line-height: 1.4;
  }

  .quick-grid p {
    font-size: 12px !important;
    line-height: 1.55;
  }

  .platform-section,
  .page-content,
  .contact-platform,
  .location-section {
    padding: 52px 16px !important;
  }

  .section-copy h2,
  .center-heading h2,
  .contact-platform h2,
  .location-copy h2 {
    font-size: 29px !important;
    line-height: 1.3 !important;
  }

  .section-copy > p:not(.label),
  .center-heading > p:not(.label),
  .contact-platform p,
  .location-copy p {
    font-size: 14px;
    line-height: 1.75;
  }

  .process-cards {
    gap: 12px;
  }

  .process-cards article {
    padding: 20px 16px;
  }

  .process-cards h3 {
    font-size: 17px;
  }

  .process-cards p {
    font-size: 13px;
    line-height: 1.65;
  }

  .contact-details a,
  .location-copy > a,
  .company-map-fallback a {
    min-height: 48px;
  }

  .text-link,
  .home-weather-widget a,
  .admin-access-note a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  .home-live-market {
    padding: 50px 16px !important;
  }

  .home-live-market-head h2,
  .home-market-volume-head h2 {
    font-size: 28px !important;
    line-height: 1.3;
  }

  .home-live-market-head .at-market-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 12px;
  }

  .home-live-market-filters {
    gap: 9px !important;
  }

  .home-live-market-filters select {
    height: 48px !important;
    padding-left: 14px !important;
    font-size: 13px !important;
  }

  .home-live-market-table,
  .customer-table {
    font-size: 13px !important;
  }

  .home-live-market-table th,
  .home-live-market-table td,
  .customer-table th,
  .customer-table td {
    min-height: 44px;
  }

  .home-market-volume-nav {
    min-width: 44px;
    min-height: 44px;
  }

  .related-sites {
    gap: 18px !important;
    padding: 28px 0 !important;
  }

  .related-sites-heading {
    padding: 0 16px !important;
  }

  .related-sites-group a {
    min-height: 72px !important;
  }

  .store-shell {
    padding: 50px 16px 68px !important;
  }

  .store-heading {
    padding-bottom: 16px;
  }

  .store-heading h2 {
    font-size: 29px;
  }

  .store-categories {
    gap: 8px;
    padding: 20px 0 10px;
  }

  .store-categories button {
    min-width: 72px;
    min-height: 44px;
    padding: 0 15px;
    font-size: 13px;
  }

  .product-count {
    margin-bottom: 20px;
    font-size: 13px;
  }

  .smart-grid {
    gap: 18px 10px !important;
  }

  .smart-card {
    border-radius: 15px;
  }

  .smart-card-copy {
    padding: 15px 14px 17px;
  }

  .smart-card h3 {
    margin-bottom: 7px;
    font-size: 16px !important;
  }

  .smart-card p,
  .smart-card .product-description {
    min-height: 0;
    font-size: 13px !important;
    line-height: 1.65;
  }

  .smart-card .product-specs {
    padding: 5px 8px;
    font-size: 11px !important;
  }

  .info-hero,
  .sub-hero,
  .page-hero {
    min-height: 340px !important;
    padding: 54px 16px !important;
  }

  .info-hero h1,
  .sub-hero h1,
  .page-hero h1 {
    font-size: clamp(36px, 10vw, 42px) !important;
    line-height: 1.18 !important;
  }

  .info-hero p:last-child,
  .sub-hero p:last-child,
  .page-hero p:last-child {
    margin-top: 18px;
    font-size: 14px !important;
    line-height: 1.75 !important;
  }

  .board-section,
  .social-section,
  .content-section {
    padding: 52px 16px !important;
  }

  .board-heading {
    gap: 18px;
    margin-bottom: 24px;
  }

  .board-heading h2,
  .section-head h2 {
    font-size: 29px !important;
    line-height: 1.3;
  }

  .board-heading > div > p:last-child,
  .section-head > p {
    font-size: 14px;
    line-height: 1.75;
  }

  .notice-tools {
    gap: 8px !important;
  }

  .notice-tools label {
    font-size: 13px;
  }

  .notice-tools input {
    min-height: 48px !important;
    font-size: 16px;
  }

  .info-table tr {
    margin-bottom: 12px !important;
    padding: 15px !important;
    border-radius: 14px !important;
  }

  .content-cell strong {
    font-size: 16px !important;
  }

  .content-cell p {
    font-size: 14px !important;
  }

  .attachment-link,
  .edit-button,
  .delete-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px !important;
  }

  .social-filters {
    gap: 8px;
    margin-bottom: 22px;
  }

  .social-filters button {
    min-height: 44px;
    padding: 0 15px;
    font-size: 13px;
  }

  .social-gallery {
    gap: 16px;
  }

  .social-body {
    padding: 18px 16px;
  }

  .social-body h3 {
    font-size: 18px;
  }

  .social-card-actions a,
  .social-card-actions button {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .customer-layout {
    gap: 40px !important;
  }

  .customer-form {
    padding: 24px 16px !important;
    border-radius: 18px;
  }

  .customer-form h2,
  .customer-layout > div > h2 {
    font-size: 24px;
    line-height: 1.35;
  }

  .customer-form label {
    font-size: 13px;
  }

  .customer-form .privacy-consent {
    gap: 12px;
    padding: 16px;
    font-size: 13px;
  }

  .customer-form .privacy-consent input {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }

  .customer-form .privacy-consent a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  .customer-form > button,
  #customerLoadMore {
    min-height: 50px !important;
    font-size: 15px !important;
  }

  .section-head {
    margin-bottom: 26px;
  }

  .recruit-summary {
    gap: 16px;
  }

  .panel {
    padding: 22px 18px !important;
    border-radius: 18px;
  }

  .job-title {
    margin: 20px 0 10px;
    font-size: 27px;
  }

  .job-lead,
  .check-list li {
    font-size: 14px;
    line-height: 1.75;
  }

  .fact-grid {
    gap: 10px;
    margin-top: 22px;
  }

  .fact {
    padding: 16px;
  }

  .fact strong {
    font-size: 15px;
  }

  .apply-band {
    gap: 18px;
    margin-top: 16px;
    padding: 24px 18px;
    border-radius: 18px;
  }

  .apply-band h3 {
    font-size: 21px;
  }

  .apply-band p {
    font-size: 14px;
    line-height: 1.7;
  }

  .apply-band .cta {
    width: 100%;
    min-height: 52px;
  }

  .steps {
    gap: 12px;
  }

  .step {
    padding: 22px 18px;
  }

  body > footer,
  body > .platform-footer {
    padding: 24px 16px !important;
    gap: 14px !important;
  }

  body > footer p,
  body > footer span,
  body > .platform-footer p,
  body > .platform-footer span {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }
}

/* 2026-09-17 mobile accessibility: preserve layout while expanding tap areas. */
@media (max-width: 760px) {
  body > .platform-header .mobile-menu.mobile-menu,
  body > .platform-header .header-app-actions > .member-link,
  body > .platform-header .header-app-actions > .app-install-link {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
  .home-weather-actions { display:flex;align-items:center;gap:2px; }
  .home-weather-location-button,
  .home-weather-actions > a {
    min-width:44px;min-height:44px;padding:0 6px!important;display:inline-flex;align-items:center;justify-content:center;
  }
}

@media (max-width: 380px) {
  body > .platform-header .header-app-actions > .member-link,
  body > .platform-header .header-app-actions > .app-install-link {
    font-size: 10px !important;
  }

  .smart-card-copy {
    padding: 14px 12px 16px;
  }

  .smart-card h3 {
    font-size: 15px !important;
  }
}

.public-page-swipe-status {
  position: fixed;
  z-index: 10020;
  left: 50%;
  bottom: calc(18px + env(safe-area-inset-bottom));
  max-width: calc(100vw - 32px);
  padding: 10px 15px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(16,62,50,.94);
  color: #fff;
  box-shadow: 0 10px 28px rgba(8,34,27,.24);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  opacity: 0;
  transform: translate(-50%, 12px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}

.public-page-swipe-status.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

html.public-page-swipe-leave-left,
html.public-page-swipe-leave-right {
  overflow-x: hidden;
}

html.public-page-swipe-leave-left body,
html.public-page-swipe-leave-right body {
  opacity: .82;
  transition: opacity .14s ease, transform .14s ease;
}

html.public-page-swipe-leave-left body { transform: translateX(-12px); }
html.public-page-swipe-leave-right body { transform: translateX(12px); }

@media (prefers-reduced-motion: reduce) {
  .public-page-swipe-status,
  html.public-page-swipe-leave-left body,
  html.public-page-swipe-leave-right body {
    transition: none;
    transform: none;
  }
}
