/*
 * BnR estimator — inherits the theme's Apple-clean tokens (theme.json presets),
 * with safe fallbacks so it still looks right if the theme changes.
 */
.bnrhs-estimator {
	--e-ink: var(--wp--preset--color--contrast, #1d1d1f);
	--e-muted: var(--wp--preset--color--muted, #5f6368);
	--e-line: var(--wp--preset--color--line, #d2d2d7);
	--e-blue: var(--wp--preset--color--primary, #0071e3);
	--e-blue-d: var(--wp--preset--color--primary-dark, #0058b8);
	--e-subtle: var(--wp--preset--color--subtle, #f5f5f7);
	--e-base: var(--wp--preset--color--base, #fff);
	max-width: 640px;
	margin: 1.5rem 0;
	color: var(--e-ink);
}

.bnrhs-est__field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1.1rem; }
/* A class display rule beats the UA [hidden] rule, so restore it explicitly. */
.bnrhs-est__field[hidden] { display: none; }
.bnrhs-est__label { font-size: 0.95rem; font-weight: 600; letter-spacing: -0.01em; }

.bnrhs-est__select,
.bnrhs-est__input {
	width: 100%;
	font: inherit;
	font-size: 1.0625rem;
	color: var(--e-ink);
	background: var(--e-base);
	border: 1px solid var(--e-line);
	border-radius: 12px;
	padding: 0.7rem 0.9rem;
	min-height: 46px;
	appearance: none;
	-webkit-appearance: none;
}
.bnrhs-est__select { background-image: linear-gradient(45deg, transparent 50%, var(--e-muted) 50%), linear-gradient(135deg, var(--e-muted) 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; padding-right: 2.5rem; }
textarea.bnrhs-est__input { min-height: 84px; resize: vertical; }
.bnrhs-est__select:focus,
.bnrhs-est__input:focus { outline: none; border-color: var(--e-blue); box-shadow: 0 0 0 4px rgba(0, 113, 227, 0.14); }

.bnrhs-est__hint { font-size: 0.85rem; color: var(--e-muted); margin: -0.4rem 0 1rem; }

.bnrhs-est__btn {
	display: inline-flex; align-items: center; justify-content: center;
	font: inherit; font-weight: 500; font-size: 1.0625rem;
	color: #fff; background: var(--e-blue);
	border: 0; border-radius: 980px; cursor: pointer;
	padding: 0.75rem 1.6rem; min-height: 46px;
	transition: background 0.15s ease;
	text-decoration: none;
}
.bnrhs-est__btn:hover { background: var(--e-blue-d); }
.bnrhs-est__btn:focus-visible { outline: 3px solid var(--e-blue); outline-offset: 2px; }
.bnrhs-est__btn[disabled] { opacity: 0.6; cursor: default; }
.bnrhs-est__btn--link { margin-top: 0.5rem; }

.bnrhs-est__error { color: #b3261e; font-size: 0.95rem; margin: 0.75rem 0 0; }
.bnrhs-est__error:empty { display: none; }

/* Honeypot — visually and from AT, but present in the DOM. */
.bnrhs-est__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }

/* Result */
.bnrhs-est__result:empty { display: none; }
.bnrhs-est__result {
	margin-top: 1.75rem;
	padding: 1.5rem;
	background: var(--e-subtle);
	border: 1px solid var(--e-line);
	border-radius: 18px;
}
.bnrhs-est__range-label { font-size: 0.85rem; font-weight: 600; letter-spacing: 0.02em; text-transform: uppercase; color: var(--e-muted); margin: 0 0 0.25rem; }
.bnrhs-est__range { font-size: clamp(1.9rem, 5vw, 2.6rem); font-weight: 700; letter-spacing: -0.03em; margin: 0 0 0.75rem; }
.bnrhs-est__disclaimer { font-size: 0.8rem; line-height: 1.5; color: var(--e-muted); margin: 0; }

/* Lead form */
.bnrhs-est__lead { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--e-line); }
.bnrhs-est__lead-title { font-size: 1.25rem; letter-spacing: -0.02em; margin: 0 0 0.25rem; }
.bnrhs-est__lead-sub { font-size: 0.95rem; color: var(--e-muted); margin: 0 0 1.1rem; }

/* Thank-you */
.bnrhs-est__thanks h3 { font-size: 1.4rem; letter-spacing: -0.02em; margin: 0 0 0.5rem; }
.bnrhs-est__thanks p { color: var(--e-muted); margin: 0 0 1rem; }

@media (prefers-reduced-motion: reduce) { .bnrhs-estimator * { scroll-behavior: auto !important; } }
