/* VoltColor SEO content and landing pages — v0.8.0 */

.vc-home-local {
	padding-block: clamp(42px, 6vw, 76px);
	background: #fff;
}
.vc-home-local__grid {
	display: grid;
	grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
	gap: clamp(30px, 6vw, 80px);
	align-items: start;
}
.vc-home-local h2 {
	margin: 10px 0 0;
	font-size: clamp(34px, 4vw, 54px);
	line-height: 1.08;
	letter-spacing: -.035em;
}
.vc-home-local p {
	margin: 0 0 16px;
	color: var(--vc-text-700);
	font-size: 17px;
	line-height: 1.75;
}
.vc-home-local__links { display: flex; flex-wrap: wrap; gap: 14px 16px; margin-top: 28px; }
.vc-home-local__button,
.vc-home-local__button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 12px 20px;
	border-radius: 14px;
	border: 1px solid var(--vc-border-strong);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.vc-home-local__button span { font-size: 18px; line-height: 1; }
.vc-home-local__button:hover { transform: translateY(-1px); }
.vc-home-local__button--primary,
.vc-home-local__button--primary:visited {
	background: var(--vc-navy-900);
	border-color: var(--vc-navy-900);
	color: #fff;
	box-shadow: 0 14px 28px rgba(7, 30, 65, .12);
}
.vc-home-local__button--primary:hover,
.vc-home-local__button--primary:focus-visible {
	background: var(--vc-blue-800);
	border-color: var(--vc-blue-800);
	color: #fff;
}
.vc-home-local__button--secondary,
.vc-home-local__button--secondary:visited {
	background: #fff;
	border-color: var(--vc-border-strong);
	color: var(--vc-blue-800);
}
.vc-home-local__button--secondary:hover,
.vc-home-local__button--secondary:focus-visible {
	background: var(--vc-surface-soft);
	border-color: var(--vc-blue-700);
	color: var(--vc-blue-800);
}

.vc-home-seo-hub { background: var(--vc-surface-soft); }
.vc-home-seo-hub__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
}
.vc-home-seo-hub__grid > a,
.vc-colors-seo-links > a,
.vc-seo-related__grid > a {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 22px;
	border: 1px solid var(--vc-border);
	border-radius: 18px;
	background: #fff;
	color: var(--vc-text-700);
	text-decoration: none;
	box-shadow: var(--vc-shadow-xs);
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.vc-home-seo-hub__grid > a:hover,
.vc-colors-seo-links > a:hover,
.vc-seo-related__grid > a:hover {
	transform: translateY(-3px);
	border-color: var(--vc-border-strong);
	box-shadow: var(--vc-shadow-md);
}
.vc-home-seo-hub__grid strong,
.vc-colors-seo-links strong,
.vc-seo-related__grid strong { color: var(--vc-navy-950); font-size: 17px; line-height: 1.3; }
.vc-home-seo-hub__grid span,
.vc-colors-seo-links span,
.vc-seo-related__grid span { margin-top: 10px; font-size: 14px; line-height: 1.6; }
.vc-home-seo-hub__grid small,
.vc-colors-seo-links small,
.vc-seo-related__grid small { margin-top: auto; padding-top: 18px; color: var(--vc-blue-700); font-size: 13px; font-weight: 800; }

/* Product archive supporting copy. */
.vc-catalog-seo-copy {
	margin-top: clamp(48px, 7vw, 88px);
	padding: clamp(28px, 5vw, 54px);
	border: 1px solid var(--vc-border);
	border-radius: 26px;
	background: linear-gradient(135deg, #fff 0%, #f7f9fc 100%);
}
.vc-catalog-seo-copy__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(26px, 5vw, 60px);
}
.vc-catalog-seo-copy h2 { margin: 0 0 16px; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.15; }
.vc-catalog-seo-copy p { margin: 0 0 14px; color: var(--vc-text-700); font-size: 16px; line-height: 1.75; }
.vc-catalog-seo-faq { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--vc-border); }
.vc-catalog-seo-faq > h2 { font-size: 28px; }
.vc-catalog-seo-faq details,
.vc-seo-faq details {
	border: 1px solid var(--vc-border);
	border-radius: 14px;
	background: #fff;
	overflow: hidden;
}
.vc-catalog-seo-faq details + details { margin-top: 10px; }
.vc-catalog-seo-faq summary,
.vc-seo-faq summary {
	cursor: pointer;
	padding: 17px 20px;
	color: var(--vc-navy-950);
	font-size: 16px;
	font-weight: 800;
	list-style: none;
}
.vc-catalog-seo-faq summary::-webkit-details-marker,
.vc-seo-faq summary::-webkit-details-marker { display: none; }
.vc-catalog-seo-faq details p,
.vc-seo-faq details p { margin: 0; padding: 0 20px 20px; }
.vc-catalog-seo-links { display: flex; flex-wrap: wrap; gap: 16px 26px; margin-top: 28px; }
.vc-catalog-seo-links a { color: var(--vc-blue-800); font-weight: 800; text-decoration: none; }

/* SEO landing pages. */
.vc-seo-landing { padding: 0 0 90px; background: #fff; }
.vc-seo-landing__container { width: min(calc(100% - 40px), 1240px); padding-top: clamp(42px, 6vw, 70px); }
.vc-seo-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; color: var(--vc-text-500); font-size: 13px; }
.vc-seo-breadcrumb a { color: var(--vc-text-700); text-decoration: none; }
.vc-seo-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
	gap: clamp(28px, 5vw, 70px);
	align-items: center;
	padding: clamp(32px, 6vw, 72px);
	border: 1px solid var(--vc-border);
	border-radius: 30px;
	background:
		radial-gradient(circle at 90% 15%, rgba(255, 180, 0, .16), transparent 27%),
		linear-gradient(135deg, #fff 0%, #f5f8fc 100%);
}
.vc-seo-hero h1 { max-width: 900px; margin: 12px 0 20px; font-size: clamp(42px, 6vw, 72px); line-height: 1.02; letter-spacing: -.05em; }
.vc-seo-hero__copy > p { max-width: 820px; margin: 0; color: var(--vc-text-700); font-size: 18px; line-height: 1.75; }
.vc-seo-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.vc-seo-hero__panel {
	display: flex;
	flex-direction: column;
	padding: 28px;
	border-radius: 22px;
	background: var(--vc-navy-950);
	color: #fff;
	box-shadow: var(--vc-shadow-lg);
}
.vc-seo-hero__panel > span { color: var(--vc-orange-400); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vc-seo-hero__panel > strong { margin-top: 10px; font-size: 25px; line-height: 1.25; }
.vc-seo-hero__panel > p { margin: 14px 0 0; color: rgba(255,255,255,.78); font-size: 15px; line-height: 1.65; }

.vc-seo-copy,
.vc-seo-section,
.vc-seo-faq,
.vc-seo-related { margin-top: clamp(50px, 7vw, 88px); }
.vc-seo-copy--intro { max-width: 940px; margin-inline: auto; text-align: center; }
.vc-seo-copy h2 { margin: 0 0 20px; font-size: clamp(32px, 4vw, 50px); line-height: 1.12; }
.vc-seo-copy p { margin: 0 0 16px; color: var(--vc-text-700); font-size: 17px; line-height: 1.8; }
.vc-seo-copy--sections { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.vc-seo-copy--sections article { padding: clamp(24px, 4vw, 38px); border: 1px solid var(--vc-border); border-radius: 22px; background: #fff; box-shadow: var(--vc-shadow-xs); }
.vc-seo-copy--sections h2 { font-size: clamp(27px, 3vw, 38px); }

.vc-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 28px; }
.vc-section-heading h2 { margin: 8px 0 0; font-size: clamp(32px, 4vw, 48px); line-height: 1.1; }
.vc-section-heading > p { max-width: 520px; margin: 0; color: var(--vc-text-600); font-size: 15px; line-height: 1.7; }
.vc-seo-colors,
.vc-seo-products { padding: clamp(26px, 4vw, 42px); border: 1px solid var(--vc-border); border-radius: 26px; background: var(--vc-surface-soft); }
.vc-seo-products ul.products { margin-bottom: 0; }
.vc-colors-grid--seo { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vc-seo-text-link { display: inline-flex; margin-top: 24px; color: var(--vc-blue-800); font-weight: 800; text-decoration: none; }

.vc-seo-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vc-seo-faq details p { color: var(--vc-text-700); font-size: 15px; line-height: 1.7; }
.vc-seo-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vc-seo-cta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 34px;
	margin-top: clamp(50px, 7vw, 88px);
	padding: clamp(30px, 5vw, 54px);
	border-radius: 26px;
	background: var(--vc-navy-950);
	color: #fff;
}
.vc-seo-cta h2 { margin: 8px 0 12px; color: #fff; font-size: clamp(30px, 4vw, 48px); line-height: 1.1; }
.vc-seo-cta p { max-width: 760px; margin: 0; color: rgba(255,255,255,.76); font-size: 16px; }
.vc-seo-disclaimer { margin: 24px 0 0; color: var(--vc-text-500); font-size: 13px; line-height: 1.6; text-align: center; }

/* Content hub under the color catalog. */
.vc-colors-seo-content { margin-top: clamp(50px, 7vw, 84px); padding-top: clamp(36px, 5vw, 58px); border-top: 1px solid var(--vc-border); }
.vc-colors-seo-links { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }

@media (max-width: 1100px) {
	.vc-home-seo-hub__grid,
	.vc-colors-seo-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vc-colors-grid--seo { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.vc-home-local__grid,
	.vc-seo-hero,
	.vc-catalog-seo-copy__grid { grid-template-columns: 1fr; }
	.vc-seo-hero__panel { max-width: 520px; }
	.vc-home-seo-hub__grid,
	.vc-colors-seo-links,
	.vc-seo-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vc-seo-copy--sections { grid-template-columns: 1fr; }
	.vc-colors-grid--seo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
	.vc-seo-landing { padding: 0 0 64px; }
	.vc-seo-landing__container { width: min(calc(100% - 20px), 1240px); padding-top: 34px; }
	.vc-seo-hero { padding: 28px 22px; border-radius: 22px; }
	.vc-seo-hero h1 { font-size: 40px; }
	.vc-seo-hero__copy > p { font-size: 16px; }
	.vc-seo-hero__actions { display: grid; }
	.vc-seo-hero__actions .vc-button { width: 100%; }
	.vc-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
	.vc-seo-faq__grid,
	.vc-home-seo-hub__grid,
	.vc-colors-seo-links,
	.vc-seo-related__grid { grid-template-columns: 1fr; }
	.vc-seo-cta { align-items: flex-start; flex-direction: column; }
	.vc-seo-cta .vc-button { width: 100%; }
	.vc-catalog-seo-copy { padding: 24px 20px; border-radius: 20px; }
	.vc-home-local__links { display: grid; gap: 12px; }
}

/* SEO landing related-product grid fix — v0.8.1 */
.vc-seo-products {
	overflow: hidden;
}
.vc-seo-products .vc-seo-products-grid,
.vc-seo-products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 18px !important;
	align-items: stretch;
	justify-items: stretch;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
.vc-seo-products .vc-seo-products-grid::before,
.vc-seo-products .vc-seo-products-grid::after,
.vc-seo-products ul.products::before,
.vc-seo-products ul.products::after {
	display: none !important;
	content: none !important;
}
.vc-seo-products .vc-seo-products-grid > li.product,
.vc-seo-products ul.products > li.product,
.woocommerce .vc-seo-products .vc-seo-products-grid > li.product,
.woocommerce .vc-seo-products ul.products > li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
}
.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__inner {
	width: 100%;
	min-width: 0;
	height: 100%;
}
.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__media {
	width: 100%;
	background: #fff;
}
.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__media img {
	width: 100%;
	max-width: 100%;
	display: block;
}
.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__body {
	min-width: 0;
}
.vc-seo-products li.product.vc-catalog-card .woocommerce-loop-product__title,
.vc-seo-products li.product.vc-catalog-card .woocommerce-loop-product__title a {
	overflow-wrap: anywhere;
	word-break: normal;
}

@media (max-width: 980px) {
	.vc-seo-products .vc-seo-products-grid,
	.vc-seo-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px !important;
	}
}

@media (max-width: 680px) {
	.vc-seo-products {
		padding: 24px 20px;
	}
	.vc-seo-products .vc-seo-products-grid,
	.vc-seo-products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__body {
		padding: 14px;
	}
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__category {
		font-size: 10px;
		line-height: 1.2;
	}
	.vc-seo-products li.product.vc-catalog-card .woocommerce-loop-product__title {
		min-height: calc(1.25em * 3);
		font-size: 14px;
		line-height: 1.25;
	}
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__attributes,
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__whatsapp {
		display: none !important;
	}
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__actions {
		grid-template-columns: 1fr !important;
		gap: 0 !important;
	}
	.vc-seo-products li.product.vc-catalog-card .vc-catalog-card__view {
		width: 100%;
		min-width: 0;
		min-height: 42px;
		padding: 10px 8px;
		font-size: 12px;
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 390px) {
	.vc-seo-products .vc-seo-products-grid,
	.vc-seo-products ul.products {
		grid-template-columns: 1fr !important;
	}
}

