/* ---- GLOBAL --- */

/* .underline::after{
  color: inherit;
  position: absolute;
  bottom: 5px;
  left: 0;
  width:100%;
  height: 2px;
  background-color: inherit;
  content: " ";
} */

.underline:hover a, .underline:hover h2, .underline:hover h5, footer a:hover  {
  text-decoration: underline;
}

/* .underline a, .underline h2, .underline h5, footer a  {
  text-decoration: underline;
} */

.aert-copyright {
  font-family: "Oswald";
  font-weight: 400;
  color: #000;
  font-size: 24px;
  line-height: 28px;  
}

.p1.site-header {
 font-size: 20px;
 line-height: 20px;
 font-family: "Roboto";
 font-weight: 900;
 color: #0D4793;
 min-width: 125px;
}

#masthead .ast-container, .site-header-focus-item + .ast-breadcrumbs-wrapper {
  padding-left: 20px;
  padding-right: 20px;
}

body p, body h1, body h2, body h3, body span {
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
}

.swiper-slide {
	max-width: 1380px;
	margin: 0 auto;
}

#slider1, #slider2, #slider3, #slider4, #slider5 {
  max-width: 1380px;
  margin: 20px auto;
  overflow: hidden;
}

body a.elementor-button, body button.elementor-button {
  font-family: "Oswald";
  border-color: #19a78e;
  background-color: #19a78e;
  color: #fff;
  font-weight: 700;
}

body a.elementor-button:hover, body button.elementor-button:hover {
  font-family: "Oswald";
  border-color: #000;
  background-color: #000;

}

h3, .entry-content h3 {
  text-transform: capitalize;
  margin-bottom: 0;
}

#wpadminbar #wp-admin-bar-woocommerce-site-visibility-badge,
#wpadminbar #wp-admin-bar-customize,#wpadminbar #wp-admin-bar-updates, #wpadminbar #wp-admin-bar-comments, #wpadminbar #wp-admin-bar-new-content, #wpadminbar #wp-admin-bar-elementor_notes, #wpadminbar #wp-admin-bar-wpforms-menu {
  display: none;
}


body .elementor-field-group .elementor-field-textual {
  border: none;
}

/* ---- HEADER ---- */
/* 
body #masthead .ast-container {
  padding-left: 25px;
  padding-right: 25px;
} */

body .site-header-section > * {
  padding: 0 5px;
}

body .ast-site-header-cart.ast-menu-cart-outline .ast-addon-cart-wrap{
  padding: 0;
}
 body .ast-site-header-cart {
  transform: translate(-6px,3px);
  padding: 0;
}

body .ast-hfb-header .ast-addon-cart-wrap {
  padding-left: 0;
  padding-right: 0;
}

body .ast-site-header-cart i.astra-icon {
  padding: 0;
}

body .ast-icon.icon-search svg {
  margin-top: 6px;
  width: 18px;
  height: 19px;
}

.ast-header-blog-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url("assets/blog-icon.png");
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  vertical-align: middle;
}

div.ast-header-html-3 {
  padding-right: 0;
}

.ast-header-account {
  padding: 0 14px !important;
}

.ast-desktop .ast-menu-hover-style-zoom > .menu-item > .menu-link:hover, .ast-desktop .ast-menu-hover-style-zoom > .menu-item > .menu-link:hover span {
  color: #19a78e;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link span,
.ast-builder-menu-1 .menu-item > .menu-link span {
  color: #0F172A;
  position: relative;
  display: inline-block;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link span::after, .menu-item:hover > .menu-link span::after {
  background-color: #0F172A;
  position: absolute;
  top: calc(50% + 10px);
  left: 0;
  width: 100%;
  height: 2px;
  color: #0F172A;
  content: " ";
  z-index: 1;
}

.ast-desktop .ast-menu-hover-style-zoom > .menu-item > .menu-link:hover span::after {
  background-color: #19a78e;
}

/* --- MIGALHAS ---- */
 .woocommerce-breadcrumb .breadcrumb-item {
   color: #0F172A;
   position: relative;
   display: inline-block;
 }

 .woocommerce-breadcrumb .breadcrumb-item a:hover { 
   /* color: #19a78e; */
 }
 
 .woocommerce-breadcrumb .breadcrumb-item:last-of-type::after,
 .woocommerce-breadcrumb .breadcrumb-item:hover::after {
   background-color: #0F172A;
   position: absolute;
   top: calc(50% + 8px);
   left: 0;
   width: 100%;
   height: 2px;
   color: #0F172A;
   content: " ";
   z-index: 1;
 }
 


/* ---- FOOTER --- */

.site-footer-below-section-1 .ast-footer-html-1 {
  width: auto;
  height: 30px;
  background-image: url("assets/logos_2020.svg");
  background-size: contain;
  background-repeat: no-repeat;
}

footer a {
  color: #0F172A;
}

footer a {
  color: #0F172A;
}

footer a:hover {
  color: #19a78e;;
}

/* ---- BLOCOS ---- */

.transparent-btn a.elementor-button {
  padding-left: 15px;
  padding-right: 15px;
}

/* Container geral */
.produto-bloco {
  position: relative;
  cursor: pointer;
}

/* Overlay verde translúcido */
.produto-bloco::after {
  content: "";
  position: absolute;
  top: 0; 
  left: 0; 
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in;
  z-index: 2;
  border-radius: 4px;
}

#prodGrafica.produto-bloco::after { 
  background-color: rgba(251,186,0,0.6);
}

#prodFabricacao.produto-bloco::after { 
  background-color: rgba(25,167,142,0.6);
}

#prodProducao.produto-bloco::after { 
  background-color: rgba(229,35,48,0.6);
}

#prodProjeto.produto-bloco::after { 
  background-color: rgba(162,51,138,0.6);
}

/* Texto escondido por baixo */
.produto-bloco .texto-hover {
  z-index: 5;
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

.produto-bloco:hover .texto-hover {
  opacity: 1;
}

.produto-bloco:hover::after {
  opacity: 1;
}

#partnerGallery img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

#partnerGallery .gallery-icon:hover img {
  filter: grayscale(0);
}

.product-category:hover .woocommerce-loop-category__title mark.count {
  color: #379237;
}


body .woocommerce-js h2 {
  margin-bottom: 10px;
}

.gray-img, .gray-img img, .uael-grid-gallery-img img  {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.gray-img:hover, .uael-grid-gallery-img:hover img  {
  filter: grayscale(0);
}

.grey-area {
  z-index: 10 !important;
  position: relative;
}

.grey-area::after {
  position: absolute;
  top: 0;
  left: -50vw;
  width: 200vw;
  height: 100%;
  background-color: rgba(240, 243, 242, 1);
  z-index: -1;
  content: " ";
}

.woocommerce-js ul.products li.product .woocommerce-loop-category__title, .woocommerce-page ul.products li.product .woocommerce-loop-category__title {
  text-transform: none;
}

.woocommerce-js ul.products li.product .woocommerce-loop-category__title .count, .woocommerce-page ul.products li.product .woocommerce-loop-category__title .count {
  text-transform: uppercase;
}


/* ---- SINGLE PRODUCT BOX ----- */

.ast-article-single .ast-on-card-button.add_to_cart_button, .ast-product-single-variable .ast-on-card-button.add_to_cart_button {
  display: none;
}

.ast-article-single .ast-quick-view-trigger, .ast-product-single-variable  .ast-quick-view-trigger {
  top: 1em;
}

span.ast-on-card-button {
  opacity: 1;
  visibility: visible;
}

.ast-article-single .custom-featured-icon, .ast-product-single-variable .custom-featured-icon {
  display: block !important; 
  opacity: 1 !important; 
  visibility: visible;
  position: absolute;
  top: 1em; 
  left: 1em; 
  text-align: center; 
  background-color: rgb(25,167,142);
  border: 1px solid rgb(25,167,142);
  border-radius: 50%; 
  color: #fff; 
  z-index: 10;
  cursor: default; 
  width: 2em;
  height: 2em;
  justify-content: center;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
}

.ast-article-single .custom-featured-icon span, .ast-product-single-variable .custom-featured-icon.custom-featured-icon span { 
  font-size: 12px;
  line-height: 2.3em;
}

.ast-article-single .variations_form, .ast-product-single-variable .variations_form {
  /* display: none; */
}


.ast-article-single, .ast-product-single-variable {
    position: relative;
}

.ast-article-single .astra-shop-summary-wrap, .ast-product-single-variable .astra-shop-summary-wrap  {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  background-color: #ffffff;
  padding: 20px !important;
  width: calc(100% - 40px);
  margin-left: 20px;
  text-align: left;
  z-index: 5;
  box-shadow: none; 
  max-height: calc(100% - 40px - 30px - 1em);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* .ast-article-single > .astra-shop-summary-wrap .ast-woo-shop-product-description p:not(:first-child), .ast-product-single-variable > .astra-shop-summary-wrap .ast-woo-shop-product-description p:not(:first-child) {
    display: none;
}

.ast-article-single:hover > .astra-shop-summary-wrap .ast-woo-shop-product-description p:not(:first-child), .ast-product-single-variable:hover > .astra-shop-summary-wrap .ast-woo-shop-product-description p:not(:first-child) {
    display: block;
} */

.ast-article-single > .astra-shop-summary-wrap .ast-woo-shop-product-description, .ast-product-single-variable > .astra-shop-summary-wrap .ast-woo-shop-product-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  max-height: calc(1.5em * 3);
  transition: max-height .3s ease, -webkit-line-clamp .3s ease;
  line-height: 18px;
  font-weight: 400;
  color: #000;
  margin-bottom: 10px;
}

body .woocommerce ul.products li.product .price, body .woocommerce ul.products li.product a.sob-consulta-link,  a.sob-consulta-link, .astra-shop-summary-wrap .price  {
  font-size: 18px !important;
  line-height: 22px !important;
  color:#19a78e !important;
  margin-bottom: 0 !important;
  text-decoration: underline;
  font-weight: 700;
}


body .woocommerce ul.products li.product.cat-product-image.cat-parent-3d-holografico .price, 
body .woocommerce ul.products li.product.cat-product-image.cat-parent-3d-holografico a.sob-consulta-link,  
.cat-product-image.cat-parent-3d-holografico a.sob-consulta-link, 
.cat-product-image.cat-parent-3d-holografico .astra-shop-summary-wrap .price  { 
  color: #a2338a !important;
}


body .woocommerce ul.products li.product.cat-product-image.cat-parent-fabricacao-3d-aditiva .price, 
body .woocommerce ul.products li.product.cat-product-image.cat-parent-fabricacao-3d-aditiva a.sob-consulta-link,  
.cat-product-image.cat-parent-fabricacao-3d-aditiva a.sob-consulta-link, 
.cat-product-image.cat-parent-fabricacao-3d-aditiva .astra-shop-summary-wrap .price  {
  color: #00a98f !important;
}
  
body .woocommerce ul.products li.product.cat-product-image.cat-parent-graficas .price, 
body .woocommerce ul.products li.product.cat-product-image.cat-parent-graficas a.sob-consulta-link,  
.cat-product-image.cat-parent-graficas a.sob-consulta-link, 
.cat-product-image.cat-parent-graficas .astra-shop-summary-wrap .price  {
  color: #fbba00 !important;
}
  
body .woocommerce ul.products li.product.cat-product-image.cat-parent-producao-3d
 .price, 
body .woocommerce ul.products li.product.cat-product-image.cat-parent-producao-3d
 a.sob-consulta-link,  
.cat-product-image.cat-parent-producao-3d
 a.sob-consulta-link, 
.cat-product-image.cat-parent-producao-3d
 .astra-shop-summary-wrap .price  {
   color: #e52330 !important;
 }
  
body .woocommerce ul.products li.product a.sob-consulta-link  { 
  text-decoration: underline;
  font-weight: 700;
}

body .woocommerce ul.products li.product a.sob-consulta-link:hover {
  color:#19A78E;
}

body .woocommerce ul.products li.product .variations_form {
  display: none !important;
}

.ast-article-single:hover > .astra-shop-summary-wrap .ast-woo-shop-product-description, .ast-product-single-variable:hover > .astra-shop-summary-wrap .ast-woo-shop-product-description{ 
  /* -webkit-line-clamp: unset;
  max-height: none; */
}

h2.woocommerce-loop-product__title {
  font-weight: 700 !important;
}

.ast-article-single {
  position: relative;
}

.astra-shop-thumbnail-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.ast-article-single {
    position: relative;
}

.astra-shop-thumbnail-wrap img {
    width: 100%;
    height: auto;
    opacity: 0;
    max-height: 300px;
}


.astra-shop-summary-wrap {
    background-color: #ffffff;
    padding: 10px !important;
    text-align: left;
    box-shadow: 0 -2px 4px rgba(0,0,0,0.1);
}

.ast-product-single-variable[data-consulta="true"] .price,
.ast-product-single-variable[data-consulta="true"] .add_to_cart_button,
.ast-product-single[data-consulta="true"] .price, 
.ast-article-single[data-consulta="true"] .add_to_cart_button {
  display: none !important;
}

.single-product .valor-sob-consulta ~ .price,
.ast-sticky-add-to-cart .ast-sticky-add-to-cart-action-price {
  display: none !important;
}

body.woocommerce-js h2 {
  margin-bottom: 0px;
}

li.ast-article-single, li.ast-product-single-variable, .woocommerce ul.products li.product.desktop-align-center, .woocommerce-page ul.products li.product.desktop-align-center {
  aspect-ratio: 4 / 5.5;
  height: auto;
  background-color: rgb(221,224,223);
  background-repeat: no-repeat;
}

.ast-quick-view-bg, .ast-quick-view-modal, .ast-quick-view-modal {
  display: none !important;
}

/* ---- SUB CATEGORIAS ----- */

.product-category.product {
  border-radius: 4px;
  overflow: hidden;
}

.product-category.product img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
  aspect-ratio: 1/1;
}

.product-category.product :hover img {
  filter: grayscale(0);
}

.group-by-tag {
  margin-top: 60px;
}

.group-by-tag:first-of-type {
  margin-top: 0px;
}

.group-tag-title {
  line-height: 1.3em;
  font-size: 3rem;
  font-weight: 400;
  font-family: 'Oswald',sans-serif;
  margin-bottom: 10px;
}

.group-tag-description {
  line-height: 24px;
  font-size: 18px;
  font-weight: 400;
  font-family: 'Roboto',sans-serif;  
  margin-bottom: 40px;
  width: 33.33%;
}


li.cat-product-image {
  aspect-ratio: 1/1 !important;
  background-image: none !important;
  aspect-ratio: none !important;
}

li.cat-product-image .custom-featured-icon {
  display: none !important;
  visibility: hidden;
}


li.cat-product-image .astra-shop-thumbnail-wrap {
  background-color: rgb(221,224,223);
  position: absolute;
  padding-bottom: 0px !important;
  margin-bottom: 0 !important;
}

li.cat-product-image .astra-shop-thumbnail-wrap img {
  display: block;
  max-height: 300px;
  width: auto;
  mix-blend-mode: multiply;
  opacity: 1;
  margin-bottom: 0 !important;
}


/* li.cat-product-image .astra-shop-thumbnail-wrap:hover img { 
  transform: scale(1.0) !important;
} */

li.cat-product-image .astra-shop-summary-wrap {
  position: absolute;
  bottom: 20px;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  box-shadow: 0 0 0 20px #dde0df;
  max-height: calc(100% - 40px - 0px - 0em);
}

li.cat-product-image .astra-shop-summary-wrap .ast-woo-shop-product-description {
   display: block;
   -webkit-box-orient: none;
    -webkit-line-clamp: none;
   text-overflow: clip;
   max-height: calc(18px * 3);
   transition: max-height .5s ease-in-out;
 } 
 
li.cat-product-image:hover .ast-woo-shop-product-description {
   max-height: 100vh;
}

.woocommerce ul.products li.product.astra-woo-hover-zoom:hover img, .woocommerce-page ul.products li.product.astra-woo-hover-zoom:hover img {
  transform: scale(1.0) !important;
}

.group-by-tag ul.products.columns-3 {
  padding-left: 0;
  padding-right: 0;
}
  
/* ---- SINGLE PRODUCT ---- */

.ast-single-product-payments ul li svg, .ast-single-product-payments ul li img {
  width: auto !important;
}

.woocommerce-js div.product .woocommerce-tabs {
  display: none;
}

body.woocommerce-js .woocommerce-breadcrumb a, body.woocommerce-js .woocommerce-breadcrumb {
  color: #000;
}

body.woocommerce-js .woocommerce-breadcrumb a:hover {
  /* color:#379237; */
}

body.woocommerce-js div.product .related.products {
  padding-top: 60px;
}

body.quotation-only form.cart { display: none !important; }


/* ---- VIDEOS ---- */

/* .elementor-widget-video .elementor-video {
}

.elementor-widget-video .play-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%);
  background: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  cursor: pointer;
}

.elementor-widget-video .play-overlay svg {
  width: 54px;
  height: 54px;
  fill: #fff;
}

.elementor-widget-video .e-hosted-video {
  position: relative;
  overflow: hidden;
}

.elementor-widget-video .play-backdrop {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0,0,0,0.4);
  z-index: 9;
  cursor: pointer;
}

.elementor-widget-video .play-overlay {
  z-index: 10;
} */


/* ---- MERCADOS ---- */

.elementor-element.elementor-element-53f8f8d {
  flex-direction: row !important;
  align-items: center;
}

div.elementor-tab-title {
  position: relative;
}

.elementor-tab-title.elementor-active {
  
}

div.elementor-tab-title.elementor-active::after, div.elementor-tab-title:hover::after {
  background-color: #0F172A !important;
  position: absolute !important;
  top: calc(50% + 8px) !important;
  left: 25px !important;
  width: calc(100% - 50px) !important;
  height: 2px !important;
  color: #0F172A !important;
  content: " " !important;
  z-index: 1 !important;
}


/* ---- SINGLE POST ---- */

/* .single-post h4, .single-post h5, .single-post h6, .ast-article-single h4:not(.uael-question-span), .ast-article-single h5, .ast-article-single h6 {
  margin-top: 40px;
  margin-bottom: 10px;
} */


 .single-post h4, .single-post h5, .single-post h6 {
 margin-top: 40px;
  margin-bottom: 10px;
}

body .uael-post-grid .uael-post-grid__inner .uael-post-wrapper .uael-post__bg-wrap {
  border-radius: 4px;
}

body .uael-post-grid .uael-post-grid__inner .uael-post-wrapper  .uael-post__thumbnail {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

body .uael-post-grid .uael-post-grid__inner .uael-post-wrapper .uael-post__content-wrap {
  padding-bottom: 0;
  padding-top: 15px;
  margin-bottom: 0;
}

body .uael-post-grid .uael-post-grid__inner .uael-post-wrapper .uael-post__content-wrap .uael-post__title {
 margin-top: 0px; 
 margin-bottom: 20px;
}

body .uael-post-grid .uael-post-grid__inner .uael-post-wrapper .uael-post__content-wrap .uael-post__meta-data {
 margin-top: 20px;
 margin-bottom: 5px; 
}

a.catGrafica{ 
  color: rgba(251,186,0,1);
}

a.catFabricacao { 
  color: rgba(25,167,142,1);
}

a.catProducao { 
  color: rgba(229,35,48,1);
}

a.catProjeto { 
  color: rgba(162,51,138,1);
}

a.catNotcias { 
  color: #000;
}



/* ---- LOJA SINGLE ---- */

.woocommerce-result-count {
  display: none;
}

/* ul.products.columns-3 {
  padding-left: 20px;
  padding-right: 20px;
} */




/* ---- SEARCH ---- */

.elementor-element.elementor-widget-wc-archive-products {
  min-width: 100%;
}

/* ----- CLIENTES ----- */


.woocommerce-account .woocommerce-Message--info {
  display: none !important;
}

.woocommerce-Address-title.title h2 {
  opacity: 0;
}

/* ---- CARRINHO ---- */

.ast-site-header-cart .woocommerce.widget_shopping_cart, div.astra-cart-drawer {
  background-color: #fff !important;
}

/* ----- BOTOES PRODUTO ----- */

span.catalog-icon {
 background-image: url('./assets/right-arrow.png');
 background-repeat: no-repeat;
 background-size: contain;
 width: 20px;
 height: 13px;
 display: inline-block;
 margin-left: 4px; 
}

span.video-icon {
 background-image: url('./assets/down-arrow.png');
 background-repeat: no-repeat;
 background-size: contain;
 width: 13px;
 height: 13px;
 display: inline-block;
 margin-left: 4px; 
}

#product-extra-buttons a {
  padding-top: 10px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 20px;
}

#product-extra-buttons a:hover span { 
  filter: invert(100%);
}

#product-extra-buttons {
  padding: 0;
  margin-bottom: 20px;
  margin-top: 40px;
}




.elementor-widget.elementor-widget-uael-video-gallery
 {
  width: 100%;
}



/* --- FILTROS ---- */

  #subcats-filters {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-bottom: 0rem;
    flex-direction: row;
  }
  
  .filter-btn {
    text-align: center;
    cursor: pointer;
    transition: opacity .2s;
    width: 100px;
  }
  
  .filter-btn div {
    padding: 0px;
    border-radius: 4px;
  }
  
  .filter-btn div img {
    width: 100%;
    height: auto;
    border-radius: 4px;
  }

  .filter-btn span {
    display: block;
    margin-top: 5px;
    font-weight: bold;
    font-size: 13px;
    line-height: 13px;
    color: #000;
    transition: color .2s, opacity .2s;
  }
  

  .filter-btn.inactive {
    opacity: .4;
  }
  .filter-btn.inactive strong {
    color: #aaa;
  }
  
  .filter-btn.active {
    opacity: 1;
  }
  .filter-btn.active span {
    color: #000;
  }




/* .slide-btn {
  position: absolute;
  bottom: 30px;
} */


#homeSlider2,
#homeSlider2 > .swiper-wrapper,
#homeSlider2 > .swiper-wrapper > .swiper-slide {
  /* height: 70vh;
  min-height: 70vh; */
  max-width: calc(100vw + 40px);

}


.page header.entry-header {
  display: none;
}

.home .swiper-pagination {
  text-align: left;
  max-width: 1340px;

}


.swiper-slide .box-padding.e-con {
  
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  left: 50% !important;
  max-width: 100vw;
  transform: translateX(-50%);
  width: calc(100% - 0px) !important;
}

.home .swiper-pagination-bullet {
  width: 20px;
  height: 20px;
}

.home .swiper-pagination {
  position: absolute;
  z-index: 10;
  pointer-events: auto;
  padding-left: clamp(20px, 12vw, 200px);
  padding-right: clamp(20px, 12vw, 200px);
  bottom: 7% !important;
  max-width: 1340px;
  margin: 0 auto;
}

.home .swiper-pagination-bullet {
  pointer-events: auto;
  cursor: pointer;
  border-radius: 0;
}


.swiper-pagination-bullet {
  background: #fff !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
 background: #007aff !important;
}

#jornal-grid .elementor-loop-container:not(.elementor-posts-masonry), 
#jornal-grid .elementor-widget.elementor-widget:not(.elementor-widget-heading) {
  height: 100%;
}

/* .home .swiper-pagination-bullet:first-of-type {
  margin-left: 0;
} */


.project-grid {
  height: 100% !important;
}


.tab-panel {
  display: none !important;
  transition: background 0.2s ease !important;
}

.tab-panel.is-active {
  display: block !important;
}

.tab-btn:not(.tab-not-blue).is-active {
  background: #53BDD4 !important; 
}

.tab-btn {
  cursor: pointer !important;
}

body.elementor-editor-active .tab-panel,
body.elementor-editor-active .tab-panel.is-active {
  display: block !important;
}



.ast-logo-title-inline .site-logo-img {
  position: absolute;
  top: 0;
  margin-left: 20px;
}
/* 
header .custom-logo-link img {
  max-width: 90px !important;
  width: 90px !important;
  height: auto !important;
  max-height: 145px !important;
} */

.ast-sticky-main-shrink .ast-sticky-shrunk .site-logo-img img {
  max-height: 101px !important;
}

.ast-builder-menu-1 .menu-item.current-menu-item > .menu-link span::after, .menu-item:hover > .menu-link span::after {
  background-color: #53BDD4 !important;
  height: 3px !important;
}

/* .ast-builder-menu-1 .menu-item > .menu-link {
  font-size: 16px;
  line-height: 20px;
} */

body p, body h1, body h2, body h3, body span, body h4, body h5, body h6 {
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0;
}


body .no-wrap {
  white-space: nowrap;
}



.search-div .ast-article-post {
  margin-bottom:  0 !important;
  padding-left: 0 !important;
}


.noticias-wrapper .ast-grid-common-col, .jornais-wrapper .ast-grid-common-col {
  padding-left: 0;
}


.acessos-rapidos a h5 {
  transition: all 0.2s ease;
}

.acessos-rapidos a:hover h5 {
  color: #1879af !important;
}
.acessos-rapidos a:hover img {
  filter: brightness(0) saturate(100%)
invert(35%) sepia(65%)
saturate(900%)
hue-rotate(165deg)
brightness(95%) contrast(95%);
}

.square-wrapper > .e-con-inner{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 40px 20px;
}

.square-wrapper .square{
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}


.square-wrapper .square > .e-con{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.square-wrapper .square > .e-con > .elementor-element:last-child{
  margin-top: auto;
}

@media (max-width: 1024px){
  .square-wrapper > .e-con-inner{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
  .square-wrapper > .e-con-inner{ grid-template-columns: 1fr; }
}


/* GRID do trio (só o inner direto) */
.square-trio-wrapper > .e-con-inner{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px; /* ajusta */
}

/* cada card quadrado */
.square-trio-wrapper .square-trio{
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* primeiro nível dentro do card ocupa altura toda */
.square-trio-wrapper .square-trio > .e-con{
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* empurra o bloco do link (último container) para o fundo */
.square-trio-wrapper .square-trio > .e-con > .elementor-element:last-child{
  margin-top: auto;
}

/* responsivo */
@media (max-width: 1024px){
  .square-trio-wrapper > .e-con-inner{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px){
  .square-trio-wrapper > .e-con-inner{ grid-template-columns: 1fr; 
    
  }
  .square-wrapper .square{
    aspect-ratio:  initial;
  }
}


a.underline.e-con{
  width: fit-content !important;
  flex: 0 0 auto !important;
  align-self: flex-start;
  margin-bottom: -5px;
}

.alunos-wrap a.underline.e-con {
  margin-bottom: 0;
}


/* container boxed (o e-con-boxed / e-con-inner) */
.box-padding.e-con{
  padding-left:  clamp(20px, 12vw, 200px);
  padding-right: clamp(20px, 12vw, 200px);
}


/* ------- FONTS --------- */

/* [class*="fs-"] .elementor-heading-title,
[class*="fs-"] h1,
[class*="fs-"] h2,
[class*="fs-"] h3,
[class*="fs-"] h4,
[class*="fs-"] h5,
[class*="fs-"] h6,
[class*="fs-"] p,
[class*="fs-"] a,
[class*="fs-"] div,
[class*="fs-"] span {
  font-size: var(--fs, inherit) !important;
  line-height: var(--lh, normal) !important;
} */

/* ====== 1) KNOB GLOBAL ====== */
:root{
  --type-scale: .70; 
  /* ajusta: .72 mais pequeno, .85 maior */
}

@media (max-width: 767px){
  :root{ --type-scale: 1; } 
}

/* ====== 2) APLICAÇÃO (Elementor) ====== */
[class*="fs-"] .elementor-heading-title,
[class*="fs-"] h1,[class*="fs-"] h2,[class*="fs-"] h3,[class*="fs-"] h4,[class*="fs-"] h5,[class*="fs-"] h6,
[class*="fs-"] p,[class*="fs-"] a,[class*="fs-"] span, [class*="fs-"] .elementor-widget-container {
  font-size: clamp(
    var(--fs-min),
    calc(var(--fs-vw) * var(--type-scale) * 1vw),
    var(--fs-max)
  ) !important;
  line-height: var(--lh, normal) !important;
}

/* ====== 3) ESCALAS (base vw = max/1920*100) ======
   (mantém os min/max que já tinhas; o scale global controla o “tamanho percebido”) */

/* antigo: clamp(24px, 2.5vw, 43px) */
.fs-01{ --fs-min:24px; --fs-vw:2.24; --fs-max:43px; --lh:1.29; }

/* antigo: clamp(40px, 5vw, 93px) */
.fs-02{ --fs-min:40px; --fs-vw:4.84; --fs-max:93px; --lh:1.2; }
.fs-02{ --fs-min:40px; --fs-vw:4.34; --fs-max:75px; --lh:1.2; }

/* antigo: clamp(24px, 2.5vw, 43px) */
.fs-03{ --fs-min:24px; --fs-vw:2.20; --fs-max:40px; --lh:1.25; }

/* antigo: clamp(26px, 2.8vw, 48px) */
.fs-04{ --fs-min:26px; --fs-vw:2.50; --fs-max:48px; --lh:1.06; }
.fs-04{ --fs-min:26px; --fs-vw:2.30; --fs-max:44px; --lh:1.02; }

/* antigo: clamp(14px, 1.1vw, 21px) */
.fs-05{ --fs-min:14px; --fs-vw:1.09; --fs-max:21px; --lh:1.58; }

/* antigo: clamp(16px, 1.6vw, 29px) */
.fs-06{ --fs-min:16px; --fs-vw:1.51; --fs-max:29px; --lh:1; }

/* antigo: clamp(24px, 2.5vw, 43px) */
.fs-07{ --fs-min:24px; --fs-vw:2.24; --fs-max:43px; --lh:1.03; }

/* antigo: clamp(56px, 8vw, 148px) */
.fs-08{ --fs-min:56px; --fs-vw:7.71; --fs-max:148px; --lh:1; }
.fs-08{ --fs-min:45px; --fs-vw:7.01; --fs-max:128px; --lh:0.92; }

/* antigo: clamp(18px, 1.8vw, 32px) */
.fs-09{ --fs-min:18px; --fs-vw:1.67; --fs-max:32px; --lh:1.04; }

/* antigo: clamp(15px, 1.3vw, 24px) */
.fs-10{ --fs-min:15px; --fs-vw:1.25; --fs-max:24px; --lh:1.56; }

/* antigo: clamp(36px, 4.5vw, 83px) */
.fs-11{ --fs-min:30px; --fs-vw:3.9; --fs-max:83px; --lh:1.16; }

/* antigo: clamp(54px, 7.5vw, 141px) */
.fs-12{ --fs-min:50px; --fs-vw:6.8; --fs-max:141px; --lh:0.92; }
.fs-12{ --fs-min:50px; --fs-vw:6.0; --fs-max:121px; --lh:0.92; }

/* antigo: clamp(36px, 4.5vw, 83px) */
.fs-13{ --fs-min:30px; --fs-vw:3.9; --fs-max:83px; --lh:1.03; }
.fs-13{ --fs-min:30px; --fs-vw:3.9; --fs-max:83px; --lh:0.97; }

/* antigo: clamp(24px, 2.6vw, 44px) */
.fs-14{ --fs-min:24px; --fs-vw:2.29; --fs-max:44px; --lh:1; }

/* antigo: clamp(23px, 2.4vw, 41px) */
.fs-15{ --fs-min:23px; --fs-vw:2.14; --fs-max:41px; --lh:1.26; }

/* antigo: clamp(32px, 3.8vw, 71px) */
.fs-16{ --fs-min:32px; --fs-vw:3.70; --fs-max:71px; --lh:0.91; }

/* antigo: clamp(23px, 2.4vw, 41px) */
.fs-17{ --fs-min:23px; --fs-vw:2.14; --fs-max:41px; --lh:0.87; }

/* antigo: clamp(20px, 2vw, 35px) */
.fs-18{ --fs-min:20px; --fs-vw:1.82; --fs-max:30px; --lh:1.38; }

/* antigo: clamp(40px, 5vw, 93px) */
.fs-19{ --fs-min:40px; --fs-vw:4.84; --fs-max:93px; --lh:1.26; }
.fs-19{ --fs-min:40px; --fs-vw:4.24; --fs-max:75px; --lh:1.2; }

/* antigo: clamp(30px, 3.2vw, 61px) */
.fs-20{ --fs-min:30px; --fs-vw:3.18; --fs-max:61px; --lh:1.65; }

/* antigo: clamp(30px, 3.2vw, 61px) */
.fs-21{ --fs-min:30px; --fs-vw:3.18; --fs-max:61px; --lh:1.39; }

/* antigo: clamp(25px, 2.7vw, 45px) */
.fs-22{ --fs-min:25px; --fs-vw:2.34; --fs-max:45px; --lh:1.88; }

/* antigo: clamp(16px, 1.6vw, 29px) */
.fs-23{ --fs-min:16px; --fs-vw:1.51; --fs-max:29px; --lh:1.18; }

/* antigo: clamp(16px, 1.6vw, 29px) */
.fs-24{ --fs-min:16px; --fs-vw:1.51; --fs-max:29px; --lh:2; }

/* antigo: clamp(24px, 2.5vw, 43px) */
.fs-25{ --fs-min:24px; --fs-vw:2.24; --fs-max:43px; --lh:1.13; }

/* antigo: clamp(16px, 1.6vw, 29px) */
.fs-26{ --fs-min:16px; --fs-vw:1.51; --fs-max:29px; --lh:1.45; }

/* antigo: clamp(24px, 2.5vw, 43px) */
.fs-27{ --fs-min:24px; --fs-vw:2.24; --fs-max:43px; --lh:1.25; }

/* antigo: clamp(26px, 2.8vw, 48px) */
.fs-28{ --fs-min:26px; --fs-vw:2.38; --fs-max:44px; --lh:0.94; }

/* antigo: clamp(14px, 1.1vw, 21px) */
.fs-29{ --fs-min:14px; --fs-vw:1.09; --fs-max:21px; --lh:1.56; }


.fs-20 + .fs-20 .elementor-heading-title {
  /* font-size: clamp(30px, 2.6vw, 61px) !important;
  line-height: 1.7 !important; */
  transform: scale(0.75) translateY(9%);
  transform-origin: left center;
}

.fs-22 + .fs-22 .elementor-heading-title {
  /* font-size: clamp(25px, 2.1vw, 45px) !important;
  line-height: 2.1 !important; */
  transform: scale(0.75) translateY(9%);
  transform-origin: left center;
}


.fs-25 + .fs-25 .elementor-heading-title {
  /* font-size: clamp(24px, 1.9vw, 43px)!important;
  line-height: 1.2 !important; */
  transform: scale(0.75) translateY(12%);
  transform-origin: left center;
}


/* .swiper-slide .e-con.e-flex > .e-con-inner {
  margin-left: 0;
  margin-right: 0;
} */

.single-post table {
  border: none;
  border-top: 1px solid #53bdd4;
  text-align: left;
}

.single-post .wp-block-table thead {
  border: none;
  border-bottom: 1px solid #53bdd4;
  font-weight: bold;
  text-decoration: underline;
}

.single-post .wp-block-table th, .single-post .wp-block-table td, .single-post .wp-block-table th {
  border: none;
}

.single-post .wp-block-table td {
  border-bottom: 1px solid #53bdd4;
  text-align: left;
  font-weight: bold;
  text-decoration: underline;
}

@media (max-width: 1299px) { 
  
  .box-padding.e-con{
    padding-left:  clamp(20px, 10vw, 200px);
    padding-right: clamp(20px, 10vw, 200px);
  }
  
  .home .swiper-pagination {
    padding-left: clamp(20px, 10vw, 200px);
    padding-right: clamp(20px, 10vw, 200px);
  }

}

@media (max-width: 1199px) { 
  
  .box-padding.e-con{
    padding-left:  clamp(20px, 8vw, 200px);
    padding-right: clamp(20px, 8vw, 200px);
  }
  
  .home .swiper-pagination {
    padding-left: clamp(20px, 8vw, 200px);
    padding-right: clamp(20px, 8vw, 200px);
  }

}

@media (min-width: 1340px) { 
  
  .home .swiper-pagination {
    
    max-width: 100%;
  }

}

@media (min-width: 1740px) { 
  
  .home .swiper-pagination {
    padding: 0;
    max-width: 1340px;
  }

}


@media (min-width: 2000px) { 
  
  :root{ --type-scale: .70; } 

}


/* --- MOBILE ----- */

@media (max-width: 767px) { 
  
  .box-padding.e-con, .home .swiper-pagination {
    padding-left:  clamp(20px, 1vw, 200px);
    padding-right: clamp(20px, 1vw, 200px);
  }
  
  
  
  body {
    width: 100vw;
    max-width: 100vw;
    overflow-x: hidden;
  }
  
  .grey-area::after, .grey-area {
    display: none;
  }
  
  .ast-header-break-point .site-below-footer-wrap[data-section="section-below-footer-builder"] {
    padding-top: 20px;
  }
  
  .ast-container .woocommerce ul.products:not(.elementor-grid), .woocommerce-page ul.products:not(.elementor-grid), .woocommerce.mobile-columns-2 ul.products:not(.elementor-grid), .woocommerce-page.mobile-columns-2 ul.products:not(.elementor-grid) {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    padding-left: 0px;
    padding-right: 0px;
  }
  
  .produto-bloco::after {
    opacity: 0.6;
  }
  
  .produto-bloco .texto-hover {
    opacity: 1;
  }  
    
  #gallery-1 {
    display: flex;
    margin-bottom: 60px;
  }
    
  .group-tag-description {
    width: 100%;
    margin-bottom: 20px;
  }
    
  li.cat-product-image .astra-shop-summary-wrap .ast-woo-shop-product-description {
    display: -webkit-box;
    -webkit-line-clamp: 3;
  }  
    
    
  .elementor-845 .elementor-element.elementor-element-40c7dbc .elementor-tab-content, .elementor-845 .elementor-element.elementor-element-40c7dbc .elementor-tab-title {
    border-width: 1px !important;
  }  
  
   .elementor-845 .elementor-element.elementor-element-40c7dbc .elementor-tab-title,  .elementor-tabs .elementor-tab-content {
   border-style: solid !important;
  }
  
  div.elementor-tab-title.elementor-active::after {
    display: none;
  }  
    
  .elementor-element .elementor-wc-products .woocommerce[class*="columns-"] ul.products li.product {
    max-width: 100%;
  } 
    
  
  
  .table-scroll{
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  

  .table-inner{
    min-width: 700px !important; 
  }
  
  
  .table-scroll::-webkit-scrollbar{
    height:6px !important;
  }
  
  
  .table-scroll{
    position: relative !important;
  }

  

  
  
  
  
  
}



@media (max-width: 1339px) { 
  
  .noticias-wrapper .ast-grid-common-col, .jornais-wrapper .ast-grid-common-col {
    padding-left: 20px;
  } 
   
}








