.search-area{
  margin-top:calc(var(--has-promo,0) * 1rem);
}

.search-area.container{
  max-width:100%;
  padding-left:0;
  padding-right:0;
}
/* pills ---------------------------------------------------------- */
.view-tabs .nav-link{
  font:600 .9rem/1 Cabin,sans-serif;
  color:var(--color_text_muted);
  padding:.45rem 1.05rem;
  border-radius:1.75rem;
  transition:background .15s,color .15s;
  white-space:nowrap;
}
.view-tabs .nav-link.active{
  background:var(--color_brand_primary);color:var(--color_surface_card_bg);
}
.view-tabs .nav-link:not(.active):hover{
  background:rgba(81,94,115,.08);
}

.view-tabs .settings-tab .nav-link{
  --_txt      : var(--color_brand_primary);
  --_border   : var(--color_border_default);

  color            : var(--_txt);
  border           : 1px solid var(--_border);
  background       : var(--color_surface_card_bg);
  font-weight      : 600;
  border-radius    : .4rem;
  transition: color .15s ease, background .15s ease, box-shadow .15s ease;
}

.view-tabs .settings-tab .nav-link:hover,
.view-tabs .settings-tab .nav-link:focus{
  background : var(--color_brand_primary);
  color      : var(--color_text_inverse);
  box-shadow : 0 .25rem .65rem -.25rem rgba(0,0,0,.18);
}

/* ícone levemente menor para alinhar à fonte */
.view-tabs .settings-tab .bi{
  font-size:.95em;
}

@media (max-width:575.98px){
  .tabs-wrap{overflow:hidden;height:40px;transition:height .25s;}
  .tabs-wrap.open{height:auto;}

  .view-tabs .nav-link{display:none;}
  .view-tabs .nav-link.active{display:inline-flex;}
  .tabs-wrap.open .view-tabs .nav-link{display:inline-flex;}

  .tabs-toggle{
    background:var(--color_brand_primary);color:var(--color_text_inverse);
    width:36px;height:36px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
  }
  .tabs-toggle i{font-size:1.25rem;line-height:1;}
  
  .view-tabs .settings-tab .nav-link{
    display:none!important;            /* mesmo se estiver “active”      */
  }

  .tabs-wrap.open .view-tabs .settings-tab .nav-link{
    display:inline-flex!important;
  }

  .view-tabs .settings-tab{
    margin-left:0!important;
  }  

  .tabs-wrap.open .tabs-toggle{
    display:none !important;   /* some por completo */
  }  
}

@media (min-width:576px){
  .tabs-toggle{display:none!important;}
}

/* search-box & advanced ----------------------------------------- */
.search-box{
  border:1px solid var(--color_border_default);border-radius:.65rem;
  background:var(--color_surface_card_bg);box-shadow:var(--card-shadow);
  overflow:hidden;transition:border .2s,box-shadow .2s;
}
.search-box:focus-within{
  border-color:var(--color_brand_primary);
  box-shadow:0 0 0 .15rem rgba(81,94,115,.22);
}
.search-box .form-control{font-size:.95rem;}
.search-box .form-control::placeholder{color:var(--color_text_placeholder);}

.icon-btn{display:flex;align-items:center;justify-content:center;
          min-width:52px;border:0;}
/*.filter-btn{background:var(--color_surface_card_bg);color:var(--color_text_muted);}
.filter-btn:hover{background:var(--color_surface_meta_bg);}*/

.filter-btn{
  position: relative;
}

.search-btn{background:var(--color_brand_primary);color:var(--color_text_inverse);transition:background .15s;}
.search-btn:hover{background:color-mix(in srgb,var(--color_brand_primary) 100%, #000 15%);}

.filter-collapse{

  border:var(--card-border);
  border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);

  background:var(--color_surface_card_bg);border:1px solid var(--color_border_default);border-radius:.65rem;
  padding:1.25rem 1rem 1.6rem;
}

.search-area .tabs-wrap,
.search-area .search-box,
.search-area .filter-collapse{box-sizing:border-box;}

.search-area .tabs-wrap{
  margin-top:.75rem;
}

.filter-group        { display: none; }
.filter-group.show   { display: block; }
.filter-group select[multiple]{
  overflow-y:auto;      /* garante barra de rolagem */
}

#advForm.show-all .filter-group { display: block; }

#advForm:not(.has-filters){
  max-width: none;
  width: fit-content;          /* Chrome / Edge / Safari   */
  width: -moz-fit-content;     /* Firefox                 */
  margin-inline: auto;
}

.advanced-search {
  transition: height .25s ease;
}

.advanced-search form {
  border:var(--card-border);
  border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);  
}

.advanced-search select[multiple] { min-height: 8.6rem; }

.advanced-search .text-end .btn {
  padding-inline: 0.9rem;
}

#showAllFilters {
	border: none;
    margin-left: 2em;
}
.select-all { white-space: nowrap; }

.field-header .btn {
  padding-inline: .9rem;
}

.filter-btn.active-filters{
  background:#f5f7fb;                  /* fundo clarinho */
  border:1px solid var(--ui-accent);   /* contorno */
  color:var(--ui-accent);              /* cor do ícone */
  position:relative;
  border-radius: .65rem;
}

/* usa o “funnel-fill” (Unicode U+F3E0 → \F3E0) */
.filter-btn.active-filters i{
  font-family:'bootstrap-icons';       /* garante a fonte */
}
.filter-btn.active-filters i::before{
  content:"\F3E0";                     /* bi-funnel-fill */
}

/* bolinha de status um pouco maior */
.filter-btn.active-filters .badge-counter{
  top:.3rem; right:.35rem;
  width:.65rem; height:.65rem;         /* antes era .45rem */
  border-radius:50%;
  background:var(--color_highlight_keyword);
}

.badge-counterz{

    --badge-size: 1.1rem;
    position: absolute;
    top: .15rem;
    right: .15rem;
    width: var(--badge-size);
    height: var(--badge-size);
    display: none;
    place-items: center;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1;
    color: var(--color_text_heading);
    background: var(--color_surface_card_bg);
    border: 1px solid var(--color_text_heading);
    border-radius: 50%;

  box-shadow: 0 0 0 2px var(--color_surface_page_bg); /* "halo" */
}



.search-area.filters-applied .search-box{
  box-shadow:0 0 0 .16rem rgba(81,94,115,.25);
}

#advForm .btn-success{ 
  --bs-btn-bg:var(--ui-accent);
  --bs-btn-border-color:var(--ui-accent);
  --bs-btn-hover-bg:var(--ui-accent-light);
  --bs-btn-hover-border-color:var(--ui-accent-light);
  --bs-btn-active-bg:color-mix(in srgb,var(--ui-accent) 100%,#000 15%);
  --bs-btn-active-border-color:color-mix(in srgb,var(--ui-accent) 100%,#000 15%);
}

/* results info ----------------------------------------- */
.results-info{
  width:100%;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:.35rem .75rem;
}

/* cards ----------------------------------------- */

.card-banner{
  position:relative;
  overflow:visible; 
  margin-bottom:1.25rem;
  border:var(--card-border);
  border-radius:var(--card-radius);
  box-shadow:var(--card-shadow);
  background:var(--color_surface_card_bg);       
}

.card-banner.recommended{overflow:visible;margin-top: 36px;}
.card-banner.recommended .recommended-tag{
  position:absolute;
  top:-25px;
  left:20px;
  background:var(--color_status_recommended_bg);
  color:var(--color_text_inverse);
  font-size:.75rem;
  font-weight:600;
  padding:.22rem .9rem;
  border-radius:.45rem .45rem 0 0;
}
.card-banner.recommended .content-wrap{
  border-radius:var(--card-radius);
  overflow:hidden;
}
.card-banner.recommended .metaPane{
  border-top-right-radius:var(--card-radius);
  border-bottom-right-radius:var(--card-radius);
}
.card-banner .content-wrap{
  border-radius:var(--card-radius);/* herda o mesmo raio           */
  overflow:hidden;
}
.recommended-tag{
  position:absolute;
  top:-12px;
  left:20px;
  background:var(--color_status_recommended_bg);
  color:var(--color_text_inverse);
  font-size:.75rem;
  font-weight:600;
  padding:.22rem .9rem;
  border-radius:.45rem .45rem 0 0;
  display:inline-block;
  z-index:5;
}
.banner{background:var(--color_brand_primary);color:var(--color_text_inverse);padding:.6rem 1rem;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom: 1.3rem; }
.meta-location{font-size:.75rem;letter-spacing:.25px;opacity:.92;flex:1 1 auto;text-transform:uppercase;font-weight:600;}

.banner-actions{display:flex;gap: .6rem;margin-right: 1.5rem;}
.btn-icon-head{background:none;border:0;color:var(--color_text_inverse);font-size:1.05rem;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;}
.btn-icon-head:hover{background:rgba(255,255,255,.18);}    

.content-wrap{display:flex;flex-wrap:wrap;background:var(--color_surface_card_bg);}
.info{flex:1 1 60%;padding:1.3rem 1.7rem;}

.metaPane{flex:0 0 290px;border-left:1px solid var(--color_border_default);padding:0 0 1.3rem 0;/*margin-left: 1rem;*/ background:var(--color_surface_meta_bg);position:relative;padding-bottom: .75rem; }

.metaPane p{font-size:.77rem;margin-bottom:.4rem;color:var(--color_text_body);padding: 0 1rem;}
.metaPane p span{font-weight:600;color:var(--color_text_heading);}

.metaPane.is-clamped{
  overflow:hidden;
  position:relative;
  transition:height .25s ease;
}

.metaPane.is-clamped::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:4rem;
  pointer-events:none;
  backdrop-filter:blur(6px);
  background:linear-gradient(to bottom,
              rgba(250,251,252,0)  0%,
              rgba(250,251,252,.6) 50%,
              rgba(250,251,252,1)100%);
}

.show-metaBtn{
  position:absolute;
  bottom:.75rem;
  left:50%; transform:translateX(-50%);
  z-index:5;
  font-size:.78rem;
  padding:.35rem .9rem;
}
.metaPane.meta--clamped{
  overflow:hidden;
}

.metaPane.meta--clamped::after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:4.5rem;
  background:linear-gradient(to bottom,
              transparent 10%, rgba(255,255,255,.9) 90%);
  pointer-events:none;
}

.meta--clamped .meta__fade{
  position:absolute;
  inset:auto 0 0 0;
  height:2.5rem;
  pointer-events:none;
  backdrop-filter: blur(6px);
  background:linear-gradient(to bottom,
              transparent 20%,
              rgba(255,255,255,.9) 90%);
}

.meta__more{
  position:absolute;
  bottom:1rem;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
}

.metaPane.removing     {opacity:0; transition:opacity .3s}
.metaPane.meta--clamped{overflow:hidden; position:relative}

.agency{font-weight:600;font-size:1.05rem;color:var(--color_brand_primary);margin-bottom:.4rem;}
.contact{font-size:.82rem;margin-bottom:.6rem;color:#6c757d;}
.object-text{font-size:.97rem;font-weight:600;line-height:1.42;margin-bottom:1.15rem;margin-top:1.15rem;}
.object-text mark{background:var(--color_highlight_keyword);padding:.05rem .25rem;border-radius:3px;}

.ia-text{font-size:.9rem;font-weight:500;color:var(--color_dark_bg);margin-bottom:1.15rem;margin-top:.25rem;}
.ia-text i{color:var(--color_dark_bg);margin-right:.25rem;}

.ia-text2{font-size:.9rem;font-weight:500;color:var(--color_dark_bg);margin-bottom:-1rem;margin-top:1.25rem;}
.ia-text2 i{color:var(--color_dark_bg);margin-right:.25rem;}

.remark-text{font-size:.9rem;font-weight:500;color:var(--color_dark_bg);margin-bottom:1.15rem;margin-top:.25rem;font-style: italic;}

.notes-box{margin-top:1rem;padding-top:1rem;margin-bottom:1rem;padding-bottom:1rem;}
.note-item{font-size:.8rem;color:var(--color_text_notes);margin-bottom:.35rem;}
.note-item span{font-weight:600;}

.card-actions .btn{font-size:.78rem;border-radius:.3rem;padding:.4rem .95rem;line-height:1.15;}
.btn-main{
  background:var(--color_surface_button);
  border:0;
  color:var(--color_text_inverse);
  transition:background .2s;
}
.btn-main:hover{background:var(--color_text_notes);color:var(--color_text_inverse);}
.btn-outline-secondary{border-color:var(--color_border_soft);color:var(--color_text_notes);}

.lot-list{border-top:1px solid var(--color_border_default);margin-top:1rem;padding-top:1rem;}
.lot-item{font-size:.82rem;margin-bottom:.35rem;}

@keyframes lotFadeIn{
  from{opacity:0;transform:translateY(-4px);}
  to  {opacity:1;transform:translateY(0);}
}

@keyframes lotFadeOut{
  from{opacity:1;transform:translateY(0);}
  to  {opacity:0;transform:translateY(-4px);}
}

.lot-collapse.show{
  display:block;
  animation:lotFadeIn 1.5s ease forwards;
}

.lot-collapse:not(.show){
  animation:lotFadeOut 1.5s ease forwards;
}

.card-banner.favorited{
  border-left:none;
  box-shadow:none;
  transition:border-left .25s ease;
}
.card-banner.favorited::before{
  content:'';
  position:absolute;
  inset:0 0 0 0;
  width:4px;
  background:var(--color_status_favorite_star);
  border-radius:8px 0 0 8px;
}
.btn-favorite.favorited i{
  color:var(--color_status_favorite_star);
}
.btn-favorite.waiting{
  pointer-events:none;
  position:relative;
  opacity:.55;
}

.btn-favorite.waiting i{
  visibility:hidden;
}

/* spinner sobre a estrela */
.btn-favorite.waiting::after{
  content:"";
  position:absolute;
  inset:0;               /* centralizado */
  margin:auto;
  width:1.15em;
  height:1.15em;
  border:2px solid currentColor;
  border-top-color:transparent;
  border-radius:50%;
  animation:spin .65s linear infinite;
}

.btn-delete.waiting,
.btn-restore.waiting{
  pointer-events:none;          /* bloqueia novos cliques           */
  position:relative;
  opacity:.55;                  /* aspecto desabilitado             */
}

.btn-delete.waiting i,
.btn-restore.waiting i{         /* oculta ícone de lixeira / recycle*/
  visibility:hidden;
}

.btn-delete.waiting::after,
.btn-restore.waiting::after{    /* spinner sobre o botão            */
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:1.15em;
  height:1.15em;
  border:2px solid currentColor;
  border-top-color:transparent;
  border-radius:50%;
  animation:spin .65s linear infinite;
}

@keyframes spin{100%{transform:rotate(360deg);}}

@keyframes fadeOutCard{
  to{opacity:0; transform:scale(.96);}
}
.card-banner.removing{
  animation:fadeOutCard .28s ease forwards;
}

.dropdown-menu .dropdown-item{
  font-size:.78rem;
  font-weight:500;
  color:var(--color_text_notes);
  padding:.35rem 1rem;
  display:flex;
  align-items:center;
  gap:.45rem;
}
.dropdown-menu .dropdown-item:hover{
  background:var(--color_surface_meta_bg);
  color:var(--color_extra_dark_bg);
}

.dropdown-menu .dropdown-item.disabled{
  background : var(--color_surface_card_bg); /* mantém fundo neutro   */
  color      : color-mix(in srgb,
                         var(--color_text_muted) 60%,
                         var(--color_surface_card_bg) 40%);
  opacity    : .55;                          /* aspecto “lavado”      */
  pointer-events:none;                       /* proteção extra        */
}

.offcanvas-end{
  width:480px;
  max-width:100%;
  box-shadow:-6px 0 18px rgba(0,0,0,.18);
  border-left:3px solid var(--color_brand_primary);
}
.offcanvas-header{
  background:linear-gradient(135deg,var(--color_brand_primary_dark) 0%,var(--color_brand_accent_gradient) 100%);
  color:var(--color_text_inverse);
  padding:.9rem 1.25rem;
}
.offcanvas-title{
  font-size:1rem;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.offcanvas-body{
  padding:1.5rem 1.25rem;
  background:var(--color_surface_card_bg);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.ai-msg-user{background:var(--color_surface_ai_msg_usr);border-radius:12px 12px 0 12px;padding:.4rem .6rem;margin:.25rem 0;}
.ai-msg-bot {background:var(--color_surface_meta_bg);border-radius:12px 12px 12px 0;padding:.4rem .6rem;margin:.25rem 0;}

.ai-summary{
  border-left:3px solid var(--color_surface_button);
  font-size:.83rem;
  color:var(--color_text_notes);
}
#aiUsageLabel{
  color:var(--color_highlight_keyword);
  font-weight:600;
  font-size:.74rem;
  background:rgba(0,0,0,.25);
  padding:2px 6px;
  border-radius:4px;
}


@media (max-width:991px){
  .content-wrap{flex-direction:column;}
  .metaPane{
	border-left:0;
	padding: 0 0 1.4rem 0;
	margin-left:0;
  }
  .metaPane > .banner{
	  background:var(--color_surface_card_bg);
	  color:var(--color_brand_primary);
	  width:100%;
	  border-bottom:1px solid var(--color_border_default);
	  padding:.8rem 0;
	  flex-direction:row;
	  justify-content:center;
	  align-items:center;
	  gap:.6rem;
	}

	.metaPane > .banner .banner-actions{
	  justify-content:center;
	  width:100%;
	  gap:.7rem;
	}

	.metaPane .btn-icon-head{
	  width:46px;
	  height:46px;
	  font-size:1.35rem;
	  color:var(--color_brand_primary);
	}      
  .banner{flex-direction:column;align-items:flex-start;gap:.3rem;}
  .banner-actions{align-self:flex-end;}

  .dropdown-menu .dropdown-item{
	  padding:.65rem 1.25rem;
	  font-size:.9rem;
	}
	
  .card-banner.favorited .metaPane{
    position:relative; 
  }
  .card-banner.favorited .metaPane::before{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:0;                           /* cola na lateral esquerda        */
    width:4px;                        /* mesma largura do stripe global  */
    background:var(--color_status_favorite_star);
    border-radius:0 0 0 0;            /* sem arredondamento extra        */
    pointer-events:none;              /* não interfere em cliques        */
    z-index:1;                        /* acima do fundo, abaixo do texto */
  }
}

@media (max-width: 991.98px){ 

  .card-banner .content-wrap{flex-direction:column;}

  .card-banner .info     {flex:1 1 100%;}

  .card-banner .metaPane{
    flex      :1 1 100%;
    border-left:0;               /* remove linha vertical           */
    margin-left:0;
    padding   :0 0 1.4rem 0;     /* mesmo respiro do mobile         */
    max-height:none !important;  /* desliga o corte              */
    overflow  :visible !important;
  }

  .metaPane.meta--clamped::after,
  .metaPane .meta__more   {display:none !important;}
}

/* load more ----------------------------------------- */
#loadMoreBtn{
  font-weight:600;
  border-width:2px;
  padding:.55rem 1.8rem;
  transition:transform .15s,box-shadow .15s;
}
#loadMoreBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 .45rem 1rem -.35rem rgba(0,0,0,.15);
}
#loadMoreBtn:disabled{
  opacity:.55;
  pointer-events:none;
}

/* -------------   Ajustes para ≥768 px   ------------- */
@media (min-width: 992px) {

  /* Pai dos dois blocos */
  .content-wrap{
    flex-wrap: nowrap;   /* mantém tudo na mesma linha        */
    gap: 1rem;           /* cria o espaço antes ocupado pela margin */
  }

  /* Painel lateral */
  .metaPane{
    margin-left: 0;      /* remove a “borda branca”            */
    flex: 0 0 290px;     /* largura fixa, sem crescer/encolher */
    max-width: 290px;    /* ceinture et bretelles              */
    box-sizing: border-box;
  }
}

/* ---------- WebKit fallback p/ versões muito antigas ---------- */
@media not all and (min-resolution: .001dpcm) and (-webkit-min-device-pixel-ratio:0){
  .content-wrap{flex-wrap: nowrap;}
}



.site-footer{
  background: var(--color_dark_bg);       /* cinza-ardósia escuro */
  border-top-color: var(--color_dark_border);
  color: var(--color_dark_text);          /* texto cinza-claro    */
}

.site-footer a{
  color: var(--color_text_inverse);       /* links brancos        */
  text-decoration: underline;
}
