/* Figma's municipal green is also the default fill of primary controls. */
.hradistko-site .hr-button:not(.hr-newsletter-archive__facebook):not(:hover):not(:focus),
.hradistko-site .hr-section-cta:not(:hover):not(:focus) {
	background-color: var(--hr-green);
	border-color: var(--hr-green);
}

.hradistko-site .wp-element-button:not(:hover):not(:focus),
.hradistko-site .wp-block-button__link:not(:hover):not(:focus) {
	background-color: var(--hr-green) !important;
	border-color: var(--hr-green) !important;
}

/* Keyboard-only indicators survive the base theme's pointer-state resets.
 * Outlines do not alter the Figma control dimensions or border thickness. */
.hradistko-site .site-header .mobile-menu-toggle:focus-visible {
	outline: 2px solid var(--hr-white) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px var(--hr-green-deep) !important;
}

.hradistko-site .mobile-menu-panel__search input.search-field:focus-visible,
.hradistko-site .mobile-menu-panel__search .search-submit:focus-visible {
	outline: 2px solid var(--hr-white) !important;
	outline-offset: -4px !important;
}

/* Figma uses one type size across every field. Keep the fluid token shared:
 * Astra otherwise fixes text inputs at 16px while selects/textareas grow. */
.hradistko-site .hr-field :is(input, textarea, select) {
	font-size: var(--hr-step-0);
}

/* Preserve the existing pill and icon; align its label and arrow like the
 * Figma submit component (2265:6401), also used by the filing form. */
.hradistko-front-page .hr-home-contact .hr-form__submit {
	justify-content: space-between;
}

/* Search content forms share municipal controls, not Astra's blue defaults.
 * Scope to main so the transparent header/mobile search stays unchanged. */
.hradistko-site main .search-submit {
	color: var(--hr-white);
	background-color: var(--hr-green);
	border-color: var(--hr-green);
	border-radius: var(--hr-pill);
	font-family: var(--hr-display);
	font-size: var(--hr-step-0);
	font-weight: 600;
}

.hradistko-site main .search-submit:is(:hover, :focus, :active) {
	color: var(--hr-white);
	background-color: var(--hr-green-deep) !important;
	border-color: var(--hr-green-deep) !important;
}

.hradistko-site main .search-field {
	font-size: var(--hr-step-0);
	border: 1px solid var(--hr-green);
	border-radius: var(--hr-pill);
}

.hradistko-site main :is(.search-submit, .search-field):focus-visible,
.hradistko-site .hr-field :is(input, textarea, select):focus-visible,
.hradistko-site .hr-form__submit:focus-visible {
	outline: 3px solid var(--hr-green-deep) !important;
	outline-offset: 3px !important;
}

/* Native checkbox, not a text input: keep the sentence and hit area together.
 * The whole wrapped label is clickable; the checkbox remains keyboard-native. */
.hradistko-site .hr-service-form .hr-field--consent {
	grid-column: 1 / -1;
}

.hradistko-site .hr-service-form .hr-field--consent > label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	min-height: 2.75rem;
	font-family: var(--hr-body);
	font-weight: 400;
	line-height: 1.5;
	cursor: pointer;
}

.hradistko-site .hr-field--consent > label > span {
	min-width: 0;
}

.hradistko-site .hr-service-form .hr-field--consent input[type="checkbox"] {
	appearance: auto;
	flex: 0 0 1.125em;
	width: 1.125em;
	height: 1.125em;
	min-width: 1.125em;
	min-height: 1.125em;
	margin: 0.1875em 0 0;
	padding: 0;
	border-radius: 0.1875em;
	accent-color: var(--hr-green);
}

/* Keep the Figma submit appearance while delivery is gated on staging.
 * Native disabled semantics and the server-side readiness check stay intact. */
.hradistko-site .hr-form .hr-form__submit:disabled,
.hradistko-site .hr-form .hr-form__submit:disabled:is(:hover, :focus, :active) {
	color: var(--hr-white) !important;
	background: var(--hr-green) !important;
	border-color: var(--hr-green) !important;
	opacity: 1;
	cursor: not-allowed;
	box-shadow: none !important;
	transform: none;
}

.hradistko-site .hr-form__submit:disabled .hr-icon {
	filter: brightness(0) invert(1);
}

.hradistko-site .hr-field input:disabled {
	color: #51584f;
	background: var(--hr-sand);
	opacity: 1;
	cursor: not-allowed;
}

/* Safari date controls must not use their intrinsic width beyond the grid. */
.hradistko-site .hr-field { min-width: 0; }
.hradistko-site .hr-field input[type="date"] {
	box-sizing: border-box;
	appearance: none;
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	height: 3rem;
	min-height: 3rem;
}
.hradistko-site .hr-field input[type="date"]::-webkit-date-and-time-value {
	text-align: left;
	min-height: 1.25em;
}
