/*
Theme Name: Qualiflex
Theme URI:  https://qualiflex.com.br
Author:     Gastão Esteves
Author URI: https://gastaoesteves.com
Template:   astra
Version:    1.0
License:    GNU General Public License v2 or later
*/		    

/*----- FONTES -----*/

@font-face {
  font-family: "bnt_italico";
  src: url("fontes/bnt_italico.woff2") format("woff2"),
       url("fontes/bnt_italico.woff") format("woff");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title, h1, h2 {
  font-family: "bnt_italico" !important;
  transform: skewX(-15deg);
  line-height: 1em;
}

/*----- Botão flutuante -----*/

.qf-zap {
	position: fixed;
	right: 50px;
	bottom: 50px;
	width: 145px;
	height: 132px;
	transition: transform 0.3s ease;
	z-index: 99;
}

.qf-zap:hover {
	transform: scale(0.9);
}

/*----- Hero páginas de segmentos -----*/

.qf-hero1 {
	font-family: "bnt_italico" !important;
	transform: skewX(-15deg);
	line-height: 1em;
	background-color: #E3303C;
	z-index: 2;
}

.qf-hero2 {
	font-family: "bnt_italico" !important;
	transform: skewX(-15deg);
	line-height: 1em;
	background-color: #113F59;
	z-index: 3;
}

/*-------------------------------*/
/*----- PÁGINAS DE PESQUISA -----*/
/*-------------------------------*/

body.search-results {
	background-color: #113F59;
}

body.search-results #content .ast-container {
	background-color: #fff;
	max-width: 1600px;
	border-left: 4px solid #2D83B5;
	border-right: 4px solid #2D83B5;
	padding: 30px;
}

.entry-meta {
	display: none;
}

.entry-title a {
	font-weight: 400;
}

/*--------------------------------------------------------*/
/*----- PÁGINAS DE ARQUIVOS (taxonomias, blogs, etc) -----*/
/*--------------------------------------------------------*/

body.archive {
	background-color: #113F59;
}

body.archive #content .ast-container {
	background-color: #fff;
	max-width: 1600px;
	border-left: 4px solid #2D83B5;
	border-right: 4px solid #2D83B5;
	padding: 30px;
}

.astra-shop-thumbnail-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 250px;
	height: 250px;
	margin: 50px auto 18px;
	text-decoration: none;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden;
}

.astra-shop-thumbnail-wrap img {
	width: auto;
	height: auto;
	max-width: 250px;
	max-height: 250px;
	object-fit: contain;
	object-position: center bottom;
	display: block;
	background: transparent !important;
	box-shadow: none !important;
}

span.ast-woo-product-category {
	font-size: 17px !important;
    font-style: italic;
    text-align: center;
}

h2.woocommerce-loop-product__title {
	font-size: 30px !important;
    font-weight: 400;
    text-align: center;
}

select.orderby {
	display: none;
}


/*--------------------------------------------------*/
/*----- PÁGINA DO PRODUTO (single-product.php) -----*/
/*--------------------------------------------------*/

body.single-post,
body.single-product {
	background-color: #113F59;
}

body.single-post #content .ast-container,
body.single-product #content .ast-container {
	background-color: #fff;
	max-width: 1600px;
	border-left: 4px solid #2D83B5;
	border-right: 4px solid #2D83B5;
	padding: 0;
}

#content .ast-container {
	display: flex;
	flex-direction: column;
}

#primary {
	margin-top: 0 !important;
}

#content .product {
	width: 100%;
	margin: 0;
}

/*------ TOPO PRODUTOS ------*/

.qf-topo-produto {
	width: 100%;
	padding: 40px 80px 40px;
	background: linear-gradient(to bottom, #031926 0%, #1A5678 100%);
	box-sizing: border-box;
}

/*------ HEADER RESPONSIVO DO PRODUTO ------*/

#qf-prod-top {
	display: grid;
	grid-template-columns: 65% 17.5% 17.5%;
	grid-template-areas:
		"header btft btca"
		"header btor btor";
	width: 100%;
	box-sizing: border-box;
	align-items: stretch;
	gap: 0;
}

#qf-prod-top > div {
	box-sizing: border-box;
	min-width: 0;
}

#qf-prod-top .qf-prod-h {
	grid-area: header;
	padding-right: 28px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#qf-prod-top .qf-prod-btft {
	grid-area: btft;
	padding: 0 8px 8px 0;
}

#qf-prod-top .qf-prod-btca {
	grid-area: btca;
	padding: 0 0 8px 8px;
}

#qf-prod-top .qf-prod-btor {
	grid-area: btor;
}

#qf-prod-top .qf-produto-titulo {
	margin: 0 0 10px;
	color: #fff;
	font-size: clamp(42px, 5vw, 72px);
	line-height: 0.9;
	text-transform: uppercase;
	word-break: break-word;
}

/*------ CLASSIFICAÇÕES ------*/

.qf-produto-classificacoes {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 18px;
}

.qf-produto-classificacao-item {
	display: grid;
	grid-template-columns: 110px 1fr;
	align-items: center;
	column-gap: 12px;
	row-gap: 6px;
}

.qf-produto-classificacao-conteudo {
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
}

.qf-produto-classificacao-conteudo a {
	color: #9FD8FF;
	text-decoration: none;
}

.qf-produto-classificacao-conteudo a:hover {
	color: #fff;
	text-decoration: underline;
}

.qf-prod-classificacao-label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 110px;
	min-height: 20px;
	padding: 3px 10px;
	background: #C7000D;
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	border-radius: 2px;
	box-sizing: border-box;
}

/*------ BOTÕES HEADER ------*/

#qf-prod-top .qf-prod-btn,
#qf-prod-top .qf-prod-ca {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 12px 16px;
	font-size: 18px;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	box-sizing: border-box;
	transition: 0.2s ease;
}

#qf-prod-top .qf-prod-btn--secondary,
#qf-prod-top .qf-prod-ca {
	background: #1A5678;
	border: 2px solid #2D83B5;
	color: #fff;
}

#qf-prod-top .qf-prod-btn--primary {
	background: #E3303C;
	border: none;
	color: #fff;
}

#qf-prod-top .qf-prod-btn--secondary:hover,
#qf-prod-top .qf-prod-btn--primary:hover,
#qf-prod-top .qf-prod-ca:hover {
	background: #2D83B5;
	color: #fff;
}

#qf-prod-top .qf-prod-ca {
	white-space: nowrap;
}

/*------ BLOCO 2 + BLOCO 3 ------*/

.qf-produto-topo-wrap {
	display: flex;
	flex-wrap: nowrap;
	gap: 40px;
	width: 100%;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 100%;
	box-sizing: border-box;
	padding: 80px 120px 80px;
}

.qf-produto-bloco2,
.qf-produto-bloco3 {
	flex: 1 1 50%;
	max-width: 50%;
	box-sizing: border-box;
}

.qf-produto-bloco2 .woocommerce-product-gallery {
	width: 100% !important;
	max-width: 500px;
}

.qf-produto-bloco3 {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.qf-produto-bloco3 h3 {
	font-family: "bnt_italico" !important;
	transform: skewX(-15deg);
	font-size: 40px;
	font-weight: 400;
	color: #031926;
	line-height: 1em;
}

.qf-produto-bloco3 p {
	font-size: 16px;
	line-height: 1.2em;
	margin-bottom: 8px;
}

.qf-product-video {
	width: 100%;
	margin: 8px 0 12px;
}

.qf-product-video video {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	background: #000;
}

.qf-produto-opcionais {
	margin: 30px 0;
	font-size: 16px;
	line-height: 1.4;
}

.qf-produto-opcionais strong {
	font-weight: 700;
	color: #031926;
}

/*------ BOTÕES ANTIGOS (mantidos caso use em outro ponto) ------*/

.qf-produto-botoes-arquivos {
	display: flex;
	gap: 10px;
	margin-top: 10px;
}

.qf-botao-ficha,
.qf-botao-ca {
	padding: 10px 16px;
	background-color: #003e66;
	color: white;
	text-decoration: none;
	font-weight: bold;
	border-radius: 4px;
}

.qf-botao-ficha:hover,
.qf-botao-ca:hover {
	opacity: 0.8;
}

/* imagem principal do produto */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* imagem em si */
.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 550px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}

/* miniaturas */
.single-product .flex-control-thumbs img {
	height: auto;
	max-height: none;
	object-fit: cover;
}

@media (max-width: 1024px) {
	.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
		max-height: 460px;
	}
}

@media (max-width: 767px) {
	.single-product .woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image img {
		max-height: 320px;
	}
}

/*------ TABLET ------*/

@media (max-width: 1024px) {
	.qf-topo-produto {
		padding: 30px 40px 30px;
	}

	#qf-prod-top {
		grid-template-columns: 58% 21% 21%;
	}

	#qf-prod-top .qf-prod-h {
		padding-right: 20px;
	}

	#qf-prod-top .qf-produto-titulo {
		font-size: clamp(34px, 5vw, 56px);
	}

	#qf-prod-top .qf-prod-btn,
	#qf-prod-top .qf-prod-ca {
		min-height: 42px;
		padding: 10px 12px;
		font-size: 14px;
	}

	.qf-produto-topo-wrap {
		padding: 40px 40px 50px;
		gap: 30px;
	}
}

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

@media (max-width: 768px) {
	.qf-topo-produto {
		padding: 24px 20px 30px;
	}

	#qf-prod-top {
		grid-template-columns: 1fr;
		grid-template-areas:
			"header"
			"btft"
			"btca"
			"btor";
		gap: 10px;
	}

	#qf-prod-top .qf-prod-h {
		padding-right: 0;
	}

	#qf-prod-top .qf-prod-btft,
	#qf-prod-top .qf-prod-btca,
	#qf-prod-top .qf-prod-btor {
		padding: 0;
	}

	#qf-prod-top .qf-produto-titulo {
		font-size: clamp(30px, 10vw, 46px);
		margin-bottom: 10px;
	}

	.qf-produto-classificacoes {
		margin-top: 14px;
		gap: 8px;
	}

	.qf-produto-classificacao-conteudo {
	font-size: 15px;
	line-height: 1.4;
	color: #fff;
	min-width: 0;
	}

	.qf-produto-classificacao-item {
		grid-template-columns: 96px 1fr;
		column-gap: 10px;
	}

	.qf-prod-classificacao-label {
		width: 96px;
		min-height: 28px;
		font-size: 13px;
		padding: 3px 8px;
	}

	#qf-prod-top .qf-prod-btn,
	#qf-prod-top .qf-prod-ca {
		min-height: 44px;
		font-size: 14px;
	}

	.qf-produto-topo-wrap {
		flex-direction: column;
		padding: 30px 20px 30px;
		gap: 24px;
	}

	.qf-produto-bloco2,
	.qf-produto-bloco3 {
		width: 100%;
		max-width: 100%;
		flex: 1 1 100%;
	}
}

/*------ OUTRAS SOLUÇÕES PARA O SEGMENTO ------*/

.qf-outras-solucoes {
	width: 100%;
	padding: 0 120px 80px;
	box-sizing: border-box;
}

.qf-outras-solucoes__inner {
	width: 100%;
	border-top: 1px solid #C9D7E1;
	padding-top: 40px;
}

.qf-outras-solucoes__titulo {
	margin: 0 0 32px;
	font-size: clamp(28px, 3vw, 42px);
	color: #031926;
	text-align: center;
	font-weight: 400 !important;
}

.qf-outras-solucoes__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: stretch;
}

.qf-solucao-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 10px 10px 0;
	box-sizing: border-box;
}

.qf-solucao-card__thumb {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	width: 250px;
	height: 250px;
	margin: 0 auto 18px;
	text-decoration: none;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden;
}

.qf-solucao-card__thumb img {
	width: auto;
	height: auto;
	max-width: 250px;
	max-height: 250px;
	object-fit: contain;
	object-position: center bottom;
	display: block;
	background: transparent !important;
	box-shadow: none !important;
}

.qf-solucao-card__conteudo {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
}

.qf-solucao-card__titulo {
	margin: 0;
	min-height: 50px;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	font-family: inherit !important;
	transform: none !important;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 700;
	color: #1A5678 !important;
	text-align: center;
	width: 100%;
}

.qf-solucao-card__titulo a {
	color: inherit !important;
	text-decoration: none;
}

.qf-solucao-card__titulo a:hover {
	color: #031926 !important;
}

.qf-solucao-card__ca {
	font-size: 17px;
	line-height: 1.2;
	font-weight: 500;
	color: #1A5678;
}

.qf-solucao-card__botao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding: 6px 30px;
	background-color: #1A5678;
	color: #fff !important;
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	border-radius: 0;
	transition-duration: 0.2s ease;
}

.qf-solucao-card__botao:hover {
	color: #fff !important;
	background-color: #E3303C;
}

@media (max-width: 1024px) {
	.qf-outras-solucoes {
		padding: 0 40px 60px;
	}

	.qf-outras-solucoes__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
	}

	.qf-solucao-card__thumb {
	width: 220px;
	height: 300px;
}
	
.qf-solucao-card__thumb img {
	max-width: 220px;
	max-height: 300px;
}

.qf-solucao-card__titulo {
	min-height: 50px;
	font-size: 18px;
}
}

@media (max-width: 768px) {
	.qf-outras-solucoes {
		padding: 0 20px 40px;
	}

	.qf-outras-solucoes__inner {
		padding-top: 30px;
	}

	.qf-outras-solucoes__titulo {
		margin-bottom: 24px;
		font-size: clamp(24px, 8vw, 34px);
	}

	.qf-outras-solucoes__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.qf-solucao-card__thumb {
	width: 220px;
	height: 300px;
}

.qf-solucao-card__thumb img {
	max-width: 220px;
	max-height: 300px;
}

.qf-solucao-card__titulo {
	min-height: 0;
	font-size: 18px;
}
}

/* GRID SEGMENTOS */

.qf-grid-wrapper {
	padding: 40px 120px 80px;
}

.qf-grid-filtros {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 30px;
}

/* ===== ESTRUTURA DOS FILTROS ===== */

.qf-filtro-grupo {
	display: grid;
	grid-template-columns: 160px 1fr;
	align-items: start; /* <-- AQUI resolve o problema */
	gap: 12px;
	margin-bottom: 12px; /* separação entre filtros */
}

.qf-filtro-label {
	background: #fff;
	color: #113F59;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	padding: 6px 10px;
	text-align: center;
    align-self: start;
}

.qf-filtro-opcoes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
}

.qf-grid-filtros button {
	background: #1A5678;
	color: #fff;
	border: none;
	padding: 6px 14px;
	font-size: 12px;
	text-transform: uppercase;
	cursor: pointer;
}

.qf-reset {
	background: #1A5678 !important;
	color: #fff;
	border: none;
	padding: 8px 18px;
	font-size: 12px;
	text-transform: uppercase;
	cursor: pointer;
	width: fit-content;
	margin-bottom: 10px;
}

.qf-reset:hover {
	background: #E3303C !important;
}

.qf-chip {
	background: #1A5678;
	color: #fff;
	border: none;
	padding: 6px 12px;
	font-size: 12px;
	cursor: pointer;
	transition: 0.2s ease;
}

.qf-chip:hover {
	background: #2D83B5;
}

.qf-chip.active {
	background: #E3303C;
}

.qf-grid-filtros button.active,
.qf-grid-filtros button:hover {
	background: #E3303C;
}

.qf-grid-produtos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.qf-grid-produtos.is-grouped {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.qf-grid-produtos-inner {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.qf-grupo-categoria {
	width: 100%;
}

.qf-titulo-categoria {
	color: #E3303C;
	font-size: 22px;
	margin-bottom: 15px;
	font-weight: 700;
}

@media (max-width: 768px){

	.qf-filtro-grupo {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.qf-filtro-label {
		width: fit-content;
	}

}

@media (max-width: 1024px){
	.qf-grid-produtos:not(.is-grouped) {
	grid-template-columns: repeat(5, 1fr);
	}
}

@media (max-width: 768px){
	.qf-grid-produtos-inner {
		grid-template-columns: repeat(2, 1fr);
	}
}

.qf-grid-item {
	text-align: center;
    background: #fff;
    padding: 10px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
	transition: all 0.25s ease;
}

.qf-grid-item:hover {
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.65);
	transform: translateY(-4px);
}

.qf-grid-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 220px;
	margin-bottom: 10px;
	overflow: hidden;
}

.qf-grid-thumb img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.qf-grid-thumb:hover img {
	transform: scale(1.05);
}

.qf-grid-item .qf-grid-title {
	font-size: 14px;
	font-weight: 600;
	color: #113F59;
	min-height: 40px;
}

.qf-grid-ca {
	font-size: 13px;
	color: #113F59;
	margin: 6px 0;
}

.qf-grid-item a.qf-grid-btn {
	display: inline-block;
	background: #113F59;
	color: #FFF;
	padding: 6px 20px;
	font-size: 12px;
	text-decoration: none;
	text-transform: uppercase;
    width: 100%;
}

.qf-grid-item a.qf-grid-btn:hover {
	background: #E3303C;
	color: #FFF;
}

.qf-grid-loadmore-wrap {
	text-align: center;
	margin-top: 40px;
}

.qf-grid-loadmore-wrap .qf-grid-loadmore {
	background: #031927;
	color: #fff;
	border: none;
	padding: 10px 30px;
	cursor: pointer;
    transition: all 0.25s ease;
}

/* TABLET */
@media (max-width: 1024px){
	.qf-grid-produtos {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* MOBILE */
@media (max-width: 768px){
	.qf-grid-wrapper {
		padding: 30px 20px;
	}

	.qf-grid-produtos {
		grid-template-columns: repeat(2, 1fr);
	}

	.qf-grid-thumb {
		height: 140px;
	}
}

/* ============================= */
/* FILTROS NOVO GRID (v2) */
/* ============================= */



/* ============================= */
/* RESPONSIVO */
/* ============================= */



/*------ POST INDIVIDUAL ------*/

.qf-post-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.qf-post-title {
    font-size: 42px !important;
    margin-bottom: 20px;
    text-align: center;
}

.qf-post-thumbnail img {
    width: 100%;
    height: auto;
    margin-bottom: 50px;
    border: solid 1px #000;
}

.qf-post-content {
    line-height: 1.3;
}

.qf-post-content h2 {
    font-size: 30px;
    font-weight: 400;
    margin-top: 40px;
    margin-bottom: 15px;
    color: #113F59;
}

.qf-post-content h3 {
    font-size: 20px;
    margin-top: 40px;
    margin-bottom: 15px;
    color: #113F59;
}

.qf-post-content p, .qf-post-content ul {
    font-size: 16px;
    margin-bottom: 15px;
    color: #5C5C5C;
}

.qf-post-content a {
    color: #C7000D;
}

.qf-post-content img {
    margin: 40px 20px;
}