/**
 * Consultation form styling. Reuses the BigDIAMOND design tokens; the .bd-btn
 * button contract comes from the theme. Quiet, minimal, hairline borders,
 * 2–4px radii, no decorative shadows.
 */

.bdc-form {
	--bdc-line: var(--bd-border-soft, rgba(15, 42, 29, 0.12));
	--bdc-focus: var(--bd-gold, #9a7740);
	max-width: 780px;
	margin: 0;
	font-family: var(--bd-sans, system-ui, sans-serif);
	color: var(--bd-text, #172019);
}

/* Honeypot – removed from the accessible tree and the layout. */
.bdc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.bdc-form fieldset {
	border: 1px solid var(--bdc-line);
	border-radius: var(--bd-radius-lg, 4px);
	padding: 24px;
	margin: 0 0 20px;
	background: var(--bd-surface-bright, #fff);
}

.bdc-form legend {
	font-family: var(--bd-serif, Georgia, serif);
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--bd-primary, #0f2a1d);
	padding: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

.bdc-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--bd-primary, #0f2a1d);
	color: var(--bd-on-primary, #faf9f6);
	font-family: var(--bd-sans);
	font-size: 0.95rem;
	font-weight: 700;
	flex: 0 0 auto;
}

.bdc-step__hint,
.bdc-hint,
.bdc-note {
	color: var(--bd-muted, #58625b);
	font-size: 0.9rem;
	line-height: 1.5;
}

.bdc-hint {
	display: block;
	margin-top: 6px;
}

.bdc-note {
	background: var(--bd-surface-low, #f4f2ed);
	border: 1px solid var(--bdc-line);
	border-radius: var(--bd-radius, 2px);
	padding: 12px 14px;
	margin: 16px 0 0;
}

.bdc-subhead {
	font-weight: 700;
	margin: 22px 0 4px;
	color: var(--bd-primary, #0f2a1d);
}

/* Fields */
.bdc-field {
	margin: 0 0 16px;
}

.bdc-label,
.bdc-form label.bdc-label {
	display: block;
	font-weight: 600;
	font-size: 0.95rem;
	margin-bottom: 6px;
	color: var(--bd-text, #172019);
}

.bdc-req {
	color: var(--bd-gold-ink, #765722);
}

.bdc-form input[type="text"],
.bdc-form input[type="tel"],
.bdc-form input[type="email"],
.bdc-form input[type="date"],
.bdc-form input[type="time"],
.bdc-form input[type="number"],
.bdc-form input[type="file"],
.bdc-form select,
.bdc-form textarea {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	font-size: 1rem;
	font-family: inherit;
	color: var(--bd-text, #172019);
	background: var(--bd-surface, #faf9f6);
	border: 1px solid var(--bd-outline-variant, #c7cbc6);
	border-radius: var(--bd-radius, 2px);
	box-sizing: border-box;
}

.bdc-form textarea {
	min-height: 96px;
	resize: vertical;
	line-height: 1.5;
}

.bdc-form input:focus-visible,
.bdc-form select:focus-visible,
.bdc-form textarea:focus-visible {
	outline: 2px solid var(--bdc-focus);
	outline-offset: 2px;
	border-color: var(--bdc-focus);
}

.bdc-form input[aria-invalid="true"],
.bdc-form select[aria-invalid="true"],
.bdc-form textarea[aria-invalid="true"] {
	border-color: #a11212;
}

.bdc-grid-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 640px) {
	.bdc-grid-2 {
		grid-template-columns: 1fr;
	}
	.bdc-form fieldset {
		padding: 18px;
	}
}

/* Topic choice cards */
.bdc-choice-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 8px;
}

@media (max-width: 640px) {
	.bdc-choice-grid {
		grid-template-columns: 1fr;
	}
}

.bdc-choice {
	position: relative;
	display: block;
	border: 1px solid var(--bd-outline-variant, #c7cbc6);
	border-radius: var(--bd-radius-lg, 4px);
	padding: 14px 14px 14px 44px;
	cursor: pointer;
	background: var(--bd-surface-bright, #fff);
	transition: border-color var(--bd-duration-fast, 200ms) var(--bd-ease, ease);
}

.bdc-choice input[type="radio"] {
	position: absolute;
	top: 16px;
	left: 14px;
	width: 20px;
	height: 20px;
	min-height: 0;
	margin: 0;
	accent-color: var(--bd-primary, #0f2a1d);
}

.bdc-choice__label {
	display: block;
	font-weight: 700;
	color: var(--bd-primary, #0f2a1d);
}

.bdc-choice__desc {
	display: block;
	margin-top: 4px;
	font-size: 0.88rem;
	color: var(--bd-muted, #58625b);
	line-height: 1.45;
}

.bdc-choice:has(input:checked) {
	border-color: var(--bd-primary, #0f2a1d);
	background: var(--bd-surface-low, #f4f2ed);
}

.bdc-choice:focus-within {
	outline: 2px solid var(--bdc-focus);
	outline-offset: 2px;
}

/* Radio rows + checkboxes */
.bdc-radio-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.bdc-radio,
.bdc-check {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 12px;
	min-height: 44px;
	border: 1px solid var(--bdc-line);
	border-radius: var(--bd-radius, 2px);
	cursor: pointer;
	line-height: 1.45;
}

.bdc-check {
	align-items: flex-start;
	border: none;
	padding: 6px 0;
}

.bdc-radio input,
.bdc-check input {
	margin: 2px 0 0;
	width: 20px;
	height: 20px;
	min-height: 0;
	accent-color: var(--bd-primary, #0f2a1d);
	flex: 0 0 auto;
}

.bdc-radio:has(input:checked) {
	border-color: var(--bd-primary, #0f2a1d);
	background: var(--bd-surface-low, #f4f2ed);
}

.bdc-checks {
	display: grid;
	gap: 6px;
	margin-top: 8px;
}

/* Errors */
.bdc-error-summary {
	border: 1px solid #a11212;
	border-left-width: 4px;
	background: #fdf2f2;
	border-radius: var(--bd-radius, 2px);
	padding: 14px 16px;
	margin: 0 0 20px;
	color: #6b0f0f;
}

.bdc-error-summary:focus-visible {
	outline: 2px solid #a11212;
	outline-offset: 2px;
}

.bdc-error-summary__title {
	font-weight: 700;
	margin: 0 0 8px;
}

.bdc-error-summary ul {
	margin: 0;
	padding-left: 18px;
}

.bdc-error-summary a {
	color: #6b0f0f;
	text-decoration: underline;
}

.bdc-field-error {
	display: block;
	margin-top: 6px;
	color: #a11212;
	font-size: 0.88rem;
	font-weight: 600;
}

/* Progress + nav + summary */
.bdc-progress {
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bd-gold-ink, #765722);
	font-weight: 700;
	margin-bottom: 14px;
}

.bdc-nav {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: -4px;
}

.bdc-nav .bd-btn {
	min-height: 46px;
}

.bdc-actions {
	margin-top: 8px;
}

.bdc-submit {
	width: 100%;
	min-height: 52px;
}

.bdc-summary {
	background: var(--bd-surface-low, #f4f2ed);
	border: 1px solid var(--bdc-line);
	border-radius: var(--bd-radius, 2px);
	padding: 14px 16px;
	margin-bottom: 16px;
}

.bdc-summary__title {
	font-weight: 700;
	margin: 0 0 8px;
	color: var(--bd-primary, #0f2a1d);
}

.bdc-summary dl {
	margin: 0;
	display: grid;
	gap: 6px;
}

.bdc-summary dl div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.bdc-summary dt {
	color: var(--bd-muted, #58625b);
}

.bdc-summary dd {
	margin: 0;
	font-weight: 600;
	text-align: right;
}

@media (prefers-reduced-motion: reduce) {
	.bdc-choice {
		transition: none;
	}
}
