/*
Theme Name: Addvise Compra
Theme URI: https://compra.addvise.com.br/
Description: Tema leve da loja da Addvise (compra.addvise.com.br) com cabeçalho e rodapé do site principal e suporte ao WooCommerce. Baseado no tema Addvise.
Author: Lets Marketing
Author URI: https://www.letsmarketing.com.br/
Version: 1.4
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: addvise-compra
License: Fonte Host Grotesk sob SIL Open Font License (fonts/OFL.txt)
*/

/* ==================================================================
   FONTES
   ================================================================== */
@font-face {
	font-family: 'Host Grotesk';
	src: url('fonts/HostGrotesk-Light.woff2') format('woff2'), url('fonts/HostGrotesk-Light.ttf') format('truetype');
	font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Host Grotesk';
	src: url('fonts/HostGrotesk-Regular.woff2') format('woff2'), url('fonts/HostGrotesk-Regular.ttf') format('truetype');
	font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Host Grotesk';
	src: url('fonts/HostGrotesk-Medium.woff2') format('woff2'), url('fonts/HostGrotesk-Medium.ttf') format('truetype');
	font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Host Grotesk';
	src: url('fonts/HostGrotesk-SemiBold.woff2') format('woff2'), url('fonts/HostGrotesk-SemiBold.ttf') format('truetype');
	font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
	font-family: 'Host Grotesk';
	src: url('fonts/HostGrotesk-Bold.woff2') format('woff2'), url('fonts/HostGrotesk-Bold.ttf') format('truetype');
	font-weight: 700; font-style: normal; font-display: swap;
}

/* ==================================================================
   RESET (igual ao tema Addvise)
   ================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
nav ul, ul li, ul { list-style: none; }
a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
h1, h2, h3, h4, h5, h6 { font-weight: normal; }
html { overflow-y: scroll; }
strong, th { font-weight: bold; }
a:focus { outline: none; }
textarea:focus, input:focus, input, textarea, select { outline: 0; }

/* ==================================================================
   GERAL
   ================================================================== */
.logo, #menuWrapper, #menuWrapper a, footer a, .social a, #assinatura, a.btn, .headerCarrinho {
	transition: all .3s;
}
body {
	background: #fff;
	color: #58595B;
	font-size: 18px;
	line-height: 30px;
	font-family: 'Host Grotesk', sans-serif;
	font-weight: 500;
}
h1 { font-weight: 700; font-size: 50px; line-height: 60px; color: #7ED74C; margin-bottom: 20px; }
h2 { font-weight: 700; font-size: 36px; line-height: 40px; margin-bottom: 20px; }
h3 { font-weight: 700; font-size: 24px; line-height: 30px; margin-bottom: 20px; }
p { margin-bottom: 20px; }
a:link, a:visited { color: #707070; text-decoration: none; }
a:hover, a:active { color: #7ED74C; }

.spacer { display: block; height: 80px; width: 100%; }

section {
	padding: 0 20px;
	overflow: hidden;
	clear: both;
	position: relative;
	z-index: 4;
}
.conteudo {
	padding: 100px 0 80px 0;
	overflow: hidden;
	clear: both;
	position: relative;
	z-index: 2;
}
.conteudo.conteudoLoja { padding: 50px 0 80px 0; }
.blocos, .bloco, .postSingle { overflow: hidden; }

/* ==================================================================
   CABEÇALHO
   ================================================================== */
header {
	width: 100%;
	position: fixed;
	background: #fff;
	z-index: 9990;
	left: 0;
	top: 0;
}
.admin-bar header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar header { top: 46px; } }

.logo, #menuLogo img {
	display: block;
	float: left;
	height: 46px !important;
	width: auto !important;
	margin: 17px 0;
}
.fa-bars, .fa-xmark {
	color: #7ED74C;
	font-size: 25px;
	line-height: 80px !important;
	height: 80px;
	cursor: pointer;
	float: right;
}
.fa-xmark {
	position: absolute;
	top: 10px;
	right: 20px;
	height: 40px;
	line-height: 40px !important;
}

/* Carrinho (aparece só com itens) */
a.headerCarrinho {
	float: right;
	position: relative;
	height: 80px;
	line-height: 80px;
	margin-right: 25px;
	font-size: 22px;
	color: #58595B;
}
a.headerCarrinho:hover { color: #7ED74C; }
a.headerCarrinho.vazio { display: none; }
a.headerCarrinho span {
	position: absolute;
	top: 18px;
	right: -12px;
	min-width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 10px;
	background: #7ED74C;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	padding: 0 4px;
	box-sizing: border-box;
}

/* ==================================================================
   MENU (tela cheia)
   ================================================================== */
#menuWrapper {
	position: fixed;
	background: #58595B;
	z-index: 9995;
	top: 10px;
	right: 10px;
	bottom: 10px;
	left: 10px;
	border-radius: 20px;
	border-top-left-radius: 50px;
	display: none;
}
#menu {
	position: relative;
	overflow: hidden;
	padding: 0 30px;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	height: 100%;
	box-sizing: border-box;
	width: 100%;
}
#menuLinks {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	overflow: hidden;
	margin-bottom: 40px;
	width: 100%;
}
#menuLinks ul { width: 100%; }
#menuLinks ul li { font-size: 22px; line-height: 26px; margin-bottom: 10px; font-weight: 700; }
#menuLinks .subnav { padding-top: 10px; }
#menuLinks .subnav li { font-size: 18px; padding-left: 20px; font-weight: 400; line-height: 22px; }
#menuRodape {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
#menu a:link, #menu a:visited { color: #fff; }
#menu a:hover, #menu a:active { color: #BDE6A5; }

/* ==================================================================
   REDES SOCIAIS
   ================================================================== */
.social {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	margin-bottom: 20px;
	overflow: hidden;
	font-size: 20px;
}
.social li { margin-right: 15px; padding: 0 1px; }
.social li:last-child { margin: 0; }
#menuWrapper .social { justify-content: flex-end; }

/* ==================================================================
   RODAPÉ
   ================================================================== */
footer a:link, footer a:visited { color: #fff; }
footer a:hover, footer a:active { color: #C9E8B8; }
#rodape {
	background: #58595B;
	color: #fff;
	position: relative;
	overflow: hidden;
	padding: 20px 20px 0 20px;
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 20px;
	border-radius: 20px;
	display: block;
	width: 100%;
	box-sizing: border-box;
}
#rodape .blocos { margin-bottom: 30px; align-items: center; }
#rodapeLogo { width: 190px; margin-bottom: 50px; }
#rodapeLogo img { display: block; width: 100%; height: auto; }
#blocoLinks { width: auto; }
#creditos { width: 100%; clear: both; text-align: center; font-size: 14px; line-height: 20px; }
p.cEmail:has(+ p.cTelefone) { margin-bottom: 0; }
#links1, #links2 { overflow: hidden; margin-bottom: 20px; }
#links1 { font-size: 24px; line-height: 38px; margin-bottom: 50px; }
#assinatura { width: auto; overflow: hidden; margin: 0 auto 20px auto; display: flex; justify-content: center; }
#assinatura a { display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 1; }
#assinatura:hover { opacity: 0.6; }
#assinatura img { width: auto; height: 22px; display: block; }
#creditos .social { justify-content: center; }
#creditos .social li { margin: 0 7px; }

/* ==================================================================
   BOTÕES (padrão Addvise)
   ================================================================== */
a.btn:link, a.btn:visited {
	padding: 10px 20px;
	font-size: 20px;
	line-height: 25px;
	color: #58595B;
	margin-bottom: 20px;
	display: inline-block;
	font-weight: 700;
	border: 2px solid #7ED74C;
	border-radius: 5px;
}
a.btn:hover, a.btn:active { color: #fff; background: #7ED74C; }

/* ==================================================================
   WOOCOMMERCE — ajustes visuais para a identidade Addvise
   ================================================================== */
.woocommerce, .woocommerce-page { font-family: 'Host Grotesk', sans-serif; }
.woocommerce h1.product_title, .woocommerce-products-header__title, .woocommerce-page h1 { color: #7ED74C; }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price { color: #58595B; font-weight: 700; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 20px; line-height: 26px; color: #58595B; font-weight: 700; }
.woocommerce span.onsale { background: #7ED74C; color: #58595B; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce-page .wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: #7ED74C !important;
	color: #58595B !important;
	border: 2px solid #7ED74C !important;
	border-radius: 5px !important;
	font-family: 'Host Grotesk', sans-serif !important;
	font-weight: 700 !important;
	font-size: 18px;
	line-height: 24px;
	display: inline-block;
	padding: 12px 24px;
	transition: all .3s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce-page .wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background: #58595B !important;
	border-color: #58595B !important;
	color: #fff !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce .quantity .qty {
	font-family: 'Host Grotesk', sans-serif;
	font-size: 16px;
	color: #58595B;
	border: 1px solid #BFC0C1;
	border-radius: 5px;
	padding: 10px 12px;
	box-sizing: border-box;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus { border-color: #7ED74C; }
.woocommerce form .form-row label { font-size: 14px; line-height: 20px; font-weight: 500; }

.woocommerce-message, .woocommerce-info { border-top-color: #7ED74C; }
.woocommerce-message::before, .woocommerce-info::before { color: #7ED74C; }

.woocommerce table.shop_table { border-radius: 10px; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: #fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #58595B; }

.postSingle ul, .woocommerce-product-details__short-description ul, .woocommerce-Tabs-panel ul { margin: 0 0 20px 20px; list-style: disc; }
.postSingle ul li, .woocommerce-product-details__short-description ul li, .woocommerce-Tabs-panel ul li { list-style: disc; }

/* ==================================================================
   RESPONSIVO
   ================================================================== */
@media only screen and (min-width: 480px) {
	#menuLinks ul.menu2, #menuLinks ul.menu3 { width: auto; }
	#menuLinks ul li { margin-bottom: 20px; }
	#menuLinks ul.menu3 li { margin-bottom: 36px; }
	#menuLinks ul.menu3 li:last-child { margin-bottom: 20px; }
	#menuLinks .subnav li { margin-bottom: 10px; }
}
@media only screen and (min-width: 768px) {
	#menuWrapper { border-radius: 30px; border-top-left-radius: 100px; }
	#rodape { padding: 50px 50px 30px 50px; }
	.blocos {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
		position: relative;
	}
	.bloco { width: 46%; max-width: none; }
	#menu { width: 700px; margin: 0 auto; }
}
@media only screen and (min-width: 1024px) {
	#menuWrapper { bottom: auto; height: 600px; }
	#menuLinks ul li { margin-bottom: 20px; font-size: 30px; line-height: 40px; }
	#menuLinks ul.menu3 li { margin-bottom: 40px; }
	#menuLinks ul.menu3 li:last-child { margin-bottom: 20px; }
	#menuLinks .subnav li { font-size: 20px; line-height: 30px; }
	h1 { font-size: 60px; line-height: 70px; }
	.woocommerce h1.product_title { font-size: 44px; line-height: 52px; }
	#creditos {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}
	#rodape .social { justify-content: flex-start; }
	#rodape .social li { margin: 0 15px 0 0; }
	#assinatura { margin: 0 0 20px 0; }
}
@media only screen and (min-width: 1366px) {
	section { width: 1300px; padding: 0; margin: 0 auto; }
	#menuWrapper { width: 1300px; left: 50%; margin-left: -650px; right: auto; }
}

/* ==================================================================
   CHECKOUT — utilitários usados pelo template copiado do site atual
   (equivalentes às classes Tailwind de woocommerce/checkout/form-checkout.php)
   ================================================================== */
form.woocommerce-checkout.mt-8 { margin-top: 2rem; }
.woocommerce-checkout .grid { display: grid; }
.woocommerce-checkout .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.woocommerce-checkout .gap-12 { gap: 3rem; }
.woocommerce-checkout .mb-8 { margin-bottom: 2rem; }
.woocommerce-checkout .mb-6 { margin-bottom: 1.5rem; }
.woocommerce-checkout .bg-gray-50 { background: #f9fafb; }
.woocommerce-checkout .p-6 { padding: 1.5rem; }
.woocommerce-checkout .rounded-2xl { border-radius: 1rem; }
.woocommerce-checkout .border { border: 1px solid #f3f4f6; }
.woocommerce-checkout .border-b { border-bottom: 1px solid #e5e7eb; }
.woocommerce-checkout .pb-4 { padding-bottom: 1rem; }
.woocommerce-checkout .text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.woocommerce-checkout .font-bold { font-weight: 700; }
.woocommerce-checkout .text-gray-900 { color: #58595B; }
.woocommerce-checkout .sticky { position: sticky; top: 100px; }
.checkout-qty-wrapper.inline-block { display: inline-block; }
.checkout-qty-wrapper.ml-2 { margin-left: .5rem; }
.checkout-qty-wrapper .qty { width: 70px; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { float: none; width: 100%; }
@media (min-width: 1024px) {
	.woocommerce-checkout .lg\:grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.woocommerce-checkout .lg\:col-span-7 { grid-column: span 7 / span 7; }
	.woocommerce-checkout .lg\:col-span-5 { grid-column: span 5 / span 5; }
	.woocommerce-checkout .lg\:p-8 { padding: 2rem; }
}

/* Blocos do WooCommerce (carrinho vazio / novidades) */
.wc-block-components-product-button__button, .wp-block-button__link.add_to_cart_button, .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	background: #7ED74C !important;
	color: #58595B !important;
	border: 2px solid #7ED74C !important;
	border-radius: 5px !important;
	font-family: 'Host Grotesk', sans-serif !important;
	font-weight: 700 !important;
}
.wc-block-components-product-button__button:hover, .wp-block-button__link.add_to_cart_button:hover, .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover {
	background: #58595B !important;
	border-color: #58595B !important;
	color: #fff !important;
}
.postSingle .wc-block-grid__products, .postSingle .wc-block-product-template, .postSingle .wc-block-grid__products li, .postSingle .wc-block-product-template li { list-style: none; margin-left: 0; }
