/* Meridian Health — shared design tokens, ported from the original
   Tailwind config so the WordPress version looks identical. */
:root {
	--mh-brand-50: #eefbf7;
	--mh-brand-100: #d5f3ea;
	--mh-brand-300: #78d2bd;
	--mh-brand-600: #187d6b;
	--mh-brand-700: #156458;
	--mh-brand-800: #154f47;
	--mh-brand-900: #13413b;
	--mh-brand-950: #062521;
	--mh-sun-500: #ec8b2e;
	--mh-sun-600: #d97220;
	--mh-ink-900: #0f1615;
}

.mh-search,
.mh-treatments,
.mh-treatment-card {
	font-family: 'Inter', -apple-system, sans-serif;
	box-sizing: border-box;
}

/* ---------------- Search bar ---------------- */
.mh-search__tabs {
	display: flex;
	gap: 4px;
	background: rgba(255, 255, 255, 0.1);
	padding: 4px;
	border-radius: 999px;
	width: fit-content;
}

.mh-search__tab {
	border: none;
	background: none;
	color: var(--mh-brand-100, #d5f3ea);
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

.mh-search__tab.is-active {
	background: #fff;
	color: var(--mh-brand-900);
}

.mh-search__form {
	margin-top: 12px;
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	padding: 8px;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
	max-width: 640px;
}

.mh-search__input {
	flex: 1;
	border: none;
	outline: none;
	padding: 10px;
	font-size: 15px;
	color: var(--mh-ink-900);
}

.mh-search__submit {
	background: var(--mh-sun-500);
	color: #fff;
	border: none;
	padding: 12px 22px;
	border-radius: 12px;
	font-weight: 600;
	cursor: pointer;
}
.mh-search__submit:hover {
	background: var(--mh-sun-600);
}

/* ---------------- Treatment price cards ---------------- */
.mh-treatments {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 800px) {
	.mh-treatments {
		grid-template-columns: 1fr;
	}
}

.mh-treatment-card {
	display: block;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 24px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
.mh-treatment-card:hover {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.mh-treatment-card__category {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mh-brand-600);
	margin: 0;
}

.mh-treatment-card__name {
	font-size: 20px;
	margin: 8px 0 0;
}

.mh-treatment-card__price {
	margin: 16px 0 0;
	font-size: 26px;
	font-weight: 600;
	color: var(--mh-brand-700);
}
.mh-treatment-card__price span {
	font-size: 14px;
	font-weight: 400;
	color: rgba(15, 22, 21, 0.5);
	margin-left: 6px;
}

.mh-treatment-card__savings {
	color: var(--mh-sun-600);
	font-size: 14px;
	font-weight: 500;
	margin: 4px 0 0;
}

.mh-treatment-card__cta {
	display: inline-block;
	margin-top: 16px;
	font-size: 14px;
	font-weight: 500;
	color: var(--mh-brand-700);
}

.mh-treatments__empty {
	color: rgba(15, 22, 21, 0.5);
}

/* ---------------- Buttons ---------------- */
.mh-btn {
	display: inline-block;
	border-radius: 10px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	border: none;
}
.mh-btn--primary {
	background: var(--mh-brand-700);
	color: #fff;
}
.mh-btn--primary:hover {
	background: var(--mh-brand-800);
}
.mh-btn--outline {
	background: #fff;
	color: var(--mh-ink-900);
	border: 1px solid rgba(15, 22, 21, 0.15);
}
.mh-btn--link {
	background: none;
	color: rgba(15, 22, 21, 0.6);
	padding: 10px 8px;
}
.mh-btn--link:hover {
	color: var(--mh-ink-900);
}

/* ---------------- Auth cards (login/signup) ---------------- */
.mh-auth-card {
	max-width: 420px;
	margin: 0 auto;
	background: #fff;
	border-radius: 16px;
	padding: 32px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.mh-auth-card__eyebrow {
	text-align: center;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--mh-brand-600);
	margin: 0;
}
.mh-auth-card__title {
	text-align: center;
	font-size: 22px;
	margin: 8px 0 4px;
}
.mh-auth-card__subtitle {
	text-align: center;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin: 0 0 20px;
}
.mh-auth-card__subtitle a {
	color: var(--mh-brand-700);
	font-weight: 500;
}

.mh-auth-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.mh-auth-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.mh-auth-form input {
	display: block;
	width: 100%;
	margin-top: 5px;
	padding: 10px 12px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 10px;
	font-size: 14px;
	box-sizing: border-box;
}
.mh-auth-form input:focus {
	outline: none;
	border-color: var(--mh-brand-600);
}
.mh-auth-error {
	color: #dc2626;
	font-size: 13px;
	margin: 0;
	min-height: 1em;
}

.mh-auth-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(15, 22, 21, 0.1);
}
.mh-auth-tab {
	background: none;
	border: none;
	padding: 10px 4px;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.5);
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.mh-auth-tab.is-active {
	color: var(--mh-brand-800);
	border-bottom-color: var(--mh-brand-700);
}

.mh-role-picker {
	border: none;
	padding: 0;
	margin: 0;
}
.mh-role-picker legend {
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-bottom: 8px;
	padding: 0;
}
.mh-role-option {
	display: block;
	font-size: 14px;
	font-weight: 400;
	padding: 8px 0;
	cursor: pointer;
}
.mh-role-option input {
	width: auto;
	display: inline-block;
	margin-right: 8px;
}

.mh-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.mh-notice {
	background: var(--mh-brand-50);
	color: var(--mh-brand-800);
	padding: 14px 18px;
	border-radius: 12px;
	font-size: 14px;
}

/* ---------------- Account menu ---------------- */
.mh-account-menu {
	display: flex;
	align-items: center;
	gap: 6px;
}
.mh-account-menu__greeting {
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin-right: 4px;
}

/* ---------------- Dashboards ---------------- */
.mh-dashboard {
	max-width: 720px;
	margin: 0 auto;
}
.mh-dashboard h1 {
	font-size: 26px;
}
.mh-dashboard h2 {
	font-size: 18px;
	margin-top: 32px;
}
.mh-dashboard__subtitle {
	color: rgba(15, 22, 21, 0.6);
	margin-top: 4px;
}
.mh-dashboard__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 12px;
}

.mh-quick-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 24px;
}
.mh-quick-link {
	display: block;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 14px;
	padding: 16px;
	text-decoration: none;
	color: inherit;
}
.mh-quick-link strong {
	display: block;
	font-size: 14px;
	color: var(--mh-ink-900);
}
.mh-quick-link span {
	display: block;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.55);
	margin-top: 4px;
}

.mh-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-top: 20px;
}
.mh-stat {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 14px;
	padding: 16px;
}
.mh-stat__value {
	display: block;
	font-size: 22px;
	font-weight: 600;
	color: var(--mh-brand-700);
}
.mh-stat__label {
	display: block;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.55);
	margin-top: 4px;
}

.mh-badge {
	font-size: 11px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	white-space: nowrap;
}
.mh-badge--brand {
	background: var(--mh-brand-50);
	color: var(--mh-brand-700);
}
.mh-badge--warn {
	background: rgba(236, 139, 46, 0.12);
	color: var(--mh-sun-600);
}

.mh-callout {
	background: rgba(236, 139, 46, 0.06);
	border: 1px solid rgba(236, 139, 46, 0.3);
	border-radius: 14px;
	padding: 16px;
	margin-top: 20px;
}
.mh-callout p {
	margin: 0 0 4px;
	font-size: 13px;
}
.mh-callout p:first-child {
	color: var(--mh-ink-900);
}
.mh-callout p:last-child {
	color: rgba(15, 22, 21, 0.6);
	margin-bottom: 0;
}

.mh-empty-state {
	background: #fff;
	border: 1px dashed rgba(15, 22, 21, 0.15);
	border-radius: 14px;
	padding: 24px;
	text-align: center;
	color: rgba(15, 22, 21, 0.5);
	font-size: 13px;
	margin-top: 12px;
}

/* ---------------- Doctor search ---------------- */
.mh-search-layout {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 32px;
	margin-top: 20px;
}
.mh-filters {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.mh-filter-group label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-bottom: 5px;
}
.mh-filter-group select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
}
.mh-checkbox-row {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.7);
	cursor: pointer;
}
.mh-results-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
}
.mh-results-head select {
	padding: 6px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
}

.mh-doctor-card {
	display: flex;
	gap: 14px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 18px;
	margin-top: 12px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
.mh-doctor-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.mh-doctor-card__body {
	flex: 1;
	min-width: 0;
}
.mh-doctor-card h3 {
	font-size: 17px;
	margin: 0;
	font-family: 'Fraunces', serif;
	font-weight: 600;
}
.mh-doctor-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
	font-size: 13px;
}
.mh-view-link {
	color: var(--mh-brand-700);
	font-weight: 500;
}

.mh-avatar {
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--mh-brand-100);
	color: var(--mh-brand-700);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Fraunces', serif;
	font-weight: 600;
	font-size: 20px;
	flex-shrink: 0;
}
.mh-avatar--sm {
	width: 44px;
	height: 44px;
	font-size: 16px;
}

.mh-tag {
	font-size: 12px;
	padding: 2px 8px;
	border-radius: 999px;
}
.mh-tag--brand {
	background: var(--mh-brand-50);
	color: var(--mh-brand-700);
}

/* ---------------- Doctor profile ---------------- */
.mh-profile-header {
	display: flex;
	gap: 20px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 24px;
}
.mh-profile-header h1 {
	font-size: 22px;
	margin: 0;
	font-family: 'Fraunces', serif;
	font-weight: 600;
}
.mh-profile-title-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.mh-profile-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 10px;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
}
.mh-profile-hospital {
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin: 8px 0 0;
}
.mh-profile-cols {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	margin-top: 28px;
}
.mh-profile-bio {
	color: rgba(15, 22, 21, 0.7);
	line-height: 1.6;
}

/* ---------------- Booking panel ---------------- */
.mh-booking-panel {
	height: fit-content;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 20px;
}
.mh-booking-panel h3 {
	font-size: 14px;
	margin: 18px 0 0;
}
.mh-fee-display {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	font-weight: 600;
	color: var(--mh-brand-700);
	margin: 4px 0 0;
}
.mh-day-strip {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin-top: 12px;
	padding-bottom: 4px;
}
.mh-day-btn {
	flex-shrink: 0;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 12px;
	padding: 8px 14px;
	font-size: 13px;
	text-align: center;
	cursor: pointer;
	background: #fff;
}
.mh-day-btn.is-active {
	border-color: var(--mh-brand-600);
	background: var(--mh-brand-50);
	color: var(--mh-brand-800);
}
.mh-day-btn__date {
	font-size: 11px;
}
.mh-slot-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 10px;
}
.mh-slot-btn {
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	padding: 8px;
	font-size: 13px;
	background: #fff;
	cursor: pointer;
}
.mh-slot-btn.is-active {
	background: var(--mh-brand-700);
	color: #fff;
	border-color: var(--mh-brand-700);
}
#mh-booking-form-wrap textarea {
	width: 100%;
	margin-top: 6px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	box-sizing: border-box;
	resize: vertical;
}
#mh-booking-form-wrap label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-top: 14px;
}

@media (max-width: 800px) {
	.mh-search-layout,
	.mh-profile-cols {
		grid-template-columns: 1fr;
	}
}

/* ---------------- Appointment list (patient dashboard) ---------------- */
.mh-appointment-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mh-appointment-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 14px;
	padding: 14px 16px;
}
.mh-appointment-item__doctor {
	font-weight: 500;
	margin: 0;
	color: var(--mh-ink-900);
}

/* ---------------- Hospital search ---------------- */
.mh-hospital-card {
	display: block;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 18px;
	margin-top: 12px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
.mh-hospital-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.mh-hospital-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}
.mh-hospital-card h3 {
	font-size:17px; margin:0; font-family:'Fraunces',serif; font-weight:600;
}
.mh-accred-line {
	font-size: 12px;
	font-weight: 600;
	color: var(--mh-brand-700);
	margin: 8px 0 0;
}
.mh-pkg-line {
	font-size: 13px;
	margin: 10px 0 0;
	padding-top: 10px;
	border-top: 1px solid rgba(15, 22, 21, 0.08);
}
.mh-muted {
	color: rgba(15, 22, 21, 0.5);
}

.mh-badges-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}
.mh-badge--muted {
	background: rgba(15, 22, 21, 0.05);
	color: rgba(15, 22, 21, 0.7);
}
.mh-badge--outline {
	background: none;
	border: 1px solid rgba(15, 22, 21, 0.15);
	color: rgba(15, 22, 21, 0.7);
}

/* ---------------- Package cards ---------------- */
.mh-package-card {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 18px;
	margin-top: 14px;
}
.mh-package-incl {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.6);
}
.mh-package-request {
	margin-top: 12px;
}
.mh-request-form {
	margin-top: 10px;
	padding: 14px;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 12px;
}
.mh-request-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.mh-request-form select {
	width: 100%;
	margin-top: 5px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
}

/* ---------------- Treatment comparison detail ---------------- */
.back-link-inline {
	font-size: 13px;
	color: var(--mh-brand-700);
	font-weight: 500;
	text-decoration: none;
}
.mh-save-badge {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 16px;
	border-radius: 999px;
	background: rgba(236, 139, 46, 0.1);
	color: var(--mh-sun-600);
	font-size: 13px;
	font-weight: 600;
}
.mh-chart-box {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 24px;
	margin-top: 20px;
}
.mh-bars {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	height: 220px;
	margin-top: 20px;
	padding: 0 4px;
}
.mh-bar-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}
.mh-bar {
	width: 100%;
	max-width: 64px;
	background: var(--mh-brand-600);
	border-radius: 8px 8px 0 0;
}
.mh-bar-label {
	margin-top: 8px;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.7);
	text-align: center;
}
.mh-bar-val {
	font-size: 12px;
	font-weight: 600;
	color: var(--mh-brand-800);
	margin-bottom: 6px;
}
.mh-compare-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 20px;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(15, 22, 21, 0.1);
	font-size: 13px;
}
.mh-compare-table th {
	text-align: left;
	padding: 12px 16px;
	background: rgba(15, 22, 21, 0.02);
	color: rgba(15, 22, 21, 0.5);
	font-weight: 500;
	border-bottom: 1px solid rgba(15, 22, 21, 0.1);
}
.mh-compare-table td {
	padding: 12px 16px;
	border-bottom: 1px solid rgba(15, 22, 21, 0.06);
}
.mh-compare-table tr:last-child td {
	border-bottom: none;
}
.mh-price-cell {
	color: var(--mh-brand-700);
	font-weight: 600;
}

/* ---------------- Diagnostics & pharmacy shared card bits ---------------- */
.mh-test-card,
.mh-medicine-card {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 18px;
	margin-top: 14px;
}
.mh-test-card.is-highlighted,
.mh-medicine-card.is-highlighted {
	border-color: var(--mh-brand-300, #78d2bd);
	box-shadow: 0 0 0 3px rgba(120, 210, 189, 0.25);
}
.mh-test-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}
.mh-test-booking,
.mh-medicine-order {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(15, 22, 21, 0.08);
	max-width: 360px;
}
.mh-test-booking label,
.mh-medicine-order label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-top: 10px;
}
.mh-test-booking input,
.mh-test-booking textarea,
.mh-medicine-order input,
.mh-medicine-order textarea {
	width: 100%;
	margin-top: 5px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	box-sizing: border-box;
}
.mh-toggle-row {
	display: flex;
	gap: 8px;
}
.mh-toggle-btn {
	flex: 1;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	padding: 8px;
	font-size: 13px;
	font-weight: 500;
	background: #fff;
	cursor: pointer;
}
.mh-toggle-btn.is-active {
	border-color: var(--mh-brand-600);
	background: var(--mh-brand-50);
	color: var(--mh-brand-800);
}
.mh-fine-print {
	font-size: 11px;
	color: rgba(15, 22, 21, 0.45);
	margin: 4px 0 0;
}
.mh-medicine-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 4px;
}
.mh-medicine-search__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin-top: 16px;
}
a.mh-medicine-card {
	display: block;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
a.mh-medicine-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* ---------------- Vendor RFQ ---------------- */
.mh-rfq-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-top: 12px;
}
.mh-rfq-form select,
.mh-rfq-form input,
.mh-rfq-form textarea {
	width: 100%;
	margin-top: 5px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	box-sizing: border-box;
}

@media (max-width: 700px) {
	.mh-medicine-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------------- AI Assistant ---------------- */
.mh-mode-toggle {
	display: flex;
	gap: 4px;
	background: rgba(15, 22, 21, 0.05);
	padding: 4px;
	border-radius: 999px;
	width: fit-content;
	margin-top: 16px;
}
.mh-mode-btn {
	border: none;
	background: none;
	padding: 8px 16px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.6);
	cursor: pointer;
}
.mh-mode-btn.is-active {
	background: #fff;
	color: var(--mh-brand-800);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}
.mh-chat-box {
	margin-top: 16px;
	height: 480px;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	overflow: hidden;
}
.mh-chat-messages {
	flex: 1;
	overflow-y: auto;
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mh-chat-msg {
	max-width: 78%;
	padding: 10px 14px;
	border-radius: 16px;
	font-size: 14px;
	line-height: 1.5;
}
.mh-chat-msg--user {
	align-self: flex-end;
	background: var(--mh-brand-700);
	color: #fff;
}
.mh-chat-msg--assistant {
	align-self: flex-start;
	background: #f6f7f7;
	color: var(--mh-ink-900);
}
.mh-chat-msg--empty {
	background: #f6f7f7;
	color: rgba(15, 22, 21, 0.5);
	align-self: stretch;
	max-width: none;
}
.mh-chat-msg--thinking {
	color: rgba(15, 22, 21, 0.5);
}
.mh-chat-msg--error {
	align-self: stretch;
	max-width: none;
	background: #fef2f2;
	color: #991b1b;
}
.mh-chat-urgent {
	align-self: stretch;
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #991b1b;
	padding: 12px 14px;
	border-radius: 12px;
	font-size: 13px;
}
.mh-chat-specialty-link {
	align-self: flex-start;
	background: var(--mh-brand-50);
	color: var(--mh-brand-800);
	padding: 10px 16px;
	border-radius: 12px;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}
.mh-chat-input-row {
	display: flex;
	gap: 8px;
	border-top: 1px solid rgba(15, 22, 21, 0.1);
	padding: 10px;
}
.mh-chat-input-row input {
	flex: 1;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 12px;
	padding: 10px 14px;
	font-size: 14px;
}

.mh-bmi-card {
	margin-top: 20px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 20px;
}
.mh-bmi-card .mh-form-row label {
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.mh-bmi-card .mh-form-row input {
	width: 100%;
	margin-top: 5px;
	padding: 8px 10px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	font-size: 13px;
	box-sizing: border-box;
}
.mh-bmi-result {
	margin-top: 14px;
	background: var(--mh-brand-50);
	border-radius: 12px;
	padding: 14px;
}
.mh-bmi-value {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	font-weight: 600;
	color: var(--mh-brand-800);
	margin-right: 10px;
}

/* ---------------- Video call ---------------- */
.mh-video-call__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
}
.mh-video-frame {
	aspect-ratio: 16 / 9;
	width: 100%;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
}
.mh-video-frame iframe {
	width: 100%;
	height: 100%;
	border: none;
}

/* ---------------- Profile edit forms ---------------- */
.mh-edit-form {
	margin-top: 20px;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.mh-edit-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.mh-edit-form input[type="text"],
.mh-edit-form input[type="number"],
.mh-edit-form textarea {
	width: 100%;
	margin-top: 5px;
	padding: 9px 12px;
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	box-sizing: border-box;
}
.mh-fine-print-inline {
	font-weight: 400;
	color: rgba(15, 22, 21, 0.4);
	font-size: 12px;
}
.mh-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mh-form-row--3 {
	grid-template-columns: repeat(3, 1fr);
}
.mh-form-success {
	color: var(--mh-brand-700);
	font-size: 13px;
	font-weight: 500;
}

/* ---------------- Vendor RFQ dashboard ---------------- */
.mh-stat--warn {
	border-color: rgba(236, 139, 46, 0.4) !important;
	background: rgba(236, 139, 46, 0.05);
}
.mh-stat--warn .mh-stat__value {
	color: var(--mh-sun-600);
}
.mh-rfq-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mh-rfq-item {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 14px;
	padding: 16px;
}
.mh-rfq-item__body {
	flex: 1;
	min-width: 0;
}
.mh-rfq-item__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	flex-shrink: 0;
}
.mh-rfq-actions {
	display: flex;
	gap: 6px;
}
.mh-fine-print {
	font-size: 12px;
	color: rgba(15, 22, 21, 0.45);
	margin: 4px 0 0;
}
.mh-btn-sm {
	border: 1px solid rgba(15, 22, 21, 0.15);
	background: #fff;
	color: rgba(15, 22, 21, 0.7);
	border-radius: 8px;
	padding: 6px 12px;
	font-size: 12px;
	font-weight: 500;
	cursor: pointer;
}
.mh-btn-sm--primary {
	background: var(--mh-brand-700);
	color: #fff;
	border-color: var(--mh-brand-700);
}
.mh-btn-sm--primary:hover {
	background: var(--mh-brand-800);
}

/* ---------------- Payments ---------------- */
.mh-payment-widget {
	margin-top: 4px;
}
.mh-payment-buttons {
	display: flex;
	gap: 8px;
}
.mh-payment-buttons .mh-btn {
	flex: 1;
	text-align: center;
}
.mh-appointment-item--stacked {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mh-appointment-item__row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.mh-payment-widget-slot:empty {
	display: none;
}

/* ---------------- Category filter tabs (Compare Treatments) ---------------- */
.mh-category-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.mh-category-tab {
	padding: 7px 16px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.15);
	color: rgba(15, 22, 21, 0.7);
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}
.mh-category-tab.is-active {
	background: var(--mh-brand-700);
	border-color: var(--mh-brand-700);
	color: #fff;
}

/* ---------------- News / Blog ---------------- */
.mh-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 20px;
}
.mh-news-grid--teaser {
	margin-top: 14px;
}
.mh-news-card {
	display: block;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s;
}
.mh-news-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.mh-news-card__image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--mh-brand-50);
}
.mh-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mh-news-card__body {
	padding: 18px;
}
.mh-news-card__title {
	font-family: 'Fraunces', serif;
	font-size: 16px;
	font-weight: 600;
	margin: 6px 0 0;
	line-height: 1.35;
}
.mh-news-card__excerpt {
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin: 8px 0 0;
	line-height: 1.5;
}
.mh-news-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}

@media (max-width: 800px) {
	.mh-news-grid {
		grid-template-columns: 1fr;
	}
}
