/* Desktop keeps its original grid, including the newly grouped controls. */
.ig-catalog-filter-toggle { display: none; }
.ig-catalog-filter-wrap { display: contents; }

@media (max-width: 600px) {
  .ig-mobile-catalog-shell { padding: 0; z-index: 10010; }
  .ig-mobile-catalog {
    width: 100%; height: 100vh; height: 100dvh;
    max-height: 100vh; max-height: 100dvh; min-height: 0;
    border: 0; border-radius: 0; box-sizing: border-box;
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  }
  .ig-mobile-catalog :is(.community-modal-head, .gcp-head, .community-head) {
    flex: none; align-items: center; gap: 8px; padding: 8px 12px;
  }
  .ig-mobile-catalog :is(.community-modal-head, .gcp-head, .community-head) :is(h2, h3) {
    margin: 0; font-size: 1.1rem; line-height: 1.25; letter-spacing: normal;
  }
  .ig-mobile-catalog :is(.community-modal-head, .gcp-head, .community-head) p { display: none; }
  .ig-mobile-catalog :is(.community-modal-close, .gcp-close, .community-head .icon-button) {
    flex: 0 0 44px; width: 44px; height: 44px; margin: 0 0 0 auto;
  }
  .ig-mobile-catalog :is(.community-catalog-controls, .gcp-controls, .community-controls) {
    flex: none; display: grid; grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px; padding: 8px 12px; margin: 0;
  }
  .ig-mobile-catalog :is(.community-catalog-controls, .gcp-controls, .community-controls) > input {
    grid-column: auto; min-width: 0; width: 100%; height: 44px;
    margin: 0; padding: 8px 10px; box-sizing: border-box; font-size: 16px;
  }
  .ig-mobile-catalog .ig-catalog-filter-toggle {
    display: block; min-height: 44px; min-width: 82px; padding: 8px 10px;
    border: 1px solid #c4b5fd; border-radius: 10px; cursor: pointer;
    color: #5b21b6; background: #ede9fe; font: inherit; font-size: .8rem; font-weight: 800;
  }
  .ig-mobile-catalog .ig-catalog-filter-toggle:focus-visible { outline: 3px solid #8b5cf6; outline-offset: 2px; }
  html[data-theme="dark"] .ig-mobile-catalog .ig-catalog-filter-toggle { color: #ede9fe; background: #3b2763; border-color: #8063ae; }
  .ig-mobile-catalog .ig-catalog-filters {
    display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px; max-height: 240px; max-height: min(240px, 35dvh); overflow: auto;
  }
  .ig-mobile-catalog[data-mobile-filters-open="false"] .ig-catalog-filters { display: none; }
  .ig-mobile-catalog .ig-catalog-filters > * { min-width: 0; }
  .ig-mobile-catalog .ig-catalog-filters select { min-width: 0; width: 100%; min-height: 44px; box-sizing: border-box; }
  .ig-mobile-catalog .ig-catalog-filters :is(.community-mine-filter, .gcp-mine, .mine-filter) { min-height: 44px; grid-column: auto; margin: 0; }
  .ig-mobile-catalog :is(.community-results-bar, .gcp-results-bar, .community-summary) {
    flex: none; display: flex; flex-direction: row; align-items: center; justify-content: space-between;
    gap: 8px; margin: 0; padding: 4px 12px; font-size: .72rem; line-height: 1.4;
  }
  .ig-mobile-catalog :is(.community-selected, .gcp-selected) { flex: none; margin: 0 12px 4px; padding: 6px 8px; }
  .ig-mobile-catalog :is(.community-selected-list, .gcp-selected-list) {
    flex-wrap: nowrap; overflow-x: auto; gap: 6px; margin-top: 4px; padding-bottom: 2px;
  }
  .ig-mobile-catalog :is(.community-selected-chip, .gcp-selected-chip) { flex: none; max-width: 240px; min-height: 40px; }
  .ig-mobile-catalog .gcp-selected-chip { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ig-mobile-catalog :is(.community-modal-list, .gcp-results, .community-results) {
    flex: 1 1 auto; min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain;
    display: grid; grid-template-columns: minmax(0, 1fr); align-content: start;
    gap: 8px; padding: 8px 12px;
  }
  .ig-mobile-catalog :is(.community-set-card, .gcp-card, .community-card) {
    display: grid; grid-template-columns: minmax(0, 1fr) auto;
    align-items: start; gap: 4px 10px; min-width: 0; padding: 10px;
  }
  .ig-mobile-catalog :is(.community-set-card-top, .gcp-card-head, .community-card-head, .community-card-actions),
  .ig-mobile-catalog .community-card.ig-reportable-pack .community-card-head { display: contents; }
  .ig-mobile-catalog :is(.community-set-emoji, .gcp-card-icon, .community-card-icon) { display: none; }
  .ig-mobile-catalog :is(.community-set-info, .gcp-card-head > div, .community-card-head > div) { grid-column: 1; grid-row: 1; min-width: 0; }
  .ig-mobile-catalog :is(.community-set-title, .gcp-card-head strong, .community-card strong) {
    display: block; font-size: .9rem; line-height: 1.3; white-space: normal; overflow-wrap: anywhere;
  }
  .ig-mobile-catalog :is(.community-set-meta, .gcp-card-head small, .community-card small) {
    font-size: .72rem; line-height: 1.4; white-space: normal; overflow-wrap: anywhere;
  }
  html[data-theme="dark"] .ig-mobile-catalog .community-set-meta .set-tag { color: #ddd0ff; background: #44355f; }
  .ig-mobile-catalog :is(.community-set-add, .gcp-add, .add-pack) {
    grid-column: 2; grid-row: 1; justify-self: end; align-self: center;
    min-width: 64px; width: auto; min-height: 44px; margin: 0; padding: 8px 10px;
  }
  .ig-mobile-catalog .ig-pack-footer {
    grid-column: 1 / -1; grid-row: 2; margin: 0; padding: 0; border: 0;
  }
  .ig-mobile-catalog .ig-pack-footer :is(button, .gcp-peek) { min-height: 40px; margin: 0; }
  .ig-mobile-catalog .community-card-actions > [data-preview-pack] {
    grid-column: 1; grid-row: 2; justify-self: start; min-height: 40px; margin: 0;
  }
  .ig-mobile-catalog .community-card.ig-reportable-pack .community-card-head > .ig-community-report {
    grid-column: 2; grid-row: 2; justify-self: end; min-height: 40px; margin: 0;
  }
  .ig-mobile-catalog :is(.community-set-preview, .gcp-preview, .community-preview) { grid-column: 1 / -1; }
  .ig-mobile-catalog :is(.community-pagination, .gcp-pagination) { flex: none; gap: 8px; padding: 6px 12px; }
  .ig-mobile-catalog :is(.community-pagination, .gcp-pagination) button { min-height: 44px; }
  .ig-mobile-catalog :is(.community-modal-foot, .community-foot) {
    flex: none; padding: 4px 12px; gap: 0; flex-direction: row; justify-content: center; font-size: .75rem;
  }
  .ig-mobile-catalog :is(.community-modal-foot, .community-foot) > span { display: none; }
  .ig-mobile-catalog :is(.community-modal-foot, .community-foot) > a { display: inline-flex; align-items: center; min-height: 40px; }
}
