/* =====================================================
   LISTINGS-ARCHIVE.CSS
   Página: arquivo/listagem de viaturas (CPT: listings)

   Objectivos:
   1) Colocar a sidebar/filtros à DIREITA (em vez de esquerda)
   2) Esconder os botões de alternar vista (view_type: grelha/lista)

   Nota:
   - O Motors muda classes conforme o demo/layout.
   - Por isso, aqui usamos seletores “em leque”, mas SEM tocar noutras páginas.
   - Tudo está escopado a: .post-type-archive-listings
===================================================== */

/* -------------------------------
   1) Sidebar/filtros para a direita
-------------------------------- */

/* Só na ROW principal da página de arquivo (evita mexer em .row internas dos filtros) */
.post-type-archive-listings .archive-listing-page > .container > .row {
  display: flex;
  flex-direction: row; /* ordem natural */
  align-items: flex-start;
}

/* Sidebar (filtros) para a direita */
.post-type-archive-listings .archive-listing-page > .container > .row > .classic-filter-row {
  order: 2;
}

/* Conteúdo (listagem) para a esquerda */
.post-type-archive-listings .archive-listing-page > .container > .row > .col-md-9,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-9,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-md-8,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-8 {
  order: 1;
}

/* Garante que o conteúdo (listagem) fica à esquerda e a sidebar à direita */
.post-type-archive-listings .archive-listing-page > .container > .row > [class*="col-"] {
  min-width: 0; /* evita overflow horizontal em flex */
}


/* Mobile/tablet: volta a empilhar (sidebar em cima/baixo conforme o DOM) */
@media (max-width: 991px) {
  .post-type-archive-listings .archive-listing-page > .container > .row {
    flex-direction: column;
  }
}


/* -------------------------------
   1.1) Fix de layout dos filtros (evitar selects “esmagados”)
   O row-reverse em flex pode afectar estilos antigos baseados em floats.
   Garantimos que a coluna de filtros mantém largura e que os campos ocupam 100%.
-------------------------------- */

/* Header do bloco de filtros ("Pesquisar" + "Limpar Filtros") — garantir legibilidade e não colapsar */
.post-type-archive-listings .classic-filter-row .sidebar-entry-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
}

.post-type-archive-listings .classic-filter-row .sidebar-entry-header .h4,
.post-type-archive-listings .classic-filter-row .sidebar-entry-header span.h4 {
  margin: 0;
  line-height: 1.2;
  font-size: 18px;
  white-space: nowrap;
  color: #111;
}

.post-type-archive-listings .classic-filter-row .sidebar-entry-header a {
  display: inline-block;
  line-height: 1.2;
  font-size: 14px;
  text-decoration: underline;
  white-space: normal; /* deixa quebrar se for preciso */
  color: #111;
  opacity: .85;
}

.post-type-archive-listings .classic-filter-row .sidebar-entry-header a:hover {
  opacity: 1;
}

/* Em ecrãs mais estreitos, força cada item a ocupar a sua linha */
@media (max-width: 1199px) {
  .post-type-archive-listings .classic-filter-row .sidebar-entry-header {
    align-items: flex-start;
  }
  .post-type-archive-listings .classic-filter-row .sidebar-entry-header a {
    width: 100%;
  }
}

/* Sidebar (coluna de filtros) com largura estável */
.post-type-archive-listings .archive-listing-page > .container > .row > .classic-filter-row {
  flex: 0 0 320px;
  max-width: 320px;
}

/* Conteúdo ocupa o resto */
.post-type-archive-listings .archive-listing-page > .container > .row > .col-md-9,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-9,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-md-8,
.post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-8 {
  flex: 1 1 auto;
  max-width: none;
}

/* Dentro da sidebar: tudo em coluna e com largura total */
.post-type-archive-listings .sidebar,
.post-type-archive-listings .stm_directory_listing__filters,
.post-type-archive-listings .stm-filter-sidebar,
.post-type-archive-listings .stm_listing_filter {
  display: block;
}

/* Campos de filtro: garantir stacking e 100% width */
.post-type-archive-listings .sidebar .form-group,
.post-type-archive-listings .sidebar .stm-filter,
.post-type-archive-listings .sidebar .stm-filter__inner,
.post-type-archive-listings .sidebar .stm-filter__content,
.post-type-archive-listings .sidebar select,
.post-type-archive-listings .sidebar input,
.post-type-archive-listings .sidebar .select2,
.post-type-archive-listings .sidebar .select2-container,
.post-type-archive-listings .sidebar .select2-container--default,
.post-type-archive-listings .sidebar .select2-selection,
.post-type-archive-listings .sidebar .chosen-container,
.post-type-archive-listings .sidebar .chosen-container .chosen-single {
  width: 100% !important;
  max-width: 100% !important;
  display: block;
  box-sizing: border-box;
}

/* Se existir grelha interna de filtros (alguns demos do Motors), força a 1 coluna */
.post-type-archive-listings .sidebar .row,
.post-type-archive-listings .stm_directory_listing__filters .row,
.post-type-archive-listings .stm-filter-sidebar .row {
  display: block;
}

.post-type-archive-listings .sidebar .row > [class*="col-"],
.post-type-archive-listings .stm_directory_listing__filters .row > [class*="col-"],
.post-type-archive-listings .stm-filter-sidebar .row > [class*="col-"] {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile: volta a ser fluido */
@media (max-width: 991px) {
  .post-type-archive-listings .archive-listing-page > .container > .row > .classic-filter-row,
  .post-type-archive-listings .archive-listing-page > .container > .row > .col-md-9,
  .post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-9,
  .post-type-archive-listings .archive-listing-page > .container > .row > .col-md-8,
  .post-type-archive-listings .archive-listing-page > .container > .row > .col-lg-8 {
    flex: 1 1 auto;
    max-width: 100%;
  }
}


/* ----------------------------------------------
   2) Esconder botões de alternar view_type (grid/list)
----------------------------------------------- */

/* Botões/ícones típicos do Motors para alternar grelha/lista */
.post-type-archive-listings .stm-view-type,
.post-type-archive-listings .view-type,
.post-type-archive-listings .stm_listing_view,
.post-type-archive-listings .stm-directory-listing-top__view,
.post-type-archive-listings .stm-directory-listing-top__view-type,
.post-type-archive-listings .stm_listing_directory_view,
.post-type-archive-listings .stm_directory_listing__view,
.post-type-archive-listings .stm-directory-listing-top__switcher,
.post-type-archive-listings .stm_listing_switcher {
  display: none !important;
}

/* (Opcional) se houver espaço vazio a seguir ao esconder, remove margens/padding */
.post-type-archive-listings .stm-directory-listing-top__right {
  gap: 0;
}



/* =====================================================
   Ajuste específico do header dos filtros (template car_dealer_two_elementor)
   Mantém o mesmo comportamento do tema, mas só na listagem de viaturas
===================================================== */

.post-type-archive-listings.stm-template-car_dealer_two_elementor.no_margin 
#wrapper #main .classic-filter-row .sidebar-entry-header,
.post-type-archive-listings.stm-template-car_dealer_two_elementor.no_margin 
#wrapper #main .stm-filter-links .sidebar-entry-header {
  position: relative;
  min-height: 40px;
  margin: 10px;
}

/* =====================================================
   FILTRO FIXO / STICKY (acompanha o scroll)

   Nota importante (Motors):
   - `position: sticky` falha se algum elemento PAI tiver `overflow` diferente de `visible`
     (hidden/auto/scroll) ou tiver `transform/filter/perspective`.
   - Em vez de aplicar sticky à coluna inteira, aplicamos ao wrapper real da sidebar.
===================================================== */

/* 1) Aplicar sticky ao wrapper real dos filtros (mais fiável no Motors) */
.post-type-archive-listings .classic-filter-row .sidebar,
.post-type-archive-listings .classic-filter-row .stm-filter-sidebar,
.post-type-archive-listings .classic-filter-row .stm_directory_listing__filters,
.post-type-archive-listings .classic-filter-row .stm_listing_filter {
  position: sticky;
  top: 110px; /* ajusta ao header */
  align-self: flex-start;
  z-index: 10;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* 2) Garantir que os parents não matam o sticky */
.post-type-archive-listings #main,
.post-type-archive-listings .archive-listing-page,
.post-type-archive-listings .archive-listing-page > .container,
.post-type-archive-listings .archive-listing-page > .container > .row {
  overflow: visible !important;
}

.post-type-archive-listings #main,
.post-type-archive-listings .archive-listing-page {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

/* 3) Mobile/tablet: não forçar sticky (fica natural e evita UX estranha) */
@media (max-width: 991px) {
  .post-type-archive-listings .classic-filter-row .sidebar,
  .post-type-archive-listings .classic-filter-row .stm-filter-sidebar,
  .post-type-archive-listings .classic-filter-row .stm_directory_listing__filters,
  .post-type-archive-listings .classic-filter-row .stm_listing_filter {
    position: static;
    max-height: none;
    overflow: visible;
  }
}