/* KVR Partner Services — visual polish CSS.
   Layered on top of theme.json. Targets only the design touches that can't be
   expressed in theme.json (smart-nav transitions, accordion details styling,
   stat bars with CSS variables, gradient placeholder backgrounds, etc).
*/

:root {
	--kvr-nav-h: 64px;
	--kvr-rule: rgba(255, 255, 255, .07);
}

html { scroll-behavior: smooth; }

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* slate-blue page rule under the nav — echoes kvraudio.com header strip */
body::before {
	content: "";
	position: fixed;
	top: var(--kvr-nav-h);
	left: 0; right: 0;
	height: 2px;
	background: var(--wp--preset--color--kvr-slate);
	opacity: .55;
	z-index: 49;
	pointer-events: none;
}

/* ─────────────────────────── Header / smart nav ─────────────────────────── */
.wp-site-blocks > header,
header.wp-block-template-part {
	position: fixed;
	top: 0; left: 0; right: 0;
	height: var(--kvr-nav-h);
	z-index: 50;
	background: rgba(28, 28, 31, .82);
	backdrop-filter: blur(14px) saturate(140%);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	border-bottom: 1px solid var(--kvr-rule);
	transform: translateY(0);
	transition: transform 240ms cubic-bezier(.4, 0, .2, 1), background 240ms ease, border-bottom-color 240ms ease;
}
.kvr-nav--hidden { transform: translateY(-100%); }
.kvr-nav--top { background: transparent !important; border-bottom-color: transparent !important; }
body { padding-top: 0; } /* hero handles its own top padding */

/* nav links: uppercase eyebrow style */
header.wp-block-template-part .wp-block-navigation a.wp-block-navigation-item__content {
	font-size: 12.5px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--wp--preset--color--contrast-2);
	transition: color 160ms;
}
header.wp-block-template-part .wp-block-navigation a.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--contrast);
}

/* nav CTA button */
header .wp-block-button.kvr-nav-cta .wp-block-button__link {
	padding: 9px 18px !important;
	font-size: 12.5px !important;
	font-weight: 700;
	border-radius: 6px;
}

/* ─────────────────────────── Eyebrow + section headings ────────────────── */
.kvr-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3) !important;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 28px !important;
}
.kvr-eyebrow::before {
	content: "";
	display: inline-block;
	width: 22px; height: 1px;
	background: var(--wp--preset--color--marker);
}

.kvr-lede {
	max-width: 64ch;
	color: var(--wp--preset--color--contrast-2) !important;
	font-size: clamp(16px, 1.25vw, 19px);
	line-height: 1.5;
	margin-top: 18px !important;
}

/* section dividers */
.kvr-section { border-top: 1px solid var(--kvr-rule); }

/* ─────────────────────────── Hero ─────────────────────────── */
.kvr-hero {
	position: relative;
	min-height: 100vh;
	padding-top: var(--kvr-nav-h);
	isolation: isolate;
	overflow: hidden;
}
.kvr-hero h1 em {
	font-style: italic;
	font-weight: 400;
	color: var(--wp--preset--color--accent);
}
.kvr-hero .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: calc(100vh - var(--kvr-nav-h));
	padding-bottom: 64px;
}

/* ─────────────────────────── Audience ─────────────────────────── */
.kvr-audience-id {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--kvr-rule);
	border-left: 1px solid var(--kvr-rule);
}
.kvr-audience-id-item {
	padding: 32px 28px;
	border-right: 1px solid var(--kvr-rule);
	border-bottom: 1px solid var(--kvr-rule);
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 20px;
	align-items: start;
}
.kvr-audience-id-item .kvr-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--marker);
	letter-spacing: 0.1em;
	font-weight: 600;
	padding-top: 6px;
}
.kvr-audience-id-item h4 { margin: 0 0 6px; }
.kvr-audience-id-item p {
	margin: 0;
	color: var(--wp--preset--color--contrast-3);
	font-size: 14.5px;
	line-height: 1.5;
}

.kvr-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid var(--kvr-rule);
	border-left: 1px solid var(--kvr-rule);
}
.kvr-stat {
	padding: 36px 28px 32px;
	border-right: 1px solid var(--kvr-rule);
	border-bottom: 1px solid var(--kvr-rule);
}
.kvr-stat .kvr-num {
	font-weight: 800;
	font-size: clamp(38px, 4.2vw, 54px);
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--contrast);
	font-variant-numeric: tabular-nums;
}
.kvr-stat .kvr-unit {
	color: var(--wp--preset--color--stat-green);
	font-weight: 600;
}
.kvr-stat .kvr-label {
	margin-top: 14px;
	font-size: 12.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3);
	font-weight: 600;
}

.kvr-h5 {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3) !important;
	margin: 0 0 20px !important;
	font-weight: 500 !important;
}

.kvr-geo {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	border-top: 1px solid var(--kvr-rule);
	border-left: 1px solid var(--kvr-rule);
}
.kvr-geo-item {
	padding: 18px 16px 14px;
	border-right: 1px solid var(--kvr-rule);
	border-bottom: 1px solid var(--kvr-rule);
}
.kvr-geo-item .kvr-rank {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--marker);
	letter-spacing: 0.1em;
	font-weight: 600;
}
.kvr-geo-item .kvr-name {
	margin-top: 6px;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--contrast);
}

.kvr-spend {
	border-top: 1px solid var(--kvr-rule);
	border-left: 1px solid var(--kvr-rule);
	border-right: 1px solid var(--kvr-rule);
}
.kvr-spend-row {
	display: grid;
	grid-template-columns: 80px 1fr 120px;
	gap: 24px;
	align-items: center;
	padding: 16px 18px;
	border-bottom: 1px solid var(--kvr-rule);
}
.kvr-spend-row .kvr-pct {
	font-weight: 800;
	font-size: 30px;
	line-height: 1;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--data-blue);
	font-variant-numeric: tabular-nums;
}
.kvr-spend-row .kvr-desc { color: var(--wp--preset--color--contrast-2); font-size: 14.5px; }
.kvr-spend-row .kvr-bar {
	height: 4px;
	background: var(--wp--preset--color--elevated);
	position: relative;
}
.kvr-spend-row .kvr-bar::after {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	background: var(--wp--preset--color--data-blue);
	width: var(--kvr-w, 30%);
}

.kvr-mindset {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
}
.kvr-mindset-pill {
	display: inline-flex;
	align-items: baseline;
	gap: 10px;
	padding: 11px 18px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface);
	border-radius: 999px;
	font-size: 13.5px;
	color: var(--wp--preset--color--contrast-2);
	font-weight: 500;
}
.kvr-mindset-pill b,
.kvr-mindset-pill strong {
	color: var(--wp--preset--color--stat-green);
	font-weight: 800;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
	.kvr-audience-id, .kvr-stats { grid-template-columns: repeat(2, 1fr); }
	.kvr-geo { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.kvr-audience-id, .kvr-stats { grid-template-columns: 1fr; }
}

/* ─────────────────────────── Ad Formats ───────────────────────────
   Each card is a Group block with always-visible head (number, title,
   short blurb) and a native <details> below containing the spec sheet.
*/
.kvr-formats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--kvr-rule);
	border: 1px solid var(--kvr-rule);
	margin: 0 !important;
}
.kvr-format {
	background: var(--wp--preset--color--base);
	padding: 32px 28px 28px;
	margin: 0 !important;
	border: 0 !important;
	display: flex !important;
	flex-direction: column;
	gap: 0;
	transition: background 200ms, grid-column 0s;
	position: relative;
}
/* Card containing an open spec details spans full row width */
.kvr-format:has(> .kvr-format-details[open]) {
	background: var(--wp--preset--color--surface);
	grid-column: 1 / -1;
}
.kvr-format:has(> .kvr-format-details[open])::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 3px;
	background: var(--wp--preset--color--accent);
}
.kvr-format .kvr-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px !important;
	color: var(--wp--preset--color--marker) !important;
	letter-spacing: 0.1em;
	font-weight: 600;
	margin: 0 0 16px !important;
}
.kvr-format h3 {
	margin: 0 0 10px !important;
	color: var(--wp--preset--color--contrast);
	font-size: 21px !important;
	font-weight: 800;
}
.kvr-format .kvr-format-short {
	font-size: 14px !important;
	color: var(--wp--preset--color--contrast-3) !important;
	line-height: 1.5;
	margin: 0 0 24px !important;
}

/* The <details> for the spec sheet */
.kvr-format-details {
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}
.kvr-format-details > summary {
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-2);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: color 160ms;
	padding: 0;
	margin: 0;
}
.kvr-format-details > summary::-webkit-details-marker { display: none; }
.kvr-format-details > summary::after {
	content: "▾";
	transition: transform 240ms ease;
	display: inline-block;
}
.kvr-format-details[open] > summary { color: var(--wp--preset--color--accent); }
.kvr-format-details[open] > summary::after { transform: rotate(180deg); }

.kvr-format-panel {
	background: transparent !important;
	border-top: 1px solid var(--kvr-rule);
	padding: 24px 0 0 !important;
	margin-top: 24px !important;
	display: grid !important;
	grid-template-columns: 1.4fr 1fr;
	gap: 40px;
	animation: kvrPanelIn 320ms cubic-bezier(.2, .7, .2, 1);
}
@keyframes kvrPanelIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}
.kvr-format-panel .kvr-pkicker {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--accent);
	text-transform: uppercase;
	margin: 0 0 8px;
}
.kvr-format-panel h4 {
	margin: 0 0 12px;
	color: var(--wp--preset--color--contrast);
	font-size: 22px;
}
.kvr-format-panel .kvr-body {
	color: var(--wp--preset--color--contrast-2);
	font-size: 15px;
	line-height: 1.6;
	max-width: 56ch;
	margin: 0;
}
.kvr-format-panel .kvr-specs {
	border-left: 1px solid var(--wp--preset--color--line);
	padding-left: 24px;
}
.kvr-spec-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
	padding: 12px 0;
	border-top: 1px solid var(--kvr-rule);
	font-size: 14px;
}
.kvr-spec-row:first-child { border-top: 0; padding-top: 0; }
.kvr-spec-row .kvr-k { color: var(--wp--preset--color--contrast-3); }
.kvr-spec-row .kvr-v { color: var(--wp--preset--color--contrast); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.kvr-spec-row .kvr-v.kvr-price { color: var(--wp--preset--color--accent); font-weight: 800; font-size: 16px; }

.kvr-formats-foot {
	margin-top: 28px;
	font-size: 14px;
	color: var(--wp--preset--color--contrast-3);
	text-align: center;
}

@media (max-width: 1100px) {
	.kvr-formats { grid-template-columns: repeat(2, 1fr); }
	.kvr-format-panel { grid-template-columns: 1fr; gap: 24px; }
	.kvr-format-panel .kvr-specs { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); padding-left: 0; padding-top: 20px; }
}
@media (max-width: 600px) {
	.kvr-formats { grid-template-columns: 1fr; }
}

/* ─────────────────────────── Playbook accordion ───────────────────────────
   Each row is a native core/details. Summary is plain title text;
   the leading number is a CSS counter, the toggle is a ::after on summary.
*/
.kvr-playbook {
	border-top: 1px solid var(--kvr-rule);
	counter-reset: kvr-pb-counter;
	margin: 0 !important;
}
.kvr-pb-row {
	border-bottom: 1px solid var(--kvr-rule);
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	counter-increment: kvr-pb-counter;
}
.kvr-pb-row > summary {
	padding: 28px 4px;
	cursor: pointer;
	list-style: none;
	display: grid;
	grid-template-columns: 56px 1fr 36px;
	align-items: center;
	gap: 24px;
	transition: background 160ms;
	font-weight: 800;
	font-size: clamp(20px, 2vw, 26px);
	letter-spacing: -0.018em;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--sans);
}
.kvr-pb-row > summary::-webkit-details-marker { display: none; }
.kvr-pb-row > summary::marker { display: none; content: ""; }
.kvr-pb-row > summary:hover { background: rgba(255,255,255,.02); }

/* Number prefix via counter */
.kvr-pb-row > summary::before {
	content: counter(kvr-pb-counter, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	color: var(--wp--preset--color--marker);
	letter-spacing: 0.1em;
	font-weight: 600;
	align-self: center;
}

/* Toggle box on the right */
.kvr-pb-row > summary::after {
	content: "+";
	width: 36px; height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
	transition: background 160ms, border-color 160ms, transform 240ms;
	justify-self: end;
}
.kvr-pb-row[open] > summary {
	color: var(--wp--preset--color--accent);
}
.kvr-pb-row[open] > summary::after {
	content: "−";
	background: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: #fff;
}

/* Body content (Columns block) */
.kvr-pb-content {
	display: grid !important;
	grid-template-columns: 56px 1fr 1fr !important;
	gap: 24px !important;
	padding: 8px 4px 36px !important;
	margin: 0 !important;
}
/* the leftmost 56px column is empty (matches summary's number column) */
.kvr-pb-content::before {
	content: "";
	grid-column: 1;
}
.kvr-pb-content > .kvr-col { grid-column: auto; padding: 0 !important; flex-basis: auto !important; }
.kvr-pb-content .kvr-col h6 {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0 14px !important;
	font-weight: 500 !important;
}
.kvr-pb-content .kvr-col.kvr-do h6 { color: var(--wp--preset--color--stat-green) !important; }
.kvr-pb-content .kvr-col.kvr-dont h6 { color: var(--wp--preset--color--accent) !important; }
.kvr-pb-content .kvr-col p {
	margin: 0 !important;
	font-size: 15px !important;
	color: var(--wp--preset--color--contrast-2) !important;
	line-height: 1.55;
	max-width: 48ch;
}
.kvr-playbook-foot {
	margin-top: 32px;
	font-size: 14.5px;
	color: var(--wp--preset--color--contrast-3);
}
.kvr-playbook-foot a {
	color: var(--wp--preset--color--contrast);
	border-bottom: 1px solid var(--wp--preset--color--accent);
	padding-bottom: 1px;
}

@media (max-width: 700px) {
	.kvr-pb-row > summary { grid-template-columns: 32px 1fr 36px; gap: 16px; }
	.kvr-pb-content { grid-template-columns: 32px 1fr; gap: 14px; }
	.kvr-pb-content .kvr-col.kvr-dont { grid-column: 2; }
}

/* ─────────────────────────── Social proof ─────────────────────────── */
.kvr-logo-strip {
	border-top: 1px solid var(--kvr-rule);
	border-bottom: 1px solid var(--kvr-rule);
	padding: 36px 0;
	margin-bottom: 48px;
}
.kvr-logo-strip .kvr-logo-track {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 56px;
}
.kvr-logo-strip .kvr-lg {
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--contrast-2);
	opacity: 0.85;
	white-space: nowrap;
	margin: 0;
}

/* ─────────────────────────── Contact ─────────────────────────── */
.kvr-contact-direct {
	border-top: 1px solid var(--kvr-rule);
	padding-top: 24px;
	margin-top: 40px;
	font-size: 14px;
	color: var(--wp--preset--color--contrast-3);
}
.kvr-contact-direct a {
	color: var(--wp--preset--color--contrast) !important;
	border-bottom: 1px solid var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 13px;
	letter-spacing: 0.02em;
}

/* WPForms styling — match design's underline-only inputs */

/* The whole form: vertical stack with proper spacing */
.wpforms-container {
	margin: 0 !important;
}
.wpforms-container .wpforms-field-container {
	display: flex !important;
	flex-direction: column;
	gap: 22px;
}
.wpforms-container .wpforms-field {
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* Hide any field that doesn't carry our marker class (catches honeypots / antispam stragglers) */
.wpforms-container .wpforms-field:not(.kvr-field) {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0);
	pointer-events: none;
}

/* Reset fieldset / legend used by checkbox + radio groups */
.wpforms-container fieldset {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
	width: 100%;
}
.wpforms-container legend.wpforms-field-label {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
}

.wpforms-container .wpforms-field-label,
.wpforms-container legend.wpforms-field-label {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-3) !important;
	font-weight: 500 !important;
	margin: 0 0 10px !important;
	display: block !important;
}
.wpforms-container .wpforms-required-label,
.wpforms-container label.wpforms-error { color: var(--wp--preset--color--accent) !important; }

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="number"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container select {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line-2) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: 0 !important;
	padding: 10px 0 12px !important;
	font: 16px/1.4 var(--wp--preset--font-family--sans) !important;
	box-shadow: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	min-height: 44px;
}
.wpforms-container textarea {
	background: transparent !important;
	border: 1px solid var(--wp--preset--color--line-2) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-radius: 0 !important;
	padding: 14px 16px !important;
	font: 16px/1.4 var(--wp--preset--font-family--sans) !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	min-height: 110px;
	resize: vertical;
}
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
	border-color: var(--wp--preset--color--accent) !important;
	outline: 0 !important;
}
.wpforms-container button[type="submit"] {
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 6px !important;
	padding: 14px 22px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
}
/* Checkbox + radio: native list reset, custom box */
.wpforms-container .wpforms-field-checkbox ul,
.wpforms-container .wpforms-field-radio ul {
	list-style: none !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 8px 16px !important;
}
.wpforms-container .wpforms-field-checkbox ul li,
.wpforms-container .wpforms-field-radio ul li {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center;
	gap: 12px;
	list-style: none !important;
}
.wpforms-container .wpforms-field-checkbox ul li::before,
.wpforms-container .wpforms-field-radio ul li::before {
	content: none !important;
}
/* Hide the native checkbox + show a styled box instead */
.wpforms-container .wpforms-field-checkbox ul li input[type="checkbox"],
.wpforms-container .wpforms-field-radio ul li input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid var(--wp--preset--color--line-2) !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
	transition: border-color 160ms, background 160ms;
	border-radius: 0 !important;
	min-height: 0 !important;
}
.wpforms-container .wpforms-field-radio ul li input[type="radio"] {
	border-radius: 50% !important;
}
.wpforms-container .wpforms-field-checkbox ul li input[type="checkbox"]:checked,
.wpforms-container .wpforms-field-radio ul li input[type="radio"]:checked {
	background: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent) !important;
}
.wpforms-container .wpforms-field-checkbox ul li input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 5px; top: 1px;
	width: 5px; height: 11px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.wpforms-container .wpforms-field-radio ul li input[type="radio"]:checked::after {
	content: "";
	position: absolute;
	left: 4px; top: 4px;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: #fff;
}
.wpforms-container .wpforms-field-checkbox ul li label,
.wpforms-container .wpforms-field-radio ul li label,
.wpforms-container .wpforms-field-checkbox ul li label.wpforms-field-label-inline,
.wpforms-container .wpforms-field-radio ul li label.wpforms-field-label-inline {
	color: var(--wp--preset--color--contrast-2) !important;
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 14.5px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	font-weight: 400 !important;
	margin: 0 !important;
	cursor: pointer;
	flex: 1;
}

@media (max-width: 600px) {
	.wpforms-container .wpforms-field-checkbox ul,
	.wpforms-container .wpforms-field-radio ul {
		grid-template-columns: 1fr !important;
	}
}

/* Submit container — give the button some breathing room */
.wpforms-container .wpforms-submit-container {
	margin-top: 28px !important;
	padding: 0 !important;
}

/* Confirmation message — match dark theme */
.wpforms-confirmation-container,
.wpforms-confirmation-container-full,
div[id^="wpforms-confirmation-"] {
	background: rgba(200, 56, 106, 0.08) !important;
	border: 1px solid var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 36px !important;
	border-radius: 0 !important;
}
.wpforms-confirmation-container *,
.wpforms-confirmation-container-full *,
div[id^="wpforms-confirmation-"] * {
	color: var(--wp--preset--color--contrast-2) !important;
}
.wpforms-confirmation-container h4,
.wpforms-confirmation-container-full h4,
div[id^="wpforms-confirmation-"] h4 {
	color: var(--wp--preset--color--contrast) !important;
}
.wpforms-confirmation-container a,
.wpforms-confirmation-container-full a,
div[id^="wpforms-confirmation-"] a {
	color: var(--wp--preset--color--contrast) !important;
	border-bottom: 1px solid var(--wp--preset--color--accent) !important;
	text-decoration: none !important;
}

/* Placeholder text — muted */
.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
	color: var(--wp--preset--color--contrast-4) !important;
	font-weight: 400 !important;
	opacity: 1;
}

/* ─────────────────────────── Footer ─────────────────────────── */
footer.wp-block-template-part {
	border-top: 1px solid var(--kvr-rule);
	padding: 32px 0 36px;
	background: var(--wp--preset--color--base);
}
.kvr-foot-inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	font-size: 12.5px;
	color: var(--wp--preset--color--contrast-3);
}
.kvr-foot-inner > :last-child { justify-self: end; text-align: right; }
.kvr-foot-inner a {
	color: var(--wp--preset--color--contrast-2);
	border-bottom: 1px solid transparent;
	transition: border-color 160ms, color 160ms;
}
.kvr-foot-inner a:hover {
	color: var(--wp--preset--color--contrast);
	border-bottom-color: var(--wp--preset--color--accent);
}

@media (max-width: 700px) {
	.kvr-foot-inner { grid-template-columns: 1fr; text-align: left; }
	.kvr-foot-inner > :last-child { justify-self: start; text-align: left; }
}
