.elementor-7418 .elementor-element.elementor-element-17a0abe{--display:flex;--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-7418 .elementor-element.elementor-element-17a0abe:not(.elementor-motion-effects-element-type-background), .elementor-7418 .elementor-element.elementor-element-17a0abe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-7418 .elementor-element.elementor-element-b71b819 .elementor-heading-title{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-7418 .elementor-element.elementor-element-d5dda1f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-7418 .elementor-element.elementor-element-2c596ce{--display:flex;}.elementor-7418 .elementor-element.elementor-element-c06b9c2{--grid-columns:2;}.elementor-7418 .elementor-element.elementor-element-c06b9c2 .elementor-pagination{text-align:center;}body:not(.rtl) .elementor-7418 .elementor-element.elementor-element-c06b9c2 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-7418 .elementor-element.elementor-element-c06b9c2 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-7418 .elementor-element.elementor-element-c06b9c2 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-7418 .elementor-element.elementor-element-c06b9c2 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-7418 .elementor-element.elementor-element-c06b9c2{--grid-columns:2;}}@media(max-width:767px){.elementor-7418 .elementor-element.elementor-element-c06b9c2{--grid-columns:1;}}/* Start custom CSS for loop-grid, class: .elementor-element-c06b9c2 *//* GALERIA - Cards com overlay */
.elementor-widget-loop-grid .wc-card{
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  transition: transform .25s ease, box-shadow .25s ease;
}
.elementor-widget-loop-grid .wc-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
}
.elementor-widget-loop-grid .wc-card img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

/* Overlay na parte inferior */
.elementor-widget-loop-grid .wc-card .wc-overlay{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 20px;
  opacity: 0;
  transition: opacity .3s ease;
  background: linear-gradient(to top,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.5) 50%,
    transparent 100%
  );
  pointer-events: none;
  min-height: 120px;
}
.elementor-widget-loop-grid .wc-card:hover .wc-overlay{
  opacity: 1;
}

/* Título */
.elementor-widget-loop-grid .wc-overlay .wc-title{
  margin: 0 0 8px 0 !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 1.1rem !important;
  line-height: 1.3 !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}

/* Preço */
.elementor-widget-loop-grid .wc-overlay .wc-price{
  margin: 0 0 12px 0 !important;
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  opacity: .95;
  text-shadow: 0 1px 3px rgba(0,0,0,.5);
}

/* Botão */
.elementor-widget-loop-grid .wc-overlay .wc-btn{
  pointer-events: auto;
  display: inline-block !important;
  background: #ff6b35 !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  font-weight: 700 !important;
  font-size: .9rem !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.3);
  transition: all .2s ease;
  border: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.elementor-widget-loop-grid .wc-overlay .wc-btn:hover{
  background: #e55a2b !important;
  transform: translateY(-2px);
  box-shadow: 0 5px 16px rgba(0,0,0,.4);
}

/* Mobile responsivo */
@media (max-width: 767px){
  .elementor-widget-loop-grid .wc-card img{ 
    aspect-ratio: 1 / 1; 
  }
  .elementor-widget-loop-grid .wc-card .wc-overlay{ 
    padding: 16px; 
    min-height: 100px;
  }
  .elementor-widget-loop-grid .wc-overlay .wc-title{
    font-size: 1rem !important;
  }
  .elementor-widget-loop-grid .wc-overlay .wc-btn{
    padding: 10px 16px !important;
    font-size: .85rem !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2c596ce *//* Card */
.elementor-widget-loop-grid .wc-card{
  position: relative;
  overflow: hidden;
}

/* Overlay deve cobrir o card inteiro e ficar acima da imagem */
.elementor-widget-loop-grid .wc-card .wc-overlay{
  position: absolute !important;
  inset: 0 !important;           /* top/right/bottom/left = 0 */
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;

  background: linear-gradient(to top,
    rgba(0,0,0,.85) 0%,
    rgba(0,0,0,.45) 45%,
    rgba(0,0,0,0) 75%
  );
}

/* hover */
.elementor-widget-loop-grid .wc-card:hover .wc-overlay{
  opacity: 1;
}

/* libera clique no botão */
.elementor-widget-loop-grid .wc-overlay .wc-btn,
.elementor-widget-loop-grid .wc-overlay .wc-btn a{
  pointer-events: auto;
}

/* botão do Elementor (seu wc-btn está no widget, mas o link é .elementor-button) */
.elementor-widget-loop-grid .wc-overlay .wc-btn .elementor-button{
  background: #ff6b35 !important;
  color: #fff !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
}/* End custom CSS */