/* Catalog and case controls retain their full labels on small screens. */
.case-page .case-catalog-more { display: block; min-height: 44px; margin: 20px auto 0; padding: 10px 22px; border: 1px solid var(--gb-accent); border-radius: 10px; background: transparent; color: var(--gb-accent); font: inherit; font-size: 14px; cursor: pointer; }
.case-page .case-catalog-more:focus-visible { outline: 2px solid var(--gb-accent); outline-offset: 4px; }
@media (max-width: 820px) {
  .home-page .catalog-tools { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; gap: 8px; }
  .home-page .catalog-tools :is(.catalog-search,.sort-control) { width: 100%; min-width: 0; }
  .home-page .sort-control__field { width: 100%; }
  .home-page :is(.catalog-search,.sort-dropdown__trigger,.sort-dropdown__option,.filter-pill) { min-height: 44px; }
  .home-page .sort-dropdown__menu { width: 100%; z-index: 20; }
  .home-page #case-search { font-size: 16px; }
  .case-page .case-catalog-tools { display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; width: 100%; }
  .case-page .case-catalog-tools :is(input,select,.ui-select) { width: 100%; max-width: none; min-width: 0; min-height: 44px; }
  .case-page .case-catalog-tools input { font-size: 16px; }
  .case-page .case-catalog-tools .ui-select__trigger { min-height: 44px; }
  .case-page .case-stage__actions .button-group { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; }
  .case-page .case-stage__actions .start { width: 100%; min-height: 46px; white-space: normal; }
  .case-page .reveal-toggle { min-height: 44px; }
  .case-page .case-stage__head { flex-wrap: wrap; gap: 8px; }
  .case-page .case-contents-link { display: inline-flex; align-items: center; min-height: 44px; }
  .case-page :is(.case-item-card__name,.case-item-card__rarity) { overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
  body.home-page .home-hero__copy { padding: 20px 16px 12px; }
  body.home-page h1 { font-size: 30px !important; }
  body.home-page .hero-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  body.home-page .hero-action { min-height: 44px; justify-content: center; }
  .home-page .case-card { padding: 10px; }
  .home-page .case-card__media { height: 116px; }
  .home-page .case-card__media img { height: 104px; }
  .case-page :is(.case-stage,.case-catalog) { padding: 14px; }
  .case-page :is(.case-stage__head h2,.case-catalog__head h2) { font-size: 19px; }
}
