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

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

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

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

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

.am-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;
}

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

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

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

.am-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;
}
.am-treatment-card:hover {
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

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

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

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

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

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

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

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

/* ---------------- Auth cards (login/signup) ---------------- */
.am-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);
}
.am-auth-card__eyebrow {
	text-align: center;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--am-brand-600);
	margin: 0;
}
.am-auth-card__title {
	text-align: center;
	font-size: 22px;
	margin: 8px 0 4px;
}
.am-auth-card__subtitle {
	text-align: center;
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin: 0 0 20px;
}
.am-auth-card__subtitle a {
	color: var(--am-brand-700);
	font-weight: 500;
}

.am-auth-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.am-auth-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.am-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;
}
.am-auth-form input:focus {
	outline: none;
	border-color: var(--am-brand-600);
}
.am-auth-error {
	color: #dc2626;
	font-size: 13px;
	margin: 0;
	min-height: 1em;
}

.am-auth-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
	border-bottom: 1px solid rgba(15, 22, 21, 0.1);
}
.am-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;
}
.am-auth-tab.is-active {
	color: var(--am-brand-800);
	border-bottom-color: var(--am-brand-700);
}

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

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

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

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

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

.am-quick-links {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin-top: 24px;
}
.am-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;
}
.am-quick-link strong {
	display: block;
	font-size: 14px;
	color: var(--am-ink-900);
}
.am-quick-link span {
	display: block;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.55);
	margin-top: 4px;
}

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

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

.am-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;
}
.am-callout p {
	margin: 0 0 4px;
	font-size: 13px;
}
.am-callout p:first-child {
	color: var(--am-ink-900);
}
.am-callout p:last-child {
	color: rgba(15, 22, 21, 0.6);
	margin-bottom: 0;
}

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

.am-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;
}
.am-doctor-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.am-doctor-card__body {
	flex: 1;
	min-width: 0;
}
.am-doctor-card h3 {
	font-size: 17px;
	margin: 0;
	font-family: 'Fraunces', serif;
	font-weight: 600;
}
.am-doctor-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
	font-size: 13px;
}
.am-view-link {
	color: var(--am-brand-700);
	font-weight: 500;
}

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

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

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

/* ---------------- Booking panel ---------------- */
.am-booking-panel {
	height: fit-content;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 20px;
}
.am-booking-panel h3 {
	font-size: 14px;
	margin: 18px 0 0;
}
.am-fee-display {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	font-weight: 600;
	color: var(--am-brand-700);
	margin: 4px 0 0;
}
.am-day-strip {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	margin-top: 12px;
	padding-bottom: 4px;
}
.am-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;
}
.am-day-btn.is-active {
	border-color: var(--am-brand-600);
	background: var(--am-brand-50);
	color: var(--am-brand-800);
}
.am-day-btn__date {
	font-size: 11px;
}
.am-slot-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 10px;
}
.am-slot-btn {
	border: 1px solid rgba(15, 22, 21, 0.15);
	border-radius: 8px;
	padding: 8px;
	font-size: 13px;
	background: #fff;
	cursor: pointer;
}
.am-slot-btn.is-active {
	background: var(--am-brand-700);
	color: #fff;
	border-color: var(--am-brand-700);
}
#am-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;
}
#am-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) {
	.am-search-layout,
	.am-profile-cols {
		grid-template-columns: 1fr;
	}
}

/* ---------------- Appointment list (patient dashboard) ---------------- */
.am-appointment-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.am-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;
}
.am-appointment-item__doctor {
	font-weight: 500;
	margin: 0;
	color: var(--am-ink-900);
}

/* ---------------- Hospital search ---------------- */
.am-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;
}
.am-hospital-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.am-hospital-card__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}
.am-hospital-card h3 {
	font-size:17px; margin:0; font-family:'Fraunces',serif; font-weight:600;
}
.am-accred-line {
	font-size: 12px;
	font-weight: 600;
	color: var(--am-brand-700);
	margin: 8px 0 0;
}
.am-pkg-line {
	font-size: 13px;
	margin: 10px 0 0;
	padding-top: 10px;
	border-top: 1px solid rgba(15, 22, 21, 0.08);
}
.am-muted {
	color: rgba(15, 22, 21, 0.5);
}

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

/* ---------------- Package cards ---------------- */
.am-package-card {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 18px;
	margin-top: 14px;
}
.am-package-incl {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 10px;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.6);
}
.am-package-request {
	margin-top: 12px;
}
.am-request-form {
	margin-top: 10px;
	padding: 14px;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 12px;
}
.am-request-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.am-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(--am-brand-700);
	font-weight: 500;
	text-decoration: none;
}
.am-save-badge {
	display: inline-block;
	margin-top: 10px;
	padding: 6px 16px;
	border-radius: 999px;
	background: rgba(236, 139, 46, 0.1);
	color: var(--am-sun-600);
	font-size: 13px;
	font-weight: 600;
}
.am-chart-box {
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 24px;
	margin-top: 20px;
}
.am-bars {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	height: 220px;
	margin-top: 20px;
	padding: 0 4px;
}
.am-bar-col {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}
.am-bar {
	width: 100%;
	max-width: 64px;
	background: var(--am-brand-600);
	border-radius: 8px 8px 0 0;
}
.am-bar-label {
	margin-top: 8px;
	font-size: 12px;
	color: rgba(15, 22, 21, 0.7);
	text-align: center;
}
.am-bar-val {
	font-size: 12px;
	font-weight: 600;
	color: var(--am-brand-800);
	margin-bottom: 6px;
}
.am-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;
}
.am-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);
}
.am-compare-table td {
	padding: 12px 16px;
	border-bottom: 1px solid rgba(15, 22, 21, 0.06);
}
.am-compare-table tr:last-child td {
	border-bottom: none;
}
.am-price-cell {
	color: var(--am-brand-700);
	font-weight: 600;
}

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

/* ---------------- Vendor RFQ ---------------- */
.am-rfq-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
	margin-top: 12px;
}
.am-rfq-form select,
.am-rfq-form input,
.am-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) {
	.am-medicine-grid {
		grid-template-columns: 1fr;
	}
}

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

.am-bmi-card {
	margin-top: 20px;
	background: #fff;
	border: 1px solid rgba(15, 22, 21, 0.1);
	border-radius: 16px;
	padding: 20px;
}
.am-bmi-card .am-form-row label {
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.am-bmi-card .am-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;
}
.am-bmi-result {
	margin-top: 14px;
	background: var(--am-brand-50);
	border-radius: 12px;
	padding: 14px;
}
.am-bmi-value {
	font-family: 'Fraunces', serif;
	font-size: 24px;
	font-weight: 600;
	color: var(--am-brand-800);
	margin-right: 10px;
}

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

/* ---------------- Profile edit forms ---------------- */
.am-edit-form {
	margin-top: 20px;
	max-width: 560px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.am-edit-form label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: rgba(15, 22, 21, 0.7);
}
.am-edit-form input[type="text"],
.am-edit-form input[type="number"],
.am-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;
}
.am-fine-print-inline {
	font-weight: 400;
	color: rgba(15, 22, 21, 0.4);
	font-size: 12px;
}
.am-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.am-form-row--3 {
	grid-template-columns: repeat(3, 1fr);
}
.am-form-success {
	color: var(--am-brand-700);
	font-size: 13px;
	font-weight: 500;
}

/* ---------------- Vendor RFQ dashboard ---------------- */
.am-stat--warn {
	border-color: rgba(236, 139, 46, 0.4) !important;
	background: rgba(236, 139, 46, 0.05);
}
.am-stat--warn .am-stat__value {
	color: var(--am-sun-600);
}
.am-rfq-list {
	list-style: none;
	margin: 12px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.am-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;
}
.am-rfq-item__body {
	flex: 1;
	min-width: 0;
}
.am-rfq-item__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	flex-shrink: 0;
}
.am-rfq-actions {
	display: flex;
	gap: 6px;
}
.am-fine-print {
	font-size: 12px;
	color: rgba(15, 22, 21, 0.45);
	margin: 4px 0 0;
}
.am-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;
}
.am-btn-sm--primary {
	background: var(--am-brand-700);
	color: #fff;
	border-color: var(--am-brand-700);
}
.am-btn-sm--primary:hover {
	background: var(--am-brand-800);
}

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

/* ---------------- Category filter tabs (Compare Treatments) ---------------- */
.am-category-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
}
.am-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;
}
.am-category-tab.is-active {
	background: var(--am-brand-700);
	border-color: var(--am-brand-700);
	color: #fff;
}

/* ---------------- News / Blog ---------------- */
.am-news-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 20px;
}
.am-news-grid--teaser {
	margin-top: 14px;
}
.am-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;
}
.am-news-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}
.am-news-card__image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--am-brand-50);
}
.am-news-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.am-news-card__body {
	padding: 18px;
}
.am-news-card__title {
	font-family: 'Fraunces', serif;
	font-size: 16px;
	font-weight: 600;
	margin: 6px 0 0;
	line-height: 1.35;
}
.am-news-card__excerpt {
	font-size: 13px;
	color: rgba(15, 22, 21, 0.6);
	margin: 8px 0 0;
	line-height: 1.5;
}
.am-news-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
}

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