/* Contact - Velocity Lending (21526) - copy of adapter-contact.css plus the one-panel hero. */

/* Grid sections: the class must beat the .e-con flex default regardless
   of stylesheet load order. */
.e-con.velp-ct-grid,
.e-con.velp-ct-ways-grid { display: grid; }

/* Row-flex: .e-con defaults to flex-direction column; the class assumes
   row (its flex-wrap + justify-content handle narrow screens, no
   breakpoint mirror needed). */
.e-con.vel-cta-actions { flex-direction: row; }

/* keydesign-framework paints text-editor wrappers #757575/1.75 and its
   `.elementor-widget-text-editor p` inherit-everything rule beats classes
   on the <p> itself; restore the page palette on the wrappers so the
   paragraphs inherit the right metrics. */
.velp-ct .elementor-widget-text-editor { color: var(--vel-slate); }
.velp-ct .vel-cta-card .elementor-widget-text-editor:has(p) { color: rgba(255, 255, 255, 0.72); }

/* Elementor zeroes widget bottom margins inside containers at (0,3,0)
   (`.e-con .elementor-widget.elementor-widget { margin-block-end: 0 }`),
   which beats the classed-paragraph margins carried on the wrappers;
   restore them at the same specificity (this file loads last). */
.e-con .elementor-widget.velp-ct-avail { margin-block-end: 12px; }

/* The calendar mock uses aspect-ratio day cells; as a flex item the html
   widget's intrinsic height underestimates them on narrow viewports and
   the widgets below overlap the last calendar row. Restore the original
   block flow inside the hero cards. */
.e-con.velp-ct-card { display: block; }

/* Elementor's generated post CSS forces `overflow: visible` on every
   container at (0,3,0), which unclips the CTA deco bars; restore the
   card's overflow at matching specificity (this file loads later). */
.velp-ct .e-con.vel-cta-card { overflow: hidden; }

/* Lending variant: the hero has only the Request More Information panel, and in
   the design that panel fills the content column (card 1040, inputs ~980) —
   contact-legal.css's two-column 940px grid would leave a dead half. */
.e-con.velp-ct-grid {
	grid-template-columns: minmax(0, 1fr);
	max-width: 1040px;
}

/* Design has two "other ways" cards (Chat to sales is gone). */
.e-con.velp-ct-ways-grid { grid-template-columns: repeat(2, 1fr); }


/* ==========================================================================
   Figma design-match pass (2026-08-10) — "Contact Page - Commerce/Lending"
   Every value below was measured off the 1:1 PNG export (frame content 1120px,
   90px margin each side). These rules live in the per-slug adapter rather than
   contact-legal.css because that file is shared with Book a Demo, Privacy and
   Terms, which are outside this pass.
   ========================================================================== */

/* Hero band: export has 82px from the nav rule to the eyebrow line box and
   66px from the card bottom to the section change. */
.velp-ct .velp-ct-hero { padding: 82px 0 66px; }

/* H1 is 54px Bold, LH 100%, tracking -3.5% (ink width 245px for "Let's talk."). */
.velp-ct .velp-ct-h1 {
	font-size: clamp(38px, 3.75vw, 54px);
	line-height: 1;
	font-weight: 700;
	letter-spacing: -0.035em;
	margin: 0 0 17px;
}

/* Lead: 18px/1.5 ink-70, wrapping after "…your sales teams to" (617px line). */
.velp-ct p.velp-ct-lead,
.velp-ct .elementor-widget.velp-ct-lead {
	font-size: 18px;
	line-height: 1.5;
	color: var(--vel-slate);
}

.velp-ct p.velp-ct-lead { max-width: 640px; margin: 0 auto; }

.velp-ct .e-con .elementor-widget.velp-ct-lead { margin-block-end: 58px; }

/* Panel grid: 1040px wide (container inner minus 40px each side), 28px gutter,
   and the two panels are NOT equal height in the export. */
.e-con.velp-ct-grid {
	max-width: 1040px;
	gap: 28px;
	align-items: start;
}

.velp-ct .velp-ct-card { padding: 28px 30px 30px; border-radius: 16px; }

/* Panel heading: 24px SemiBold, tracking -1% (216px for "Schedule a Demo"). */
.velp-ct .velp-ct-card-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin: 0 0 20px;
}

/* Panel sub-copy is ink-45 in the export, not ink-70. */
.velp-ct p.velp-ct-card-sub,
.velp-ct .elementor-widget.velp-ct-card-sub {
	font-size: 16px;
	line-height: 1.6;
	color: var(--vel-slate-light);
}

.velp-ct .e-con .elementor-widget.velp-ct-card-sub { margin-block-end: 16px; }

/* ---------- CF7 fields (styling only — field names/structure untouched) ----------
   The export draws each field as ONE box: a 2px #2877B9 border with a 3px
   #E5EFF7 halo, the uppercase label inside the box above the value. CF7 already
   wraps each input in its <label>, so the label is the box. */

.velp-ct .velp-ct-form p { margin: 0 0 19px; }
.velp-ct .velp-ct-form p:last-child { margin-bottom: 0; }

.velp-ct .velp-ct-form label {
	display: block;
	border: 2px solid #2877B9;
	border-radius: 10px;
	box-shadow: 0 0 0 3px #E5EFF7;
	padding: 8px 14px 7px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--vel-slate-light);
}

.velp-ct .velp-ct-form .wpcf7-form-control-wrap { display: block; }

.velp-ct .velp-ct-form input[type="text"],
.velp-ct .velp-ct-form input[type="email"],
.velp-ct .velp-ct-form input[type="tel"],
.velp-ct .velp-ct-form input[type="url"],
.velp-ct .velp-ct-form input[type="number"],
.velp-ct .velp-ct-form select,
.velp-ct .velp-ct-form textarea {
	display: block;
	width: 100%;
	margin: 8px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	/* sierra global.css sizes every text input to --component-height (50px);
	   inside the label box the input is just a text line. */
	height: auto;
	min-height: 0;
	font-size: 14px;
	line-height: 1.2;
	color: var(--vel-navy);
}

/* CF7 renders rows="10"; with the UA/theme height rules neutralised that
   intrinsic size wins, so the box is sized here (export: 81px of text area). */
.velp-ct .velp-ct-form textarea { height: 81px; min-height: 0; resize: vertical; }

.velp-ct .velp-ct-form input:focus,
.velp-ct .velp-ct-form select:focus,
.velp-ct .velp-ct-form textarea:focus { outline: none; box-shadow: none; }

/* Resting state already looks focused, so focus moves the border to navy. */
.velp-ct .velp-ct-form label:focus-within {
	border-color: var(--vel-navy);
	box-shadow: 0 0 0 3px rgba(40, 119, 185, 0.22);
}

.velp-ct .velp-ct-form .wpcf7-not-valid { border-color: #d0454c; }

.velp-ct .velp-ct-form input[type="submit"],
.velp-ct .velp-ct-form .wpcf7-submit {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	padding: 11px 24px;
	border-radius: 8px;
	/* beats sierra's [type=submit] min-height:--component-height */
	min-height: 0;
	height: auto;
}

/* ---------- quote band ---------- */

.velp-ct .velp-ct-quote-band { padding: 54px 0 76px; }

.velp-ct .velp-ct-quote {
	font-size: clamp(20px, 1.7vw, 24px);
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: -0.01em;
	max-width: 740px;
	margin: 0 auto 18px;
}

.velp-ct p.velp-ct-quote-cite,
.velp-ct .elementor-widget.velp-ct-quote-cite {
	font-size: 12px;
	font-weight: 500;
	color: var(--vel-slate-light);
}

/* ---------- other ways to reach us ---------- */

.velp-ct .velp-ct-ways { padding: 74px 0 73px; }
.velp-ct .velp-ct-ways .vel-h2 { margin-bottom: 42px; }

.e-con.velp-ct-ways-grid { max-width: 1040px; gap: 24px; }

/* Block flow inside the card: as a flex column the stretch height (the grid
   equalises both cards) lands as a gap above the last widget instead of below
   it, which pushed the phone/link row 12px low. */
.velp-ct .velp-ct-way { display: block; padding: 28px; border-radius: 16px; }

.velp-ct .velp-ct-way-icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #eaf3fb;
	margin-bottom: 11px;
}

.velp-ct .velp-ct-way-icon svg { width: 20px; height: 20px; }

.velp-ct .velp-ct-way h3 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.04em;
	margin: 0 0 10px;
}

.velp-ct .velp-ct-way p,
.velp-ct .velp-ct-way .elementor-widget-text-editor:has(p) {
	font-size: 16px;
	line-height: 1.6;
	color: var(--vel-slate);
	margin: 0 0 12px;
}

.velp-ct .velp-ct-way-link { font-size: 16px; font-weight: 700; }

/* ---------- narrow screens ---------- */

@media (max-width: 560px) {
	.e-con.velp-ct-ways-grid { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
}
