/* v0.8.23 · menu filtri mobile più compatto e realmente ancorato alla ricerca */

.filters-popover {
  display: none;
}

@media (max-width: 640px) {
  .search-panel.filters-menu-open {
    border-radius: 14px 14px 0 0;
    box-shadow: 0 7px 24px color-mix(in srgb, var(--text) 14%, transparent);
  }

  .search-panel.filters-menu-open::after {
    display: none;
  }

  .search-panel.filters-menu-open .compact-filters-btn {
    background: var(--accent-2);
    border-color: color-mix(in srgb, var(--accent) 38%, var(--border));
  }

  .filters-popover:not([hidden]) {
    position: absolute;
    z-index: 70;
    top: calc(100% - 6px);
    left: -1px;
    right: -1px;
    display: block;
    max-height: min(54dvh, 440px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 9px 10px 10px;
    border: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 15px 15px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 12px 28px color-mix(in srgb, #000 24%, transparent);
  }

  .filters-menu-primary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .filters-menu-primary .chip {
    min-width: 0;
    min-height: 36px;
    padding: 0 8px;
    font-size: .86rem;
  }

  .filters-menu-section {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--border);
  }

  .filters-menu-label {
    margin: 0 0 6px;
    color: var(--muted);
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .filters-menu-category-scroll {
    max-height: min(18dvh, 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    padding-right: 2px;
  }

  /*
    v814 nasconde category-row e community-row quando la search-panel è compatta.
    Qui le riattiviamo con specificità superiore perché ora vivono dentro il menu.
  */
  .search-panel.is-scroll-compact .filters-menu-categories .category-row {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    overflow: visible;
    padding: 0;
  }

  .filters-menu-categories .category-row .chip {
    min-height: 34px;
    padding: 0 10px;
    font-size: .82rem;
  }

  .filters-menu-view .view-switch {
    display: flex;
    width: 100%;
  }

  .filters-menu-view .view-switch-btn {
    flex: 1 1 0;
    min-height: 36px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: .86rem;
  }

  .filters-menu-actions {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.35fr);
    gap: 6px;
  }

  .filters-menu-actions .report-launch,
  .filters-menu-actions .community-row {
    margin: 0;
    width: 100%;
  }

  .filters-menu-actions .report-launch {
    min-height: 38px;
    padding: 0 10px;
  }

  .search-panel.is-scroll-compact .filters-menu-actions .community-row {
    display: block !important;
    padding: 0;
    border: 0;
  }

  .filters-menu-actions .community-row > span {
    display: none;
  }

  .filters-menu-actions .community-add-btn {
    width: 100%;
    min-height: 38px;
    padding: 0 10px;
  }
}

@media (max-width: 380px) {
  .filters-menu-primary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .filters-menu-primary .chip {
    padding-left: 5px;
    padding-right: 5px;
    font-size: .79rem;
  }

  .filters-menu-actions {
    grid-template-columns: 1fr 1.25fr;
  }
}
