/* HOSHILU UI v5 (2026-08-07): single-column layout, same static DOM order
   on every breakpoint (search -> MATCHES -> SALE RADAR -> INSIGHT -> NEWS
   -> MARKETPLACE COVERAGE -> SEARCH AGENT -> DISCOVERY -> OFFICIAL). The
   previous v4 layout split sections into a PC-only two-column grid (a
   sticky right rail for announcements/sale-radar), which meant the PC
   reading order did not match the mobile DOM order. Per the 2026-08-07
   instructions the section order must be identical across PC/tablet/
   mobile, so the two-/three-column split is removed; .hoshilu-primary is
   the single flow every section now lives in, at every width. */
.hoshilu-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}

.hoshilu-primary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  min-width: 0;
  align-content: start;
}

@media (min-width: 1180px) {
  main:has(.hoshilu-layout) {
    width: min(100% - 48px, 1440px);
  }

  .hoshilu-layout {
    grid-template-columns: minmax(0, 1fr);
  }
}

.announcements-panel {
  margin: 0;
  padding: clamp(1.1rem, 3vw, 1.6rem);
  border-radius: 26px;
  background: linear-gradient(135deg, #201a44, #362a7a 55%, #7357ff);
  color: #fff;
  box-shadow: 0 20px 55px rgba(30, 20, 70, .18);
}

.announcements-heading {
  margin-bottom: 4px;
}

.announcements-heading h2 {
  margin: 4px 0 12px;
  font-size: clamp(20px, 3vw, 28px);
  letter-spacing: -.03em;
}

.announcements-panel .info-row-list {
  margin-top: 4px;
}

#officialSocial {
  scroll-margin-top: var(--topbar-height, 74px);
}

@media (max-width: 760px) {
  /* First-view compaction: only margins/gaps between the hero and search
     panel are tightened here. Nothing that affects tap target size, text
     readability, form operability, or the marketplace coverage / official
     social detail sections themselves is touched. */
  .hoshilu-primary {
    gap: 6px;
  }

  .hero {
    padding: 8px 0 10px;
  }

  #hoshiluSearch {
    margin-top: 8px;
    padding: 12px 20px;
  }

  .panel-heading {
    margin-bottom: 4px;
  }

  #quickQueries {
    margin: 4px 0 6px;
  }

  #status {
    margin-top: 4px;
  }

  #status:empty {
    min-height: 0;
  }
}
