:root {
	--clv-partner-navy: #14213d;
	--clv-partner-blue: #1f3160;
	--clv-partner-gold: #fca311;
	--clv-partner-ink: #172033;
	--clv-partner-muted: #5d6677;
	--clv-partner-line: #dfe5ef;
	--clv-partner-soft: #f5f7fb;
	--clv-partner-green: #166534;
}

.clv-offer-shell {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 920px;
	margin: 0 auto;
	color: var(--clv-partner-ink);
}

.clv-offer-shell *,
.clv-partner-public * {
	box-sizing: border-box;
}

.clv-offer-progress {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-bottom: 1.25rem;
	font-size: 0.78rem;
	font-weight: 700;
	color: #7a8495;
}

.clv-offer-progress span {
	min-width: 0;
	border-top: 4px solid #dce2ec;
	padding-top: 0.55rem;
	overflow-wrap: anywhere;
}

.clv-offer-progress .is-current {
	border-color: var(--clv-partner-gold);
	color: var(--clv-partner-navy);
}

.clv-offer-summary,
.clv-partner-form,
.clv-offer-notice,
.clv-offer-success {
	background: #fff;
	border: 1px solid var(--clv-partner-line);
	border-radius: 14px;
	box-shadow: 0 14px 40px rgba(20, 33, 61, 0.08);
	padding: clamp(1.4rem, 4vw, 2.5rem);
}

.clv-offer-summary {
	background: linear-gradient(145deg, var(--clv-partner-navy), var(--clv-partner-blue));
	color: #fff;
	margin-bottom: 1.25rem;
}

.clv-offer-summary h1,
.clv-offer-success h1,
.clv-offer-notice h1,
.clv-offer-notice h2 {
	margin-top: 0;
}

.clv-eyebrow {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--clv-partner-gold);
}

.clv-offer-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.clv-offer-facts div {
	min-width: 0;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 9px;
	padding: 0.85rem 1rem;
}

.clv-offer-facts span,
.clv-offer-facts strong {
	display: block;
	overflow-wrap: anywhere;
}

.clv-offer-facts span {
	font-size: 0.75rem;
	color: #c9d3e6;
	margin-bottom: 0.2rem;
}

.clv-offer-fineprint {
	font-size: 0.84rem;
	color: #d7deeb;
	margin: 1.25rem 0 0;
}

.clv-partner-form fieldset {
	border: 0;
	padding: 0;
	margin: 0 0 2rem;
}

.clv-partner-form legend {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--clv-partner-navy);
	margin-bottom: 1rem;
}

.clv-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.clv-partner-form label,
.clv-partner-public .wpcf7 label {
	display: block;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--clv-partner-navy);
}

.clv-partner-form label > span {
	color: #b42318;
}

.clv-partner-form input[type="text"],
.clv-partner-form input[type="email"],
.clv-partner-form input[type="tel"],
.clv-partner-form input[type="url"],
.clv-partner-public .wpcf7 input,
.clv-partner-public .wpcf7 select,
.clv-partner-public .wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 0.4rem;
	padding: 0.78rem 0.85rem;
	border: 1px solid #c7d0de;
	border-radius: 7px;
	background: #fff;
	font: inherit;
}

.clv-partner-form input:focus,
.clv-partner-public .wpcf7 input:focus,
.clv-partner-public .wpcf7 select:focus,
.clv-partner-public .wpcf7 textarea:focus {
	outline: 3px solid rgba(252, 163, 17, 0.25);
	border-color: var(--clv-partner-gold);
}

.clv-field-help {
	color: var(--clv-partner-muted);
	margin-top: -0.5rem;
}

.clv-agreement-box,
.clv-payment-note {
	background: var(--clv-partner-soft);
	border: 1px solid var(--clv-partner-line);
	border-radius: 9px;
	padding: 1rem 1.15rem;
}

.clv-check {
	display: flex !important;
	gap: 0.65rem;
	align-items: flex-start;
	margin-top: 1rem;
	font-weight: 600 !important;
}

.clv-check input {
	margin-top: 0.25rem;
	flex: 0 0 auto;
}

.clv-signature {
	margin-top: 1.25rem;
}

.clv-payment-note {
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

.clv-primary-button,
.clv-secondary-button,
.clv-partner-form button,
.clv-partner-public .wpcf7 input[type="submit"] {
	display: inline-block;
	border: 0;
	border-radius: 8px;
	background: var(--clv-partner-gold);
	color: var(--clv-partner-navy);
	font-weight: 800;
	padding: 0.85rem 1.25rem;
	text-decoration: none;
	cursor: pointer;
}

.clv-secondary-button {
	background: var(--clv-partner-navy);
	color: #fff;
	margin: 0.25rem 0.35rem 0.25rem 0;
}

.clv-form-errors {
	background: #fff1f0;
	border: 1px solid #f7b8b2;
	border-radius: 9px;
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
	color: #7a271a;
}

.clv-offer-success {
	border-top: 5px solid #22c55e;
}

.clv-offer-success .clv-eyebrow {
	color: var(--clv-partner-green);
}

.clv-honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.clv-embedded-payment {
	margin-top: 1.5rem;
}

#clv-checkout {
	min-height: 360px;
}

.clv-payment-loading,
.clv-payment-security {
	color: #4b5563;
	font-size: 0.95rem;
}

.clv-payment-security {
	margin: 1rem 0 0;
	text-align: center;
}

.clv-payment-error {
	background: #fff1f0;
	border: 1px solid #f7b8b2;
	border-radius: 9px;
	color: #7a271a;
	margin-bottom: 1rem;
	padding: 1rem;
}

.clv-partner-public .clv-section,
.clv-process {
	margin-bottom: 2rem;
}

.clv-partner-public .clv-card ul {
	padding-left: 1.2rem;
}

.clv-process ol {
	padding-left: 1.3rem;
}

.clv-process li {
	margin-bottom: 0.75rem;
}

@media (max-width: 680px) {
	.clv-offer-shell {
		max-width: calc(100vw - 2rem);
	}

	.clv-form-grid,
	.clv-offer-facts {
		grid-template-columns: 1fr;
	}

	.clv-offer-progress {
		font-size: 0.68rem;
	}

	.clv-partner-form,
	.clv-offer-summary,
	.clv-offer-notice,
	.clv-offer-success {
		padding: 1.25rem;
	}
}
