@charset "UTF-8";
/* ═══════════════════════════════════════════════════════════
   FILTER PANEL
   ≥ 570px  →  3 groups side-by-side, each with a dropdown
   < 570px  →  3 groups stacked, each with a dropdown
   lg+      →  vertical sidebar (original layout)
═══════════════════════════════════════════════════════════ */
/* ── Pannello ───────────────────────────────────────────── */
/* line 9, static/css/filter_sidebar.scss */
.filter-panel {
  border: 1px solid var(--primary-blue);
  overflow: visible;
  /* allow dropdowns to overflow */
  width: 100%;
  background: #fff;
  /* Horizontal layout between 570px and lg */ }
  @media (min-width: 570px) and (max-width: 991.98px) {
    /* line 9, static/css/filter_sidebar.scss */
    .filter-panel {
      display: flex;
      flex-direction: row; } }
/* ── Gruppi ─────────────────────────────────────────────── */
/* line 23, static/css/filter_sidebar.scss */
.filter-group {
  background: #fff;
  position: relative;
  /* anchor for the dropdown */ }
  @media (min-width: 570px) and (max-width: 991.98px) {
    /* line 23, static/css/filter_sidebar.scss */
    .filter-group {
      flex: 1 1 0;
      min-width: 0;
      /* Dividers between groups */ }
      /* line 32, static/css/filter_sidebar.scss */
      .filter-group + .filter-group {
        border-left: 1px solid var(--primary-blue); } }
  @media (max-width: 569.98px) {
    /* line 38, static/css/filter_sidebar.scss */
    .filter-group:not(:last-child) {
      border-bottom: 1px solid var(--primary-blue); } }
/* ── Intestazioni di sezione (act as dropdown trigger on mobile) ── */
/* line 45, static/css/filter_sidebar.scss */
.filter-heading {
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  user-select: none; }
  @media (min-width: 992px) {
    /* line 45, static/css/filter_sidebar.scss */
    .filter-heading {
      cursor: default; } }
/* Remove old top-border between group headings on desktop sidebar */
@media (min-width: 992px) {
  /* line 59, static/css/filter_sidebar.scss */
  .filter-group:not(:first-child) .filter-heading {
    border-top: 1px solid var(--primary-blue); } }

/* ── Chevron ────────────────────────────────────────────── */
/* line 66, static/css/filter_sidebar.scss */
.filter-chevron {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 3px solid var(--primary-blue);
  border-bottom: 3px solid var(--primary-blue);
  transform: rotate(45deg);
  /* points down ˅ */
  transition: transform 0.2s;
  flex-shrink: 0;
  margin-bottom: 4px;
  /* optical vertical centering */ }
  @media (min-width: 992px) {
    /* line 66, static/css/filter_sidebar.scss */
    .filter-chevron {
      display: none; } }
/* line 82, static/css/filter_sidebar.scss */
.filter-group.open .filter-chevron {
  transform: rotate(-135deg);
  /* points up ˄ */
  margin-bottom: -4px; }

/* ── Items wrapper ──────────────────────────────────────── */
/* line 88, static/css/filter_sidebar.scss */
.filter-items-wrapper {
  /* Desktop sidebar: always visible, normal flow */
  /* Horizontal bar (570–991px): absolute dropdown */
  /* Stacked layout (< 570px): dropdown in normal flow */ }
  @media (min-width: 992px) {
    /* line 88, static/css/filter_sidebar.scss */
    .filter-items-wrapper {
      display: block !important; } }
  @media (min-width: 570px) and (max-width: 991.98px) {
    /* line 88, static/css/filter_sidebar.scss */
    .filter-items-wrapper {
      display: none;
      position: absolute;
      top: 100%;
      left: -1px;
      /* align with group border */
      min-width: 100%;
      z-index: 200;
      border: 1px solid var(--primary-blue);
      border-top: none;
      background: #fff; } }
  @media (max-width: 569.98px) {
    /* line 88, static/css/filter_sidebar.scss */
    .filter-items-wrapper {
      display: none; } }
/* line 113, static/css/filter_sidebar.scss */
.filter-group.open .filter-items-wrapper {
  display: block; }

/* ── Righe checkbox ─────────────────────────────────────── */
/* line 118, static/css/filter_sidebar.scss */
.filter-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--primary-blue);
  background: var(--primary-bg);
  cursor: pointer;
  margin: 0;
  /* reset Bootstrap label margin */
  transition: background 0.1s;
  user-select: none;
  white-space: nowrap; }

/* Riga selezionata: sfondo lime */
/* line 132, static/css/filter_sidebar.scss */
.filter-item.checked {
  background: var(--accent); }

/* line 136, static/css/filter_sidebar.scss */
.filter-item.checked .filter-label {
  font-weight: 600; }

/* ── Label testo ────────────────────────────────────────── */
/* line 141, static/css/filter_sidebar.scss */
.filter-label {
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis; }

/* ── Checkbox custom ────────────────────────────────────── */
/* line 148, static/css/filter_sidebar.scss */
.filter-cb {
  width: 25px;
  height: 25px;
  border: 3px solid var(--primary-blue);
  border-radius: 3px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.1s, border-color 0.1s; }
  @media (max-width: 992px) {
    /* line 148, static/css/filter_sidebar.scss */
    .filter-cb {
      width: 20px;
      height: 20px; } }
/* line 165, static/css/filter_sidebar.scss */
.filter-item.checked .filter-cb {
  background: var(--primary-blue);
  border-color: var(--primary-blue); }

/* Checkmark SVG iniettato via JS */
/* line 171, static/css/filter_sidebar.scss */
.filter-cb svg {
  display: block; }

/* ── Hidden state (beats Bootstrap d-lg-flex !important) ── */
/* line 176, static/css/filter_sidebar.scss */
.resource.resource--hidden {
  display: none !important; }
