.immo-button {
	font: inherit;
	padding: 0.65rem 1.4rem;
	border: 2px solid var( --wp--preset--color--contrast, #000 );
	background: var( --wp--preset--color--contrast, #000 );
	color: var( --wp--preset--color--base, #fff );
	cursor: pointer;
	transition: opacity 150ms ease, transform 150ms ease;
}

.immo-button:hover { opacity: 0.85; }
.immo-button:active { transform: translateY( 1px ); }

.immo-button:focus-visible,
.immo-input:focus-visible {
	outline: 3px solid var( --wp--preset--color--contrast, #000 );
	outline-offset: 3px;
}

.immo-input {
	font: inherit;
	width: 100%;
	padding: 0.6rem 0.75rem;
	border: 1px solid currentColor;
	background: transparent;
	color: inherit;
}

.immo-input[aria-invalid="true"] {
	border-width: 2px;
	border-color: var( --wp--preset--color--vivid-red, #b32d2e );
}

@media ( prefers-reduced-motion: reduce ) {
	.immo-button { transition: none; }
	.immo-button:active { transform: none; }
}
