/* Weblooc Lead Form — CGP brand-aligned styles.
   Uses CSS vars from klinika-accelerator.css / auto-accelerator.css when present,
   with safe fallbacks for context where module loads alone (Weblooc Home).
*/

:root {
	--wl-ivory: #F6F1E8;
	--wl-ivory-deep: #E9E1D0;
	--wl-char: #1B1A16;
	--wl-char-muted: #4a4a44;
	--wl-char-subtle: #85827a;
	--wl-sky-300: #A8BFCD;
	--wl-sky-500: #7A9CB0;
	--wl-sky-700: #4F7387;
	--wl-border: rgba(27,26,22,0.12);
	--wl-success: #137333;
	--wl-error: #c0392b;
}

.wl-form {
	font-family: 'DM Sans', system-ui, sans-serif;
	max-width: 580px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--wl-border);
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 12px 40px rgba(27,26,22,0.05);
}

.wl-form-header {
	margin-bottom: 28px;
	text-align: center;
}

.wl-form-headline {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: 28px;
	font-weight: 400;
	letter-spacing: -0.5px;
	color: var(--wl-char);
	margin: 0 0 8px;
	line-height: 1.2;
}

.wl-form-subline {
	font-size: 13.5px;
	color: var(--wl-char-muted);
	margin: 0 0 20px;
	line-height: 1.5;
}

/* Progress pips */
.wl-form-progress {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 16px;
}

.wl-step-pip {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Geist Mono', monospace;
	font-size: 11px;
	font-weight: 500;
	background: var(--wl-ivory-deep);
	color: var(--wl-char-subtle);
	transition: all 0.2s ease;
}

.wl-step-pip.is-active {
	background: var(--wl-char);
	color: var(--wl-ivory);
}

.wl-step-pip.is-done {
	background: var(--wl-sky-500);
	color: #fff;
}

.wl-step-line {
	width: 32px;
	height: 1px;
	background: var(--wl-border);
}

/* Form body */
.wl-form-body {
	display: block;
}

.wl-step {
	border: 0;
	padding: 0;
	margin: 0;
	display: none;
}

.wl-step.is-active {
	display: block;
}

.wl-field {
	margin-bottom: 14px;
}

.wl-field label {
	display: block;
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: var(--wl-char-muted);
	margin-bottom: 6px;
}

.wl-req {
	color: var(--wl-error);
}

.wl-field input[type="text"],
.wl-field input[type="email"],
.wl-field input[type="tel"],
.wl-field select {
	width: 100%;
	font-family: 'DM Sans', system-ui, sans-serif;
	font-size: 15px;
	color: var(--wl-char);
	background: var(--wl-ivory);
	border: 1px solid var(--wl-border);
	border-radius: 8px;
	padding: 12px 14px;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wl-field input:focus,
.wl-field select:focus {
	outline: 0;
	border-color: var(--wl-sky-500);
	box-shadow: 0 0 0 3px rgba(122,156,176,0.18);
}

.wl-field input::placeholder {
	color: var(--wl-char-subtle);
}

.wl-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

@media (max-width: 540px) {
	.wl-field-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.wl-form {
		padding: 22px;
	}
}

/* Buttons */
.wl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	font-weight: 600;
	padding: 18px 28px;
	border: 2px solid transparent;
	border-radius: 12px;
	cursor: pointer;
	transition: all 0.18s ease;
	text-decoration: none;
	letter-spacing: -0.005em;
}

.wl-btn-primary {
	background: var(--wl-sky-700);
	color: var(--wl-ivory);
	width: 100%;
	margin-top: 12px;
}

.wl-btn-primary:hover {
	background: var(--wl-char);
}

.wl-btn-primary:disabled {
	opacity: 0.5;
	cursor: wait;
}

.wl-btn-ghost {
	background: transparent;
	color: var(--wl-char-muted);
	border-color: var(--wl-border);
	flex: 0 0 auto;
	padding: 14px 18px;
}

.wl-btn-ghost:hover {
	border-color: var(--wl-char);
	color: var(--wl-char);
}

.wl-step[data-step="2"] .wl-field-row:last-of-type {
	gap: 12px;
}

.wl-step[data-step="2"] .wl-field-row:last-of-type .wl-btn-primary {
	margin-top: 0;
	flex: 1;
}

.wl-disclaimer {
	font-size: 11.5px;
	color: var(--wl-char-subtle);
	line-height: 1.5;
	text-align: center;
	margin: 16px 0 0;
}

/* Honeypot */
.wl-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Thank you */
.wl-thanks {
	text-align: center;
	padding: 14px 0;
}

.wl-thanks-check {
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	background: var(--wl-success);
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
}

.wl-thanks h4 {
	font-family: 'DM Serif Display', Georgia, serif;
	font-size: 24px;
	font-weight: 400;
	color: var(--wl-char);
	margin: 0 0 10px;
	letter-spacing: -0.5px;
}

.wl-thanks-body {
	font-size: 14px;
	color: var(--wl-char-muted);
	line-height: 1.6;
	margin: 0 0 12px;
}

.wl-thanks-tip {
	font-size: 13px;
	color: var(--wl-char-subtle);
	font-style: italic;
	line-height: 1.5;
	margin: 12px 0 0;
}

/* Error */
.wl-error {
	background: rgba(192,57,43,0.08);
	color: var(--wl-error);
	border: 1px solid rgba(192,57,43,0.2);
	border-radius: 6px;
	padding: 10px 14px;
	font-size: 13px;
	margin-top: 12px;
}
