/** Conservative native-form defaults. Specialized plugin selectors keep precedence. */

:where(label) {
	color: var(--oz-color-heading);
	display: inline-block;
	font-weight: var(--oz-font-weight-semibold);
	margin-block-end: var(--oz-space-xs);
}

:where(input[type="text"]:not(.select2-search__field), input[type="email"], input[type="tel"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], select, textarea) {
	background: var(--oz-color-background);
	border: 1px solid var(--oz-color-border);
	border-radius: var(--oz-form-radius);
	color: var(--oz-color-text);
	font: inherit;
	line-height: 1.4;
	max-width: 100%;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	width: 100%;
}

:where(textarea) { min-height: 8rem; resize: vertical; }
:where(input, select, textarea)::placeholder { color: var(--oz-color-text-muted); opacity: 1; }
:where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--oz-color-primary); min-height: 1.25rem; min-width: 1.25rem; }

:where(input, select, textarea):disabled {
	background: var(--oz-color-surface);
	cursor: not-allowed;
	opacity: 0.65;
}

:where(input, select, textarea)[aria-invalid="true"],
.woocommerce-invalid :where(input, select, textarea) {
	border-color: var(--oz-color-error);
	box-shadow: 0 0 0 2px var(--oz-color-error-surface);
}

.oz-field-help { color: var(--oz-color-text-muted); font-size: var(--oz-font-size-small); margin-block-start: var(--oz-space-2xs); }
.oz-field-error { color: var(--oz-color-error); font-size: var(--oz-font-size-small); font-weight: var(--oz-font-weight-semibold); margin-block-start: var(--oz-space-2xs); }

/* One storefront checkbox, matching Compare. Native checked/disabled state is retained. */
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]) {
 appearance:none !important;box-sizing:border-box;display:inline-grid;place-content:center;flex:none;vertical-align:middle;
 width:1.125rem !important;height:1.125rem !important;min-width:1.125rem !important;min-height:1.125rem !important;
 max-width:1.125rem !important;max-height:1.125rem !important;padding:0 !important;
 border:1px solid var(--oz-color-text-muted);border-radius:var(--oz-radius-small) !important;
 background:var(--oz-color-white);background-image:none !important;color:var(--oz-color-on-primary);
}
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"])::before {
 content:"" !important;position:static !important;display:block !important;box-sizing:border-box;
 width:.3rem !important;height:.6rem !important;margin:0 !important;padding:0 !important;
 border:solid var(--oz-color-on-primary) !important;border-width:0 2px 2px 0 !important;
 background:none !important;box-shadow:none !important;
 transform:translateY(-.08rem) rotate(45deg) !important;visibility:hidden !important;
}
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"])::after { content:none !important; }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):checked { background-color:var(--oz-color-primary) !important;border-color:var(--oz-color-primary) !important; }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):checked::before { visibility:visible !important; }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):indeterminate::before { width:.55rem !important;height:0 !important;border-width:0 0 2px !important;transform:none !important;visibility:visible !important; }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):indeterminate { background-color:var(--oz-color-primary) !important;border-color:var(--oz-color-primary) !important; }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):focus-visible { outline:2px solid var(--oz-color-focus);outline-offset:3px;box-shadow:var(--oz-focus-ring); }
body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]):disabled { opacity:.5;cursor:not-allowed; }
body:not(.wp-admin) .wc-block-components-checkbox__mark { display:none !important; }
@media(forced-colors:active) {
 body:not(.wp-admin) input[type="checkbox"]:not([role="switch"]) { appearance:auto !important; }
 body:not(.wp-admin) input[type="checkbox"]:not([role="switch"])::before { display:none !important; }
}
