
/* =========================================================
   WinPed Vitrine 0.2.20 — CSS consolidado
   ========================================================= */

.wpvitrine{
	--wpv-accent:#1687ff;
	--wpv-radius:18px;
	--wpv-cols:4;
	--wpv-text:#13263d;
	--wpv-muted:#718198;
	--wpv-border:#e8edf3;
	--wpv-border-width:1px;
	--wpv-soft:#f7f9fc;
	--wpv-white:#fff;
	--wpv-category-color:var(--wpv-accent);
	--wpv-product-title-color:#0f2744;
	--wpv-description-color:#5f6f82;
	--wpv-price-color:#111;
	--wpv-image-fit:contain;
	--wpv-image-bg:transparent;
	--wpv-featured-label:#ef8b18;
	--wpv-sale-label:#18a35b;

	width:100%;
	max-width:100%;
	min-width:0;
	height:auto;
	min-height:0;
	color:var(--wpv-text);
	font-family:inherit;
	container-type:inline-size;
	container-name:winped-vitrine;
}

.wpvitrine *,
.wpvitrine *::before,
.wpvitrine *::after{
	box-sizing:border-box;
}

.wpvitrine-shell{
	display:grid;
	grid-template-columns:250px minmax(0,1fr);
	gap:26px;
	align-items:start;
	width:100%;
	min-width:0;
	height:auto;
}

.wpvitrine-shell.wpvitrine-no-sidebar{
	grid-template-columns:minmax(0,1fr);
}

.wpvitrine-main{
	width:100%;
	min-width:0;
	height:auto;
}

/* Sidebar */
.wpvitrine-sidebar{
	position:sticky;
	top:20px;
	border:var(--wpv-border-width) solid var(--wpv-border);
	background:#fff;
	border-radius:16px;
	overflow:hidden;
}
.wpvitrine-side-title{
	display:flex;
	align-items:center;
	gap:10px;
	padding:18px 18px 14px;
	font-weight:800;
}
.wpvitrine-menu-icon{font-size:18px}
.wpvitrine-categories{
	display:flex;
	flex-direction:column;
	padding:0 10px 12px;
}
.wpvitrine-cat{
	border:0;
	background:transparent;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	min-height:44px;
	padding:10px 12px;
	border-radius:10px;
	color:var(--wpv-text);
	cursor:pointer;
	font:inherit;
	text-align:left;
}
.wpvitrine-cat:hover{background:var(--wpv-soft)}
.wpvitrine-cat.is-active{
	background:var(--wpv-accent);
	color:#fff;
}
.wpvitrine-cat-count{
	min-width:26px;
	text-align:center;
	padding:3px 7px;
	border-radius:8px;
	background:rgba(120,140,160,.12);
	font-size:11px;
	font-weight:800;
}
.wpvitrine-cat.is-active .wpvitrine-cat-count{
	background:rgba(255,255,255,.18);
}

/* Toolbar */
.wpvitrine-toolbar{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	margin-bottom:20px;
	width:100%;
	min-width:0;
	flex-wrap:wrap;
}
.wpvitrine-search{
	flex:1 1 260px;
	display:flex;
	align-items:center;
	gap:10px;
	min-height:48px;
	min-width:0;
	padding:0 14px;
	border:var(--wpv-border-width) solid var(--wpv-border);
	border-radius:12px;
	background:#fff;
}
.wpvitrine-search svg{
	width:20px;
	height:20px;
	fill:var(--wpv-muted);
	flex:0 0 auto;
}
.wpvitrine-search input{
	width:100%;
	min-width:0;
	border:0!important;
	outline:0!important;
	box-shadow:none!important;
	background:transparent!important;
	font:inherit!important;
	color:var(--wpv-text)!important;
}
.wpvitrine-toolbar-actions{
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	min-width:0;
}
.wpvitrine-sort{
	min-height:48px;
	max-width:100%;
	border:var(--wpv-border-width) solid var(--wpv-border);
	border-radius:12px;
	background:#fff;
	padding:0 14px;
	color:var(--wpv-text);
}
.wpvitrine-view-toggle{
	display:flex;
	gap:8px;
	min-width:0;
}
.wpvitrine-view-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	min-height:48px;
	padding:0 16px;
	border:var(--wpv-border-width) solid var(--wpv-border);
	border-radius:12px;
	background:#fff;
	color:var(--wpv-text);
	font-weight:800;
	cursor:pointer;
	white-space:nowrap;
}
.wpvitrine-view-btn svg{
	width:18px;
	height:18px;
	fill:currentColor;
}
.wpvitrine-view-btn.is-active{
	background:var(--wpv-accent)!important;
	border-color:var(--wpv-accent)!important;
	color:#fff!important;
}
.wpvitrine-view-btn.is-active svg{
	fill:currentColor!important;
	color:#fff!important;
}

/* Heading */
.wpvitrine-heading{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:20px;
	margin:0 0 18px;
	width:100%;
	min-width:0;
}
.wpvitrine-title{
	margin:0!important;
	font-size:28px!important;
	line-height:1.2!important;
	color:var(--wpv-text);
}
.wpvitrine-subtitle{
	margin:5px 0 0!important;
	color:var(--wpv-muted);
	font-size:14px;
}
.wpvitrine-count{
	padding:7px 11px;
	border-radius:9px;
	background:var(--wpv-soft);
	color:var(--wpv-muted);
	font-size:12px;
}
.wpvitrine-status{
	min-height:0;
	margin-bottom:8px;
	color:var(--wpv-muted);
	font-size:13px;
}

/* Products */
.wpvitrine-products{
	display:grid;
	grid-template-columns:repeat(var(--wpv-cols),minmax(0,1fr));
	gap:20px;
	width:100%;
	min-width:0;
	height:auto;
	align-content:start;
}
.wpvitrine-card{
	position:relative;
	width:100%;
	min-width:0;
	height:auto;
	overflow:hidden;
	border:var(--wpv-border-width) solid var(--wpv-border);
	border-radius:var(--wpv-radius);
	background:#fff;
	transition:transform .2s ease, box-shadow .2s ease;
}
.wpvitrine-card:hover{
	transform:translateY(-2px);
	box-shadow:0 14px 34px rgba(17,38,61,.08);
}

/* Image */
.wpvitrine-media{
	position:relative;
	display:block;
	margin:10px;
	width:auto;
	max-width:calc(100% - 20px);
	aspect-ratio:1.18/1;
	overflow:hidden;
	border-radius:max(8px,calc(var(--wpv-radius) - 8px));
	background:var(--wpv-image-bg);
}
.wpvitrine-img{
	display:block;
	width:100%!important;
	max-width:100%!important;
	height:100%!important;
	margin:0!important;
	padding:8px!important;
	object-fit:var(--wpv-image-fit)!important;
	object-position:center!important;
	background:transparent!important;
}
.wpvitrine-ratio-1-1 .wpvitrine-media{aspect-ratio:1/1}
.wpvitrine-ratio-4-3 .wpvitrine-media{aspect-ratio:4/3}
.wpvitrine-ratio-3-2 .wpvitrine-media{aspect-ratio:3/2}
.wpvitrine-ratio-16-9 .wpvitrine-media{aspect-ratio:16/9}
.wpvitrine-ratio-natural .wpvitrine-media{aspect-ratio:auto}
.wpvitrine-ratio-natural .wpvitrine-img{
	height:auto!important;
	object-fit:contain!important;
}

/* Badges / favorite */
.wpvitrine-badges{
	position:absolute;
	left:8px;
	top:8px;
	display:flex;
	gap:6px;
	flex-wrap:wrap;
	z-index:2;
}
.wpvitrine-badge{
	padding:6px 8px;
	border-radius:7px;
	color:#fff;
	font-size:11px;
	font-weight:800;
}
.wpvitrine-badge.sale{background:var(--wpv-sale-label)!important}
.wpvitrine-badge.featured{background:var(--wpv-featured-label)!important}
.wpvitrine-favorite{
	position:absolute;
	right:8px;
	top:8px;
	z-index:2;
	width:38px;
	height:38px;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,.92);
	display:grid;
	place-items:center;
	cursor:pointer;
}
.wpvitrine-favorite svg{
	width:19px;
	height:19px;
	fill:none;
	stroke:#172c45;
	stroke-width:1.7;
}
.wpvitrine-favorite.is-active svg{
	fill:#e83b4a;
	stroke:#e83b4a;
}

/* Content */
.wpvitrine-content{
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:14px;
}
.wpvitrine-category,
.wpvitrine-category a{
	margin-bottom:6px;
	font-size:11px;
	font-weight:800;
	color:var(--wpv-category-color)!important;
}
.wpvitrine-product-title{
	margin:0!important;
	font-size:16px!important;
	line-height:1.25!important;
	overflow-wrap:anywhere;
}
.wpvitrine-product-title,
.wpvitrine-product-title a,
.wpvitrine-product-title span{
	color:var(--wpv-product-title-color)!important;
	text-decoration:none!important;
}
.wpvitrine-rating{
	margin-top:7px;
	font-size:12px;
}
.wpvitrine-rating .star-rating{
	float:none;
}
.wpvitrine-description,
.wpvitrine-description p,
.wpvitrine-description span{
	margin:7px 0 0!important;
	color:var(--wpv-description-color)!important;
	font-size:13px;
	line-height:1.45;
	overflow-wrap:anywhere;
}
.wpvitrine-quick-view{
	margin-top:12px;
	max-width:100%;
	min-height:38px;
	padding:8px 12px;
	border:var(--wpv-border-width) solid var(--wpv-border);
	border-radius:9px;
	background:#fff;
	color:var(--wpv-product-title-color);
	font:inherit;
	font-size:12px;
	font-weight:800;
	cursor:pointer;
	white-space:normal;
}
.wpvitrine-card-bottom{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:10px;
	margin-top:14px;
	min-width:0;
	flex-wrap:wrap;
}
.wpvitrine-price{
	min-width:0;
	font-size:16px;
	font-weight:800;
	color:var(--wpv-price-color)!important;
	white-space:normal;
}
.wpvitrine-price *,
.wpvitrine-price .woocommerce-Price-amount,
.wpvitrine-price .woocommerce-Price-currencySymbol,
.wpvitrine-price ins,
.wpvitrine-price ins *{
	color:var(--wpv-price-color)!important;
}
.wpvitrine-price del,
.wpvitrine-price del *{
	color:var(--wpv-price-color)!important;
	opacity:.58;
	font-size:12px;
}
.wpvitrine-price ins{text-decoration:none}
.wpvitrine-cart{
	display:inline-flex!important;
	justify-content:center;
	align-items:center;
	min-height:38px;
	max-width:100%;
	padding:8px 12px!important;
	border:1px solid var(--wpv-accent)!important;
	border-radius:9px!important;
	background:var(--wpv-accent)!important;
	color:#fff!important;
	text-decoration:none!important;
	font-size:12px!important;
	font-weight:800!important;
	line-height:1.2!important;
	text-align:center;
	white-space:normal!important;
	overflow-wrap:anywhere;
}

/* Grid button placement */
.wpvitrine-button-below .wpvitrine-card-bottom{
	align-items:flex-start;
	flex-direction:column;
}
.wpvitrine-button-inline .wpvitrine-card-bottom{
	align-items:center;
	flex-direction:row;
}
.wpvitrine-button-inline .wpvitrine-price{
	flex:1 1 120px;
}
.wpvitrine-button-full .wpvitrine-card-bottom{
	align-items:stretch;
	flex-direction:column;
}
.wpvitrine-button-full .wpvitrine-cart,
.wpvitrine-button-width-full .wpvitrine-cart{
	width:100%!important;
}

/* Load more */
.wpvitrine-load-wrap{
	text-align:center;
	margin-top:24px;
}
.wpvitrine-load-more{
	min-height:44px;
	padding:0 20px;
	border:1px solid var(--wpv-accent);
	border-radius:10px;
	background:#fff;
	color:var(--wpv-accent);
	font-weight:800;
	cursor:pointer;
}
.wpvitrine-load-more:hover{
	background:var(--wpv-accent);
	color:#fff;
}

/* List view */
.wpvitrine-view-list{
	display:flex;
	flex-direction:column;
	gap:14px;
	height:auto;
}
.wpvitrine-view-list .wpvitrine-card{
	display:grid;
	grid-template-columns:minmax(180px,220px) minmax(0,1fr);
	align-items:stretch;
	height:auto;
}
.wpvitrine-view-list .wpvitrine-media{
	margin:10px;
	width:auto;
	max-width:calc(100% - 20px);
	height:calc(100% - 20px);
	min-height:0;
	aspect-ratio:auto;
	align-self:start;
}
.wpvitrine-view-list .wpvitrine-img{
	width:100%!important;
	height:100%!important;
	object-fit:var(--wpv-image-fit)!important;
}
.wpvitrine-view-list .wpvitrine-content{
	width:100%;
	min-width:0;
	padding:18px 20px;
}
.wpvitrine-view-list .wpvitrine-product-title{
	font-size:19px!important;
}
.wpvitrine-view-list .wpvitrine-description{
	display:block;
}
.wpvitrine-view-list .wpvitrine-card-bottom{
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
	gap:16px;
	width:100%;
}
.wpvitrine-view-list .wpvitrine-cart{
	width:auto!important;
	max-width:240px;
	justify-self:end;
}

/* List button placement */
.wpvitrine-list-button-below .wpvitrine-view-list .wpvitrine-card-bottom{
	grid-template-columns:1fr;
}
.wpvitrine-list-button-below .wpvitrine-view-list .wpvitrine-cart{
	justify-self:start;
}
.wpvitrine-list-button-left .wpvitrine-view-list .wpvitrine-card-bottom{
	grid-template-columns:auto minmax(0,1fr);
}
.wpvitrine-list-button-left .wpvitrine-view-list .wpvitrine-price{
	grid-column:2;
}
.wpvitrine-list-button-left .wpvitrine-view-list .wpvitrine-cart{
	grid-column:1;
	grid-row:1;
	justify-self:start;
}
.wpvitrine-list-button-center .wpvitrine-view-list .wpvitrine-card-bottom{
	grid-template-columns:1fr;
}
.wpvitrine-list-button-center .wpvitrine-view-list .wpvitrine-cart{
	justify-self:center;
}
.wpvitrine-list-button-full .wpvitrine-view-list .wpvitrine-card-bottom{
	grid-template-columns:1fr;
}
.wpvitrine-list-button-full .wpvitrine-view-list .wpvitrine-cart,
.wpvitrine-list-button-width-full .wpvitrine-view-list .wpvitrine-cart{
	width:100%!important;
	max-width:none;
}

/* Loading */
.wpvitrine.is-loading .wpvitrine-products{
	opacity:.45;
	pointer-events:none;
}

/* Modal */
.wpvitrine-modal[hidden]{display:none!important}
.wpvitrine-modal{
	position:fixed;
	inset:0;
	z-index:999999;
	display:grid;
	place-items:center;
	padding:20px;
}
.wpvitrine-modal-backdrop{
	position:absolute;
	inset:0;
	background:rgba(8,19,32,.62);
}
.wpvitrine-modal-dialog{
	position:relative;
	z-index:1;
	width:min(920px,96vw);
	max-height:90vh;
	overflow:auto;
	background:#fff;
	border-radius:18px;
	box-shadow:0 24px 80px rgba(0,0,0,.25);
}
.wpvitrine-modal-close{
	position:absolute;
	right:14px;
	top:12px;
	z-index:2;
	width:40px;
	height:40px;
	border:0;
	border-radius:50%;
	background:#f3f6f9;
	font-size:28px;
	line-height:1;
	cursor:pointer;
}
.wpvitrine-modal-body{padding:28px}
.wpvitrine-modal-grid{
	display:grid;
	grid-template-columns:minmax(260px,42%) minmax(0,1fr);
	gap:28px;
	align-items:start;
}
.wpvitrine-modal-image{
	display:block;
	width:100%;
	height:auto;
	object-fit:contain;
	background:transparent;
}
.wpvitrine-modal-info h2{
	margin:0 0 12px;
	font-size:28px;
	color:var(--wpv-product-title-color);
}
.wpvitrine-modal-price{
	font-size:22px;
	font-weight:800;
	color:var(--wpv-price-color);
	margin-bottom:14px;
}
.wpvitrine-modal-desc{
	color:var(--wpv-description-color);
	line-height:1.6;
}
.wpvitrine-modal-cart{
	display:inline-flex!important;
	margin-top:18px!important;
	background:var(--wpv-accent)!important;
	color:#fff!important;
	border-radius:10px!important;
	text-decoration:none!important;
}
.wpvitrine-modal-product-link{
	display:block;
	margin-top:14px;
	color:var(--wpv-accent);
	font-weight:700;
}
body.wpvitrine-modal-open{overflow:hidden}

/* Tablet / narrow container */
@container winped-vitrine (max-width:900px){
	.wpvitrine-shell{
		grid-template-columns:1fr;
	}
	.wpvitrine-sidebar{
		position:static;
		width:100%;
	}
	.wpvitrine-toolbar{
		align-items:stretch;
		flex-direction:column;
	}
	.wpvitrine-toolbar-actions{
		width:100%;
		display:grid;
		grid-template-columns:minmax(0,1fr) auto;
		gap:10px;
	}
	.wpvitrine-search{
		width:100%;
	}
	.wpvitrine-sort{
		width:100%;
	}
	.wpvitrine-heading{
		align-items:flex-start;
		flex-direction:column;
	}
	.wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:minmax(140px,190px) minmax(0,1fr);
	}
}

/* Mobile / narrow container */
@container winped-vitrine (max-width:680px){
	.wpvitrine-toolbar-actions{
		grid-template-columns:1fr;
	}
	.wpvitrine-view-toggle{
		display:grid;
		grid-template-columns:1fr 1fr;
		width:100%;
	}
	.wpvitrine-view-btn{
		width:100%;
		padding-left:10px;
		padding-right:10px;
	}
	.wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:1fr;
	}
	.wpvitrine-count{
		align-self:flex-start;
	}

	/* Lista permanece horizontal */
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:110px minmax(0,1fr);
	}
	.wpvitrine-view-list .wpvitrine-media{
		margin:8px;
		max-width:calc(100% - 16px);
		height:calc(100% - 16px);
		min-height:0;
	}
	.wpvitrine-view-list .wpvitrine-content{
		padding:12px;
	}
	.wpvitrine-view-list .wpvitrine-description{
		display:none;
	}
	.wpvitrine-view-list .wpvitrine-rating{
		display:none;
	}
	.wpvitrine-view-list .wpvitrine-product-title{
		font-size:16px!important;
	}
	.wpvitrine-view-list .wpvitrine-card-bottom{
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		gap:9px;
	}
	.wpvitrine-view-list .wpvitrine-cart{
		width:auto!important;
		max-width:100%;
		align-self:flex-start;
	}
	.wpvitrine-list-button-width-full .wpvitrine-view-list .wpvitrine-cart,
	.wpvitrine-list-button-full .wpvitrine-view-list .wpvitrine-cart{
		width:100%!important;
		align-self:stretch;
	}
}

/* Very narrow */
@container winped-vitrine (max-width:480px){
	.wpvitrine-toolbar-actions{
		display:flex;
		flex-direction:column;
	}
	.wpvitrine-view-toggle{
		display:grid;
		grid-template-columns:1fr 1fr;
	}
	.wpvitrine-title{
		font-size:24px!important;
	}
	.wpvitrine-subtitle{
		font-size:13px!important;
		line-height:1.45;
	}
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:95px minmax(0,1fr);
	}
	.wpvitrine-view-list .wpvitrine-content{
		padding:10px;
	}
	.wpvitrine-cart,
	.wpvitrine-quick-view{
		font-size:11px!important;
		line-height:1.25!important;
		padding:9px 11px!important;
	}
}

/* Media fallback */
@media(max-width:900px){
	.wpvitrine-shell{grid-template-columns:1fr}
	.wpvitrine-sidebar{position:static}
}
@media(max-width:767px){
	.wpvitrine-toolbar{
		align-items:stretch;
		flex-direction:column;
	}
	.wpvitrine-toolbar-actions{
		width:100%;
	}
	.wpvitrine-heading{
		align-items:flex-start;
		flex-direction:column;
	}
	.wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:1fr;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.25 — tablet/mobile revisado
   Base limpa: 0.2.20
   ========================================================= */

/* Estrutura adicionada pelo JS não altera desktop. */
.wpvitrine-mobile-view-row{display:contents}
.wpvitrine-mobile-category-toggle,
.wpvitrine-mobile-drawer{display:none}

/* Ver detalhes sempre compacto. */
.wpvitrine .wpvitrine-quick-view{
	display:inline-flex!important;
	width:max-content!important;
	max-width:100%!important;
	min-width:0!important;
	flex:0 0 auto!important;
	align-self:flex-start!important;
	justify-content:center!important;
	white-space:normal!important;
}

/* Tablet + celular */
@media(max-width:900px){
	.wpvitrine{
		height:auto!important;
		min-height:0!important;
	}
	.wpvitrine-shell{
		display:block!important;
		height:auto!important;
		min-height:0!important;
	}
	.wpvitrine-shell > .wpvitrine-sidebar{
		display:none!important;
	}

	/* Toolbar:
	   1) Busca
	   2) Ordenação
	   3) Categorias + Blocos + Lista */
	.wpvitrine-toolbar{
		display:flex!important;
		flex-direction:column!important;
		align-items:stretch!important;
		gap:10px!important;
		height:auto!important;
		min-height:0!important;
	}

	.wpvitrine-search{
		order:1!important;
		flex:0 0 auto!important;
		flex-basis:auto!important;
		width:100%!important;
		height:48px!important;
		min-height:48px!important;
		max-height:48px!important;
		margin:0!important;
	}
	.wpvitrine-search input{
		height:auto!important;
		min-height:0!important;
		max-height:none!important;
		margin:0!important;
	}

	.wpvitrine-toolbar-actions{
		order:2!important;
		display:flex!important;
		flex-direction:column!important;
		align-items:stretch!important;
		gap:10px!important;
		width:100%!important;
		min-width:0!important;
	}

	.wpvitrine-sort{
		order:1!important;
		width:100%!important;
		height:48px!important;
		min-height:48px!important;
		margin:0!important;
	}

	.wpvitrine-mobile-view-row{
		order:2!important;
		display:flex!important;
		align-items:stretch!important;
		gap:10px!important;
		width:100%!important;
		min-width:0!important;
	}

	.wpvitrine-mobile-category-toggle{
		display:inline-flex!important;
		align-items:center!important;
		justify-content:center!important;
		gap:8px!important;
		flex:0 0 150px!important;
		width:150px!important;
		min-width:150px!important;
		height:48px!important;
		padding:0 14px!important;
		border:var(--wpv-border-width) solid var(--wpv-border)!important;
		border-radius:12px!important;
		background:#fff!important;
		color:var(--wpv-product-title-color)!important;
		font:inherit!important;
		font-weight:800!important;
		cursor:pointer!important;
	}

	.wpvitrine-view-toggle{
		display:grid!important;
		grid-template-columns:1fr 1fr!important;
		flex:1 1 auto!important;
		gap:10px!important;
		min-width:0!important;
		width:auto!important;
	}
	.wpvitrine-view-btn{
		width:100%!important;
		min-width:0!important;
		height:48px!important;
		padding:0 12px!important;
	}

	/* Sem menu lateral: Blocos/Lista usam toda a linha. */
	.wpvitrine-no-mobile-categories .wpvitrine-view-toggle{
		width:100%!important;
		flex:1 1 100%!important;
	}

	/* Drawer */
	.wpvitrine-mobile-drawer{
		display:block!important;
		position:fixed!important;
		inset:0!important;
		z-index:999999!important;
		visibility:hidden!important;
		pointer-events:none!important;
	}
	.wpvitrine-mobile-backdrop{
		position:absolute!important;
		inset:0!important;
		width:100%!important;
		height:100%!important;
		border:0!important;
		background:rgba(0,0,0,.42)!important;
		opacity:0!important;
	}
	.wpvitrine-mobile-drawer-panel{
		position:absolute!important;
		left:0!important;
		top:0!important;
		bottom:0!important;
		width:min(84vw,360px)!important;
		max-width:360px!important;
		background:#fff!important;
		transform:translateX(-105%)!important;
		transition:transform .22s ease!important;
		box-shadow:10px 0 30px rgba(0,0,0,.14)!important;
		overflow:auto!important;
	}
	.wpvitrine-drawer-open .wpvitrine-mobile-drawer{
		visibility:visible!important;
		pointer-events:auto!important;
	}
	.wpvitrine-drawer-open .wpvitrine-mobile-backdrop{opacity:1!important}
	.wpvitrine-drawer-open .wpvitrine-mobile-drawer-panel{transform:translateX(0)!important}

	.wpvitrine-mobile-drawer-head{
		position:sticky!important;
		top:0!important;
		z-index:2!important;
		display:flex!important;
		align-items:center!important;
		justify-content:space-between!important;
		padding:16px 18px!important;
		background:#fff!important;
		border-bottom:1px solid var(--wpv-border)!important;
	}
	.wpvitrine-mobile-drawer-close{
		width:40px!important;
		height:40px!important;
		padding:0!important;
		border:0!important;
		background:transparent!important;
		font-size:30px!important;
		line-height:1!important;
		cursor:pointer!important;
	}
	.wpvitrine-mobile-drawer-body{padding:12px!important}
	.wpvitrine-sidebar-mobile{
		display:block!important;
		position:static!important;
		width:100%!important;
		max-width:none!important;
		height:auto!important;
		min-height:0!important;
		border:0!important;
		box-shadow:none!important;
	}

	/* Lista: largura equilibrada, sem esmagar texto. */
	.wpvitrine-view-list .wpvitrine-card{
		display:grid!important;
		grid-template-columns:minmax(150px,34%) minmax(0,1fr)!important;
		align-items:stretch!important;
		height:auto!important;
		min-height:0!important;
	}
	.wpvitrine-view-list .wpvitrine-media{
		margin:8px!important;
		width:auto!important;
		max-width:calc(100% - 16px)!important;
		height:calc(100% - 16px)!important;
		min-height:0!important;
		align-self:start!important;
	}
	.wpvitrine-view-list .wpvitrine-content{
		min-width:0!important;
		padding:14px!important;
	}
	.wpvitrine-view-list .wpvitrine-product-title,
	.wpvitrine-view-list .wpvitrine-product-title a{
		overflow-wrap:normal!important;
		word-break:normal!important;
	}
	.wpvitrine-view-list .wpvitrine-quick-view{
		width:max-content!important;
		max-width:100%!important;
	}
}

/* Celular */
@media(max-width:560px){
	.wpvitrine-mobile-category-toggle{
		flex:0 0 52px!important;
		width:52px!important;
		min-width:52px!important;
		padding:0!important;
	}
	.wpvitrine-mobile-category-label{display:none!important}

	.wpvitrine-view-toggle{gap:8px!important}
	.wpvitrine-view-btn{
		padding:0 8px!important;
		font-size:12px!important;
	}

	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:minmax(112px,38%) minmax(0,1fr)!important;
	}
	.wpvitrine-view-list .wpvitrine-content{
		padding:11px!important;
	}
	.wpvitrine-view-list .wpvitrine-description,
	.wpvitrine-view-list .wpvitrine-rating{
		display:none!important;
	}
	.wpvitrine-view-list .wpvitrine-product-title{
		font-size:16px!important;
		line-height:1.25!important;
	}
	.wpvitrine-view-list .wpvitrine-category{
		font-size:10px!important;
	}
	.wpvitrine-view-list .wpvitrine-card-bottom{
		display:flex!important;
		flex-direction:column!important;
		align-items:flex-start!important;
		gap:8px!important;
	}
	.wpvitrine-view-list .wpvitrine-price{
		font-size:14px!important;
	}
	.wpvitrine-view-list .wpvitrine-cart,
	.wpvitrine-view-list .wpvitrine-quick-view{
		max-width:100%!important;
		padding:8px 10px!important;
		font-size:10.5px!important;
		line-height:1.2!important;
		overflow-wrap:normal!important;
		word-break:normal!important;
	}
}

/* Celulares muito estreitos */
@media(max-width:380px){
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:96px minmax(0,1fr)!important;
	}
	.wpvitrine-view-list .wpvitrine-media{
		margin:6px!important;
		max-width:calc(100% - 12px)!important;
		height:calc(100% - 12px)!important;
	}
	.wpvitrine-view-btn span{font-size:11px!important}
}


/* =========================================================
   WinPed Vitrine 0.2.26 — refinamentos tablet/mobile
   ========================================================= */

/* Tablet: busca + ordenação na mesma linha; controles abaixo. */
@media(min-width:561px) and (max-width:900px){
	.wpvitrine-toolbar{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) minmax(190px,260px)!important;
		gap:10px!important;
		align-items:center!important;
	}
	.wpvitrine-search{
		grid-column:1!important;
		grid-row:1!important;
		width:100%!important;
		height:48px!important;
		min-height:48px!important;
	}
	.wpvitrine-toolbar-actions{
		display:contents!important;
	}
	.wpvitrine-sort{
		grid-column:2!important;
		grid-row:1!important;
		width:100%!important;
		height:48px!important;
		min-height:48px!important;
	}
	.wpvitrine-mobile-view-row{
		grid-column:1 / span 2!important;
		grid-row:2!important;
		display:flex!important;
		width:100%!important;
		gap:10px!important;
	}
}

/* Celular: lista com imagem mais útil e conteúdo respirando. */
@media(max-width:560px){
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:minmax(132px,42%) minmax(0,1fr)!important;
	}
	.wpvitrine-view-list .wpvitrine-media{
		margin:8px!important;
		max-width:calc(100% - 16px)!important;
		height:calc(100% - 16px)!important;
	}
	.wpvitrine-view-list .wpvitrine-img{
		padding:6px!important;
	}
	.wpvitrine-view-list .wpvitrine-content{
		padding:10px 10px 10px 4px!important;
	}
	.wpvitrine-view-list .wpvitrine-badge{
		padding:5px 6px!important;
		font-size:9px!important;
	}
	.wpvitrine-view-list .wpvitrine-badges{
		left:5px!important;
		top:5px!important;
		gap:4px!important;
	}
}
@media(max-width:380px){
	.wpvitrine-view-list .wpvitrine-card{
		grid-template-columns:118px minmax(0,1fr)!important;
	}
}

/* Drawer em Grade */
@media(max-width:900px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-side-title{
		display:none!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-categories{
		display:grid!important;
		grid-template-columns:repeat(var(--wpv-mobile-cat-cols,2),minmax(0,1fr))!important;
		gap:12px!important;
		padding:0!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card{
		position:relative!important;
		display:flex!important;
		flex-direction:column!important;
		align-items:stretch!important;
		justify-content:flex-start!important;
		gap:8px!important;
		min-height:0!important;
		padding:8px!important;
		border:1px solid var(--wpv-border)!important;
		border-radius:14px!important;
		background:#fff!important;
		color:var(--wpv-product-title-color)!important;
		text-align:left!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active{
		border-color:var(--wpv-accent)!important;
		box-shadow:0 0 0 2px color-mix(in srgb,var(--wpv-accent) 18%,transparent)!important;
	}
	.wpvitrine-mobile-cat-visual{
		display:grid!important;
		place-items:center!important;
		width:100%!important;
		aspect-ratio:1/1!important;
		overflow:hidden!important;
		border-radius:10px!important;
		background:var(--wpv-soft)!important;
	}
	.wpvitrine-mobile-cat-visual img{
		display:block!important;
		width:100%!important;
		height:100%!important;
		object-fit:cover!important;
	}
	.wpvitrine-mobile-cat-fallback{
		display:grid!important;
		place-items:center!important;
		width:100%!important;
		height:100%!important;
		font-size:30px!important;
		font-weight:800!important;
		color:var(--wpv-accent)!important;
	}
	.wpvitrine-mobile-cat-label{
		display:block!important;
		font-size:13px!important;
		font-weight:800!important;
		line-height:1.25!important;
	}
	.wpvitrine-mobile-cat-count{
		position:absolute!important;
		right:8px!important;
		top:8px!important;
		min-width:26px!important;
		height:26px!important;
		padding:0 7px!important;
		display:grid!important;
		place-items:center!important;
		border-radius:8px!important;
		background:#fff!important;
		box-shadow:0 2px 8px rgba(0,0,0,.08)!important;
		font-size:10px!important;
		font-weight:800!important;
	}
}


/* Popup/quick view em telas pequenas */
@media(max-width:600px){
	.wpvitrine-modal{
		padding:12px!important;
		overflow:hidden!important;
	}
	.wpvitrine-modal-dialog{
		position:relative!important;
		display:block!important;
		width:calc(100vw - 24px)!important;
		max-width:calc(100vw - 24px)!important;
		max-height:calc(100dvh - 24px)!important;
		margin:0 auto!important;
		overflow-x:hidden!important;
		overflow-y:auto!important;
		border-radius:16px!important;
		box-sizing:border-box!important;
	}
	.wpvitrine-modal-grid{
		display:flex!important;
		flex-direction:column!important;
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
		overflow:visible!important;
		box-sizing:border-box!important;
	}
	.wpvitrine-modal-media{
		display:flex!important;
		align-items:center!important;
		justify-content:center!important;
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
		height:auto!important;
		min-height:0!important;
		padding:18px 18px 8px!important;
		box-sizing:border-box!important;
	}
	.wpvitrine-modal-media img{
		display:block!important;
		width:auto!important;
		max-width:100%!important;
		height:auto!important;
		max-height:38vh!important;
		margin:auto!important;
		object-fit:contain!important;
	}
	.wpvitrine-modal-info{
		display:block!important;
		width:100%!important;
		max-width:100%!important;
		min-width:0!important;
		padding:14px 18px 20px!important;
		box-sizing:border-box!important;
		overflow-wrap:break-word!important;
		word-break:normal!important;
	}
	.wpvitrine-modal-info *{
		max-width:100%!important;
		box-sizing:border-box!important;
	}
	.wpvitrine-modal-title{
		padding-right:34px!important;
		overflow-wrap:break-word!important;
		word-break:normal!important;
	}
	.wpvitrine-modal-close{
		position:absolute!important;
		top:10px!important;
		right:10px!important;
		z-index:10!important;
		width:38px!important;
		height:38px!important;
		min-width:38px!important;
		padding:0!important;
		display:grid!important;
		place-items:center!important;
		border-radius:50%!important;
	}
}

/* Evita qualquer overflow horizontal residual do quick view. */
@media(max-width:600px){
	html:has(.wpvitrine-modal.is-open),
	body:has(.wpvitrine-modal.is-open){
		overflow-x:hidden!important;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.28
   Refinos: Destaque em Lista mobile + Drawer Grade
   ========================================================= */

/* Duplicata semântica da etiqueta Destaque: invisível fora do cenário mobile/lista. */
.wpvitrine-featured-content-badge{
	display:none;
}

/* Somente Lista + celular:
   - Oferta permanece na imagem.
   - Destaque original sai da imagem.
   - Destaque aparece na coluna de conteúdo.
   - Favorito continua preso ao canto superior direito da área da imagem.
 */
@media(max-width:560px){
	.wpvitrine-view-list .wpvitrine-media .wpvitrine-badge.featured{
		display:none!important;
	}
	.wpvitrine-view-list .wpvitrine-featured-content-badge{
		display:inline-flex!important;
		align-items:center!important;
		justify-content:center!important;
		width:max-content!important;
		max-width:100%!important;
		margin:0 0 6px 0!important;
		padding:5px 7px!important;
		border-radius:7px!important;
		background:var(--wpv-featured-label)!important;
		color:#111!important;
		font-size:9px!important;
		font-weight:800!important;
		line-height:1.15!important;
		white-space:normal!important;
	}
	.wpvitrine-view-list .wpvitrine-media .wpvitrine-badges{
		max-width:calc(100% - 48px)!important;
	}
	.wpvitrine-view-list .wpvitrine-media .wpvitrine-favorite{
		top:6px!important;
		right:6px!important;
	}
}

/* Drawer Grade: nomes não podem ser cortados ou escapar dos cards. */
@media(max-width:900px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-categories{
		width:100%!important;
		min-width:0!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card{
		width:100%!important;
		min-width:0!important;
		max-width:100%!important;
		overflow:hidden!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-label{
		display:-webkit-box!important;
		width:100%!important;
		min-width:0!important;
		max-width:100%!important;
		min-height:32px!important;
		overflow:hidden!important;
		-webkit-box-orient:vertical!important;
		-webkit-line-clamp:2!important;
		white-space:normal!important;
		overflow-wrap:anywhere!important;
		word-break:normal!important;
		font-size:12px!important;
		line-height:1.3!important;
	}
}

/* Em celulares estreitos, força 2 colunas mesmo se 3 estiver configurado.
   Evita nomes e imagens espremidos. */


/* Em aparelhos muito estreitos mantém 2 colunas, mas reduz tipografia/espaçamento. */
@media(max-width:380px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card{
		padding:6px!important;
	}
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-label{
		font-size:11px!important;
		min-height:29px!important;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.30
   Contraste automático + categorias + favorito
   ========================================================= */

/* 1) Contraste automático para todos os elementos com fundo principal. */
.wpvitrine .wpvitrine-cart,
.wpvitrine .wpvitrine-view-btn.is-active,
.wpvitrine .wpvitrine-cat.is-active,
.wpvitrine .wpvitrine-load-more:hover,
.wpvitrine .wpvitrine-modal-cart{
	color:var(--wpv-accent-contrast,#fff)!important;
}
.wpvitrine .wpvitrine-cart *,
.wpvitrine .wpvitrine-view-btn.is-active *,
.wpvitrine .wpvitrine-cat.is-active *,
.wpvitrine .wpvitrine-load-more:hover *,
.wpvitrine .wpvitrine-modal-cart *{
	color:var(--wpv-accent-contrast,#fff)!important;
}
.wpvitrine .wpvitrine-view-btn.is-active svg,
.wpvitrine .wpvitrine-cat.is-active svg{
	color:var(--wpv-accent-contrast,#fff)!important;
	fill:currentColor!important;
	stroke:currentColor!important;
}

/* 2) Favorito sem círculo de fundo. */
.wpvitrine .wpvitrine-favorite{
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	backdrop-filter:none!important;
}
.wpvitrine .wpvitrine-favorite:hover,
.wpvitrine .wpvitrine-favorite:focus,
.wpvitrine .wpvitrine-favorite:focus-visible{
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	outline:none!important;
}
.wpvitrine .wpvitrine-favorite svg{
	filter:drop-shadow(0 1px 1px rgba(255,255,255,.85));
}

/* 3) Nomes das categorias no drawer: nunca quebrar no meio da palavra. */
@media(max-width:900px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-label{
		display:block!important;
		width:100%!important;
		min-width:0!important;
		max-width:100%!important;
		min-height:0!important;
		overflow:visible!important;
		white-space:normal!important;
		word-break:normal!important;
		overflow-wrap:normal!important;
		hyphens:none!important;
		font-size:11px!important;
		line-height:1.25!important;
		letter-spacing:.06em!important;
	}

	/* Em largura menor, 2 colunas dão espaço suficiente a nomes longos. */
	.wpvitrine-mobile-drawer-panel{
		width:min(92vw,420px)!important;
		max-width:420px!important;
	}
}



/* Celulares muito estreitos: tipografia um pouco menor, sem cortar palavras. */
@media(max-width:380px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-label{
		font-size:10px!important;
		letter-spacing:.04em!important;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.31
   Fechamento visual do favorito
   ========================================================= */

/* Mantém o botão sem círculo externo, mas o coração vazio ganha
   preenchimento branco para não deixar a imagem/fundo aparecer dentro dele. */
.wpvitrine .wpvitrine-favorite{
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}
.wpvitrine .wpvitrine-favorite svg{
	fill:#fff!important;
	stroke:currentColor!important;
	stroke-width:1.8!important;
	filter:drop-shadow(0 1px 1px rgba(0,0,0,.12))!important;
}

/* Preserva a indicação visual caso algum tema/plugin marque o favorito como ativo. */
.wpvitrine .wpvitrine-favorite.is-active svg,
.wpvitrine .wpvitrine-favorite.active svg,
.wpvitrine .wpvitrine-favorite[aria-pressed="true"] svg{
	fill:currentColor!important;
}


/* =========================================================
   WinPed Vitrine 0.2.32
   Menu de categorias: respeita colunas configuradas
   ========================================================= */
@media(max-width:900px){
	.wpvitrine-sidebar-mobile-grid .wpvitrine-categories{
		grid-template-columns:repeat(var(--wpv-mobile-cat-cols,2),minmax(0,1fr))!important;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.33
   Correção visual do card ativo "Todos" no menu em Grade
   ========================================================= */

@media(max-width:900px){
	/* No drawer em Grade, o estado ativo usa apenas borda/destaque.
	   Texto e ícone permanecem legíveis sobre o fundo branco do card. */
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active,
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active *{
		color:var(--wpv-product-title-color)!important;
	}

	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active .wpvitrine-mobile-cat-fallback{
		color:var(--wpv-accent)!important;
	}

	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active .wpvitrine-mobile-cat-count{
		color:var(--wpv-product-title-color)!important;
		background:#fff!important;
	}

	/* Mantém o fundo do card ativo branco, usando apenas a borda para indicar seleção. */
	.wpvitrine-sidebar-mobile-grid .wpvitrine-mobile-cat-card.is-active{
		background:#fff!important;
		border-color:var(--wpv-accent)!important;
	}
}


/* =========================================================
   WinPed Vitrine 0.2.34
   Correção definitiva do espaço excessivo no mobile
   ========================================================= */

/*
 * Diagnóstico confirmado:
 * em telas de celular, o widget Shortcode do Elementor podia ficar
 * com largura calculada muito estreita (~135px), fazendo o conteúdo
 * quebrar verticalmente e o widget ganhar uma altura excessiva.
 *
 * A correção abaixo atua SOMENTE no mobile e SOMENTE no widget
 * Shortcode / widget WinPed que contém uma .wpvitrine.
 */
@media(max-width:767px){

	.elementor-widget-shortcode:has(.wpvitrine),
	.elementor-widget-winped_vitrine:has(.wpvitrine){
		width:100%!important;
		max-width:100%!important;
		align-self:stretch!important;
	}

	.elementor-widget-shortcode:has(.wpvitrine) > .elementor-widget-container,
	.elementor-widget-winped_vitrine:has(.wpvitrine) > .elementor-widget-container{
		width:100%!important;
		max-width:100%!important;
	}

	.elementor-widget-shortcode:has(.wpvitrine) .elementor-shortcode,
	.elementor-widget-winped_vitrine:has(.wpvitrine) .elementor-shortcode,
	.elementor-widget-shortcode:has(.wpvitrine) .wpvitrine,
	.elementor-widget-winped_vitrine:has(.wpvitrine) .wpvitrine{
		width:100%!important;
		max-width:100%!important;
	}

}

/* WinPed Vitrine 0.2.35 — sem alterações visuais; correção funcional de ordenação por preço. */



/* =========================================================
   WinPed Vitrine 0.2.37
   Colunas responsivas configuráveis — correção definitiva
   ========================================================= */

/* Tablet — mesmo mecanismo responsivo usado pela vitrine */
@container winped-vitrine (min-width:681px) and (max-width:900px){
	.wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:repeat(var(--wpv-cols-tablet,2),minmax(0,1fr))!important;
	}
}

/* Celular */
@container winped-vitrine (max-width:680px){
	.wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:repeat(var(--wpv-cols-mobile,1),minmax(0,1fr))!important;
	}
}

/* Fallback por viewport para ambientes sem container query */
@media(min-width:768px) and (max-width:900px){
	.wpvitrine .wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:repeat(var(--wpv-cols-tablet,2),minmax(0,1fr))!important;
	}
}

@media(max-width:767px){
	.wpvitrine .wpvitrine-products:not(.wpvitrine-view-list){
		grid-template-columns:repeat(var(--wpv-cols-mobile,1),minmax(0,1fr))!important;
	}
}

/* v1.2.0 - Logotipo e banners controlados por plano */
.wpvitrine-branding{display:flex;justify-content:flex-start;align-items:center;margin:0 0 16px}
.wpvitrine-store-logo{display:block;max-width:220px;max-height:100px;width:auto;height:auto;object-fit:contain}
.wpvitrine-banners{display:grid;grid-template-columns:1fr;gap:12px;margin:0 0 18px}
.wpvitrine-banner{overflow:hidden;border-radius:var(--wpv-radius,18px)}
.wpvitrine-banner img{display:block;width:100%;height:auto}
.wpvitrine-banner a{display:block}
@media(max-width:767px){
  .wpvitrine-store-logo{max-width:180px;max-height:80px}
  .wpvitrine-banners{gap:8px;margin-bottom:14px}
}
