/* `[cmh_listing_search]` — mobile-first listing directory search */

.cmhq {
	--cmhq-bd: rgba(148, 163, 184, 0.45);
	--cmhq-bg: #f8fafc;
	--cmhq-accent: #09716a;
	--cmhq-btn-bg: #424242;
	--cmhq-radius: 12px;
	max-width: min(1180px, 100%);
	margin-inline: auto;
	padding-inline: clamp(0.85rem, 2vw, 1.35rem);
}

.cmhq__hd {
	margin-block: 0 1rem;
	text-wrap: balance;
}

.cmhq__ttl {
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	margin: 0;
	font-weight: 700;
}

.cmhq__hint {
	margin: 0.55rem 0 0;
	color: rgba(15, 23, 42, 0.75);
	line-height: 1.48;
	font-size: 0.95rem;
}

/* CPT archives (/doctors/, /hospitals/, /pharmacies/) — same cards as search results */
.cmhq--archive {
	padding-block: clamp(1rem, 2vw, 1.5rem) 2rem;
}

.cmhq__hd--archive {
	margin-block: 0 1.15rem;
}

.cmhq__hd--archive .page-title,
.cmhq__hd--archive h1 {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.65rem);
	font-weight: 700;
	line-height: 1.2;
}

.cmhq-results-bar--archive {
	margin-bottom: 1rem;
}

.cmhq-archive-sort {
	margin: 0;
}

/* Shell: keine Flächen-/Rand-Optik; nur „Filter“-Kontrast */
.cmhq-form {
	display: grid;
	gap: 1rem;
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
	border-radius: 0;
	margin: 0;
}

.cmhq-typebar .cmhq-pills {
	padding-bottom: 0.15rem;
}

.cmhq-toolbar {
	display: block;
	width: 100%;
}

.cmhq-toolbar__line {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) auto auto;
	gap: 0.65rem;
	align-items: end;
}

.cmhq-toolbar__field--sp,
.cmhq-toolbar__field--loc {
	min-width: 0;
	width: 100%;
}

.cmhq-toolbar__cta {
	display: flex;
	align-items: stretch;
}

.cmhq-filter-panel {
	align-self: end;
}

.cmhq-filter-panel:not([open]) {
	border: none;
	background: transparent;
	padding: 0;
	min-height: 0;
}

.cmhq-filter-panel:not([open]) .cmhq-adv_sum {
	min-height: 46px;
	min-width: clamp(134px, 22vw, 180px);
	border-radius: 999px;
	border: none;
	background: var(--cmhq-btn-bg);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	padding: 0.55rem 1.1rem;
	justify-content: center;
	gap: 0.42rem;
	box-shadow: none;
	transition: background-color 0.15s ease;
}

.cmhq-filter-panel:not([open]) .cmhq-adv_sum:hover {
	background: #2f2f2f;
	opacity: 1;
	color: #fff;
}

.cmhq-filter-panel:not([open]) .cmhq-filter-ico {
	background:
		no-repeat linear-gradient(#fff, #fff) 10% center / 72% 2px,
		no-repeat linear-gradient(#fff, #fff) 10% 35% / 55% 2px,
		no-repeat linear-gradient(#fff, #fff) 10% 65% / 40% 2px;
}

.cmhq-filter-panel[open] {
	grid-column: 1 / -1;
	width: 100%;
}

.cmhq-pills {
	border: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0;
	padding: 0;
}

.cmhq-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	border-radius: 999px;
	padding: 0.55rem 0.65rem;
	background: var(--cmhq-bg);
	border: 2px solid transparent;
	cursor: pointer;
	font-weight: 600;
	font-size: clamp(0.78rem, 2.3vw, 0.93rem);
	text-align: center;
	line-height: 1.28;
	transition: border-color .15s, background-color .15s, color .15s;
	min-height: 44px;
}

.cmhq-pill input {
	accent-color: var(--cmhq-accent);
	margin-inline-end: 0.15rem;
}

.cmhq-pill:has(input:focus-visible) {
	outline: 2px solid rgba(9, 113, 106, 0.35);
	outline-offset: 2px;
	border-radius: 999px;
}

.cmhq-pill:has(input:checked) {
	border-color: var(--cmhq-accent);
	background: #424242;
	color: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(9, 113, 106, 0.45);
}

.cmhq-lbl {
	display: grid;
	gap: 0.35rem;
}

.cmhq-lbl--grow {
	grid-column: 1 / -1;
}

.cmhq-lbl--block {
	width: 100%;
}

.cmhq-lbl__t {
	font-size: 0.85rem;
	font-weight: 600;
	color: rgba(15, 23, 42, 0.78);
}

.cmhq-ctl {
	width: 100%;
	box-sizing: border-box;
	min-height: 46px;
	border-radius: 999px;
	border: 1px solid var(--cmhq-bd);
	padding: 0.55rem 1rem;
	font-size: 1rem;
	background: #fff;
	color: #0f172a;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.cmhq-ctl:focus {
	outline: none;
	border-color: rgba(66, 66, 66, 0.55);
	box-shadow: 0 0 0 3px rgba(66, 66, 66, 0.12);
}

.cmhq-ctl--multi {
	min-height: 8rem;
	padding: 0.35rem 0.5rem;
}

.cmhq-filter-panel .cmhq-ctl:not(.cmhq-ctl--multi) {
	min-height: 44px;
}

.cmhq-filter-panel.cmhq-adv {
	border-radius: var(--cmhq-radius);
	background: linear-gradient(to bottom right, rgba(248, 250, 252, 1), rgba(249, 250, 251, 0.9));
	box-shadow: none;
	border: 1px dashed var(--cmhq-bd);
	margin: 0;
}

.cmhq-filter-panel .cmhq-adv_sum {
	list-style: none;
	cursor: pointer;
	font-weight: 700;
	min-height: 46px;
	border-radius: 10px;
	border: none;
	box-sizing: border-box;
	line-height: 1.35;
	align-items: center;
	display: inline-flex;
	gap: 0.4rem;
	background: transparent;
	box-shadow: none;
	color: inherit;
	justify-content: center;
	padding-inline: .75rem;
	margin: 0;
	color: rgba(23, 40, 60, .95);
	transition: opacity .14s ease;
	user-select: none;
}

.cmhq-filter-panel[open] .cmhq-adv_sum {
	justify-content: flex-start;
	min-height: 44px;
}

.cmhq-filter-panel .cmhq-adv_sum:hover {
	opacity: .88;
	color: var(--cmhq-accent);
}

.cmhq-filter-panel .cmhq-adv_sum::-webkit-details-marker {
	display: none;
}

.cmhq-filter-ico {
	width: 1.15rem;
	height: 1.15rem;
	display: inline-block;
	border-radius: 5px;
	background:
		no-repeat linear-gradient(var(--cmhq-accent), var(--cmhq-accent)) 10% center / 72% 2px,
		no-repeat linear-gradient(var(--cmhq-accent), var(--cmhq-accent)) 10% 35% / 55% 2px,
		no-repeat linear-gradient(var(--cmhq-accent), var(--cmhq-accent)) 10% 65% / 40% 2px;
	flex-shrink: 0;
	align-self: center;
}

.cmhq-adv.cmhq-filter-panel {
	padding: clamp(0.35rem, 2vw, 0.85rem);
}

.cmhq-filter-panel.cmhq-adv:not([open]) {
	padding-inline: clamp(0.2rem, 1vw, 0.65rem);
}

.cmhq-filter-panel .cmhq-adv_body {
	border-top: none;
	margin-top: 0.85rem;
	padding-top: 0;
	display: grid;
	gap: 1rem;
}

.cmhq-filter-panel.cmhq-adv[open] .cmhq-adv_body {
	border-top: 1px dashed rgba(148, 163, 184, 0.45);
	padding-top: 1rem;
}

.cmhq-btn {
	justify-self: stretch;
	align-self: end;
	min-height: 46px;
	min-width: clamp(134px, 22vw, 180px);
	width: 100%;
	border-radius: 999px;
	border: none;
	box-shadow: none;
	outline-offset: 1px;
	background: var(--cmhq-btn-bg);
	color: #ffffff;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	padding: 0.55rem 1.1rem;
	transition: background-color 0.15s ease, transform 0.12s ease;
}

.cmhq-btn:focus-visible {
	outline: 2px solid rgba(66, 66, 66, 0.45);
	outline-offset: 2px;
}

.cmhq-btn:hover {
	background: #2f2f2f;
	filter: none;
}

.cmhq-btn:active {
	transform: translateY(1px);
}

.cmhq-fs {
	border: none;
	display: grid;
	gap: 0.55rem;
}

.cmhq-fs legend {
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.cmhq-lang {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 0.42rem;
}

.cmhq-chk {
	display: flex;
	align-items: flex-start;
	gap: 0.42rem;
	font-size: 0.93rem;
	line-height: 1.42;
	cursor: pointer;
}

.cmhq-chk input {
	margin-top: 0.35rem;
	accent-color: var(--cmhq-accent);
	flex-shrink: 0;
	width: auto;
	min-width: 18px;
}

.cmhq-micro {
	font-size: 0.82rem;
	color: rgba(15, 23, 42, 0.65);
	line-height: 1.42;
	margin: 0;
}

.cmhq-muted {
	color: rgba(15, 23, 42, 0.55);
	font-size: 0.93rem;
}

.cmhq-out {
	margin-block: clamp(1.75rem, 4vw, 2.55rem);
}

.cmhq-none {
	border: 1px dashed rgba(148, 163, 184, 0.75);
	padding: 1rem 1rem;
	border-radius: var(--cmhq-radius);
	background: rgba(248, 250, 252, 0.75);
	line-height: 1.52;
	font-size: 0.93rem;
}

.cmhq-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
}

@media (min-width: 900px) {
	.cmhq-grid.cmhq-grid--cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 640px) and (max-width: 899px) {
	.cmhq-grid.cmhq-grid--cols-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.cmhq-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	overflow: hidden;
	border-radius: 14px;
	border: 1px solid rgba(226, 232, 240, 0.95);
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
	background: #fff;
	min-height: 100%;
}

.cmhq-card-img {
	position: relative;
	flex: 0 0 auto;
	background: #f1f5f9;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 14px 14px 0 0;
}

.cmhq-card-img__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.cmhq-card-img__pic {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cmhq-card-img__link--ph {
	background: linear-gradient(205deg, #e8f9f8, #dae7f9);
	text-decoration: none;
}

.cmhq-card-img__mono {
	font-size: clamp(1.6rem, 5vw, 2.05rem);
	font-weight: 800;
	color: rgba(23, 40, 60, 0.35);
	letter-spacing: 0.04em;
	user-select: none;
}

.cmhq-card-badges {
	position: absolute;
	top: 0.62rem;
	left: 0.62rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	pointer-events: none;
	max-width: calc(100% - 3.25rem);
	z-index: 2;
}

.cmhq-ico-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	box-shadow: 0 4px 10px rgba(15, 23, 42, 0.14);
}

.cmhq-ico-badge--feat {
	background: #f59e0b;
	color: #fff;
}

.cmhq-ico-badge--verified {
	background: #0d9488;
	color: #fff;
}

.cmhq-ico-badge--emergency {
	background: #dc2626;
	color: #fff;
}

.cmhq-card-headrow .cmh-emergency-badge {
	margin-top: 0.35rem;
}

.cmhq-card-fav {
	position: absolute;
	top: 0.55rem;
	right: 0.55rem;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	display: grid;
	place-items: center;
	border: none;
	background: rgba(255, 255, 255, 0.96);
	color: #475569;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
	z-index: 4;
	padding: 0;
	opacity: 0.92;
}

.cmhq-card-fav.is-active {
	color: #18898a;
}

.cmhq-card-fav.is-active .cmh-fav-bookmark {
	fill: rgba(24, 137, 138, 0.12);
}

.cmhq-card-fav.is-active .cmh-fav-star {
	fill: #18898a;
}

.cmhq-card-fav:focus-visible {
	outline: 2px solid var(--cmhq-accent);
	outline-offset: 2px;
}

.cmhq-card-body {
	padding: 0.85rem 1rem 0.75rem;
	display: grid;
	gap: 0.42rem;
	flex: 1 1 auto;
}

.cmhq-card-headrow {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}

.cmhq-card-title {
	font-size: clamp(1.05rem, 2.2vw, 1.22rem);
	margin: 0;
	line-height: 1.26;
	word-break: break-word;
	font-weight: 700;
	color: #0f172a;
}

.cmhq-card-title a {
	color: inherit;
	text-decoration: none;
}

.cmhq-card-title a:hover {
	color: var(--cmhq-accent);
	text-decoration: underline;
}

.cmhq-card-specialty {
	font-size: 0.88rem;
	color: rgba(100, 116, 139, 0.95);
	line-height: 1.35;
	margin: 0;
	flex-shrink: 0;
}

.cmhq-card-line {
	display: flex;
	align-items: flex-start;
	gap: 0.43rem;
	margin: 0;
	font-size: 0.91rem;
	color: rgba(15, 23, 42, 0.75);
	line-height: 1.48;
	word-break: break-word;
}

.cmhq-card-line .cmhq-card-ico {
	flex-shrink: 0;
	margin-top: 0.15rem;
	color: rgba(15, 23, 42, 0.5);
}

.cmhq-card-ft {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.62rem;
	margin-top: auto;
	padding: 0.68rem clamp(0.85rem, 2vw, 1.08rem);
	border-top: 1px solid rgba(148, 163, 184, 0.4);
	min-height: 3.05rem;
}

.cmhq-card-ft__reviews {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-size: 0.9rem;
}

.cmhq-card-stars--five {
	display: inline-flex;
	align-items: center;
	gap: 0.12rem;
}

.cmh-rating--heart-pulse {
	display: inline-flex;
	align-items: center;
	gap: 0.12rem;
	color: #18898a;
}

.cmh-rating--heart-pulse .cmh-rating-heart--off {
	opacity: 0.32;
	color: #18898a;
}

.cmh-rating--heart-pulse .cmh-rating-heart--on {
	color: #18898a;
}

.cmhq-star {
	color: #cbd5e1;
	flex-shrink: 0;
}

.cmhq-star.cmhq-star--on {
	color: #18898a;
}

.cmhq-card-score {
	font-weight: 600;
	color: rgba(15, 23, 42, 0.82);
}

.cmhq-card-score__cnt {
	font-weight: 500;
	color: rgba(100, 116, 139, 0.95);
}

.cmhq-card-ft__views {
	display: inline-flex;
	align-items: center;
	gap: 0.37rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: rgba(51, 65, 85, 0.9);
	flex-shrink: 0;
}


.cmhq-pagi {
	display: flex;
	justify-content: center;
	margin-block: 1.5rem 1rem;
	width: 100%;
}

/* Theme resets (Kadence etc.) often force vertical list layout — override explicitly. */
nav.cmhq-pagi > ul.page-numbers,
.cmhq-pagi > ul.page-numbers,
.cmhq-pagi ul.page-numbers {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.35rem;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: 100%;
}

nav.cmhq-pagi ul.page-numbers > li,
.cmhq-pagi ul.page-numbers > li,
.cmhq-pagi .page-numbers li {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: auto !important;
	float: none !important;
}

.cmhq-pagi .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	text-align: center;
	margin: 0;
	padding: 0.35rem 0.55rem;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	line-height: 1.38;
	border: 1px solid transparent;
}

.cmhq-pagi .page-numbers.current {
	border-color: var(--cmhq-bd);
	font-weight: 700;
	background: var(--cmhq-bg);
}

.cmhq-pagi .next,
.cmhq-pagi .prev {
	font-weight: 700;
	min-width: 44px;
}


/* Home hero: modern white search bar + icon tabs (tone dark | light) */
.cmhq--hero {
	max-width: min(920px, 100%);
	padding-inline: clamp(0.5rem, 2vw, 1rem);
	margin-inline: auto;
}

.cmhq-hero-copy {
	text-align: center;
	margin: 0 0 1.35rem;
}

.cmhq-hero-copy__title {
	margin: 0 0 0.55rem;
	font-size: clamp(1.55rem, 4vw, 2.35rem);
	font-weight: 700;
	line-height: 1.18;
}

.cmhq-hero-copy__sub {
	margin: 0;
	font-size: clamp(0.95rem, 2.2vw, 1.08rem);
	line-height: 1.45;
	opacity: 0.95;
}

.cmhq--hero-tone-dark .cmhq-hero-copy__title,
.cmhq--hero-tone-dark .cmhq-hero-copy__sub {
	color: #fff;
}

.cmhq--hero-tone-light .cmhq-hero-copy__title,
.cmhq--hero-tone-light .cmhq-hero-copy__sub {
	color: #2d3748;
}

.cmhq--hero .cmhq-hero-setup-hint {
	margin: 0 0 0.85rem;
	padding: 0.55rem 0.85rem;
	font-size: 0.92rem;
	border-radius: var(--cmhq-radius);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(148, 163, 184, 0.45);
	color: rgba(15, 23, 42, 0.88);
}

/* Category icon tabs */
.cmhq-cattabs {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: clamp(1rem, 4vw, 2.5rem);
	margin: 0 0 1.15rem;
}

.cmhq-cattab {
	display: grid;
	justify-items: center;
	gap: 0.35rem;
	cursor: pointer;
	position: relative;
	padding-bottom: 0.45rem;
	min-width: 4.5rem;
}

.cmhq-cattab__input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.cmhq-cattab__ico {
	display: block;
	opacity: 0.82;
}

.cmhq-cattab__lbl {
	font-size: 0.88rem;
	font-weight: 600;
	line-height: 1.2;
}

.cmhq--hero-tone-dark .cmhq-cattab,
.cmhq--hero-tone-dark .cmhq-cattab__ico,
.cmhq--hero-tone-dark .cmhq-cattab__lbl {
	color: #fff;
}

.cmhq--hero-tone-light .cmhq-cattab,
.cmhq--hero-tone-light .cmhq-cattab__ico,
.cmhq--hero-tone-light .cmhq-cattab__lbl,
.cmhq--standard .cmhq-cattab,
.cmhq--standard .cmhq-cattab__ico,
.cmhq--standard .cmhq-cattab__lbl {
	color: #4a5568;
}

.cmhq-cattab--on .cmhq-cattab__ico,
.cmhq-cattab--on .cmhq-cattab__lbl {
	opacity: 1;
	font-weight: 700;
}

.cmhq-cattab--on::after {
	content: '';
	position: absolute;
	left: 15%;
	right: 15%;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.cmhq--hero-tone-dark .cmhq-cattab--on::after {
	background: #fff;
}

.cmhq--hero-tone-light .cmhq-cattab--on::after,
.cmhq--standard .cmhq-cattab--on::after {
	background: #2d3748;
}

/* White search bar */
.cmhq-sbar {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.1);
	padding: 0.35rem 0.35rem 0.35rem 0.15rem;
	margin: 0 0 0.85rem;
}

.cmhq-sbar__field {
	display: flex;
	align-items: center;
	min-width: 0;
	flex: 1 1 140px;
	position: relative;
}

.cmhq-sbar__field--kw {
	flex: 1.15 1 180px;
	border: none !important;
	box-shadow: none !important;
}

.cmhq-sbar__field--kw .cmhq-sbar__ctl--text {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

.cmhq-sbar__field--kw .cmhq-sbar__ctl--text:focus,
.cmhq-sbar__field--kw .cmhq-sbar__ctl--text:focus-visible {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.cmhq-sbar__field--kw .cmhq-sbar__ctl[type="search"]::-webkit-search-decoration,
.cmhq-sbar__field--kw .cmhq-sbar__ctl[type="search"]::-webkit-search-cancel-button,
.cmhq-sbar__field--kw .cmhq-sbar__ctl[type="search"]::-webkit-search-results-button,
.cmhq-sbar__field--kw .cmhq-sbar__ctl[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.cmhq-sbar__field--loc {
	flex: 1 1 200px;
	padding-right: 2.1rem;
}

.cmhq-sbar__sep {
	width: 1px;
	align-self: stretch;
	margin: 0.55rem 0.15rem;
	background: rgba(148, 163, 184, 0.55);
	flex-shrink: 0;
}

.cmhq-sbar__ctl {
	width: 100%;
	border: none;
	background: transparent;
	font-size: 0.98rem;
	color: #1a202c;
	min-height: 46px;
	padding: 0.55rem 0.85rem;
	box-sizing: border-box;
	outline: none;
}

.cmhq-sbar__ctl--select {
	appearance: none;
	background-image: none;
	cursor: pointer;
}

.cmhq-sbar__ctl::placeholder {
	color: rgba(100, 116, 139, 0.95);
}

.cmhq-sbar__geo {
	position: absolute;
	right: 0.35rem;
	top: 50%;
	transform: translateY(-50%);
	border: none;
	background: transparent;
	color: rgba(71, 85, 105, 0.85);
	padding: 0.35rem;
	cursor: pointer;
	border-radius: 999px;
	line-height: 0;
}

.cmhq-sbar__geo:hover {
	color: #2d3748;
}

.cmhq-sbar__filters {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border: none;
	background: transparent;
	color: rgba(71, 85, 105, 0.92);
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0 0.85rem;
	min-height: 46px;
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
	flex-shrink: 0;
}

.cmhq-sbar__filters::-webkit-details-marker {
	display: none;
}

.cmhq-sbar__filters-ico {
	width: 14px;
	height: 13px;
	display: inline-block;
	background:
		no-repeat linear-gradient(currentColor, currentColor) 0 0 / 82% 1.75px,
		no-repeat linear-gradient(currentColor, currentColor) 0 45% / 65% 1.75px,
		no-repeat linear-gradient(currentColor, currentColor) 0 bottom / 92% 1.75px;
	opacity: 0.9;
}

.cmhq-sbar__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	border: none;
	border-radius: 10px;
	background: var(--cmhq-btn-bg);
	color: #fff;
	font-weight: 700;
	font-size: 0.98rem;
	min-height: 46px;
	min-width: 7.4rem;
	padding: 0 1.45rem;
	cursor: pointer;
	flex-shrink: 0;
	transition: background-color 0.15s ease;
}

.cmhq-sbar__submit:hover {
	background: #2f2f2f;
}

.cmhq-filter-panel--bar {
	flex-shrink: 0;
}

.cmhq-filter-panel--bar[open] {
	flex: 1 1 100%;
	order: 10;
}

.cmhq-sbar__filters-body,
.cmhq-res-filter-body {
	margin-top: 0.75rem;
	padding: 0.85rem 0.65rem 0.35rem;
	border-top: 1px solid rgba(148, 163, 184, 0.35);
}

/* Quick links under hero bar */
.cmhq-quicklinks {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.65rem 1.35rem;
	margin: 0;
}

.cmhq-quicklinks__a {
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
	line-height: 1.35;
	transition: opacity 0.15s ease;
}

.cmhq--hero-tone-dark .cmhq-quicklinks__a {
	color: rgba(255, 255, 255, 0.92);
}

.cmhq--hero-tone-dark .cmhq-quicklinks__a:hover {
	color: #fff;
	opacity: 0.88;
}

.cmhq--hero-tone-light .cmhq-quicklinks__a {
	color: rgba(45, 55, 72, 0.82);
}

.cmhq--hero-tone-light .cmhq-quicklinks__a:hover {
	color: #1a202c;
}

/* Results toolbar (filters left · count · view toggles · sort) */
.cmhq-results-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin: 0 0 clamp(1rem, 3vw, 1.35rem);
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(148, 163, 184, 0.35);
}

.cmhq-results-bar__left {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
}

.cmhq-results-bar__right {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.55rem;
	margin-inline-start: auto;
}

.cmhq-res-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	background: #f1f5f9;
	border: 1px solid rgba(148, 163, 184, 0.45);
	border-radius: 8px;
	padding: 0.48rem 0.85rem;
	font-weight: 600;
	font-size: 0.92rem;
	color: #475569;
	cursor: pointer;
	list-style: none;
	min-height: 38px;
}

.cmhq-res-filter-btn::-webkit-details-marker {
	display: none;
}

.cmhq-res-filter-btn__ico {
	width: 14px;
	height: 13px;
	display: inline-block;
	background:
		no-repeat linear-gradient(currentColor, currentColor) 0 0 / 82% 1.75px,
		no-repeat linear-gradient(currentColor, currentColor) 0 45% / 65% 1.75px,
		no-repeat linear-gradient(currentColor, currentColor) 0 bottom / 92% 1.75px;
}

.cmhq-filter-panel--toolbar[open] .cmhq-res-filter-body {
	position: relative;
	z-index: 2;
	background: #fff;
	border: 1px solid rgba(148, 163, 184, 0.45);
	border-radius: 10px;
	padding: 1rem;
	margin-top: 0.55rem;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.cmhq-filter-panel--toolbar {
	position: relative;
}

.cmhq-view-toggle {
	display: inline-flex;
	gap: 0.28rem;
}

.cmhq-view-btn {
	display: inline-grid;
	place-items: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 8px;
	border: 1px solid rgba(148, 163, 184, 0.45);
	background: #f1f5f9;
	color: #64748b;
	padding: 0;
	cursor: pointer;
}

.cmhq-view-btn--on {
	background: var(--cmhq-btn-bg);
	border-color: var(--cmhq-btn-bg);
	color: #fff;
}

.cmhq-view-btn[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
}

.cmhq-results-count {
	font-size: 0.92rem;
	font-weight: 500;
	color: rgba(71, 85, 105, 0.95);
}

.cmhq-results-sort .cmhq-ctl--sort {
	min-width: 8.5rem;
	max-width: 12rem;
	margin: 0;
	font-size: 0.92rem;
	min-height: 38px;
	border-radius: 8px;
	padding-inline: 0.75rem;
	background: #f1f5f9;
	border-color: rgba(148, 163, 184, 0.45);
	color: #475569;
}

/* Mobile (≤767px): search shell + results. Desktop rules above stay unchanged. */
@media (max-width: 767px) {
	.cmhq {
		overflow-x: clip;
		width: 95%;
		max-width: 95%;
		margin-inline: auto;
		padding-inline: 0;
		box-sizing: border-box;
	}

	/* Phase 1 — category tabs */
	.cmhq-cattabs {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0.35rem;
		margin-bottom: 0.85rem;
		justify-items: stretch;
		align-items: end;
	}

	.cmhq-cattab {
		min-width: 0;
		padding-bottom: 0.35rem;
	}

	.cmhq-cattab__lbl {
		font-size: 0.72rem;
		text-align: center;
		line-height: 1.2;
		word-break: break-word;
		hyphens: auto;
	}

	.cmhq-cattab__ico {
		width: 20px;
		height: 20px;
	}

	/* Phase 1 — search bar */
	.cmhq-sbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
		padding: 0.65rem;
		gap: 0.55rem;
		margin-bottom: 0.75rem;
	}

	.cmhq-sbar__sep {
		display: none;
	}

	.cmhq-sbar__field--kw,
	.cmhq-sbar__field--loc {
		flex: 1 1 auto;
		width: 100%;
		min-width: 0;
	}

	.cmhq-sbar__field--kw {
		border: none !important;
		box-shadow: none !important;
	}

	.cmhq-sbar__field--loc {
		border: 1px solid rgba(148, 163, 184, 0.35);
		border-radius: 8px;
	}

	.cmhq-sbar__ctl {
		font-size: 16px;
	}

	.cmhq-filter-panel--bar {
		width: 100%;
		min-width: 0;
	}

	.cmhq-sbar__filters,
	.cmhq-filter-panel--bar:not([open]) .cmhq-sbar__filters {
		width: 100%;
		justify-content: center;
		border: 1px solid rgba(148, 163, 184, 0.35);
		border-radius: 8px;
		box-sizing: border-box;
	}

	.cmhq-sbar__field--loc {
		padding-right: 2.35rem;
	}

	.cmhq-sbar__submit {
		width: 100%;
		min-width: 0;
		border-radius: 999px;
		justify-self: stretch;
		padding-inline: 1.65rem;
	}

	.cmhq-sbar__filters-body {
		padding-inline: 0.25rem;
	}

	.cmhq-toolbar__line {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.55rem;
	}

	.cmhq-filter-panel[open] .cmhq-adv_body,
	.cmhq-sbar__filters-body,
	.cmhq-res-filter-body {
		gap: 0.85rem;
	}

	.cmhq-lang {
		grid-template-columns: minmax(0, 1fr);
	}

	.cmhq-quicklinks {
		justify-content: flex-start;
		gap: 0.5rem 0.85rem;
	}

	.cmhq-quicklinks__a {
		font-size: 0.84rem;
		line-height: 1.4;
	}

	/* Phase 2 — results toolbar */
	.cmhq-results-bar {
		flex-direction: column;
		align-items: stretch;
		gap: 0.65rem;
	}

	.cmhq-results-bar__left {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		width: 100%;
	}

	.cmhq-results-bar__right {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		width: 100%;
		margin-inline-start: 0;
	}

	.cmhq-filter-panel--toolbar {
		width: 100%;
	}

	.cmhq-res-filter-btn {
		width: 100%;
		justify-content: center;
		box-sizing: border-box;
	}

	.cmhq-results-count {
		text-align: center;
		padding-block: 0.1rem;
	}

	.cmhq-view-toggle {
		flex-shrink: 0;
	}

	.cmhq-results-sort {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		justify-content: flex-end;
	}

	.cmhq-results-sort .cmhq-ctl--sort {
		width: 100%;
		max-width: 12rem;
		min-width: 0;
	}

	.cmhq-filter-panel--toolbar[open] .cmhq-res-filter-body {
		margin-inline: 0;
	}

	/* Phase 2 — result cards */
	.cmhq-grid.cmhq-grid--cols-3 {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card {
		display: flex;
		flex-direction: column;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card-img {
		grid-row: auto;
		width: 100%;
		min-height: 0;
		aspect-ratio: 16 / 10;
		border-radius: 14px 14px 0 0;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card-body,
	.cmhq-grid.cmhq-grid--list .cmhq-card-ft {
		grid-column: auto;
		grid-row: auto;
	}

	.cmhq-card-headrow {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.25rem;
	}

	.cmhq-card-ft {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.45rem;
		min-height: 0;
	}

	.cmhq-map-results {
		min-height: min(420px, 62vh);
	}

	.cmhq-pagi .page-numbers {
		min-width: 38px;
		padding: 0.35rem 0.5rem;
	}
}

@media (max-width: 520px) {
	.cmhq-pills {
		grid-template-columns: 1fr;
	}

	.cmhq-pill span {
		text-align: left;
	}

	.cmhq-cattab__lbl {
		font-size: 0.68rem;
	}
}

/* Screen reader text fallback if theme/CSS reset strips WP core helpers */
.cmhq .screen-reader-text {
	position: absolute !important;
	overflow: hidden;
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

/* Results view modes (grid / list / map) — additive only */
.cmhq-grid.cmhq-grid--list {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
	.cmhq-grid.cmhq-grid--list .cmhq-card {
		display: grid;
		grid-template-columns: min(240px, 38%) minmax(0, 1fr);
		grid-template-rows: minmax(0, 1fr) auto;
		align-items: stretch;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card-img {
		grid-row: 1 / 3;
		width: auto;
		aspect-ratio: auto;
		min-height: 168px;
		border-radius: 14px 0 0 14px;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card-body {
		grid-column: 2;
		grid-row: 1;
	}

	.cmhq-grid.cmhq-grid--list .cmhq-card-ft {
		grid-column: 2;
		grid-row: 2;
		margin-top: 0;
	}
}

.cmhq-out--view-map .cmhq-grid {
	display: none;
}

.cmhq-map-results {
	width: 100%;
	min-height: 420px;
	margin-block: 0 1.25rem;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, 0.45);
	background: #f1f5f9;
}

.cmhq-map-results[hidden] {
	display: none !important;
}

.cmhq-map-legend-wrap {
	margin: 0 0 1.25rem;
}

.cmhq-map-legend-wrap[hidden] {
	display: none !important;
}

.cmhq-map-none {
	margin: 0 0 1rem;
	padding: 1rem 1.1rem;
	border-radius: 10px;
	background: #f8fafc;
	border: 1px solid rgba(148, 163, 184, 0.35);
	color: rgba(51, 65, 85, 0.92);
	font-size: 0.93rem;
}

.cmhq-out--view-map .cmhq-map-none[hidden] {
	display: none !important;
}
