/*
 * Quintal Mineiro do Braga — sistema de design
 * Cores derivadas da identidade (vinho, caramelo, mostarda do banner) com contraste WCAG AA.
 *   vinho #7E0700 + branco ........ 10,9:1   (botões de compra, títulos)
 *   mostarda #F3BE00 + vinho-900 .. 8,6:1    (destaques, CTA de atenção)
 *   caramelo #D98741 .............. só decorativo (linhas, ícones, fundos com texto escuro)
 *   caramelo-700 #A4581B + branco . 5,3:1    (quando o caramelo precisa levar texto)
 */
:root {
	--qm-vinho: #7E0700;
	--qm-vinho-900: #560400;
	--qm-vinho-950: #3D0300;
	--qm-caramelo: #D98741;
	--qm-caramelo-700: #A4581B;
	--qm-mostarda: #F3BE00;
	--qm-creme: #FBF4E8;
	--qm-creme-200: #F1E4D0;
	--qm-texto: #2B1B17;
	--qm-texto-2: #5E4B45;
	--qm-branco: #FFFFFF;
	--qm-raio: 12px;
	--qm-sombra: 0 2px 10px rgba(61, 3, 0, .06);
	--qm-sombra-hover: 0 12px 28px rgba(61, 3, 0, .14);
}

body { color: var(--qm-texto); }
::selection { background: var(--qm-mostarda); color: var(--qm-vinho-900); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
	outline: 3px solid var(--qm-mostarda); outline-offset: 2px;
}

/* ---------- Botões WooCommerce / JetWoo ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .jet-woo-product-button .button,
.woocommerce ul.products li.product .button, .wc-block-components-button {
	background: var(--qm-vinho) !important;
	color: var(--qm-branco) !important;
	border: 0 !important;
	border-radius: 8px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	transition: background .2s ease, transform .2s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .jet-woo-product-button .button:hover,
.woocommerce ul.products li.product .button:hover {
	background: var(--qm-vinho-900) !important;
	color: var(--qm-branco) !important;
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .checkout-button, #place_order {
	background: var(--qm-vinho) !important;
	font-size: 1.05em !important;
}

/* ---------- Cards de produto (home: JetWoo | loja/categorias: Woo/Astra) ---------- */
.jet-woo-products .jet-woo-products__inner-box,
.woocommerce ul.products li.product {
	background: var(--qm-branco);
	border: 1px solid var(--qm-creme-200) !important;
	border-radius: var(--qm-raio);
	overflow: hidden;
	box-shadow: var(--qm-sombra);
	transition: box-shadow .25s ease, transform .25s ease;
	display: flex; flex-direction: column; height: 100%;
	padding-bottom: 16px !important;
}
.jet-woo-products .jet-woo-products__inner-box:hover,
.woocommerce ul.products li.product:hover {
	box-shadow: var(--qm-sombra-hover);
	transform: translateY(-3px);
}
/* Fotos sempre quadradas: acaba com cards de alturas diferentes */
.jet-woo-product-thumbnail, .woocommerce ul.products li.product .astra-shop-thumbnail-wrap { margin-bottom: 12px !important; }
.jet-woo-product-thumbnail img,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img {
	width: 100% !important; aspect-ratio: 1 / 1; object-fit: cover; display: block;
}
.jet-woo-product-title, .woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 14px; min-height: 2.7em;
}
.jet-woo-product-title a, .woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--qm-texto) !important;
	font-size: 15px !important; line-height: 1.35 !important; font-weight: 600 !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.jet-woo-product-title a:hover { color: var(--qm-vinho) !important; }
.jet-woo-product-price, .woocommerce ul.products li.product .price {
	color: var(--qm-vinho) !important; font-size: 18px !important; font-weight: 800 !important;
	padding: 0 14px; margin: 6px 0 12px !important;
}
.jet-woo-product-price del, .woocommerce ul.products li.product .price del { color: var(--qm-texto-2) !important; font-weight: 400; font-size: .8em; }
.jet-woo-product-price ins, .woocommerce ul.products li.product .price ins { text-decoration: none; }
.jet-woo-product-button, .woocommerce ul.products li.product .button { margin-top: auto !important; }
.jet-woo-product-button { padding: 0 14px; }
.jet-woo-product-button .button, .woocommerce ul.products li.product .button {
	display: block !important; width: calc(100% - 28px) !important; margin-left: 14px !important; margin-right: 14px !important;
	text-align: center; padding: 11px 10px !important; font-size: 13px !important;
}
.jet-woo-product-button .button { width: 100% !important; margin: 0 !important; }
/* Grade de produtos do Elementor Pro na home: mesmo card das páginas da loja */
.qm-products ul.products { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; margin: 0 !important; }
.qm-products ul.products::before, .qm-products ul.products::after { display: none !important; }
.qm-products ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }
@media (max-width: 1024px) { .qm-products ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .qm-products ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Selo "Esgotado" do tema */
.ast-shop-product-out-of-stock {
	background: var(--qm-vinho-900) !important; color: #fff !important; font-weight: 800 !important;
	border-radius: 999px !important; font-size: 12px !important; letter-spacing: .06em; padding: 6px 14px !important;
}

/* Selos (oferta / esgotado) */
.woocommerce span.onsale, .jet-woo-product-badge {
	background: var(--qm-mostarda) !important; color: var(--qm-vinho-900) !important;
	font-weight: 800 !important; border-radius: 999px !important;
}

/* ---------- Páginas de categoria e loja ---------- */
.woocommerce-products-header__title, .woocommerce .page-title, .ast-archive-title {
	color: var(--qm-vinho) !important; font-weight: 800 !important;
}
.term-description, .woocommerce-products-header .term-description {
	max-width: 760px; color: var(--qm-texto-2); font-size: 16px; line-height: 1.6;
	border-left: 4px solid var(--qm-caramelo); padding: 4px 0 4px 16px; margin: 8px 0 28px;
}
.woocommerce-breadcrumb, .woocommerce-breadcrumb a { color: var(--qm-texto-2) !important; }
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--qm-creme-200); border-radius: 8px; padding: 8px 12px; color: var(--qm-texto);
}
.woocommerce-info, .woocommerce-message {
	background: var(--qm-creme) !important; color: var(--qm-texto) !important;
	border-top-color: var(--qm-caramelo) !important; border-radius: 8px;
}
.woocommerce-info a { color: var(--qm-vinho) !important; font-weight: 700; text-decoration: underline; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--qm-vinho); color: #fff; }

/* ---------- Cabeçalho ---------- */
.elementor-2892 .elementor-icon-box-title, .elementor-2892 .elementor-icon-box-title a {
	font-size: 12px !important; font-weight: 600 !important; color: var(--qm-vinho) !important;
}
.elementor-2892 .elementor-icon-box-wrapper:hover .elementor-icon { color: var(--qm-caramelo-700) !important; }
.elementor-2892 .dgwt-wcas-search-input {
	border: 1.5px solid var(--qm-creme-200) !important; border-radius: 999px !important;
	background: #fff !important; padding-left: 44px !important; min-height: 46px;
}
.elementor-2892 .dgwt-wcas-search-input:focus { border-color: var(--qm-caramelo) !important; }
/* Menu principal */
.elementor-2892 .elementor-nav-menu--main > .elementor-nav-menu > li > a {
	font-weight: 800 !important; letter-spacing: .06em; color: var(--qm-vinho) !important;
}
.elementor-2892 .elementor-nav-menu--main > .elementor-nav-menu > li > a:hover,
.elementor-2892 .elementor-nav-menu--main > .elementor-nav-menu > li > a.highlighted { color: var(--qm-caramelo-700) !important; }
/* Dropdown: fundo branco, texto vinho (antes: vinho sobre caramelo, 3,9:1) */
.elementor-2892 .elementor-nav-menu--dropdown {
	background: #fff !important; border: 1px solid var(--qm-creme-200) !important;
	border-radius: 10px; box-shadow: var(--qm-sombra-hover); padding: 6px 0 !important; min-width: 250px !important;
}
.elementor-2892 .elementor-nav-menu--dropdown a {
	background: transparent !important; color: var(--qm-texto) !important;
	font-size: 14px !important; font-weight: 500 !important; padding: 10px 18px !important;
	border-left: 3px solid transparent !important;
}
.elementor-2892 .elementor-nav-menu--dropdown a:hover, .elementor-2892 .elementor-nav-menu--dropdown a.highlighted {
	background: var(--qm-creme) !important; color: var(--qm-vinho) !important; border-left-color: var(--qm-caramelo) !important;
}
.elementor-2892 .elementor-nav-menu--dropdown .sub-arrow { color: var(--qm-caramelo-700) !important; }
/* "Promoções" em destaque no menu */
.elementor-2892 .elementor-nav-menu--main .menu-item a[href*="/promocoes/"] { color: var(--qm-caramelo-700) !important; }

/* ---------- Rodapé ---------- */
.elementor-2893 .elementor-section[data-id="181b1a8c"],
.elementor-2893 .elementor-section[data-id="57a8ab93"], .elementor-2893 .elementor-section[data-id="9eb2dc1"],
.elementor-2893 .elementor-section[data-id="00e2084"], .elementor-2893 .elementor-section[data-id="c21de5f"] {
	background: var(--qm-vinho-900) !important;
}
.elementor-2893 .elementor-section[data-id="181b1a8c"] .elementor-heading-title { color: var(--qm-mostarda) !important; letter-spacing: .08em; }
.elementor-2893 .elementor-section[data-id="181b1a8c"] .elementor-element-766b4725 .elementor-heading-title { color: var(--qm-creme) !important; letter-spacing: 0; font-weight: 500 !important; }
.elementor-2893 .elementor-icon-list-text, .elementor-2893 .elementor-icon-list-item a { color: var(--qm-creme) !important; }
.elementor-2893 .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--qm-mostarda) !important; }
/* Barra final: antes branco sobre caramelo (2,8:1) */
.elementor-2893 .elementor-section[data-id="7bebc31a"] { background: var(--qm-vinho-950) !important; }
.elementor-2893 .elementor-section[data-id="7bebc31a"] .elementor-icon-list-text,
.elementor-2893 .elementor-section[data-id="7bebc31a"] .elementor-icon-list-icon i { color: var(--qm-creme) !important; }
/* Botão da newsletter do rodapé */
.elementor-2893 .elementor-button[type="submit"], .elementor-2893 .e-form__buttons .elementor-button {
	background: var(--qm-mostarda) !important; color: var(--qm-vinho-900) !important; font-weight: 800 !important;
}
.elementor-2893 .elementor-field { border-radius: 8px !important; }

/* ---------- Home: blocos novos ---------- */
.qm-container { max-width: 1240px; margin: 0 auto; }
.qm-eyebrow .elementor-heading-title {
	display: inline-block; background: var(--qm-mostarda); color: var(--qm-vinho-900) !important;
	font-size: 13px !important; font-weight: 800 !important; letter-spacing: .08em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px;
}
.qm-h1 .elementor-heading-title { color: var(--qm-vinho) !important; font-weight: 800 !important; line-height: 1.12 !important; }
.qm-lead, .qm-lead p { color: var(--qm-texto-2) !important; font-size: 18px; line-height: 1.6; }
.qm-hero-img img { border-radius: 20px; box-shadow: 18px 18px 0 var(--qm-mostarda); }
.qm-btn .elementor-button {
	background: var(--qm-vinho) !important; color: #fff !important; border-radius: 10px !important;
	font-weight: 800 !important; letter-spacing: .03em; padding: 16px 28px !important;
	transition: background .2s ease, transform .2s ease;
}
.qm-btn .elementor-button:hover { background: var(--qm-vinho-900) !important; transform: translateY(-1px); }
.qm-btn-ghost .elementor-button {
	background: transparent !important; color: var(--qm-vinho) !important; border: 2px solid var(--qm-vinho) !important;
	border-radius: 10px !important; font-weight: 800 !important; padding: 14px 26px !important;
}
.qm-btn-ghost .elementor-button:hover { background: var(--qm-vinho) !important; color: #fff !important; }
.qm-btn-mostarda .elementor-button {
	background: var(--qm-mostarda) !important; color: var(--qm-vinho-900) !important; border-radius: 10px !important;
	font-weight: 800 !important; padding: 16px 28px !important;
}
.qm-btn-mostarda .elementor-button:hover { background: #FFD233 !important; }
.qm-microtrust .elementor-icon-list-text { color: var(--qm-texto-2) !important; font-size: 14px; font-weight: 600; }
.qm-microtrust .elementor-icon-list-icon i { color: var(--qm-caramelo-700) !important; }

/* Faixa de garantias */
.qm-trust .elementor-icon-box-icon .elementor-icon { color: var(--qm-mostarda) !important; font-size: 30px !important; }
.qm-trust .elementor-icon-box-title { color: #fff !important; font-size: 15px !important; font-weight: 800 !important; margin-bottom: 2px !important; }
.qm-trust .elementor-icon-box-description { color: var(--qm-creme) !important; font-size: 13px !important; opacity: .9; }

/* Títulos de seção */
.qm-section-title .elementor-heading-title { color: var(--qm-vinho) !important; font-weight: 800 !important; }
.qm-section-title .elementor-heading-title::after {
	content: ""; display: block; width: 56px; height: 4px; border-radius: 4px; background: var(--qm-caramelo); margin-top: 12px;
}
.qm-section-title.qm-center .elementor-heading-title::after { margin-left: auto; margin-right: auto; }
.qm-section-sub, .qm-section-sub p { color: var(--qm-texto-2) !important; font-size: 16px; }
.qm-link .elementor-button { background: transparent !important; color: var(--qm-vinho) !important; padding: 8px 0 !important; font-weight: 800 !important; text-decoration: underline; text-underline-offset: 4px; }

/* Departamentos em carrossel: uma linha, setas no computador, deslizar no celular */
.qm-dep-carousel { position: relative; }
.qm-dep-carousel > .elementor-container {
	display: flex !important; flex-wrap: nowrap !important; gap: 16px; overflow-x: auto; overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 6px 2px 14px; margin-top: 8px;
}
.qm-dep-carousel > .elementor-container::-webkit-scrollbar { display: none; }
.qm-dep-carousel > .elementor-container > .elementor-column {
	flex: 0 0 calc((100% - 5 * 16px) / 5.5) !important; width: auto !important; max-width: none !important; scroll-snap-align: start;
}
.qm-dep-carousel > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.qm-dep-carousel > .elementor-container { align-items: stretch !important; }
.qm-dep-carousel .elementor-widget-wrap, .qm-dep-carousel .elementor-widget.qm-dep,
.qm-dep-carousel .qm-dep > .elementor-widget-container, .qm-dep-carousel .qm-dep .elementor-icon-box-wrapper { height: 100%; }
.qm-dep-carousel .qm-dep .elementor-icon-box-wrapper { min-height: 132px; box-sizing: border-box; }
.qm-dep-nav {
	position: absolute; top: 50%; transform: translateY(-60%); z-index: 3; width: 44px; height: 44px; border-radius: 50%;
	border: 1px solid var(--qm-creme-200); background: #fff; color: var(--qm-vinho); box-shadow: var(--qm-sombra-hover);
	display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 26px; line-height: 1; padding: 0;
	transition: background .2s ease, opacity .2s ease;
}
.qm-dep-nav:hover { background: var(--qm-mostarda); color: var(--qm-vinho-900); }
.qm-dep-nav[disabled] { opacity: 0; pointer-events: none; }
.qm-dep-nav--prev { left: -18px; }
.qm-dep-nav--next { right: -18px; }

/* (antiga grade fixa, mantida caso a seção volte a usar a classe qm-dep-grid) */
.qm-dep-grid > .elementor-container {
	display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; margin-top: 12px;
}
.qm-dep-grid > .elementor-container > .elementor-column { width: auto !important; }
.qm-dep-grid > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 0 !important; }
.qm-dep .elementor-icon-box-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.qm-dep .elementor-icon-box-wrapper {
	min-height: 168px; display: flex; flex-direction: column; justify-content: center;
	background: #fff; border: 1px solid var(--qm-creme-200); border-radius: var(--qm-raio);
	padding: 22px 12px; box-shadow: var(--qm-sombra); transition: all .22s ease; height: 100%;
}
.qm-dep:hover .elementor-icon-box-wrapper { border-color: var(--qm-caramelo); box-shadow: var(--qm-sombra-hover); transform: translateY(-3px); }
.qm-dep .elementor-icon { background: var(--qm-creme); color: var(--qm-vinho) !important; border-radius: 50%; padding: 16px !important; font-size: 26px !important; transition: all .22s ease; }
.qm-dep:hover .elementor-icon { background: var(--qm-mostarda); color: var(--qm-vinho-900) !important; }
.qm-dep .elementor-icon-box-title, .qm-dep .elementor-icon-box-title a { color: var(--qm-texto) !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.3; }
.qm-dep .elementor-column-wrap, .qm-dep > .elementor-widget-wrap { height: 100%; }

/* Banner "monte sua tábua" */
.qm-promo .elementor-heading-title { color: var(--qm-vinho-900) !important; font-weight: 800 !important; }
.qm-full .elementor-button { width: 100%; justify-content: center; }
.qm-full { margin-bottom: 12px; }
.qm-promo p { color: var(--qm-vinho-950) !important; font-size: 17px; }

/* Como comprar */
.qm-step .elementor-icon { background: var(--qm-vinho); color: var(--qm-mostarda) !important; border-radius: 50%; padding: 18px !important; font-size: 26px !important; }
.qm-step .elementor-icon-box-title { color: var(--qm-vinho) !important; font-weight: 800 !important; font-size: 18px !important; }
.qm-step .elementor-icon-box-description { color: var(--qm-texto-2) !important; font-size: 15px; }

/* Newsletter */
.qm-news .elementor-heading-title { color: #fff !important; }
.qm-news .elementor-field { border-radius: 10px !important; border: 0 !important; min-height: 50px; }
.qm-news .elementor-button { background: var(--qm-mostarda) !important; color: var(--qm-vinho-900) !important; font-weight: 800 !important; border-radius: 10px !important; min-height: 50px; }
.qm-news p { color: var(--qm-creme) !important; }

/* O carrossel não pode gerar rolagem lateral na página */
.elementor-7226 { overflow-x: clip; }
.elementor-7226 .jet-woo-carousel { overflow: hidden; }

@media (max-width: 1024px) {
	.qm-dep-grid > .elementor-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.qm-dep-carousel > .elementor-container > .elementor-column { flex-basis: calc((100% - 3 * 16px) / 3.5) !important; }
}
@media (max-width: 767px) {
	.qm-dep-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.qm-dep-carousel > .elementor-container { gap: 10px; }
	.qm-dep-carousel > .elementor-container > .elementor-column { flex-basis: calc((100% - 2 * 10px) / 2.6) !important; }
	.qm-dep-carousel .qm-dep .elementor-icon-box-wrapper { min-height: 112px; }
	.qm-dep-nav { display: none; }
	.qm-dep .elementor-icon-box-wrapper { min-height: 118px; padding: 14px 6px; }
	.qm-dep .elementor-icon { padding: 12px !important; font-size: 22px !important; }
	.jet-woo-product-button .button, .woocommerce ul.products li.product .button {
		font-size: 12px !important; letter-spacing: 0 !important; padding: 10px 6px !important; white-space: nowrap;
	}
	.jet-woo-product-title, .jet-woo-product-price, .jet-woo-product-button { padding-left: 10px; padding-right: 10px; }
	.qm-lead, .qm-lead p { font-size: 16px; }
	.qm-hero-img img { box-shadow: 10px 10px 0 var(--qm-mostarda); }
	.qm-dep .elementor-icon-box-wrapper { padding: 16px 8px; }
	.qm-dep .elementor-icon-box-title, .qm-dep .elementor-icon-box-title a { font-size: 13px !important; }
	.qm-btn .elementor-button, .qm-btn-ghost .elementor-button, .qm-btn-mostarda .elementor-button { width: 100%; justify-content: center; }
	.jet-woo-product-title a, .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; }
	.jet-woo-product-price, .woocommerce ul.products li.product .price { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}
