/*
 * SANOME — Listing Feature Filters
 *
 * Canonical phase 1.
 *
 * Ordem histórica preservada:
 * 1. SN_ALL_FEATURE_CHECKS_SLIM_V4
 * 2. SN_TOP_FILTER_CHECKS_SLIM_V1
 * 3. SN_FEATURE_ACCORDION_TITLES_RESTORE_V1
 * 4. SN_FEATURE_ACCORDION_CURSOR_POINTER_V2
 * 5. SN_COUNT_LABELS_REAL_OPEN_V3
 *
 * Não inclui dead relational CSS.
 * Não inclui blocos mistos de layout.
 */

/* SN_ALL_FEATURE_CHECKS_SLIM_V4 */

/* ======================================================
   CELULAR
   Uma coluna, visual slim e checkbox em tamanho normal.
   ====================================================== */
@media (max-width: 767px) {
  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid,

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;

    column-gap: 0 !important;
    row-gap: 5px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row,

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 4px 3px !important;
    gap: 6px !important;

    box-sizing: border-box !important;

    font-size: 12px !important;
    line-height: 1.2 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row
  > input[type="checkbox"],

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row
  > input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;

    min-width: 16px !important;
    min-height: 16px !important;

    flex: 0 0 16px !important;
    margin: 0 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row
  > span,

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row
  > span {
    min-width: 0 !important;

    font-size: 12px !important;
    line-height: 1.2 !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  #filter-drawer
  .sn-feature-accordion-body {
    padding-top: 8px !important;
  }
}


/* ======================================================
   TABLET E DESKTOP
   Duas colunas e modelo slim em todos os recursos.
   ====================================================== */
@media (min-width: 768px) {
  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    grid-template-rows:
      repeat(3, auto) !important;

    grid-auto-flow: column !important;

    column-gap: 7px !important;
    row-gap: 5px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid {
    display: grid !important;

    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;

    column-gap: 7px !important;
    row-gap: 5px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row,

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 4px 4px !important;
    gap: 5px !important;

    border-radius: 4px !important;
    box-sizing: border-box !important;

    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row
  > input[type="checkbox"],

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row
  > input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;

    min-width: 15px !important;
    min-height: 15px !important;

    flex: 0 0 15px !important;
    margin: 0 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-highlight-grid
  > .fd-checkbox-row
  > span,

  #filter-drawer
  #filter-form
  .sn-feature-accordion-body
  .sn-feature-filter-grid
  > .fd-checkbox-row
  > span {
    min-width: 0 !important;

    font-size: 11px !important;
    line-height: 1.15 !important;

    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  #filter-drawer
  .sn-feature-accordion-body {
    padding-top: 9px !important;
  }
}

/* SN_TOP_FILTER_CHECKS_SLIM_V1 */

/* ======================================================
   BASE SLIM
   Somente disponíveis + Em condomínio fechado.
   ====================================================== */
#filter-drawer
#filter-form
.sn-feature-top-toggles {
  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  box-sizing: border-box !important;
}

#filter-drawer
#filter-form
.sn-feature-top-toggles
> .fd-checkbox-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 4px 3px !important;
  gap: 6px !important;

  box-sizing: border-box !important;

  font-size: 12px !important;
  line-height: 1.2 !important;
}

#filter-drawer
#filter-form
.sn-feature-top-toggles
> .fd-checkbox-row
> input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;

  min-width: 16px !important;
  min-height: 16px !important;

  flex: 0 0 16px !important;
  margin: 0 !important;
}

#filter-drawer
#filter-form
.sn-feature-top-toggles
> .fd-checkbox-row
> span {
  min-width: 0 !important;

  font-size: 12px !important;
  line-height: 1.2 !important;

  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

/*
  Remove a margem antiga específica entre os dois checks,
  porque agora o espaçamento é controlado pelo grid.
*/
#filter-drawer
#filter-form
.sn-feature-top-toggles
label[for="f-disponivel"]
+ label[for="f-rua-publica"],
#filter-drawer
#filter-form
.sn-feature-top-toggles
label[for="f-rua-publica"]
+ label[for="f-em-condominio-fechado"] {
  margin-top: 0 !important;
}


/* ======================================================
   CELULAR
   Uma coluna compacta.
   ====================================================== */
@media (max-width: 767px) {
  #filter-drawer
  #filter-form
  .sn-feature-top-toggles {
    display: grid !important;
    grid-template-columns: 1fr !important;

    column-gap: 0 !important;
    row-gap: 5px !important;
    align-items: start !important;
  }
}


/* ======================================================
   TABLET E DESKTOP
   Duas colunas compactas.
   ====================================================== */
@media (min-width: 768px) {
  #filter-drawer
  #filter-form
  .sn-feature-top-toggles {
    display: grid !important;

    grid-template-columns: 1fr !important;

    column-gap: 0 !important;
    row-gap: 5px !important;

    align-items: start !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-top-toggles
  > .fd-checkbox-row {
    padding: 4px 4px !important;

    font-size: 11px !important;
    line-height: 1.15 !important;
  }

  #filter-drawer
  #filter-form
  .sn-feature-top-toggles
  > .fd-checkbox-row
  > span {
    font-size: 11px !important;
    line-height: 1.15 !important;
  }
}

/* SN_FEATURE_ACCORDION_TITLES_RESTORE_V1 */

#filter-drawer
#filter-form
.sn-feature-accordion
> .sn-feature-accordion-summary
> .sn-feature-accordion-title {
  color: #7d8288 !important;
  -webkit-text-fill-color: #7d8288 !important;

  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;

  letter-spacing: .14em !important;
  text-transform: uppercase !important;

  background: transparent !important;
}

/* Garante que o cabeçalho inteiro não herde preto ou negrito. */
#filter-drawer
#filter-form
.sn-feature-accordion
> .sn-feature-accordion-summary {
  color: #7d8288 !important;
  -webkit-text-fill-color: #7d8288 !important;
  font-weight: 500 !important;
  background: transparent !important;
}

/* Mantém a seta no cinza original. */
#filter-drawer
#filter-form
.sn-feature-accordion
> .sn-feature-accordion-summary
> .sn-feature-accordion-chevron {
  border-color: #4b5563 !important;
}

/* SN_FEATURE_ACCORDION_CURSOR_POINTER_V2 */

#filter-drawer
#filter-form
.sn-feature-accordion-summary,

#filter-drawer
#filter-form
.sn-feature-accordion-summary
.sn-feature-accordion-title,

#filter-drawer
#filter-form
.sn-feature-accordion-summary
.sn-feature-accordion-chevron {
  cursor: pointer !important;
}

/* SN_COUNT_LABELS_REAL_OPEN_V3 */

/*
  Reexibe os textos reais.
  Neutraliza o ::after criado pelo patch anterior.
*/
#filter-drawer
#filter-form
.sn-bedroom-options-grid
> .fd-checkbox-row
> span {
  display: block !important;

  min-width: 0 !important;

  font-size: 10.5px !important;
  line-height: 1.1 !important;

  white-space: nowrap !important;
  text-align: center !important;
  overflow: visible !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

#filter-drawer
#filter-form
.sn-bedroom-options-grid
> .fd-checkbox-row::after {
  display: none !important;
  content: none !important;
}


/* Modelo slim comum. */
#filter-drawer
#filter-form
.sn-bedroom-options-grid {
  display: grid !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  column-gap: 4px !important;
  row-gap: 5px !important;
}

#filter-drawer
#filter-form
.sn-bedroom-options-grid
> .fd-checkbox-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 4px 2px !important;
  gap: 4px !important;

  box-sizing: border-box !important;
  white-space: nowrap !important;
}

#filter-drawer
#filter-form
.sn-bedroom-options-grid
> .fd-checkbox-row
> input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;

  min-width: 15px !important;
  min-height: 15px !important;

  flex: 0 0 15px !important;
  margin: 0 !important;
}


/* Celular: dois itens por linha. */
@media (max-width: 767px) {
  #filter-drawer
  #filter-form
  .sn-bedroom-options-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  #filter-drawer
  #filter-form
  .sn-bedroom-options-grid
  > .fd-checkbox-row
  > input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;

    min-width: 16px !important;
    min-height: 16px !important;

    flex-basis: 16px !important;
  }

  #filter-drawer
  #filter-form
  .sn-bedroom-options-grid
  > .fd-checkbox-row
  > span {
    font-size: 11px !important;
  }
}


/* Tablet e desktop: quatro itens em uma única linha. */
@media (min-width: 768px) {
  #filter-drawer
  #filter-form
  .sn-bedroom-options-grid {
    grid-template-columns:
      repeat(4, minmax(0, 1fr)) !important;
  }
}

/* ==========================================================
   SN_CSS_ARCH_BEDROOM_FILTER_GAP_V1

   Owner canonical do espaçamento interno do filtro
   de dormitórios. Preserva o comportamento legado:
   7px em todos os breakpoints.
   ========================================================== */

.sn-bedroom-filter {
  gap: 7px !important;
}

