.btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.95rem 1.7rem;
	border-radius: var(--radius);
	font-size: var(--text-sm);
	font-weight: 600;
	letter-spacing: 0.02em;
	min-height: 44px;
	transition: transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out), background var(--duration-fast) var(--ease-out);
}

.btn .icon {
	width: 18px;
	height: 18px;
	transition: transform var(--duration-fast) var(--ease-out);
}

.btn:hover .icon {
	transform: translateX(3px);
}

.btn:active {
	transform: scale(0.98);
}

.btn--primary {
	background: var(--primary);
	color: var(--text-on-dark);
	box-shadow: var(--shadow-sm);
}

.btn--primary:hover,
.btn--primary:focus-visible {
	background: var(--primary-light);
	box-shadow: var(--shadow-md);
}

.btn--accent {
	background: var(--accent);
	color: var(--primary-dark);
}

.btn--accent:hover,
.btn--accent:focus-visible {
	background: var(--accent-dark);
	color: var(--text-on-dark);
}

.btn--on-dark {
	background: var(--accent);
	color: var(--primary-dark);
}

.btn--on-dark:hover,
.btn--on-dark:focus-visible {
	background: var(--text-on-dark);
	color: var(--primary);
}

/* ===== Contact Form 7 ===== */
.wpcf7-form {
	display: grid;
	gap: var(--space-xs);
	max-width: 560px;
}

.wpcf7-form p {
	margin: 0;
}

.wpcf7-form label {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	font-size: var(--text-sm);
	color: var(--text-muted);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	font: inherit;
	font-size: var(--text-base);
	padding: 0.85rem 1rem;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--surface);
	color: var(--text);
	min-height: 44px;
	transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}

.wpcf7-form textarea {
	min-height: 140px;
	resize: vertical;
}

.wpcf7-form input:focus-visible,
.wpcf7-form textarea:focus-visible {
	border-color: var(--accent-dark);
	box-shadow: 0 0 0 3px var(--accent-tint);
}

.wpcf7-form input[type="submit"] {
	justify-self: start;
	font: inherit;
	font-weight: 600;
	font-size: var(--text-sm);
	min-height: 44px;
	padding: 0.95rem 1.9rem;
	background: var(--primary);
	color: var(--text-on-dark);
	border: none;
	border-radius: var(--radius);
	cursor: pointer;
	transition: background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);
}

.wpcf7-form input[type="submit"]:hover {
	background: var(--primary-light);
}

.wpcf7-form input[type="submit"]:active {
	transform: scale(0.98);
}

.wpcf7-form .wpcf7-not-valid-tip {
	font-size: var(--text-xs);
	color: #a3312a;
	margin-top: 0.3rem;
}

.wpcf7-response-output {
	border-radius: var(--radius);
	font-size: var(--text-sm);
	padding: 0.8rem 1rem !important;
	margin: var(--space-xs) 0 0 !important;
}
