/*
 * Application pages — /applications/ (index) and /applications/[slug]/ (child).
 * Loaded on: is_page_template('page-application.php') and is_page_template('page-applications-index.php')
 * Depends on: products.css (reuses .vg-prod-breadcrumb, .vg-prod-intro, .vg-prod-grid, .vg-prod-card, .vg-faq)
 */

/* =====================
   APPLICATION HERO
   Full-bleed photographic hero for child application pages.
   Uses the same --vg-cat-hero-bg CSS custom property as .vg-prod-hero.
===================== */

.vg-app-hero {
	position: relative;
	width: 100%;
	height: 600px;
	overflow: hidden;
	background-color: #063715;
	background-image: var(--vg-cat-hero-bg, none);
	background-size: cover;
	background-position: center top;
}

.vg-app-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		rgba(6, 55, 21, 0.45) 0%,
		rgba(6, 55, 21, 0.80) 60%,
		rgba(6, 55, 21, 0.92) 100%
	);
}

.vg-app-hero__content {
	position: absolute;
	bottom: 72px;
	left: 80px;
	right: 80px;
	max-width: 900px;
}

.vg-app-hero__eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #AAC7B4;
	margin-bottom: 12px;
}

.vg-app-hero__title {
	font-size: clamp(32px, 5vw, 64px);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.1;
	margin: 0 0 16px;
}

.vg-app-hero__subtitle {
	font-size: clamp(16px, 2vw, 20px);
	color: #C8DDD1;
	font-weight: 300;
	margin: 0;
	max-width: 640px;
}

/* =====================
   APPLICATIONS INDEX HERO
   Solid dark-green band for the parent /applications/ page.
===================== */

.vg-app-index-hero {
	background-color: #063715;
	padding: 120px 80px 72px;
	min-height: 600px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.vg-app-index-hero__eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #AAC7B4;
	margin-bottom: 12px;
}

.vg-app-index-hero__title {
	font-size: clamp(32px, 5vw, 56px);
	font-weight: 700;
	color: #ffffff;
	line-height: 1.1;
	margin: 0 0 16px;
}

.vg-app-index-hero__subtitle {
	font-size: clamp(16px, 2vw, 20px);
	color: #C8DDD1;
	font-weight: 300;
	margin: 0;
	max-width: 640px;
}

/* =====================
   APPLICATIONS INDEX TILE GRID
   Five application tiles on the /applications/ parent page.
===================== */

.vg-app-index-grid {
	padding: 80px;
}

.vg-app-index-grid__heading {
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 700;
	color: #08471B;
	margin: 0 0 8px;
}

.vg-app-index-grid__subtitle {
	font-size: 16px;
	color: #4a6b55;
	margin: 0 0 48px;
}

.vg-app-index-grid__tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* =====================
   APPLICATION PAGE — INTRO COPY OVERRIDE
   products.css sets .vg-prod-intro { padding: 0 80px 48px } — no top padding,
   designed for use directly below category filter tabs. On application pages
   the intro follows the full-bleed hero and needs proper vertical spacing.
   Also remove the products.css max-width container so width matches other
   full-bleed application sections.
===================== */

.page-application .vg-prod-intro {
	padding: 72px 80px 48px;
	max-width: 100%;
}

.page-application .vg-prod-intro__inner p {
	font-size: 17px;
	font-weight: 300;
	line-height: 1.7;
	color: #020202;
}

@media (max-width: 1024px) {
	.page-application .vg-prod-intro {
		padding: 56px 48px 40px;
	}
}

@media (max-width: 768px) {
	.page-application .vg-prod-intro {
		padding: 48px 24px 32px;
	}
}

@media (max-width: 480px) {
	.page-application .vg-prod-intro {
		padding: 40px 20px 28px;
	}
}

/* =====================
   APPLICATION INDEX — INTRO COPY
   Short SEO intro on the /applications/ parent page,
   between the hero and the tile grid.
===================== */

.vg-app-index-intro {
	padding: 72px 80px 48px;
	background: var(--color-bg-light);
	box-sizing: border-box;
}

.vg-app-index-intro__inner {
	max-width: 720px;
	font-size: 17px;
	font-weight: 300;
	line-height: 1.7;
	color: #020202;
}

.vg-app-index-intro__inner p {
	font-size: 17px;
	font-weight: 300;
	line-height: 1.7;
	color: #020202;
}

@media (max-width: 1024px) {
	.vg-app-index-intro {
		padding: 56px 48px 40px;
	}
}

@media (max-width: 768px) {
	.vg-app-index-intro {
		padding: 48px 24px 32px;
	}
}

@media (max-width: 480px) {
	.vg-app-index-intro {
		padding: 40px 20px 28px;
	}
}

/* =====================
   APPLICATION PRODUCTS SECTION
   Background tint to separate from adjacent sections.
   Product grid itself uses .vg-prod-grid / .vg-prod-card from products.css.
===================== */

.vg-app-products {
	padding: 80px;
	background: var(--color-bg-light, #fafaf8);
}

.vg-app-products__heading {
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 700;
	color: #08471B;
	margin: 0 0 8px;
}

.vg-app-products__subtitle {
	font-size: 16px;
	color: #4a6b55;
	line-height: 1.6;
	margin: 0 0 32px;
	max-width: 720px;
}

.vg-app-products__unit-toggle {
	margin: 0 0 32px;
}

.vg-app-products__no-results {
	color: #4a6b55;
	font-size: 16px;
}

/* =====================
   STAT BAND LAYOUT PARTIAL (.vig-stat-band)
   Dark green background, large number + short label per stat.
   1–4 stats in a responsive row. Styled to match .vg-trust-bar on
   product category pages: orange numerals, right-border dividers,
   left-aligned stat columns.
===================== */

.vig-stat-band {
	padding: 40px 32px;
	background: #08471B;
}

.vig-stat-band__inner {
	max-width: var(--container-max-width);
	margin: 0 auto;
}

.vig-stat-band__heading {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #AAC7B4;
	margin: 0 0 24px;
}

.vig-stat-band__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.vig-stat-band__stat {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0 24px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.vig-stat-band__stat:first-child { padding-left: 0; }
.vig-stat-band__stat:last-child  { border-right: none; padding-right: 0; }

.vig-stat-band__value {
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 800;
	color: #F48113;
	line-height: 1;
	overflow-wrap: break-word;
}

.vig-stat-band__label {
	font-size: 14px;
	color: #AAC7B4;
	font-weight: 500;
	line-height: 1.4;
}

/* =====================
   APPLICATION CTA BAND
   Dark green band at page bottom. Two CTAs: contact + products.
===================== */

.vg-app-cta {
	padding: 48px 80px;
	background: #063715;
	text-align: center;
	border-top: 4px solid var(--color-secondary-500, #F48113);
}

.vg-app-cta__eyebrow {
	display: block;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #AAC7B4;
	margin: 0 0 12px;
}

.vg-app-cta__heading {
	font-size: clamp(24px, 3vw, 40px);
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 16px;
}

.vg-app-cta__subtext {
	font-size: 16px;
	color: #C8DDD1;
	margin: 0 0 32px;
}

.vg-app-cta__actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.vg-app-cta__btn {
	display: inline-block;
	padding: 14px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
}

.vg-app-cta__btn--primary {
	background: var(--color-secondary-500, #F48113);
	color: #020202;
	border: 2px solid var(--color-secondary-500, #F48113);
}

.vg-app-cta__btn--primary:hover {
	background: #E67E0A;
	border-color: #E67E0A;
	color: #020202;
}

.vg-app-cta__btn--secondary {
	background: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.4);
}

.vg-app-cta__btn--secondary:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* =====================
   RESPONSIVE
===================== */

@media (max-width: 1024px) {
	.vg-app-hero {
		height: 500px;
	}

	.vg-app-hero__content {
		bottom: 56px;
		left: 48px;
		right: 48px;
	}

	.vg-app-index-hero {
		padding: 100px 48px 60px;
		min-height: 500px;
	}

	.vg-app-index-grid,
	.vg-app-products,
	.vg-app-cta {
		padding: 60px 48px;
	}

	.vig-stat-band {
		padding: 32px 24px;
	}
}

@media (max-width: 960px) {
	.vig-stat-band__stats {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}

	.vig-stat-band__stat {
		padding: 0;
		border-right: none;
	}

	.vg-app-index-grid__tiles {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.vg-app-hero {
		height: 420px;
	}

	.vg-app-hero__content {
		bottom: 40px;
		left: 24px;
		right: 24px;
	}

	.vg-app-index-hero {
		padding: 80px 24px 48px;
		min-height: 420px;
	}

	.vg-app-index-grid,
	.vg-app-products,
	.vg-app-cta {
		padding: 48px 24px;
	}

	.vig-stat-band {
		padding: 24px;
	}

	.vg-app-index-grid__tiles {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.vg-app-hero {
		height: 380px;
	}

	.vg-app-index-grid__tiles {
		grid-template-columns: 1fr;
	}

	.vg-app-cta__actions {
		flex-direction: column;
		align-items: center;
	}
}
