/**
 * Doctor AK Portal — "Find a doctor by symptoms" page ([symptom_checker]).
 *
 * Scoped to .dak-sf and built from the shared tokens in doctor-ak-auth.css
 * (dark mode follows them). Touch targets are at least 44px. !important
 * matches the rest of the plugin's public pages: theme styles otherwise win.
 */

.dak-sf {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 36px 24px 88px !important;
	color: var( --dak-text ) !important;
	font-family: var( --dak-font-sans ) !important;
	font-size: 1rem !important;
	line-height: 1.55 !important;
}

.dak-sf *,
.dak-sf *::before,
.dak-sf *::after {
	box-sizing: border-box !important;
}

.dak-sf [hidden] {
	display: none !important;
}

:where( .dak-sf ) p {
	margin: 0 0 10px !important;
	color: inherit !important;
}

.dak-sf h1,
.dak-sf h2,
.dak-sf h3 {
	margin: 0 0 8px !important;
	color: var( --dak-text ) !important;
	line-height: 1.25 !important;
}

.dak-sf h1 {
	font-size: 1.9rem !important;
	font-weight: 800 !important;
}

.dak-sf h2 {
	font-size: 1.35rem !important;
	font-weight: 700 !important;
}

.dak-sf h3 {
	font-size: 1.05rem !important;
	font-weight: 700 !important;
}

.dak-sf [tabindex='-1']:focus {
	outline: none !important;
}

.dak-sf-head p {
	color: var( --dak-muted ) !important;
	font-size: 1.02rem !important;
}

.dak-sf-preview {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	margin: 0 0 20px !important;
	padding: 12px 16px !important;
	border: 2px dashed currentColor !important;
	border-radius: 12px !important;
	background: var( --dak-tint-amber ) !important;
	color: var( --dak-tint-amber-text ) !important;
	font-size: 0.9rem !important;
}

.dak-sf-preview a {
	color: inherit !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
}

/* Emergency notice — shown whatever the matching does. */
.dak-sf-notice {
	display: flex !important;
	gap: 12px !important;
	align-items: flex-start !important;
	margin: 0 0 18px !important;
	padding: 14px 16px !important;
	border-left: 4px solid var( --dak-tint-danger-text ) !important;
	border-radius: 10px !important;
	background: var( --dak-tint-danger ) !important;
	color: var( --dak-text ) !important;
}

.dak-sf-notice svg {
	flex: 0 0 22px !important;
	width: 22px !important;
	height: 22px !important;
	color: var( --dak-tint-danger-text ) !important;
}

.dak-sf-notice p {
	margin: 0 !important;
	font-weight: 600 !important;
}

.dak-sf-notice.is-draft {
	border-left-style: dashed !important;
}

.dak-sf-card {
	margin: 0 0 20px !important;
	padding: 26px 28px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 16px !important;
	background: var( --dak-bg-card ) !important;
	box-shadow: 0 1px 2px rgba( 16, 24, 40, 0.04 ), 0 8px 24px rgba( 16, 24, 40, 0.05 ) !important;
}

.dak-sf-label {
	display: block !important;
	margin: 0 0 4px !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	color: var( --dak-text ) !important;
}

.dak-sf-hint {
	font-size: 0.88rem !important;
	color: var( --dak-muted ) !important;
}

.dak-sf-input {
	display: block !important;
	width: 100% !important;
	min-height: 52px !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 10px !important;
	background: var( --dak-bg-card ) !important;
	color: var( --dak-text ) !important;
	font: inherit !important;
	font-size: 1rem !important;
	box-shadow: none !important;
}

.dak-sf-input:focus {
	outline: none !important;
	border-color: var( --dak-primary ) !important;
	box-shadow: 0 0 0 3px var( --dak-primary-tint ) !important;
}

/* Combobox. */
.dak-sf-combo {
	position: relative !important;
	display: flex !important;
	gap: 8px !important;
	margin: 6px 0 0 !important;
}

.dak-sf-combo .dak-sf-input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.dak-sf .dak-button {
	min-height: 48px !important;
	padding: 10px 20px !important;
	border-radius: 10px !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: normal !important;
}

.dak-sf-add {
	flex: 0 0 auto !important;
	min-height: 52px !important;
}

.dak-sf-suggestions {
	position: absolute !important;
	top: calc( 100% + 4px ) !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 30 !important;
	max-height: 280px !important;
	overflow-y: auto !important;
	margin: 0 !important;
	padding: 6px 0 !important;
	list-style: none !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 10px !important;
	background: var( --dak-bg-card ) !important;
	box-shadow: 0 12px 32px rgba( 16, 24, 40, 0.12 ) !important;
}

.dak-sf-option {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 12px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	cursor: pointer !important;
}

.dak-sf-option small {
	color: var( --dak-muted ) !important;
	font-size: 0.82rem !important;
}

.dak-sf-option:hover,
.dak-sf-option.is-active {
	background: var( --dak-primary-tint ) !important;
}

/* Chips. */
.dak-sf-selected {
	margin: 18px 0 0 !important;
}

.dak-sf-chips {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 6px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dak-sf-chip {
	display: inline-flex !important;
	align-items: center !important;
	gap: 2px !important;
	margin: 0 !important;
	padding: 4px 4px 4px 14px !important;
	border-radius: 999px !important;
	background: var( --dak-primary-tint ) !important;
	color: var( --dak-primary-dark ) !important;
	font-weight: 600 !important;
}

.dak-sf-chip-remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: none !important;
	color: inherit !important;
	font-size: 1.2rem !important;
	cursor: pointer !important;
}

.dak-sf-chip-remove:hover,
.dak-sf-chip-remove:focus-visible {
	background: rgba( 0, 0, 0, 0.08 ) !important;
	outline: none !important;
}

/* "Did you mean". */
.dak-sf-clarify {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	margin: 16px 0 0 !important;
}

.dak-sf-q {
	padding: 12px 14px !important;
	border: 1px solid var( --dak-border ) !important;
	border-left: 4px solid var( --dak-secondary ) !important;
	border-radius: 10px !important;
	background: var( --dak-bg-subtle ) !important;
}

.dak-sf-q.is-unknown {
	border-left-color: var( --dak-tint-amber-text ) !important;
	background: var( --dak-tint-amber ) !important;
}

.dak-sf-q p {
	margin: 0 0 8px !important;
}

.dak-sf-q-choices {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
}

.dak-sf-choice {
	min-height: 44px !important;
	padding: 8px 14px !important;
	border: 1px solid var( --dak-primary ) !important;
	border-radius: 999px !important;
	background: var( --dak-bg-card ) !important;
	color: var( --dak-primary-dark ) !important;
	font: inherit !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

.dak-sf-choice:hover {
	background: var( --dak-primary-tint ) !important;
}

.dak-sf-choice.is-none {
	border-color: var( --dak-border ) !important;
	color: var( --dak-muted ) !important;
}

.dak-sf-link {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 44px !important;
	padding: 0 4px !important;
	border: 0 !important;
	background: none !important;
	color: var( --dak-primary ) !important;
	font: inherit !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	cursor: pointer !important;
}

.dak-sf-error {
	margin: 14px 0 0 !important;
	padding: 10px 14px !important;
	border-radius: 10px !important;
	background: var( --dak-tint-danger ) !important;
	color: var( --dak-tint-danger-text ) !important;
	font-weight: 600 !important;
}

.dak-sf-actions {
	margin: 20px 0 0 !important;
}

.dak-sf-actions .dak-button-primary {
	width: 100% !important;
	min-height: 52px !important;
}

.dak-sf-actions .dak-sf-hint {
	margin: 8px 0 0 !important;
}

.dak-sf a:focus-visible,
.dak-sf button:focus-visible {
	outline: 2px solid var( --dak-primary ) !important;
	outline-offset: 2px !important;
}

/* Results. */
.dak-sf-results {
	margin: 0 !important;
	padding: 26px 28px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 16px !important;
	background: var( --dak-bg-card ) !important;
}

.dak-sf-explain {
	color: var( --dak-muted ) !important;
}

.dak-sf-specs {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 6px 0 16px !important;
	padding: 0 !important;
	list-style: none !important;
}

.dak-sf-specs li {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 10px !important;
}

.dak-sf-specs span {
	font-size: 0.82rem !important;
	color: var( --dak-muted ) !important;
}

.dak-sf-locbar {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 4px 12px !important;
	margin: 0 0 12px !important;
	padding: 4px 6px 4px 14px !important;
	border-radius: 10px !important;
	background: var( --dak-bg-subtle ) !important;
}

.dak-sf-locbar p {
	margin: 0 !important;
	font-weight: 600 !important;
}

.dak-sf-locpanel {
	margin: 0 0 16px !important;
	padding: 16px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 12px !important;
}

.dak-sf-place {
	display: grid !important;
	grid-template-columns: 1fr 1fr auto !important;
	gap: 10px !important;
	align-items: end !important;
	margin: 12px 0 4px !important;
}

.dak-sf-place select:disabled {
	background: var( --dak-bg-subtle ) !important;
	color: var( --dak-muted ) !important;
}

.dak-sf-loading {
	padding: 12px 0 !important;
	color: var( --dak-muted ) !important;
	font-weight: 600 !important;
}

.dak-sf-empty {
	margin: 8px 0 !important;
	padding: 16px !important;
	border-radius: 12px !important;
	background: var( --dak-bg-subtle ) !important;
}

.dak-sf-fallback {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 12px 0 0 !important;
}

.dak-sf-group {
	margin: 18px 0 0 !important;
}

.dak-sf-doc-list {
	display: grid !important;
	gap: 14px !important;
	margin: 10px 0 12px !important;
}

.dak-sf-doc {
	display: flex !important;
	gap: 16px !important;
	align-items: flex-start !important;
	padding: 18px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 14px !important;
	background: var( --dak-bg-card ) !important;
}

.dak-sf-photo {
	flex: 0 0 64px !important;
	width: 64px !important;
	height: 64px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	background: var( --dak-primary-tint ) !important;
}

.dak-sf-photo.is-initials {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var( --dak-primary ) !important;
	font-size: 1.5rem !important;
	font-weight: 800 !important;
}

.dak-sf-doc-body {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.dak-sf-doc-body p {
	margin: 0 0 4px !important;
}

.dak-sf-doc-spec {
	color: var( --dak-primary ) !important;
	font-weight: 700 !important;
}

.dak-sf-doc-clinic {
	font-weight: 600 !important;
	overflow-wrap: anywhere !important;
}

.dak-sf-doc-distance {
	color: var( --dak-muted ) !important;
	font-size: 0.9rem !important;
}

.dak-sf-facts {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 4px 24px !important;
	margin: 8px 0 0 !important;
}

.dak-sf-facts div {
	margin: 0 !important;
}

.dak-sf-facts dt {
	margin: 0 !important;
	color: var( --dak-muted ) !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
}

.dak-sf-facts dd {
	margin: 0 !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
}

.dak-sf-more {
	margin: 8px 0 0 !important;
	font-size: 0.9rem !important;
}

.dak-sf-more summary {
	display: flex !important;
	align-items: center !important;
	min-height: 44px !important;
	color: var( --dak-primary ) !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

.dak-sf-more a {
	color: var( --dak-primary ) !important;
	font-weight: 700 !important;
}

.dak-sf-doc-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 14px 0 0 !important;
}

/* ==========================================================================
   Steps, safety messages, follow-up questions, summary, limitations.
   ========================================================================== */

.dak-sf-label-lg {
	font-size: 1.1rem !important;
}

/* Progress through the three steps. */
.dak-sf-steps {
	margin: 0 0 16px !important;
}

.dak-sf-steps ol {
	display: flex !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.dak-sf-steps li {
	display: flex !important;
	flex: 1 1 0 !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 12px !important;
	background: var( --dak-bg-card ) !important;
	color: var( --dak-muted ) !important;
	font-size: 0.9rem !important;
	font-weight: 600 !important;
}

.dak-sf-step-n {
	display: inline-flex !important;
	flex: 0 0 26px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border-radius: 50% !important;
	background: var( --dak-bg-subtle ) !important;
	color: var( --dak-muted ) !important;
	font-size: 0.82rem !important;
	font-weight: 800 !important;
}

.dak-sf-steps li.is-current {
	border-color: var( --dak-primary ) !important;
	color: var( --dak-text ) !important;
	box-shadow: 0 0 0 1px var( --dak-primary ) inset !important;
}

.dak-sf-steps li.is-current .dak-sf-step-n,
.dak-sf-steps li.is-done .dak-sf-step-n {
	background: var( --dak-primary ) !important;
	color: #fff !important;
}

.dak-sf-steps li.is-done {
	color: var( --dak-text ) !important;
}

.dak-sf-steps li.is-skipped {
	border-style: dashed !important;
	opacity: 0.75 !important;
}

/* Safety messages: above everything, never styled as reassurance. */
.dak-sf-alerts {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 0 0 18px !important;
}

.dak-sf-alert {
	padding: 18px 20px !important;
	border: 2px solid var( --dak-tint-danger-text ) !important;
	border-left-width: 8px !important;
	border-radius: 14px !important;
	background: var( --dak-tint-danger ) !important;
	color: var( --dak-text ) !important;
}

.dak-sf-alert.is-urgent {
	border-color: var( --dak-tint-amber-text ) !important;
	background: var( --dak-tint-amber ) !important;
}

.dak-sf-alert-tag {
	display: inline-block !important;
	margin: 0 0 6px !important;
	padding: 2px 10px !important;
	border-radius: 999px !important;
	background: var( --dak-tint-danger-text ) !important;
	color: #fff !important;
	font-size: 0.78rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

.dak-sf-alert.is-urgent .dak-sf-alert-tag {
	background: var( --dak-tint-amber-text ) !important;
}

.dak-sf .dak-sf-alert-title {
	margin: 0 0 8px !important;
	font-size: 1.25rem !important;
	font-weight: 800 !important;
}

.dak-sf-alert p {
	font-weight: 600 !important;
}

.dak-sf-alert p:last-child {
	margin-bottom: 0 !important;
}

.dak-sf-alert .dak-sf-alert-meta {
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	color: var( --dak-muted ) !important;
}

.dak-sf .dak-sf-alert-title:focus-visible {
	outline: 2px solid var( --dak-tint-danger-text ) !important;
	outline-offset: 3px !important;
}

/* Bottom bar while a safety message applies. */
.dak-sf-dock {
	position: fixed !important;
	right: 12px !important;
	bottom: 12px !important;
	left: 12px !important;
	z-index: 9990 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 8px 8px 8px 16px !important;
	border-radius: 12px !important;
	background: var( --dak-tint-danger-text ) !important;
	color: #fff !important;
	box-shadow: 0 10px 30px rgba( 16, 24, 40, 0.25 ) !important;
}

.dak-sf-dock.is-urgent {
	background: var( --dak-tint-amber-text ) !important;
}

.dak-sf-dock[hidden] {
	display: none !important;
}

.dak-sf .dak-sf-dock p {
	margin: 0 !important;
	overflow: hidden !important;
	color: #fff !important;
	font-size: 0.92rem !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.dak-sf-dock-btn {
	flex: 0 0 auto !important;
	min-height: 44px !important;
	padding: 8px 14px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #fff !important;
	color: #1f2937 !important;
	font: inherit !important;
	font-weight: 700 !important;
	cursor: pointer !important;
}

.dak-sf.has-dock {
	padding-bottom: 120px !important;
}

/* Symptom guidance under the chips. */
.dak-sf-guidance {
	margin: 12px 0 0 !important;
	padding: 10px 14px !important;
	border-radius: 10px !important;
	background: var( --dak-bg-subtle ) !important;
	font-size: 0.92rem !important;
}

.dak-sf-guidance p:last-child {
	margin-bottom: 0 !important;
}

/* Follow-up questions. */
.dak-sf-q-progress {
	margin: 0 0 16px !important;
}

.dak-sf .dak-sf-q-count {
	margin: 0 0 6px !important;
	color: var( --dak-muted ) !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
}

.dak-sf-bar {
	height: 6px !important;
	overflow: hidden !important;
	border-radius: 999px !important;
	background: var( --dak-bg-subtle ) !important;
}

.dak-sf-bar span {
	display: block !important;
	height: 100% !important;
	border-radius: inherit !important;
	background: var( --dak-primary ) !important;
}

.dak-sf-fieldset {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.dak-sf-legend {
	display: block !important;
	width: 100% !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
}

.dak-sf-q-about {
	display: block !important;
	margin: 0 0 4px !important;
	color: var( --dak-primary ) !important;
	font-size: 0.8rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
}

.dak-sf-q-text {
	font-size: 1.3rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
}

.dak-sf-q-optional {
	color: var( --dak-muted ) !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
}

.dak-sf-answers {
	display: grid !important;
	grid-template-columns: repeat( auto-fill, minmax( 220px, 1fr ) ) !important;
	gap: 10px !important;
	margin: 14px 0 0 !important;
}

.dak-sf-answers.is-yesno {
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
}

.dak-sf-answer {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 12px 16px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 12px !important;
	background: var( --dak-bg-card ) !important;
	color: var( --dak-text ) !important;
	font-weight: 600 !important;
	cursor: pointer !important;
}

.dak-sf-answer:hover {
	border-color: var( --dak-primary ) !important;
}

.dak-sf-answer input {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0 !important;
	opacity: 0 !important;
}

.dak-sf-answer-mark {
	flex: 0 0 22px !important;
	width: 22px !important;
	height: 22px !important;
	border: 2px solid var( --dak-border ) !important;
	border-radius: 50% !important;
	background: var( --dak-bg-card ) !important;
}

.dak-sf-answer input[type='checkbox'] + .dak-sf-answer-mark {
	border-radius: 6px !important;
}

.dak-sf-answer.is-checked {
	border-color: var( --dak-primary ) !important;
	background: var( --dak-primary-tint ) !important;
	box-shadow: 0 0 0 1px var( --dak-primary ) inset !important;
}

.dak-sf-answer.is-checked .dak-sf-answer-mark {
	border-color: var( --dak-primary ) !important;
	background: var( --dak-primary ) !important;
	box-shadow: inset 0 0 0 4px var( --dak-bg-card ) !important;
}

.dak-sf-answer input[type='checkbox']:checked + .dak-sf-answer-mark {
	box-shadow: none !important;
	background: var( --dak-primary ) url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 10.5l3.5 3.5 7.5-8'/%3E%3C/svg%3E" ) center / 14px no-repeat !important;
}

.dak-sf-answer:has( input:focus-visible ) {
	outline: 2px solid var( --dak-primary ) !important;
	outline-offset: 2px !important;
}

.dak-sf-num-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	max-width: 280px !important;
	margin: 14px 0 6px !important;
}

.dak-sf-unit {
	color: var( --dak-muted ) !important;
	font-weight: 700 !important;
}

.dak-sf-nav {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: space-between !important;
	gap: 10px !important;
	margin: 22px 0 0 !important;
	padding: 16px 0 0 !important;
	border-top: 1px solid var( --dak-border ) !important;
}

.dak-sf-nav .dak-button {
	min-width: 140px !important;
}

/* Check your answers. */
.dak-sf-review {
	margin: 12px 0 0 !important;
	padding: 0 !important;
}

.dak-sf-review-row {
	display: grid !important;
	grid-template-columns: minmax( 0, 3fr ) minmax( 0, 2fr ) !important;
	gap: 6px 16px !important;
	margin: 0 !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid var( --dak-border ) !important;
}

.dak-sf-review dt {
	margin: 0 !important;
	font-weight: 600 !important;
}

.dak-sf-review dd {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 4px 10px !important;
	margin: 0 !important;
	font-weight: 700 !important;
}

.dak-sf-review.is-compact .dak-sf-review-row {
	padding: 6px 0 !important;
	font-size: 0.92rem !important;
}

/* Results summary. */
.dak-sf-summary {
	margin: 4px 0 16px !important;
	padding: 12px 16px !important;
	border-radius: 12px !important;
	background: var( --dak-bg-subtle ) !important;
}

.dak-sf .dak-sf-summary p {
	margin: 0 0 4px !important;
}

.dak-sf-summary-actions {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 0 16px !important;
}

/* Limitations, always shown. */
.dak-sf-limits {
	margin: 20px 0 0 !important;
	padding: 18px 22px !important;
	border: 1px solid var( --dak-border ) !important;
	border-radius: 14px !important;
	background: var( --dak-bg-subtle ) !important;
	font-size: 0.92rem !important;
}

.dak-sf .dak-sf-limits h2 {
	font-size: 1rem !important;
}

.dak-sf-limits ul {
	margin: 0 !important;
	padding: 0 0 0 20px !important;
}

.dak-sf-limits li {
	margin: 0 0 6px !important;
	color: var( --dak-muted ) !important;
}

/* Floating chat buttons never sit over the form on phones. */
@media ( max-width: 782px ) {
	body:has( .dak-sf ) .joinchat,
	body:has( .dak-sf ) #wp-chatbot-ball-container,
	body:has( .dak-sf ) #wp-chatbot-integration-container {
		display: none !important;
	}
}

@media ( max-width: 600px ) {
	.dak-sf {
		padding: 18px 16px 48px !important;
	}

	.dak-sf h1 {
		font-size: 1.55rem !important;
	}

	.dak-sf-card,
	.dak-sf-results {
		padding: 20px 16px !important;
		border-radius: 14px !important;
	}

	.dak-sf-place {
		grid-template-columns: 1fr !important;
	}

	.dak-sf-doc {
		padding: 14px !important;
		gap: 12px !important;
	}

	.dak-sf-photo {
		flex-basis: 48px !important;
		width: 48px !important;
		height: 48px !important;
	}

	.dak-sf-doc-actions .dak-button,
	.dak-sf-fallback .dak-button {
		flex: 1 1 100% !important;
		width: 100% !important;
	}


	.dak-sf-steps li {
		flex-direction: column !important;
		gap: 4px !important;
		padding: 8px 6px !important;
		font-size: 0.78rem !important;
		text-align: center !important;
	}

	.dak-sf-alert {
		padding: 14px 16px !important;
	}

	.dak-sf-q-text {
		font-size: 1.15rem !important;
	}

	.dak-sf-answers {
		grid-template-columns: 1fr !important;
	}

	.dak-sf-nav .dak-button {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}

	.dak-sf-review-row {
		grid-template-columns: 1fr !important;
	}

	.dak-sf-limits {
		padding: 14px 16px !important;
	}
}
