/* VoltColor product catalog — v0.6.0 */
.vc-catalog-page .vc-woocommerce {
	width: min(calc(100% - 40px), 1320px);
	padding-top: clamp(44px, 5vw, 62px);
	padding-bottom: clamp(62px, 7vw, 92px);
}

.vc-catalog-archive { --vc-catalog-sidebar: 280px; }

.vc-catalog-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 40px;
	padding: clamp(30px, 5vw, 58px);
	border: 1px solid var(--vc-border);
	border-radius: 28px;
	background:
		radial-gradient(circle at 92% 12%, rgba(255, 183, 0, .13), transparent 28%),
		linear-gradient(135deg, #fff 0%, #f6f8fc 100%);
	overflow: hidden;
}
.vc-catalog-hero__copy { max-width: 800px; }
.vc-catalog-hero .vc-eyebrow {
	display: inline-flex;
	margin-bottom: 14px;
	color: var(--vc-orange-600);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.vc-catalog-hero h1 {
	margin: 0;
	color: var(--vc-navy-950);
	font-size: clamp(38px, 5vw, 62px);
	line-height: 1.04;
	letter-spacing: -.045em;
}
.vc-catalog-hero__copy > p {
	max-width: 760px;
	margin: 18px 0 0;
	color: var(--vc-text-700);
	font-size: 17px;
	line-height: 1.7;
}
.vc-catalog-hero__copy > p p { margin: 0; }
.vc-catalog-hero__action {
	min-width: 250px;
	display: grid;
	gap: 10px;
	justify-items: start;
}
.vc-catalog-hero__action > span { color: var(--vc-text-500); font-size: 14px; font-weight: 700; }
.vc-catalog-hero__action .vc-button { white-space: nowrap; }

.vc-catalog-categories {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 30px;
	padding-bottom: 4px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.vc-catalog-categories a {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid var(--vc-border);
	border-radius: 999px;
	background: #fff;
	color: var(--vc-navy-900);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}
.vc-catalog-categories a:hover,
.vc-catalog-categories a.is-current {
	border-color: var(--vc-navy-900);
	background: var(--vc-navy-900);
	color: #fff;
}
.vc-catalog-categories small {
	min-width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(7, 30, 65, .08);
	font-size: 11px;
}
.vc-catalog-categories a.is-current small,
.vc-catalog-categories a:hover small { background: rgba(255,255,255,.16); }

.vc-catalog-layout {
	display: grid;
	grid-template-columns: var(--vc-catalog-sidebar) minmax(0, 1fr);
	align-items: start;
	gap: 30px;
}
.vc-catalog-filter-panel {
	position: sticky;
	top: 132px;
	padding: 22px;
	border: 1px solid var(--vc-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--vc-shadow-xs);
}
.admin-bar .vc-catalog-filter-panel { top: 164px; }
.vc-catalog-filter-panel__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--vc-border);
}
.vc-catalog-filter-panel__heading div { display: grid; gap: 3px; }
.vc-catalog-filter-panel__heading span { color: var(--vc-text-500); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.vc-catalog-filter-panel__heading strong { color: var(--vc-navy-950); font-size: 21px; }
.vc-catalog-filter-close { display: none; }
.vc-catalog-filter-form { display: grid; gap: 18px; }
.vc-catalog-filter-field { display: grid; gap: 8px; }
.vc-catalog-filter-field > span { color: var(--vc-navy-900); font-size: 14px; font-weight: 800; }
.vc-catalog-filter-field select {
	width: 100%;
	min-height: 48px;
	padding: 9px 38px 9px 12px;
	border: 1px solid var(--vc-border);
	border-radius: 11px;
	background-color: #fff;
	color: var(--vc-text-800);
	font-size: 15px;
}
.vc-catalog-filter-actions { display: grid; gap: 12px; padding-top: 4px; }
.vc-catalog-filter-submit { width: 100%; }
.vc-catalog-filter-actions > a { color: var(--vc-text-600); font-size: 14px; font-weight: 700; text-align: center; }

.vc-catalog-toolbar {
	min-height: 64px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
	padding: 10px 14px 10px 20px;
	border: 1px solid var(--vc-border);
	border-radius: 16px;
	background: #fff;
}
.vc-catalog-result-count { display: flex; align-items: baseline; gap: 7px; }
.vc-catalog-result-count strong { color: var(--vc-navy-950); font-size: 22px; }
.vc-catalog-result-count span { color: var(--vc-text-600); font-size: 14px; }
.vc-catalog-order { display: flex; align-items: center; gap: 10px; }
.vc-catalog-order label { color: var(--vc-text-600); font-size: 13px; font-weight: 700; }
.vc-catalog-order select {
	min-width: 210px;
	min-height: 42px;
	padding-block: 7px;
	border-radius: 10px;
	font-size: 14px;
}

.woocommerce .vc-catalog-results ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}
.woocommerce .vc-catalog-results ul.products li.product.vc-catalog-card,
.woocommerce-page .vc-catalog-results ul.products li.product.vc-catalog-card {
	padding: 0;
	border: 0;
	border-radius: 18px;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}
.woocommerce .vc-catalog-results ul.products li.product.vc-catalog-card:hover { transform: none; box-shadow: none; }
.vc-catalog-card__inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--vc-border);
	border-radius: 18px;
	background: #fff;
	overflow: hidden;
	box-shadow: var(--vc-shadow-xs);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.vc-catalog-card__inner:hover {
	transform: translateY(-4px);
	border-color: var(--vc-border-strong);
	box-shadow: var(--vc-shadow-md);
}
.vc-catalog-card__media {
	position: relative;
	display: block;
	padding: 18px;
	background: #fff;
}
.woocommerce .vc-catalog-card__media img,
.woocommerce ul.products li.product .vc-catalog-card__media img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0;
	border-radius: 12px;
	mix-blend-mode: normal;
}
.vc-catalog-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 7px 10px;
	border-radius: 999px;
	background: var(--vc-navy-900);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.vc-catalog-card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 20px;
}
.vc-catalog-card__category {
	align-self: flex-start;
	margin-bottom: 8px;
	color: var(--vc-blue-700);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
}
.woocommerce .vc-catalog-card .woocommerce-loop-product__title {
	margin: 0 0 10px;
	font-size: 19px;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.3em * 2);
}
.woocommerce .vc-catalog-card .woocommerce-loop-product__title a { color: var(--vc-navy-950); text-decoration: none; }
.vc-catalog-card__excerpt {
	margin: 0 0 16px;
	color: var(--vc-text-600);
	font-size: 14px;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(1.6em * 4);
}
.vc-catalog-card__attributes {
	display: grid;
	gap: 8px;
	margin: auto 0 18px;
	padding: 14px 0 0;
	border-top: 1px solid var(--vc-border);
}
.vc-catalog-card__attributes div { display: grid; grid-template-columns: minmax(78px, auto) 1fr; gap: 8px; }
.vc-catalog-card__attributes dt { color: var(--vc-text-500); font-size: 12px; font-weight: 700; }
.vc-catalog-card__attributes dd { margin: 0; color: var(--vc-navy-900); font-size: 12px; font-weight: 700; text-align: right; }
.vc-catalog-card__actions { display: grid; grid-template-columns: 1fr 48px; gap: 10px; margin-top: auto; align-items: stretch; }
.vc-catalog-card__view {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 11px;
	background: var(--vc-navy-900);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}
.vc-catalog-card__view:visited,
.vc-catalog-card__view:hover { color: #fff; background: var(--vc-navy-800); }
.vc-catalog-card__view .vc-icon { width: 17px; height: 17px; }
.vc-catalog-card__whatsapp {
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: var(--vc-green-600);
	color: #fff;
	text-decoration: none;
}
.vc-catalog-card__whatsapp:visited,
.vc-catalog-card__whatsapp:hover { color: #fff; background: #128c3a; }
.vc-catalog-card__whatsapp .vc-icon { width: 21px; height: 21px; }

.vc-catalog-pagination { margin-top: 34px; }
.woocommerce .vc-catalog-pagination nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}
.woocommerce .vc-catalog-pagination nav.woocommerce-pagination ul li { border: 0; }
.woocommerce .vc-catalog-pagination nav.woocommerce-pagination ul li a,
.woocommerce .vc-catalog-pagination nav.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--vc-border);
	border-radius: 10px;
	background: #fff;
	color: var(--vc-navy-900);
	font-weight: 700;
}
.woocommerce .vc-catalog-pagination nav.woocommerce-pagination ul li span.current {
	border-color: var(--vc-navy-900);
	background: var(--vc-navy-900);
	color: #fff;
}

.vc-catalog-empty {
	display: grid;
	justify-items: center;
	padding: clamp(50px, 9vw, 100px) 24px;
	border: 1px dashed var(--vc-border-strong);
	border-radius: 20px;
	background: var(--vc-surface-soft);
	text-align: center;
}
.vc-catalog-empty__icon {
	width: 64px;
	height: 64px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	border-radius: 50%;
	background: #fff;
	color: var(--vc-navy-900);
	box-shadow: var(--vc-shadow-sm);
}
.vc-catalog-empty h2 { margin: 0; color: var(--vc-navy-950); font-size: 27px; }
.vc-catalog-empty p { max-width: 580px; margin: 12px 0 22px; color: var(--vc-text-600); }
.vc-catalog-empty > div:last-child { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.vc-catalog-mobile-controls { display: none; }
.vc-catalog-filter-backdrop { display: none; }
body.vc-catalog-filter-open { overflow: hidden; }

@media (max-width: 1180px) {
	.vc-catalog-archive { --vc-catalog-sidebar: 250px; }
	.woocommerce .vc-catalog-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.vc-catalog-page .vc-woocommerce { width: min(calc(100% - 28px), 1320px); }
	.vc-catalog-hero { grid-template-columns: 1fr; gap: 24px; }
	.vc-catalog-hero__action { min-width: 0; }
	.vc-catalog-layout { display: block; }
	.vc-catalog-mobile-controls { display: flex; margin-bottom: 16px; }
	.vc-catalog-filter-toggle {
		min-height: 48px;
		display: inline-flex;
		align-items: center;
		gap: 9px;
		padding: 10px 16px;
		border: 1px solid var(--vc-border);
		border-radius: 11px;
		background: #fff;
		color: var(--vc-navy-900);
		font-size: 16px;
		font-weight: 800;
	}
	.vc-catalog-filter-toggle span {
		min-width: 23px;
		height: 23px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background: var(--vc-orange-500);
		color: #fff;
		font-size: 12px;
	}
	.vc-catalog-filter-panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 1400;
		width: min(92vw, 390px);
		padding: 22px;
		border: 0;
		border-radius: 0;
		box-shadow: -18px 0 48px rgba(3, 20, 45, .2);
		overflow-y: auto;
		transform: translateX(105%);
		visibility: hidden;
		transition: transform 220ms ease, visibility 220ms ease;
	}
	.admin-bar .vc-catalog-filter-panel { top: 32px; }
	.vc-catalog-filter-panel.is-open { transform: translateX(0); visibility: visible; }
	.vc-catalog-filter-close {
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: 1px solid var(--vc-border);
		border-radius: 10px;
		background: #fff;
		color: var(--vc-navy-900);
	}
	.vc-catalog-filter-field select,
	.vc-catalog-filter-submit,
	.vc-catalog-filter-actions > a { font-size: 16px; }
	.vc-catalog-filter-backdrop {
		position: fixed;
		inset: 0;
		z-index: 1350;
		display: block;
		background: rgba(3, 20, 45, .52);
	}
	.admin-bar .vc-catalog-filter-backdrop { top: 32px; }
	.vc-catalog-filter-backdrop[hidden] { display: none; }
}

@media (max-width: 782px) {
	.admin-bar .vc-catalog-filter-panel,
	.admin-bar .vc-catalog-filter-backdrop { top: 46px; }
}

@media (max-width: 767px) {
	.vc-catalog-page .vc-woocommerce { padding-top: 28px; padding-bottom: 64px; }
	.vc-catalog-hero { padding: 28px 22px; border-radius: 20px; }
	.vc-catalog-hero h1 { font-size: 38px; }
	.vc-catalog-hero__copy > p { font-size: 16px; }
	.vc-catalog-hero__action .vc-button { width: 100%; }
	.vc-catalog-categories { margin-bottom: 22px; }
	.vc-catalog-toolbar { align-items: stretch; flex-direction: column; padding: 14px; }
	.vc-catalog-order { width: 100%; display: grid; grid-template-columns: auto 1fr; }
	.vc-catalog-order select { width: 100%; min-width: 0; font-size: 16px; }
	.woocommerce .vc-catalog-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.vc-catalog-card__inner { min-height: 100%; }
	.vc-catalog-card__media { padding: 12px; }
	.vc-catalog-card__body { padding: 15px; }
	.woocommerce .vc-catalog-card .woocommerce-loop-product__title { font-size: 16px; }
	.vc-catalog-card__excerpt { display: none; }
	.vc-catalog-card__attributes { display: none; }
	.vc-catalog-card__actions { grid-template-columns: 1fr 44px; }
	.vc-catalog-card__view { min-height: 44px; padding-inline: 8px; font-size: 13px; }
	.vc-catalog-card__whatsapp { width: 44px; height: 44px; }
}

@media (max-width: 680px) {
	.vc-catalog-page .vc-woocommerce { width: min(calc(100% - 20px), 1320px); }
	.vc-catalog-filter-panel { width: 100%; }
	.woocommerce .vc-catalog-results ul.products { grid-template-columns: 1fr; }
	.vc-catalog-card__body { padding: 16px; }
	.vc-catalog-card__view { font-size: 14px; }
	.vc-catalog-card__excerpt,
	.vc-catalog-card__attributes { display: block; }
	.vc-catalog-card__attributes { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
	.vc-catalog-filter-panel,
	.vc-catalog-card__inner { transition: none !important; }
}

/* v0.6.3 mobile card compact overrides */
.vc-catalog-card__excerpt { display: none !important; }
.woocommerce .vc-catalog-card .woocommerce-loop-product__title { margin-bottom: 14px; }

@media (max-width: 680px) {
	.woocommerce .vc-catalog-results ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px; }
	.vc-catalog-card__media { padding: 10px; }
	.vc-catalog-card__body { padding: 14px; }
	.vc-catalog-card__category { margin-bottom: 6px; font-size: 11px; }
	.woocommerce .vc-catalog-card .woocommerce-loop-product__title { font-size: 15px; margin-bottom: 12px; }
	.vc-catalog-card__attributes { display: none !important; }
	.vc-catalog-card__actions { grid-template-columns: 1fr 42px; gap: 8px; }
	.vc-catalog-card__view { min-height: 42px; padding-inline: 8px; font-size: 12px; }
	.vc-catalog-card__whatsapp { width: 42px; height: 42px; }
}

/* v0.6.4 ultra-mobile card cleanup */
@media (max-width: 560px) {
	.woocommerce .vc-catalog-results ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px;
	}
	.vc-catalog-card__inner {
		border-radius: 16px;
	}
	.vc-catalog-card__media {
		padding: 10px;
	}
	.vc-catalog-card__body {
		padding: 12px;
	}
	.vc-catalog-card__category {
		margin-bottom: 6px;
		font-size: 10px;
		line-height: 1.2;
	}
	.woocommerce .vc-catalog-card .woocommerce-loop-product__title {
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 1.25;
		min-height: calc(1.25em * 2);
	}
	.vc-catalog-card__actions {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.vc-catalog-card__view {
		min-height: 40px;
		padding: 10px 10px;
		font-size: 12px;
		white-space: nowrap;
	}
	.vc-catalog-card__whatsapp {
		display: none;
	}
}

/* v0.6.5 stronger mobile shop-card alignment */
@media (max-width: 680px) {
	.woocommerce .vc-catalog-results ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px !important;
		justify-items: stretch;
		align-items: stretch;
	}
	.woocommerce .vc-catalog-results ul.products li.product,
	.woocommerce .vc-catalog-results ul.products li.product.vc-catalog-card {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		float: none !important;
	}
	.woocommerce .vc-catalog-results ul.products li.product.vc-catalog-card .vc-catalog-card__inner {
		width: 100%;
		min-width: 0;
		height: 100%;
	}
}

/* v0.6.6 categories moved into the filter sidebar */
.vc-catalog-filter-field--categories {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.vc-catalog-filter-field--categories legend {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
	color: var(--vc-navy-900);
	font-size: 14px;
	font-weight: 800;
}
.vc-catalog-filter-categories {
	display: grid;
	gap: 8px;
}
.vc-catalog-filter-categories a {
	min-width: 0;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 9px 11px;
	border: 1px solid var(--vc-border);
	border-radius: 11px;
	background: var(--vc-surface-soft);
	color: var(--vc-navy-900);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}
.vc-catalog-filter-categories a:hover,
.vc-catalog-filter-categories a.is-current {
	border-color: var(--vc-navy-900);
	background: var(--vc-navy-900);
	color: #fff;
}
.vc-catalog-filter-categories a span {
	min-width: 0;
	overflow-wrap: anywhere;
}
.vc-catalog-filter-categories small {
	min-width: 24px;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	border-radius: 999px;
	background: rgba(7, 30, 65, .08);
	color: inherit;
	font-size: 11px;
	font-weight: 800;
}
.vc-catalog-filter-categories a:hover small,
.vc-catalog-filter-categories a.is-current small {
	background: rgba(255,255,255,.16);
}

@media (max-width: 900px) {
	.vc-catalog-filter-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* v0.6.7 — Mobile filter control spacing and full width */
@media (max-width: 900px) {
	.vc-catalog-mobile-controls {
		width: 100%;
		display: block;
		margin: 20px 0 16px;
	}

	.vc-catalog-filter-toggle {
		width: 100%;
		min-height: 52px;
		justify-content: center;
		border-radius: 14px;
	}
}

@media (max-width: 767px) {
	.vc-catalog-mobile-controls {
		margin-top: 18px;
		margin-bottom: 16px;
	}
}

/* v0.6.8 — Desktop filter spacing, full sidebar width and anchored results */
@media (min-width: 901px) {
	.vc-catalog-layout {
		margin-top: 24px;
	}

	.vc-catalog-filter-panel {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}
}

.vc-catalog-results {
	scroll-margin-top: 150px;
}

@media (max-width: 900px) {
	.vc-catalog-layout {
		margin-top: 0;
	}

	.vc-catalog-results {
		scroll-margin-top: 110px;
	}
}

/* v0.6.9 — Remove the visible focus rectangle after searches/filters */
.vc-catalog-results,
.vc-catalog-results:focus,
.vc-catalog-results:focus-visible,
.vc-catalog-results:target {
	outline: 0 !important;
	box-shadow: none;
}

