/* ==========================================================================
   VERDE AMARELO ARTE SACRA — tema classic
   --------------------------------------------------------------------------
   Cores:   Oliva #728C2A · Amarelo #FDEB01 · Escuro #212121 · Raleway
   Estética: estrutura editorial do fine1949, identidade verde amarelo
   ========================================================================== */


:root {
	/* ---- fonte ---- */
	--font-primary: 'Raleway', sans-serif;

	/* ---- primária = verde oliva ---- */
	--primary: #728C2A;
	--primary-hover: #617A22;
	--primary-active: #52681C;
	--secondary: #212121;
	--secondary-hover: #2e2e2e;
	--secondary-active: #161616;

	--green: #728C2A;
	--green-hover: #617A22;
	--green-active: #52681C;

	--btn-product-thumb: #728C2A;
	--btn-product-thumb-hover: #52681C;
	--btn-product-thumb-active: #52681C;
	--btn-product-thumb-color: #fff;

	/* ---- header ---- */
	--header-topbar-background-color: #212121;
	--header-topbar-text-color: #f2f2f2;
	--header-topbar-icon-color: #FDEB01;
	--header-background-color: #fff;
	--header-border-color: transparent;
	--header-color-text: #212121;
	--header-svg-color: #212121;
	--header-svg-width: 22px;
	--header-svg-height: 22px;
	--header-search-background-color: #f5f5f5;
	--header-search-background-color-focus: #ebebeb;
	--header-search-color: #212121;
	--header-menu-background: #fff;
	--header-menu-color-text: #212121;
	--header-menu-color-text-hover: #728C2A;
	--header-menu-font-size: 13px;
	--header-menu-text-height: 72px;

	/* ---- footer ---- */
	--footer-background-color: #fff;
	--footer-border-color: #e8e8e8;
	--footer-color-text: #212121;
	--footer-space: 64px;

	/* ---- botão add-cart ---- */
	--btn-add-cart: #728C2A;
	--btn-add-cart-hover: #617A22;
	--btn-add-cart-active: #52681C;
	--btn-add-cart-color: #fff;

	/* ---- variações ---- */
	--variant-button-background-color: #fff;
	--variant-button-color: #212121;
	--variant-button-border-color: #d8d8d8;
	--variant-button-selected-background-color: #728C2A;
	--variant-button-selected-border-color: #728C2A;
	--variant-button-selected-color: #fff;
	--variant-button-border-radius: 0px;

	/* ---- layout ---- */
	--border-radius-default: 0px;
	--products-gutter-x: 8px;
	--products-gutter-y: 8px;
	--product-thumb-spacing: 4px;
	--spacing-sections-home: 56px;
	--spacing-sections-product: 40px;
	--spacing-product-column-right: 24px;
	--text: #212121;
	--text-secondary: #5b5b5b;
	--background: #fff;
	--container-xxl: 1880px;
	--container-small: var(--container-xxl);
	--container-large: 1920px;
	--logo-max-height: 60px;
	--plyr-color-main: #728C2A;

	@media (max-width: 991px) {
		--spacing-sections-home: 40px;
		--footer-space: 24px;
		--logo-max-height: 48px;
	}
}

.container { max-width: 1880px; }

@media (min-width: 992px) {
	.container-large { max-width: var(--container-large); }
}

/* ====================== Tipografia ====================== */
body { font-weight: 300; letter-spacing: .2px; color: var(--text); }

h1, h2, h3, h4 {
	font-family: var(--font-primary);
	font-weight: 300;
	letter-spacing: .3px;
	color: #212121;
}

.heading-title {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .6px;
	text-transform: uppercase;
}
@media (max-width: 991px) {
	.heading-title { font-size: 18px; }
}

.module-title, .section-title {
	text-align: center;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .6px;
	text-transform: uppercase;
	margin-bottom: 32px;
}
.module-title::after, .section-title::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	background: #728C2A;
	margin: 12px auto 0;
}

/* ====================== Header ====================== */
header { box-shadow: 0 1px 0 rgba(0,0,0,.06); }

.menu-advanced .item-nivel-1 .item-nivel-1-text {
	font-size: 13px;
	text-transform: uppercase;
	font-weight: 500;
	color: #212121;
	padding-left: 12px;
	padding-right: 12px;
}
.menu-advanced .item-nivel-1 .item-nivel-1-text:hover { color: var(--primary); }
.menu-advanced .lista-nivel-1 { justify-content: left; gap: 0; }

/* menu-smart: reduzir espaçamento entre itens */
.menu-smart .menu-smart-link-level-1 {
	padding-left: 12px;
	padding-right: 12px;
}
.menu-smart .menu-smart-level-1 { gap: 0; justify-content: flex-start; }

.top-bar { padding: 10px 0; text-transform: uppercase; }
.top-bar a:hover { color: #FDEB01; }

#header { background-color: var(--background); }

/* ====================== Botões ====================== */
.btn { padding: 12px 24px; }
.btn-primary {
	background: var(--primary);
	border-color: var(--primary);
	color: #fff;
	font-weight: 500;
	letter-spacing: .3px;
}
.btn-primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }

.btn.btn-add-cart { background-color: #728C2A; border-color: #728C2A; }
.btn.btn-add-cart:hover { background-color: #617A22; border-color: #617A22; }

.btn.btn-white-outline {
	border: 1px solid #fff;
	padding: 10px 20px;
	color: #fff;
}
.btn.btn-white-outline:hover { background: #fff; color: var(--text); }

@media (max-width: 991px) {
	.btn { font-size: 12px; }
}

/* ====================== Banners ====================== */
.banners-home .banner-content-wrapper { position: relative; overflow: hidden; }
.banners-home .banner-content-wrapper::after {
	content: '';
	position: absolute;
	width: 100%; height: 100%;
	background: #0000008a;
	top: 0; left: 0;
}
.banners-home .banner-content-wrapper img { transition: ease all .2s; }
.banners-home .banner-content-wrapper:hover img { transform: scale(1.02); }
.banners-home .banner-content {
	position: absolute;
	left: 50%; top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	text-align: center;
	width: 100%;
	padding: 12px;
}
.banners-home .banner-content-title {
	font-size: 40px;
	font-weight: 600;
	letter-spacing: .4px;
	color: #fff;
	text-transform: uppercase;
}
.banners-home-gy { --bs-gutter-y: 4px; }
.banners-home-gx { --bs-gutter-x: 4px; }
@media (max-width: 991px) {
	.banners-home .banner-content-title { font-size: 22px; }
}

/* ====================== Categorias ====================== */
.carousel-categories .swiper { max-width: 100%; }
.carousel-categories .wrapper-bg-image { overflow: hidden; }
.carousel-categories .wrapper-bg-image img { max-width: none; transform: none; transition: ease all .2s; }
.carousel-categories .wrapper-bg-image:hover img { transform: scale(1.02); }
.carousel-categories .bg-item-category { background: rgba(0,0,0,.40); z-index: 1; }
.carousel-categories .carousel-categories-title {
	position: absolute;
	top: 50%; transform: translateY(-50%);
	color: #fff;
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: .6px;
	font-weight: 500;
	z-index: 2;
}
.carousel-categories .categories-arrows { margin-top: 40px; }
.carousel-categories .heading-title { display: none; }
@media (max-width: 991px) {
	.carousel-categories .carousel-categories-title { font-size: 12px; }
}

/* ====================== Listas de produto ====================== */
.product-list-carousel .vowt-prev { left: 24px; }
.product-list-carousel .vowt-next { right: 24px; }

/* ====================== Setas de navegação — oliva + dourado ====================== */
.container-arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgba(255,255,255,0.88);
	border: 1px solid rgba(201,168,60,0.55);
	color: #C9A83C;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .25s ease, border-color .25s ease, color .25s ease;
}
.vowt-prev:hover .container-arrow,
.vowt-next:hover .container-arrow {
	background: #728C2A;
	border-color: #728C2A;
	color: #fff;
}
.vowt-prev:hover .container-arrow i,
.vowt-next:hover .container-arrow i {
	color: #fff !important;
}

@media (max-width: 991px) {
	.container-arrow { width: 32px; height: 32px; }
}

/* Fix: bi-chevron-next não existe no Bootstrap Icons — desenhar chevron via CSS */
i.bi-chevron-next {
	display: inline-block !important;
	width: 0.45em;
	height: 0.45em;
	border-right: 0.13em solid currentColor;
	border-top: 0.13em solid currentColor;
	transform: rotate(45deg) translateX(-15%);
	vertical-align: middle;
}
i.bi-chevron-next::before { content: none !important; }

.product-list-pagination {
	display: flex;
	margin-top: 40px;
	padding: 0 12px;
}
.product-list-pagination .swiper-pagination-bullet {
	width: 100%;
	max-width: 160px;
	min-width: 50px;
	border-radius: 0px;
	height: 4px;
	margin: 0 !important;
	background: #d0d0d0;
	opacity: 1;
}
.product-list-pagination .swiper-pagination-bullet-active {
	background: #728C2A;
}

.product-list-content { margin-bottom: 32px; }
.product-list-heading-title-wrapper { max-width: var(--container-xxl); margin: auto; }

.product-tabs .nav-link {
	padding: 12px;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .4px;
	text-transform: uppercase;
}
.product-tabs .nav-tabs { display: flex; gap: 24px; }
.product-tabs .product-list .product-list-link { display: none; }
@media (max-width: 991px) {
	.product-tabs .nav-link { padding: 8px 0; font-size: 16px; }
	.product-tabs .nav-tabs { gap: 16px; }
}

/* ====================== Card de produto ====================== */
.product-thumb .product-thumb-bottom {
	position: inherit;
	opacity: 1;
	border: none;
	padding: 0;
	background: transparent;
}
.product-thumb .product-thumb-top { margin: 0; }
.product-thumb .caption { padding: 14px; }
.product-thumb .btn-product-thumb-view { display: none; }
.product-thumb .product-price-value { font-size: 17px; font-weight: 600; }
.product-thumb .product-price-old-value { color: #8B5A1A; font-size: 12px; font-weight: 400; }
.product-thumb .product-short-installments { font-size: 12px; font-weight: 400; margin-top: 4px; }
.product-thumb-title a { font-size: 14px; font-weight: 500; color: #212121; }
.product-thumb .product-tag { background: #fff; color: #212121; font-weight: 700; padding: 6px 10px; border-radius: 0; }

.product-thumb:has(.btn-product-thumb-no-stock) .image { filter: opacity(0.5); }
.product-thumb:has(.btn-product-thumb-no-stock)::after {
	content: 'Esgotado';
	position: absolute; right: 8px; top: 8px;
	color: #fff; font-size: 13px; font-weight: 500;
	background: #212121;
	padding: 4px 8px;
	border-radius: 2px;
}

.product-thumb-input-quantity { display: none; }

@media (max-width: 991px) {
	.product-thumb .caption { padding: 8px; }
	.product-thumb-title { font-size: 11px; }
	.product-list-carousel .product-thumb .product-price-value { font-size: 12px; }
	.product-list-carousel .product-thumb .product-price-old-value { font-size: 10px; }
	.product-list-carousel .product-thumb .product-short-installments { font-size: 10px; }
}

/* ====================== Acento amarelo ====================== */
.free-shipping-bar, .badge-promo, .label-destaque,
.product-thumb .badge.sale, .product-special {
	background: #FDEB01;
	color: #212121;
	font-weight: 600;
}

/* ====================== Marquee ====================== */
.section-marquee { font-size: 15px; font-weight: 500; margin-bottom: 40px; }
.section-marquee .swiper-slide-content:after { width: 4px; height: 4px; }

/* ====================== Depoimentos ====================== */
.depoiments { margin: 0; }
.depoiments .heading-title { margin-bottom: 40px; }
.depoiments .container { max-width: 1226px; }
.depoiments .depoiments-thumb { background: #f5f4f0; padding: 40px; text-align: start; }
.depoiments .depoiment-stars { display: none; }
.depoiments .depoiment { font-size: 14px; color: var(--text-secondary); letter-spacing: .2px; }
.depoiments .depoiment-name { font-size: 14px; line-height: 150%; }

/* ====================== Newsletter ====================== */
#newsletter { background: transparent; }
#newsletter .newsletter-title { color: var(--text); }
#newsletter .newsletter-description { color: var(--text-secondary); }
#newsletter .newsletter-field { max-width: 360px; }
#newsletter input {
	border-color: var(--primary);
	font-size: 14px;
	background: transparent;
	height: 48px;
}
#newsletter input:focus { background: #f0f0f0; border-color: var(--primary-active); }
#newsletter button { height: 48px; }

/* ====================== WhatsApp flutuante ====================== */
#whatsapp.whatsapp-floating {
	background: #212121 !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
#whatsapp.whatsapp-floating:hover {
	background: #333 !important;
}
#whatsapp.whatsapp-floating::before,
#whatsapp.whatsapp-floating::after,
.whatsapp-wrapper::before,
.whatsapp-wrapper::after {
	display: none !important;
	animation: none !important;
}

/* ====================== Footer ====================== */
footer { margin-right: 24px; margin-left: 24px; border-top: 1px solid #e8e8e8; }
footer .footer-informations p { font-size: 13px; line-height: 175%; color: var(--text-secondary); }
footer .footer-list { font-size: 13px; font-weight: 400; }
footer .footer-info__title, footer .footer-seal__title, footer .social-media-title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .8px;
	text-transform: uppercase;
	margin-bottom: 24px;
}
footer a:hover { color: var(--primary); }
footer .footer-bottom { font-weight: 400; }
.footer-content-second, .hr-footer-wrapper-second { display: none; }
.offcanvas-menu-mobile .offcanvas-footer .social-media a:hover { color: var(--primary) !important; }
@media (max-width: 991px) {
	footer { margin-right: 8px; margin-left: 8px; }
	footer .footer-informations { text-align: center; }
}

/* ====================== Cart modal ====================== */
.cart-modal .btn-checkout { background: var(--primary); border-color: var(--primary); color: #fff; }
.cart-modal .btn-checkout:hover, .cart-modal .btn-checkout:active {
	background: var(--primary-hover); border-color: var(--primary-hover); color: #fff;
}

/* ====================== Página de produto ====================== */
.product-images-carousel { display: none; }
.product-images-grid { display: block; }
@media (max-width: 991px) {
	.product-images-carousel { display: flex; }
	.product-images-grid { display: none; }
}

#product h1 { font-weight: 600; letter-spacing: -.1px; }
#product .btn.btn-product-wishlist { display: none; }
#input-quantity-wrapper { display: none; }

.short-description {
	margin-top: calc(var(--spacing-product-column-right) * -1 + 16px);
	font-size: 14px; font-weight: 400; line-height: 175%;
	color: #4a4a3a;
}
.product-price .product-price-value { font-size: 24px; font-weight: 600; letter-spacing: -.2px; }
.product-price .product-short-installments { font-size: 13px; font-weight: 400; }
.product-price .product-short-installments i { display: none; }
.product-price .product-price-old-value { color: #8B5A1A; font-weight: 400; font-size: 13px; }

.variations { gap: 24px; }
.variant-group-label { font-size: 13px; font-weight: 500; margin-bottom: 8px; }

#product .shipping-simulator .btn-shipping-simulator { background: var(--primary); }
#product .shipping-simulator .btn-shipping-simulator:hover { background: var(--primary-hover); }
#product .shipping-simulator .shipping-simulator-input { background: transparent; }
#product .shipping-simulator-bottom { display: flex; }
.shipping-simulator-tag { display: none; }

#productAccordion .accordion-body { padding: 0; padding-bottom: 32px; }
#productAccordion .accordion-button {
	padding: 32px 0; color: var(--text);
	font-size: 15px; font-weight: 500;
	background: transparent;
}
#productAccordion .accordion-item {
	border: none; border-bottom: 1px solid #e0e0e0;
	background: transparent; border-radius: 0;
}
#productAccordion .accordion-button::after {
	background-image: none; content: '\F2EA';
	font-family: bootstrap-icons; transform: none; font-size: 20px;
}
#productAccordion .accordion-button.collapsed::after { content: '\F4FE'; font-family: bootstrap-icons; }

#product-product .product-description { margin: 0; }
#product .product-description { font-size: 14px; line-height: 175%; }

.cashback-product {
	padding: 0; background: transparent;
	font-size: 14px; font-weight: 500; color: var(--text);
	margin-top: calc(var(--spacing-product-column-right) * -1 + 24px);
}

/* ====================== Filtro / Categoria ====================== */
.filter .accordion-item, .filter .accordion-button { background: transparent; }
.filter .accordion-button { font-size: 13px; }
.filter .noUi-horizontal .noUi-handle { background: var(--primary); }

.category-description-wrapper { align-items: start; }
.category-description { text-align: start; max-width: none; }
.breadcrumb-wrapper { background: var(--background); }

.btn.btn-toolbar { background: #edeae6; border-color: #edeae6; }
.transition { -webkit-transition: none; transition: none; }
.product-flex-images { filter: brightness(0.92); }

/* ====================== Lista carrossel — fundo verde escuro com tons dourados ====================== */
.product-list-carousel-bg {
	background: linear-gradient(150deg, #162e0e 0%, #1e3e12 35%, #2d490c 65%, #1a3a0e 100%);
}

.product-list-carousel-bg .heading-title,
.product-list-carousel-bg .module-title,
.product-list-carousel-bg .section-title {
	color: #ffffff;
}

.product-list-carousel-bg .heading-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 2px;
	background: #C9A83C;
	margin: 12px auto 0;
}

.product-list-carousel-bg .vowt-prev .container-arrow,
.product-list-carousel-bg .vowt-next .container-arrow {
	color: #C9A83C;
	border-color: rgba(201,168,60,.5);
}
.product-list-carousel-bg .vowt-prev:hover .container-arrow,
.product-list-carousel-bg .vowt-next:hover .container-arrow {
	background: rgba(201,168,60,.15);
	border-color: #C9A83C;
}

.product-list-carousel-bg .product-list-pagination .swiper-pagination-bullet {
	background: rgba(201,168,60,.35);
}
.product-list-carousel-bg .product-list-pagination .swiper-pagination-bullet-active {
	background: #C9A83C;
}

.product-list-carousel-bg .product-thumb {
	background: #fff;
	border-top: 2px solid #C9A83C;
}
.product-list-carousel-bg .product-thumb .caption {
	background: #fff;
}
.product-list-carousel-bg .product-thumb .product-thumb-bottom {
	background: #fff;
}

.access-blocks .block {position: relative; color: var(--white); overflow: hidden;}
.access-blocks .block::after {content: ''; position: absolute; width: 100%; height: 100%; background: #0000008f; left: 0; top: 0;}
.access-blocks .block-content {position: absolute; bottom: 0; left: 0; z-index: 1; padding: 40px;}
.access-blocks .block-title {font-size: 24px; font-weight: 600; margin-bottom: 12px;    color: #fff;}
.access-blocks .block:hover img {transform: scale(1.01);}
.access-blocks .block img {transition: ease all .2s;}
.access-blocks .block-description {font-size: 15px; line-height: 175%; margin-bottom: 24px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical;}
.access-blocks .btn i {margin-left: 8px;}

/* Layout dividido (imagem + texto) quando ha apenas 1 registro */
.access-blocks .block-split {display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; border-radius: 12px; overflow: hidden; color: var(--text-color, #333);}
.access-blocks .block-split::after {display: none;}
.access-blocks .block-split .block-split-img {position: relative; overflow: hidden;}
.access-blocks .block-split .block-split-img img {width: 100%; height: 100%; object-fit: cover; display: block;}
.access-blocks .block-split .block-split-content {display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 56px; background: #f7f7f5;}
.access-blocks .block-split .block-title {color: inherit; font-size: 32px; margin-bottom: 16px;}
.access-blocks .block-split .block-description {color: inherit; -webkit-line-clamp: unset; line-clamp: unset; font-size: 16px; margin-bottom: 32px;}
@media (max-width: 991px) {
	.access-blocks .block-content {padding: 16px;}
	.access-blocks .block-title {font-size: 16px;}
	.access-blocks .block-description {font-size: 11px;}
	.access-blocks .block-split {grid-template-columns: 1fr;}
	.access-blocks .block-split .block-split-img {min-height: 240px;}
	.access-blocks .block-split .block-split-content {padding: 28px 20px;}
	.access-blocks .block-split .block-title {font-size: 22px;}
	.access-blocks .block-split .block-description {font-size: 14px;}
}
