/* SN_CSS_ARCH_LISTING_NO_FILTER_COMMON_V1 */

/* SN_NO_FILTER_CARDS_ONLY_V4 */
@media (min-width: 1366px) {
  /*
    Breadcrumb, H1, descrição e demais conteúdos permanecem
    no container normal da página.
  */
  section.sn-listing-section.sn-grid-listing-section {
    width: auto !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    overflow: visible !important;
  }

  /*
    O wrapper continua no fluxo normal. Somente o grid dos cards
    rompe o container e ocupa 99% da janela.
  */
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
    display: grid !important;
    position: relative !important;

    width: 99vw !important;
    max-width: 99vw !important;
    min-width: 99vw !important;

    left: 50% !important;
    transform: translateX(-50%) !important;

    column-gap: 12px !important;
    row-gap: 14px !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
  }

  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid
  > article {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
}

/* SN_CSS_ARCH_LISTING_SPECIAL_GRID_GEOMETRY_V1
 *
 * Geometria canônica das páginas sem filtro lateral:
 * - Exclusividades
 * - Guias
 *
 * Replica exatamente o estado visual atualmente produzido
 * pelas funções JavaScript especiais.
 *
 * O JavaScript ainda permanece ativo nesta fase.
 */

html body.sn-exclusividades-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid,

html body.sn-guias-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid {
  margin-top: 0 !important;
  display: block !important;

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

  margin-left: 0 !important;
  margin-right: 0 !important;

  padding: 0 !important;

  position: relative !important;

  left: auto !important;
  right: auto !important;

  transform: none !important;
  visibility: visible !important;

  box-sizing: border-box !important;
}


/*
 * Exclusividades:
 * preserva o min-width histórico herdado do common.
 */
html body.sn-exclusividades-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid
> #cards-grid.sn-listing-cards-grid {
  display: grid !important;

  width: 100% !important;
  max-width: none !important;

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

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

  box-sizing: border-box !important;
}


/*
 * Guias:
 * o JavaScript histórico define min-width:0.
 */
html body.sn-guias-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid
> #cards-grid.sn-listing-cards-grid {
  display: grid !important;

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

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

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

  box-sizing: border-box !important;
}


html body.sn-exclusividades-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid
> #cards-grid.sn-listing-cards-grid
> *,

html body.sn-guias-grid-page
section.sn-listing-section.sn-grid-listing-section
> #imoveis-grid
> #cards-grid.sn-listing-cards-grid
> * {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;

  margin: 0 !important;

  box-sizing: border-box !important;
}


@media (max-width: 767px) {
  html body.sn-exclusividades-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid,

  html body.sn-guias-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
  }
}


@media (min-width: 768px) and (max-width: 1023px) {
  html body.sn-exclusividades-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid,

  html body.sn-guias-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
  }
}


@media (min-width: 1024px) and (max-width: 1365px) {
  html body.sn-exclusividades-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid,

  html body.sn-guias-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
  }
}


@media (min-width: 1366px) {
  html body.sn-exclusividades-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid,

  html body.sn-guias-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid {
    width: 99vw !important;
    max-width: 99vw !important;

    margin-left:
      calc(50% - 49.5vw) !important;

    margin-right:
      calc(50% - 49.5vw) !important;
  }


  html body.sn-exclusividades-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
    min-width: 99vw !important;
  }


  html body.sn-guias-grid-page
  section.sn-listing-section.sn-grid-listing-section
  > #imoveis-grid
  > #cards-grid.sn-listing-cards-grid {
    min-width: 0 !important;
  }
}

/* Home joins shared no-filter layout */

@media (max-width: 1023px) {
  #home-listings.sn-home-listing-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #home-listings #imoveis-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #home-listings .sn-home-cards-grid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  #home-listings.sn-home-listing-section {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  #home-listings #imoveis-grid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #home-listings .sn-home-cards-grid {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

