/* Start custom CSS *//* ==========================================================================
   SEÇÃO: Obras · Filtro e grade  (classes obr__*)
   ========================================================================== */

/* --- Filtros (tags) --- */
.elementor .obr__tag{cursor:pointer;transition:background-color .2s,border-color .2s}
.elementor .obr__tag:not(.obr__tag--ativa):hover{border-color:var(--border-strong,#231F20)}
.elementor .obr__tag--ativa .obr__tag-rotulo{color:var(--text-on-action,#fff)}
.elementor .obr__tag:focus-visible,
.elementor .obr__mais:focus-visible{outline:2px solid var(--focus-ring,#AE1917);outline-offset:2px}

/* --- Card de obra --- */
.elementor .obr__card{cursor:pointer;text-decoration:none;color:inherit}
.elementor .obr__foto-img{transition:transform .5s ease}
.elementor .obr__card:hover .obr__foto-img{transform:scale(1.04)}
.elementor .obr__barra{transition:width .4s ease}
.elementor .obr__card:hover .obr__barra{width:100%}
.elementor .obr__seta{transition:color .3s}
.elementor .obr__seta svg path[stroke]:not([stroke="none"]){stroke:currentColor}
.elementor .obr__card:hover .obr__seta{color:var(--action-primary,#AE1917)}
.elementor .obr__pin path{stroke:currentColor;stroke-width:2.6667}

/* --- Grade: troca com fade, itens ocultos e estado vazio --- */
.elementor .obr__grade{transition:opacity .22s ease}
.elementor .obr__grade.obr__grade--fade{opacity:0}
.elementor .obr__grade>[hidden],
.elementor .obr__mais-wrap[hidden]{display:none}
.elementor .obr__vazio--visivel{display:block}

/* --- Botão "Carregar mais obras" --- */
.elementor .obr__mais{cursor:pointer}
.elementor .obr__mais-ico path{stroke:currentColor;stroke-width:1.6}
@media (prefers-reduced-motion:reduce){
  .elementor .obr__grade,.elementor .obr__foto-img,.elementor .obr__barra{transition:none}
}/* End custom CSS */