/* =============================================================
   CONTACT US PAGE
   Auto-loads on /contact-us/ via slug auto-loader
   ============================================================= */

.vpc-contact {
	background: var(--vpc-black);
	color: var(--vpc-white);
	min-height: calc(100vh - 84px);
	padding: clamp(52px, 6vw, 80px) 0;
}

.vpc-contact-inner {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: clamp(40px, 6vw, 80px);
	align-items: start;
}

/* =============================================================
   LEFT: CONTENT
   ============================================================= */
.vpc-contact-content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	position: sticky;
	top: 104px;
}

.vpc-contact-eyebrow { color: var(--vpc-red); }

.vpc-contact-title {
	font-size: clamp(38px, 5.5vw, 68px);
	line-height: 0.97;
	color: var(--vpc-white);
	margin: 0;
}

.vpc-contact-lead {
	font-size: var(--vpc-fs-lead);
	color: var(--vpc-steel-light);
	line-height: 1.65;
	margin: 0;
	max-width: 460px;
}

/* Phone — big and tappable */
.vpc-contact-phone {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	border-radius: var(--vpc-radius-lg);
	background: var(--vpc-charcoal);
	border: 1px solid rgba(224, 30, 43, 0.30);
	text-decoration: none;
	transition: border-color 180ms var(--vpc-ease), background 180ms var(--vpc-ease);
}

.vpc-contact-phone:hover {
	border-color: var(--vpc-red);
	background: var(--vpc-charcoal-2);
}

.vpc-contact-phone-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(224, 30, 43, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vpc-red);
	flex-shrink: 0;
}

.vpc-contact-phone-icon svg { width: 20px; height: 20px; }

.vpc-contact-phone-body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.vpc-contact-phone-label {
	font-family: var(--vpc-font-head);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vpc-steel);
	line-height: 1;
}

.vpc-contact-phone-number {
	font-family: var(--vpc-font-head);
	font-size: clamp(22px, 2.8vw, 30px);
	font-weight: 700;
	color: var(--vpc-white);
	line-height: 1.1;
	letter-spacing: 0.01em;
}

/* Secondary details */
.vpc-contact-details {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
	border-radius: var(--vpc-radius-lg);
	background: var(--vpc-charcoal);
	border: 1px solid var(--vpc-line);
}

.vpc-contact-detail {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 15px;
	color: var(--vpc-steel-light);
}

.vpc-contact-detail svg {
	width: 16px;
	height: 16px;
	color: var(--vpc-red);
	flex-shrink: 0;
}

.vpc-contact-detail a {
	color: var(--vpc-steel-light);
	text-decoration: none;
	transition: color 180ms var(--vpc-ease);
}

.vpc-contact-detail a:hover { color: var(--vpc-white); }

/* Trust strip */
.vpc-contact-trust {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-radius: var(--vpc-radius-lg);
	background: var(--vpc-charcoal);
	border: 1px solid var(--vpc-line);
	overflow: hidden;
}

.vpc-contact-trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding: 18px 12px;
	border-right: 1px solid var(--vpc-line);
}

.vpc-contact-trust-item:last-child { border-right: none; }

.vpc-contact-trust-item strong {
	font-family: var(--vpc-font-head);
	font-size: clamp(16px, 1.8vw, 22px);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--vpc-white);
	line-height: 1;
}

.vpc-contact-trust-item span {
	font-size: 11px;
	color: var(--vpc-steel);
	letter-spacing: 0.04em;
}

/* =============================================================
   RIGHT: FORM CARD
   ============================================================= */
.vpc-contact-form-col { width: 100%; }

.vpc-contact-form-card {
	position: relative;
	overflow: hidden;
	border-radius: 28px;
	border: 1.5px solid rgba(255, 255, 255, 0.16);
	background: linear-gradient(145deg, rgba(18,19,22,0.88) 0%, rgba(8,8,10,0.78) 48%, rgba(14,15,18,0.84) 100%);
	backdrop-filter: blur(20px) saturate(125%);
	-webkit-backdrop-filter: blur(20px) saturate(125%);
	box-shadow: 0 34px 90px rgba(0,0,0,0.62), inset 0 1px 0 rgba(255,255,255,0.10);
}

.vpc-contact-form-card::after {
	content: "";
	position: absolute;
	top: 0; left: 24px; right: 24px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.26) 50%, transparent);
	pointer-events: none;
}

.vpc-contact-form-top {
	position: relative;
	z-index: 1;
	padding: clamp(24px, 2.7vw, 34px) clamp(28px, 3vw, 40px) clamp(20px, 2vw, 26px);
	border-bottom: 1px solid rgba(255,255,255,0.11);
	background: linear-gradient(135deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025));
}

.vpc-contact-form-top strong {
	display: block;
	font-family: var(--vpc-font-head);
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 700;
	text-transform: uppercase;
	color: var(--vpc-white);
	margin: 0 0 8px;
}

.vpc-contact-form-top p {
	margin: 0;
	font-size: 14.5px;
	color: rgba(199,204,210,0.78);
	line-height: 1.5;
}

.vpc-contact-form-body {
	position: relative;
	z-index: 1;
	padding: clamp(24px, 2.7vw, 34px) clamp(28px, 3vw, 40px);
}

/* GF dark styles */
.vpc-contact-form-card .gform_wrapper,
.vpc-contact-form-card form { width:100%!important; max-width:100%!important; margin:0!important; }
.vpc-contact-form-card .gform_fields { width:100%!important; row-gap:13px!important; }
.vpc-contact-form-card .gfield_label { color:rgba(199,204,210,0.80)!important; font-family:var(--vpc-font-body)!important; font-size:10.5px!important; font-weight:700!important; letter-spacing:0.10em!important; text-transform:uppercase!important; margin-bottom:6px!important; }
.vpc-contact-form-card .gfield_required { display:none!important; }
.vpc-contact-form-card input[type="text"],
.vpc-contact-form-card input[type="email"],
.vpc-contact-form-card input[type="tel"],
.vpc-contact-form-card textarea,
.vpc-contact-form-card select {
	width:100%!important; min-height:48px!important; padding:13px 15px!important; border-radius:14px!important;
	border:1.5px solid rgba(255,255,255,0.14)!important;
	background:linear-gradient(135deg,rgba(255,255,255,0.075),rgba(255,255,255,0.035))!important;
	color:var(--vpc-white)!important; font-family:var(--vpc-font-body)!important; font-size:14px!important;
	outline:none!important; -webkit-appearance:none; appearance:none;
	transition:border-color 0.2s ease!important;
}
.vpc-contact-form-card input:focus,
.vpc-contact-form-card textarea:focus { border-color:rgba(255,255,255,0.38)!important; }
.vpc-contact-form-card input::placeholder,
.vpc-contact-form-card textarea::placeholder { color:rgba(199,204,210,0.42)!important; }
.vpc-contact-form-card textarea { min-height:120px!important; resize:none!important; }
.vpc-contact-form-card .gform_footer,
.vpc-contact-form-card .gform-footer { margin-top:20px!important; padding:0!important; }
.vpc-contact-form-card .gform_footer input[type="submit"],
.vpc-contact-form-card .gform-footer input[type="submit"],
.vpc-contact-form-card .gform_button {
	width:100%!important; min-height:54px!important; padding:16px 24px!important;
	border-radius:var(--vpc-radius-pill)!important; background:var(--vpc-flare)!important;
	border:none!important; color:var(--vpc-white)!important; font-family:var(--vpc-font-head)!important;
	font-size:14px!important; font-weight:700!important; letter-spacing:0.075em!important;
	text-transform:uppercase!important; cursor:pointer!important;
	transition:transform 0.2s ease, box-shadow 0.2s ease!important;
}
.vpc-contact-form-card .gform_footer input[type="submit"]:hover,
.vpc-contact-form-card .gform-footer input[type="submit"]:hover,
.vpc-contact-form-card .gform_button:hover { transform:translateY(-2px); box-shadow:0 14px 40px rgba(224,30,43,0.35)!important; }

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width: 900px) {
	.vpc-contact-inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.vpc-contact-content {
		position: static;
	}
	/* On mobile: form first, then info below */
	.vpc-contact-form-col { order: -1; }
}

@media (max-width: 560px) {
	.vpc-contact-trust {
		grid-template-columns: 1fr;
	}
	.vpc-contact-trust-item {
		border-right: none;
		border-bottom: 1px solid var(--vpc-line);
		flex-direction: row;
		justify-content: flex-start;
		text-align: left;
		gap: 12px;
	}
	.vpc-contact-trust-item:last-child { border-bottom: none; }
}