/**
 * ItsHomeopathy Repertory — front-end styles.
 *
 * Everything is scoped to .ihr-app and driven by custom properties, so a theme
 * can restyle the tool by overriding a handful of variables without touching
 * this file. A dark scheme is provided for sites that prefer it.
 *
 * @package ItsHomeopathy_Repertory
 */

.ihr-app {
	--ihr-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ihr-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

	--ihr-bg: #ffffff;
	--ihr-bg-soft: #f7f8fa;
	--ihr-bg-sunk: #f1f3f6;
	--ihr-border: #dfe3ea;
	--ihr-border-strong: #c6ccd8;
	--ihr-text: #1c2331;
	--ihr-text-soft: #5b6474;
	--ihr-text-faint: #8b93a3;

	--ihr-accent: #1d6f5a;
	--ihr-accent-soft: #e8f3ef;
	--ihr-accent-text: #ffffff;
	--ihr-accent-ink: #14503f;

	--ihr-warn-bg: #fdf6e6;
	--ihr-warn-border: #e8d5a3;
	--ihr-warn-text: #7a5a11;
	--ihr-err-bg: #fdeeee;
	--ihr-err-border: #e9b7b7;
	--ihr-err-text: #8c2b2b;

	--ihr-g1: #b9c2d0;
	--ihr-g2: #7c93b5;
	--ihr-g3: #3f6ba8;
	--ihr-g4: #1f3f78;

	--ihr-radius: 10px;
	--ihr-radius-sm: 6px;
	--ihr-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .04);
	--ihr-shadow-lg: 0 12px 32px rgba(16, 24, 40, .16);

	font-family: var(--ihr-font);
	color: var(--ihr-text);
	line-height: 1.55;
	font-size: 15px;
	max-width: 100%;
	box-sizing: border-box;
}

@media (prefers-color-scheme: dark) {
	.ihr-app:not([data-theme="light"]) {
		--ihr-bg: #161a21;
		--ihr-bg-soft: #1c212a;
		--ihr-bg-sunk: #12161c;
		--ihr-border: #2c333f;
		--ihr-border-strong: #3d4655;
		--ihr-text: #e7ebf2;
		--ihr-text-soft: #a4adbd;
		--ihr-text-faint: #78818f;
		--ihr-accent: #3fa98a;
		--ihr-accent-soft: #1b3129;
		--ihr-accent-text: #06231b;
		--ihr-accent-ink: #7fd4b9;
		--ihr-warn-bg: #2b2413;
		--ihr-warn-border: #57492a;
		--ihr-warn-text: #e8cf96;
		--ihr-err-bg: #2e1a1a;
		--ihr-err-border: #5e3333;
		--ihr-err-text: #f0a8a8;
		--ihr-shadow: 0 1px 2px rgba(0, 0, 0, .4);
		--ihr-shadow-lg: 0 12px 32px rgba(0, 0, 0, .6);
	}
}

.ihr-app *,
.ihr-app *::before,
.ihr-app *::after {
	box-sizing: border-box;
}

.ihr-app :focus-visible {
	outline: 2px solid var(--ihr-accent);
	outline-offset: 2px;
	border-radius: 3px;
}

.ihr-app button {
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.ihr-app [hidden] {
	display: none !important;
}

.ihr-app a {
	color: var(--ihr-accent-ink);
}

/* ==================================================================
 * Header
 * ================================================================== */

.ihr-head {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: flex-end;
	justify-content: space-between;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--ihr-border);
	margin-bottom: 4px;
}

.ihr-head__title {
	margin: 0 0 2px;
	font-size: 1.45em;
	line-height: 1.25;
}

.ihr-head__sub {
	margin: 0;
	color: var(--ihr-text-soft);
	font-size: .92em;
}

.ihr-head__tools {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	flex-wrap: wrap;
}

.ihr-select {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.ihr-select__label {
	font-size: .75em;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ihr-text-faint);
	font-weight: 600;
}

.ihr-select__input,
.ihr-input,
.ihr-textarea {
	font: inherit;
	color: var(--ihr-text);
	background: var(--ihr-bg);
	border: 1px solid var(--ihr-border-strong);
	border-radius: var(--ihr-radius-sm);
	padding: 7px 10px;
	max-width: 100%;
}

.ihr-textarea {
	width: 100%;
	resize: vertical;
	font-size: .93em;
}

.ihr-input--tiny {
	width: 58px;
	padding: 5px 6px;
	text-align: center;
}

.ihr-casebtn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: 999px;
	padding: 7px 14px;
	transition: background .15s, border-color .15s;
}

.ihr-casebtn.has-items {
	background: var(--ihr-accent-soft);
	border-color: var(--ihr-accent);
}

.ihr-casebtn__num {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.ihr-casebtn__label {
	font-size: .88em;
	color: var(--ihr-text-soft);
}

/* ==================================================================
 * Tabs
 * ================================================================== */

.ihr-tabs {
	display: flex;
	gap: 2px;
	overflow-x: auto;
	scrollbar-width: none;
	border-bottom: 1px solid var(--ihr-border);
	margin-bottom: 16px;
}

.ihr-tabs::-webkit-scrollbar {
	display: none;
}

.ihr-tab {
	position: relative;
	flex: 0 0 auto;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	padding: 11px 15px;
	color: var(--ihr-text-soft);
	font-weight: 600;
	font-size: .95em;
	white-space: nowrap;
	transition: color .15s, border-color .15s;
}

.ihr-tab:hover {
	color: var(--ihr-text);
}

.ihr-tab.is-active {
	color: var(--ihr-accent-ink);
	border-bottom-color: var(--ihr-accent);
}

.ihr-tab.has-items::after {
	content: "";
	position: absolute;
	top: 8px;
	right: 6px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ihr-accent);
}

.ihr-panel {
	min-height: 220px;
}

/* ==================================================================
 * Buttons, tags, misc
 * ================================================================== */

.ihr-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: var(--ihr-radius-sm);
	border: 1px solid var(--ihr-border-strong);
	background: var(--ihr-bg);
	padding: 7px 12px;
	font-size: .9em;
	font-weight: 600;
	line-height: 1.2;
	transition: background .15s, border-color .15s, color .15s;
}

.ihr-btn:hover {
	background: var(--ihr-bg-soft);
}

.ihr-btn--primary {
	background: var(--ihr-accent);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-text);
}

.ihr-btn--primary:hover {
	filter: brightness(1.08);
	background: var(--ihr-accent);
}

.ihr-btn--ghost {
	background: transparent;
	border-color: transparent;
	color: var(--ihr-text-soft);
}

.ihr-btn--ghost:hover {
	background: var(--ihr-bg-soft);
	color: var(--ihr-text);
}

.ihr-btn--on {
	background: var(--ihr-accent-soft);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-ink);
}

.ihr-btn svg,
.ihr-chip svg,
.ihr-buy svg {
	flex: 0 0 auto;
}

.ihr-tag {
	display: inline-block;
	border-radius: 4px;
	padding: 1px 7px;
	font-size: .72em;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	background: var(--ihr-bg-sunk);
	color: var(--ihr-text-soft);
	border: 1px solid var(--ihr-border);
	white-space: nowrap;
}

.ihr-tag--chapter {
	background: var(--ihr-accent-soft);
	color: var(--ihr-accent-ink);
	border-color: transparent;
}

.ihr-tag--multi {
	background: #eef0fb;
	color: #3b3f7a;
	border-color: transparent;
}

.ihr-tag--broad {
	background: transparent;
	color: var(--ihr-text-faint);
}

.ihr-tag--rx,
.ihr-tag--branch {
	text-transform: none;
	font-variant-numeric: tabular-nums;
}

.ihr-note {
	color: var(--ihr-text-soft);
	font-size: .88em;
	margin: 8px 0 0;
}

.ihr-notice--error {
	background: var(--ihr-err-bg);
	border: 1px solid var(--ihr-err-border);
	color: var(--ihr-err-text);
	padding: 12px 14px;
	border-radius: var(--ihr-radius-sm);
}

.ihr-callout {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: var(--ihr-warn-bg);
	border: 1px solid var(--ihr-warn-border);
	color: var(--ihr-warn-text);
	border-radius: var(--ihr-radius-sm);
	padding: 10px 12px;
	margin: 10px 0;
	font-size: .9em;
}

.ihr-callout .ihr-btn {
	margin-left: auto;
}

/* ==================================================================
 * Query box
 * ================================================================== */

.ihr-qb {
	margin-bottom: 14px;
}

.ihr-qb__row {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--ihr-bg);
	border: 1px solid var(--ihr-border-strong);
	border-radius: var(--ihr-radius);
	padding: 6px 10px;
	box-shadow: var(--ihr-shadow);
	transition: border-color .15s, box-shadow .15s;
}

.ihr-qb.is-focused .ihr-qb__row {
	border-color: var(--ihr-accent);
	box-shadow: 0 0 0 3px var(--ihr-accent-soft);
}

.ihr-qb__icon {
	display: flex;
	color: var(--ihr-text-faint);
}

.ihr-qb__field {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
}

/*
 * The mirror and the input must agree on every metric that affects text
 * layout, otherwise the highlight drifts away from the caret.
 */
.ihr-qb__overlay,
.ihr-qb__input {
	font: inherit;
	font-family: var(--ihr-mono);
	font-size: .95em;
	line-height: 1.5;
	padding: 6px 2px;
	border: 0;
	white-space: pre;
	overflow: hidden;
	width: 100%;
}

.ihr-qb__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	color: var(--ihr-text);
}

.ihr-qb__input {
	position: relative;
	background: transparent;
	color: transparent;
	caret-color: var(--ihr-accent);
}

.ihr-qb__input::placeholder {
	color: var(--ihr-text-faint);
	-webkit-text-fill-color: var(--ihr-text-faint);
}

.ihr-qb__input::-webkit-search-cancel-button {
	display: none;
}

.ihr-qb__clear {
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: 0;
	color: var(--ihr-text-faint);
	padding: 5px;
	border-radius: 50%;
}

.ihr-qb__clear:hover {
	background: var(--ihr-bg-sunk);
	color: var(--ihr-text);
}

.ihr-tok--op {
	color: #b4477c;
	font-weight: 700;
}

.ihr-tok--phrase {
	color: #9a6a12;
}

.ihr-tok--field {
	color: var(--ihr-accent-ink);
	font-weight: 700;
}

.ihr-tok--word {
	color: var(--ihr-text);
}

.ihr-tok--paren {
	color: var(--ihr-text-faint);
}

.ihr-tok--bad {
	background: var(--ihr-err-bg);
	border-bottom: 2px solid var(--ihr-err-text);
	border-radius: 2px;
}

.ihr-qb__msg {
	font-size: .86em;
	min-height: 0;
	margin-top: 6px;
}

.ihr-qb__error,
.ihr-qb__note,
.ihr-qb__ok {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	padding: 6px 10px;
	border-radius: var(--ihr-radius-sm);
}

.ihr-qb__error {
	background: var(--ihr-err-bg);
	border: 1px solid var(--ihr-err-border);
	color: var(--ihr-err-text);
}

.ihr-qb__note {
	background: var(--ihr-warn-bg);
	border: 1px solid var(--ihr-warn-border);
	color: var(--ihr-warn-text);
}

.ihr-qb__ok {
	color: var(--ihr-text-soft);
	background: transparent;
	border: 0;
	padding: 2px 2px 0;
}

.ihr-qb__hint {
	opacity: .85;
}

.ihr-qb__builder {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin-top: 9px;
}

.ihr-qb__builder-label {
	font-size: .8em;
	color: var(--ihr-text-faint);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-weight: 600;
	margin-right: 2px;
}

.ihr-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: 999px;
	padding: 4px 12px;
	font-size: .84em;
	transition: background .12s, border-color .12s;
}

.ihr-chip:hover {
	background: var(--ihr-accent-soft);
	border-color: var(--ihr-accent);
}

.ihr-chip__name {
	font-weight: 600;
}

.ihr-chip__hint {
	color: var(--ihr-text-faint);
	font-family: var(--ihr-mono);
	font-size: .92em;
}

.ihr-chip--example {
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	border-radius: var(--ihr-radius-sm);
	padding: 9px 13px;
	text-align: left;
}

.ihr-chip--example .ihr-chip__name {
	font-size: .95em;
}

/* ==================================================================
 * Syntax help
 * ================================================================== */

.ihr-help {
	margin: 0 0 16px;
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
	background: var(--ihr-bg-soft);
}

.ihr-help__summary {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	cursor: pointer;
	font-weight: 600;
	font-size: .92em;
	list-style: none;
}

.ihr-help__summary::-webkit-details-marker {
	display: none;
}

.ihr-help__body {
	padding: 4px 16px 16px;
	font-size: .9em;
}

.ihr-help__h {
	margin: 14px 0 6px;
	font-size: .82em;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ihr-text-faint);
}

.ihr-help__list {
	margin: 0;
	padding-left: 18px;
}

.ihr-help__list li {
	margin: 3px 0;
}

.ihr-help__table {
	width: 100%;
	border-collapse: collapse;
}

.ihr-help__table th {
	text-align: left;
	font-weight: 500;
	padding: 4px 10px 4px 0;
	white-space: nowrap;
	vertical-align: top;
}

.ihr-help__table td {
	padding: 4px 0;
	color: var(--ihr-text-soft);
}

.ihr-app code {
	font-family: var(--ihr-mono);
	font-size: .9em;
	background: var(--ihr-bg-sunk);
	padding: 1px 5px;
	border-radius: 4px;
	border: 1px solid var(--ihr-border);
}

.ihr-help__examples {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ihr-example {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	background: var(--ihr-bg);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius-sm);
	padding: 8px 12px;
	text-align: left;
	max-width: 100%;
}

.ihr-example:hover {
	border-color: var(--ihr-accent);
}

.ihr-example__q {
	font-family: var(--ihr-mono);
	font-size: .86em;
	background: transparent;
	border: 0;
	padding: 0;
}

.ihr-example__label {
	font-size: .84em;
	color: var(--ihr-text-soft);
}

/* ==================================================================
 * Results
 * ================================================================== */

.ihr-results__head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 4px 0 12px;
	border-bottom: 1px solid var(--ihr-border);
	margin-bottom: 4px;
	flex-wrap: wrap;
}

.ihr-results__count strong {
	font-size: 1.15em;
	font-variant-numeric: tabular-nums;
}

.ihr-results__meta {
	color: var(--ihr-text-faint);
	font-size: .82em;
	font-variant-numeric: tabular-nums;
}

.ihr-results__split {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-size: .82em;
	color: var(--ihr-text-soft);
}

.ihr-results__splititem {
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: 999px;
	padding: 2px 9px;
	font-variant-numeric: tabular-nums;
}

.ihr-results__splitsep {
	color: var(--ihr-text-faint);
}

.ihr-results__splitnote {
	color: var(--ihr-text-faint);
	font-style: italic;
}

.ihr-results__spacer {
	flex: 1 1 auto;
}

.ihr-hits {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ihr-hit {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	justify-content: space-between;
	padding: 13px 2px;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-hit.is-in-case {
	background: var(--ihr-accent-soft);
	margin: 0 -10px;
	padding-left: 10px;
	padding-right: 10px;
	border-radius: var(--ihr-radius-sm);
}

.ihr-hit__main {
	min-width: 0;
	flex: 1 1 auto;
}

.ihr-hit__path {
	font-weight: 600;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.ihr-hit__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 6px 0 0;
}

.ihr-hit__rx {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 9px;
}

.ihr-hit__rx--empty {
	font-size: .84em;
	color: var(--ihr-text-faint);
	font-style: italic;
}

.ihr-hit__tools {
	display: flex;
	gap: 6px;
	flex: 0 0 auto;
	align-items: center;
}

.ihr-rx {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: 999px;
	padding: 3px 10px;
	font-size: .82em;
	max-width: 100%;
}

button.ihr-rx:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

.ihr-rx__grade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	font-size: .78em;
	font-weight: 700;
	color: #fff;
	background: var(--ihr-g2);
	flex: 0 0 auto;
}

.ihr-rx__grade:where(:not(:empty)) {
	background: var(--ihr-g3);
}

.ihr-rx__abbr {
	font-weight: 700;
	font-family: var(--ihr-mono);
	font-size: .95em;
}

.ihr-rx__name {
	color: var(--ihr-text-soft);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: 14ch;
}

.ihr-rx-wrap {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.ihr-buy {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: .78em;
	color: var(--ihr-text-soft);
	border: 1px dashed var(--ihr-border-strong);
	border-radius: 999px;
	padding: 3px 9px;
	text-decoration: none;
}

.ihr-buy:hover {
	border-style: solid;
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-ink);
}

.ihr-rx__more {
	background: none;
	border: 1px dashed var(--ihr-border-strong);
	border-radius: 999px;
	padding: 3px 10px;
	font-size: .8em;
	color: var(--ihr-text-soft);
}

.ihr-rx__more:hover {
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-ink);
}

/* ---- remedy summary ---- */

.ihr-panel-box {
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
	padding: 16px;
	margin: 20px 0;
	background: var(--ihr-bg);
}

.ihr-panel-box__title {
	margin: 0 0 4px;
	font-size: 1.02em;
}

.ihr-panel-box__hint {
	margin: 0 0 12px;
	color: var(--ihr-text-soft);
	font-size: .87em;
}

.ihr-rxsum {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 4px;
}

.ihr-rxsum__wrap {
	display: flex;
	align-items: center;
	gap: 4px;
	min-width: 0;
}

.ihr-rxsum__wrap .ihr-rxsum__row {
	flex: 1 1 auto;
	min-width: 0;
}

.ihr-rxsum__wrap .ihr-buy {
	flex: 0 0 auto;
	font-size: .72em;
	padding: 4px 9px;
}

.ihr-rxsum__row {
	display: flex;
	align-items: baseline;
	gap: 7px;
	background: var(--ihr-bg-soft);
	border: 1px solid transparent;
	border-radius: var(--ihr-radius-sm);
	padding: 6px 10px;
	text-align: left;
}

.ihr-rxsum__row:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

.ihr-rxsum__abbr {
	font-weight: 700;
	font-family: var(--ihr-mono);
	font-size: .87em;
}

.ihr-rxsum__name {
	flex: 1 1 auto;
	color: var(--ihr-text-soft);
	font-size: .85em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ihr-rxsum__count {
	font-variant-numeric: tabular-nums;
	font-size: .82em;
	color: var(--ihr-text-faint);
}

/* ---- welcome / empty ---- */

.ihr-welcome {
	padding: 26px 4px;
}

.ihr-welcome__title {
	margin: 0 0 4px;
	font-size: 1.1em;
}

.ihr-welcome__hint {
	margin: 0 0 16px;
	color: var(--ihr-text-soft);
	font-size: .92em;
}

.ihr-welcome__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ihr-empty {
	text-align: center;
	padding: 38px 20px;
	color: var(--ihr-text-soft);
}

.ihr-empty__icon {
	display: inline-flex;
	color: var(--ihr-text-faint);
	margin-bottom: 8px;
}

.ihr-empty__title {
	margin: 0 0 4px;
	font-size: 1.02em;
	color: var(--ihr-text);
}

.ihr-empty__hint {
	margin: 0;
	font-size: .9em;
}

.ihr-suggest {
	margin-top: 22px;
	text-align: left;
}

.ihr-suggest__title {
	font-weight: 600;
	color: var(--ihr-text);
	margin: 0 0 8px;
	font-size: .95em;
}

.ihr-suggest__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

/* ---- pager ---- */

.ihr-pager {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3px;
	margin: 18px 0;
	flex-wrap: wrap;
}

.ihr-pager__btn {
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--ihr-border);
	background: var(--ihr-bg);
	border-radius: var(--ihr-radius-sm);
	font-size: .88em;
	font-variant-numeric: tabular-nums;
}

.ihr-pager__btn:hover:not(:disabled) {
	border-color: var(--ihr-accent);
}

.ihr-pager__btn.is-active {
	background: var(--ihr-accent);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-text);
	font-weight: 700;
}

.ihr-pager__btn:disabled {
	opacity: .4;
	cursor: default;
}

.ihr-pager__gap {
	color: var(--ihr-text-faint);
	padding: 0 3px;
}

/* ==================================================================
 * Browse
 * ================================================================== */

.ihr-crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
	margin-bottom: 14px;
	font-size: .9em;
}

.ihr-crumbs__item {
	background: none;
	border: 0;
	padding: 3px 6px;
	border-radius: 4px;
	color: var(--ihr-accent-ink);
	font-weight: 600;
	text-align: left;
}

.ihr-crumbs__item:hover {
	background: var(--ihr-accent-soft);
}

.ihr-crumbs__sep {
	color: var(--ihr-text-faint);
}

.ihr-browse__head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}

.ihr-browse__count {
	color: var(--ihr-text-soft);
	font-size: .9em;
}

.ihr-browse__note {
	color: var(--ihr-text-soft);
	font-size: .88em;
	margin: 0 0 12px;
}

.ihr-chapters {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: 6px;
}

.ihr-chapter {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius-sm);
	padding: 10px 13px;
	text-align: left;
}

.ihr-chapter:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

.ihr-chapter__name {
	font-weight: 600;
}

.ihr-chapter__count {
	font-size: .82em;
	color: var(--ihr-text-faint);
	font-variant-numeric: tabular-nums;
}

.ihr-list {
	display: flex;
	flex-direction: column;
}

.ihr-list__row {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ihr-border);
	padding: 9px 6px;
	text-align: left;
}

.ihr-list__row:hover {
	background: var(--ihr-bg-soft);
}

.ihr-list__text {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ihr-list__badges {
	display: flex;
	gap: 5px;
	flex: 0 0 auto;
}

.ihr-list__more {
	margin: 12px auto;
}

.ihr-leaf {
	margin-bottom: 16px;
}

.ihr-leaf__path {
	margin: 0 0 8px;
	font-size: 1.1em;
	line-height: 1.4;
}

.ihr-leaf__meta {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.ihr-leaf__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ihr-leaf__empty {
	color: var(--ihr-text-soft);
	font-style: italic;
}

.ihr-rxgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 5px;
	margin-top: 12px;
}

/* ==================================================================
 * Remedies
 * ================================================================== */

.ihr-toolbar {
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--ihr-bg);
	border: 1px solid var(--ihr-border-strong);
	border-radius: var(--ihr-radius);
	padding: 6px 10px;
	box-shadow: var(--ihr-shadow);
	margin-bottom: 14px;
}

.ihr-toolbar__icon {
	display: flex;
	color: var(--ihr-text-faint);
}

.ihr-toolbar .ihr-input {
	flex: 1 1 auto;
	border: 0;
	box-shadow: none;
	padding: 6px 2px;
	min-width: 0;
}

.ihr-toolbar .ihr-input:focus {
	outline: none;
}

.ihr-rxlist__count {
	color: var(--ihr-text-soft);
	font-size: .88em;
	margin: 0 0 10px;
}

.ihr-rxlist__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 6px;
}

.ihr-rxcard {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius-sm);
	padding: 10px 12px;
	text-align: left;
}

.ihr-rxcard:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

.ihr-rxcard__abbr {
	font-weight: 700;
	font-family: var(--ihr-mono);
	font-size: .88em;
}

.ihr-rxcard__name {
	color: var(--ihr-text-soft);
	font-size: .88em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ihr-rxcard__count {
	font-size: .78em;
	color: var(--ihr-text-faint);
	font-variant-numeric: tabular-nums;
	margin-top: 3px;
}

.ihr-rxhead {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin: 14px 0 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-rxhead__name {
	margin: 0;
	font-size: 1.5em;
}

.ihr-rxhead__abbr {
	margin: 0;
	font-family: var(--ihr-mono);
	color: var(--ihr-text-soft);
}

.ihr-rxpresence {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ihr-rxpresence__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-rxpresence__rep {
	flex: 1 1 auto;
	font-weight: 600;
}

.ihr-rxpresence__count {
	color: var(--ihr-text-soft);
	font-size: .88em;
	font-variant-numeric: tabular-nums;
}

.ihr-rxmm {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0;
}

.ihr-rxrubrics {
	display: flex;
	flex-direction: column;
}

.ihr-rxrubric {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-rxrubric__grade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--ihr-g3);
	color: #fff;
	font-size: .78em;
	font-weight: 700;
	flex: 0 0 auto;
}

.ihr-rxrubric__path {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
	font-size: .93em;
}

/* ==================================================================
 * Case
 * ================================================================== */

.ihr-case__head {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.ihr-case__count {
	color: var(--ihr-text-soft);
	font-size: .9em;
}

.ihr-case__group {
	margin: 16px 0 6px;
	font-size: .82em;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ihr-text-faint);
}

.ihr-case__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 9px 0;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-case__path {
	flex: 1 1 auto;
	min-width: 0;
	overflow-wrap: anywhere;
}

.ihr-case__weights {
	display: flex;
	gap: 2px;
	flex: 0 0 auto;
}

.ihr-case__w {
	width: 28px;
	height: 28px;
	border: 1px solid var(--ihr-border);
	background: var(--ihr-bg);
	border-radius: var(--ihr-radius-sm);
	font-size: .84em;
	font-weight: 600;
}

.ihr-case__w.is-active {
	background: var(--ihr-accent);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-text);
}

.ihr-case__remove {
	background: none;
	border: 0;
	color: var(--ihr-text-faint);
	padding: 5px;
	border-radius: 50%;
	flex: 0 0 auto;
}

.ihr-case__remove:hover {
	background: var(--ihr-err-bg);
	color: var(--ihr-err-text);
}

.ihr-case__import {
	display: flex;
	gap: 8px;
	justify-content: center;
	margin-top: 14px;
	flex-wrap: wrap;
}

.ihr-filewrap {
	display: inline-flex;
}

.ihr-hidden-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ihr-analysis__options {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin-bottom: 14px;
}

.ihr-analysis__opt {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ihr-analysis__weights {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.ihr-analysis__weight {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: .84em;
	color: var(--ihr-text-soft);
}

.ihr-analysis__summary {
	color: var(--ihr-text-soft);
	font-size: .89em;
	margin: 0 0 12px;
}

.ihr-tablewrap {
	overflow-x: auto;
}

.ihr-analysis__table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9em;
}

.ihr-analysis__table th {
	text-align: left;
	font-size: .8em;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ihr-text-faint);
	padding: 6px 10px 6px 0;
	border-bottom: 1px solid var(--ihr-border);
	white-space: nowrap;
}

.ihr-analysis__table td {
	padding: 8px 10px 8px 0;
	border-bottom: 1px solid var(--ihr-border);
	vertical-align: middle;
}

.ihr-analysis__table tr.is-top td {
	background: var(--ihr-accent-soft);
}

.ihr-analysis__rank {
	color: var(--ihr-text-faint);
	font-variant-numeric: tabular-nums;
	width: 32px;
}

.ihr-analysis__remedy {
	display: flex;
	flex-direction: column;
	background: none;
	border: 0;
	padding: 0;
	text-align: left;
}

.ihr-analysis__abbr {
	font-weight: 700;
	font-family: var(--ihr-mono);
	font-size: .9em;
}

.ihr-analysis__name {
	color: var(--ihr-text-soft);
	font-size: .86em;
}

.ihr-analysis__score {
	font-variant-numeric: tabular-nums;
	font-size: .85em;
	color: var(--ihr-text-soft);
}

.ihr-bar {
	height: 5px;
	background: var(--ihr-bg-sunk);
	border-radius: 3px;
	overflow: hidden;
	min-width: 80px;
	margin-bottom: 3px;
}

.ihr-bar__fill {
	display: block;
	height: 100%;
	background: var(--ihr-accent);
}

.ihr-analysis__grades {
	font-family: var(--ihr-mono);
	font-size: .82em;
	color: var(--ihr-text-soft);
	white-space: nowrap;
}

.ihr-analysis__help {
	color: var(--ihr-text-soft);
	font-size: .85em;
	margin: 14px 0 0;
}

.ihr-analysis__actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 14px;
}

/* ==================================================================
 * Materia medica
 * ================================================================== */

.ihr-mm__toolbar {
	display: flex;
	gap: 14px;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-bottom: 16px;
}

.ihr-mm__toolbar .ihr-toolbar {
	flex: 1 1 280px;
	margin-bottom: 0;
}

.ihr-select--compact .ihr-select__input {
	padding: 7px 10px;
}

.ihr-mm__letters {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	margin-bottom: 14px;
}

.ihr-mm__letter {
	min-width: 30px;
	height: 30px;
	border: 1px solid var(--ihr-border);
	background: var(--ihr-bg);
	border-radius: var(--ihr-radius-sm);
	font-size: .84em;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ihr-mm__letter.is-active {
	background: var(--ihr-accent);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-text);
}

.ihr-mm__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 6px;
}

.ihr-mm__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius-sm);
	padding: 9px 12px;
	text-align: left;
}

.ihr-mm__item:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

.ihr-mm__item-name {
	font-weight: 600;
	font-size: .93em;
}

.ihr-mm__item-meta {
	font-size: .78em;
	color: var(--ihr-text-faint);
}

.ihr-mm__count {
	color: var(--ihr-text-soft);
	font-size: .9em;
	margin: 0 0 14px;
}

.ihr-mm__card {
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
	padding: 14px 16px;
	margin-bottom: 10px;
	background: var(--ihr-bg);
}

.ihr-mm__card-title {
	background: none;
	border: 0;
	padding: 0;
	font-size: 1.05em;
	font-weight: 700;
	text-align: left;
	margin-bottom: 6px;
	color: var(--ihr-accent-ink);
}

.ihr-mm__card-title:hover {
	text-decoration: underline;
}

.ihr-mm__hit {
	padding: 8px 0;
	border-top: 1px solid var(--ihr-border);
}

.ihr-mm__hit-heading {
	margin: 0 0 3px;
	font-size: .82em;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ihr-text-faint);
}

.ihr-mm__hit-body {
	margin: 0;
	font-size: .92em;
	color: var(--ihr-text-soft);
}

/* ---- monograph ---- */

.ihr-mono {
	max-width: 74ch;
}

.ihr-mono__head {
	margin: 14px 0 0;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-mono__name {
	margin: 0;
	font-size: 1.5em;
	letter-spacing: .01em;
}

.ihr-mono__source {
	margin: 4px 0 0;
	color: var(--ihr-text-faint);
	font-size: .84em;
}

.ihr-mono__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0;
}

.ihr-mono__intro {
	font-size: 1.02em;
	color: var(--ihr-text);
}

.ihr-mono__jump {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 18px 0;
	padding: 11px 0;
	border-top: 1px solid var(--ihr-border);
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-mono__jumpitem {
	font-size: .84em;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	text-decoration: none;
}

.ihr-mono__jumpitem:hover {
	background: var(--ihr-accent-soft);
	border-color: var(--ihr-accent);
	text-decoration: none;
}

.ihr-mono__section {
	margin: 22px 0;
	scroll-margin-top: 20px;
}

.ihr-mono__section-head {
	margin: 0 0 6px;
	font-size: 1.05em;
	color: var(--ihr-accent-ink);
}

.ihr-mono__p {
	margin: 0 0 9px;
}

.ihr-mono__p em {
	font-style: italic;
}

/* ==================================================================
 * Dialog and toast
 * ================================================================== */

.ihr-dialog {
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: rgba(12, 16, 22, .5);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.ihr-dialog__box {
	background: var(--ihr-bg);
	color: var(--ihr-text);
	border-radius: var(--ihr-radius);
	box-shadow: var(--ihr-shadow-lg);
	max-width: 620px;
	width: 100%;
	max-height: 82vh;
	display: flex;
	flex-direction: column;
}

.ihr-dialog__head {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 18px 12px;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-dialog__title {
	margin: 0;
	flex: 1 1 auto;
	font-size: 1.02em;
	line-height: 1.4;
}

.ihr-dialog__close {
	background: none;
	border: 0;
	color: var(--ihr-text-faint);
	padding: 4px;
	border-radius: 50%;
	flex: 0 0 auto;
}

.ihr-dialog__close:hover {
	background: var(--ihr-bg-sunk);
	color: var(--ihr-text);
}

.ihr-dialog__body {
	overflow-y: auto;
	padding: 8px 18px 18px;
}

.ihr-dialog__row {
	display: flex;
	align-items: baseline;
	gap: 10px;
	width: 100%;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ihr-border);
	padding: 8px 2px;
	text-align: left;
}

.ihr-dialog__row:hover {
	background: var(--ihr-bg-soft);
}

.ihr-dialog__grade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--ihr-g3);
	color: #fff;
	font-size: .74em;
	font-weight: 700;
	flex: 0 0 auto;
}

.ihr-dialog__abbr {
	font-family: var(--ihr-mono);
	font-weight: 700;
	font-size: .88em;
	min-width: 6ch;
}

.ihr-dialog__name {
	color: var(--ihr-text-soft);
	font-size: .88em;
}

.ihr-toast {
	position: fixed;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	background: var(--ihr-text);
	color: var(--ihr-bg);
	padding: 10px 18px;
	border-radius: 999px;
	font-size: .9em;
	font-family: var(--ihr-font);
	box-shadow: var(--ihr-shadow-lg);
	z-index: 100001;
	transition: opacity .25s, transform .25s;
}

.ihr-toast.is-out {
	opacity: 0;
	transform: translateX(-50%) translateY(8px);
}

/* ==================================================================
 * Status line and footer
 * ================================================================== */

.ihr-status {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 14px 2px;
	color: var(--ihr-text-soft);
	font-size: .9em;
}

.ihr-status[data-kind="error"] {
	color: var(--ihr-err-text);
}

.ihr-spinner {
	width: 15px;
	height: 15px;
	border: 2px solid var(--ihr-border-strong);
	border-top-color: var(--ihr-accent);
	border-radius: 50%;
	animation: ihr-spin .7s linear infinite;
	flex: 0 0 auto;
}

@keyframes ihr-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.ihr-spinner {
		animation-duration: 2s;
	}
	.ihr-app * {
		transition-duration: .01ms !important;
	}
}

.ihr-attrib {
	margin-top: 28px;
	padding-top: 16px;
	border-top: 1px solid var(--ihr-border);
	font-size: .84em;
	color: var(--ihr-text-soft);
}

.ihr-attrib__title {
	margin: 0 0 6px;
	font-size: .95em;
	color: var(--ihr-text);
}

.ihr-attrib__list {
	margin: 0;
	padding-left: 18px;
}

.ihr-attrib__item {
	margin: 3px 0;
}

.ihr-disclaimer {
	margin: 12px 0 0;
	font-size: .92em;
	color: var(--ihr-text-faint);
}

/* ==================================================================
 * Narrow screens
 * ================================================================== */

@media (max-width: 700px) {
	.ihr-app {
		font-size: 14.5px;
	}

	.ihr-head {
		align-items: stretch;
	}

	.ihr-head__tools {
		width: 100%;
	}

	.ihr-select,
	.ihr-select__input {
		width: 100%;
	}

	.ihr-hit {
		flex-direction: column;
		gap: 10px;
	}

	.ihr-hit__tools {
		align-self: flex-start;
	}

	.ihr-toolbar,
	.ihr-qb__row {
		padding: 6px 9px;
	}

	.ihr-rxgrid,
	.ihr-rxlist__grid,
	.ihr-mm__grid,
	.ihr-chapters,
	.ihr-rxsum {
		grid-template-columns: 1fr;
	}

	.ihr-mono {
		max-width: 100%;
	}

	.ihr-dialog {
		padding: 0;
		align-items: stretch;
	}

	.ihr-dialog__box {
		max-height: 100vh;
		border-radius: 0;
	}

	.ihr-callout {
		align-items: flex-start;
	}

	.ihr-callout .ihr-btn {
		margin-left: 0;
	}

	.ihr-analysis__options {
		gap: 16px;
	}
}

/* The embed height attribute from the shortcode. */
.ihr-app[style*="--ihr-embed-height"] .ihr-panels {
	max-height: var(--ihr-embed-height);
	overflow-y: auto;
}

/* ==================================================================
 * Guided symptom picker
 *
 * Deliberately larger targets and plainer surfaces than the practitioner
 * views: this is the part of the tool a first-time visitor meets.
 * ================================================================== */

.ihr-gd {
	max-width: 78ch;
}

.ihr-gd__head {
	margin-bottom: 18px;
}

.ihr-gd__title {
	margin: 0 0 5px;
	font-size: 1.5em;
	line-height: 1.25;
}

.ihr-gd__sub {
	margin: 0;
	color: var(--ihr-text-soft);
	font-size: .98em;
}

/* ---- progress ---- */

.ihr-gd__steps {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
}

.ihr-gd__step {
	font-size: .85em;
	padding: 5px 13px;
	border-radius: 999px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	color: var(--ihr-text-faint);
}

.ihr-gd__step.is-done {
	background: var(--ihr-accent-soft);
	border-color: transparent;
	color: var(--ihr-accent-ink);
}

.ihr-gd__step.is-now {
	background: var(--ihr-accent);
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-text);
	font-weight: 600;
}

/* ---- stages ---- */

.ihr-gd__stage {
	margin-bottom: 10px;
}

.ihr-gd__q {
	margin: 0 0 3px;
	font-size: 1.22em;
}

.ihr-gd__qsmall {
	margin: 0 0 3px;
	font-size: 1.02em;
}

.ihr-gd__qhint {
	margin: 0 0 14px;
	color: var(--ihr-text-soft);
	font-size: .93em;
}

.ihr-gd__filter {
	width: 100%;
	margin-bottom: 14px;
	padding: 10px 12px;
	font-size: 1em;
}

/* ---- option cards ---- */

.ihr-gd__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 8px;
}

.ihr-gd__card {
	display: flex;
	flex-direction: column;
	gap: 3px;
	align-items: flex-start;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
	padding: 13px 15px;
	text-align: left;
	min-height: 62px;
	justify-content: center;
	transition: border-color .14s, background .14s, transform .14s;
}

.ihr-gd__card:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
	transform: translateY(-1px);
}

.ihr-gd__card--leaf {
	border-left: 3px solid var(--ihr-accent);
}

.ihr-gd__card-title {
	font-weight: 600;
	font-size: 1.02em;
	line-height: 1.3;
}

.ihr-gd__card-hint {
	font-size: .84em;
	color: var(--ihr-text-soft);
}

.ihr-gd__more {
	margin: 14px auto 0;
	display: flex;
}

/* ---- modalities ---- */

.ihr-gd__modbox {
	margin-top: 22px;
	padding: 15px 16px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
}

.ihr-gd__mods {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.ihr-gd__mod {
	background: var(--ihr-bg);
	border: 1px solid var(--ihr-border-strong);
	border-radius: 999px;
	padding: 7px 15px;
	font-size: .9em;
}

.ihr-gd__mod:hover {
	border-color: var(--ihr-accent);
	background: var(--ihr-accent-soft);
}

/* ---- answers so far ---- */

.ihr-gd__crumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-bottom: 16px;
	font-size: .92em;
	color: var(--ihr-text-soft);
}

.ihr-gd__crumbitem {
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: 999px;
	padding: 4px 12px;
}

.ihr-gd__crumbitem.is-last {
	background: var(--ihr-accent-soft);
	border-color: transparent;
	color: var(--ihr-accent-ink);
	font-weight: 600;
}

.ihr-gd__crumbsep {
	color: var(--ihr-text-faint);
}

.ihr-gd__path {
	font-size: .95em;
	color: var(--ihr-text-soft);
	background: var(--ihr-bg-soft);
	border-left: 3px solid var(--ihr-accent);
	border-radius: 0 var(--ihr-radius-sm) var(--ihr-radius-sm) 0;
	padding: 9px 13px;
	margin: 0 0 16px;
}

/* ---- remedies, with the buy button beside each ---- */

.ihr-gd__rxwrap {
	margin-bottom: 18px;
}

.ihr-gd__rx {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 6px;
}

.ihr-gd__rxrow {
	display: flex;
	align-items: center;
	gap: 9px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius-sm);
	padding: 8px 10px;
}

.ihr-gd__rxgrade {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--ihr-g3);
	color: #fff;
	font-size: .78em;
	font-weight: 700;
	flex: 0 0 auto;
}

.ihr-gd__rxname {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
	flex: 1 1 auto;
	min-width: 0;
	background: none;
	border: 0;
	padding: 0;
	text-align: left;
}

.ihr-gd__rxlong {
	font-weight: 600;
	font-size: .97em;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.ihr-gd__rxabbr {
	font-family: var(--ihr-mono);
	font-size: .78em;
	color: var(--ihr-text-faint);
}

.ihr-gd__rxname:hover .ihr-gd__rxlong {
	color: var(--ihr-accent-ink);
	text-decoration: underline;
}

.ihr-gd__rxrow .ihr-buy {
	flex: 0 0 auto;
	border-style: solid;
	border-color: var(--ihr-accent);
	color: var(--ihr-accent-ink);
	background: var(--ihr-accent-soft);
	font-weight: 600;
	padding: 5px 12px;
	font-size: .8em;
}

.ihr-gd__rxrow .ihr-buy:hover {
	background: var(--ihr-accent);
	color: var(--ihr-accent-text);
}


.ihr-gd__legend {
	margin: 0 0 10px;
	font-size: .86em;
	color: var(--ihr-text-soft);
}

.ihr-gd__disclosure {
	margin: 10px 0 0;
	font-size: .78em;
	color: var(--ihr-text-faint);
}

/* ---- actions ---- */

.ihr-gd__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 20px 0 0;
}

/* ---- symptom tray ---- */

.ihr-gd__tray {
	margin-top: 30px;
	padding: 16px 18px;
	background: var(--ihr-bg-soft);
	border: 1px solid var(--ihr-border);
	border-radius: var(--ihr-radius);
}

.ihr-gd__trayempty {
	margin: 0;
	color: var(--ihr-text-soft);
	font-size: .92em;
}

.ihr-gd__traytitle {
	margin: 0 0 10px;
	font-size: 1.02em;
}

.ihr-gd__traylist {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.ihr-gd__trayitem {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	border-bottom: 1px solid var(--ihr-border);
}

.ihr-gd__traypath {
	flex: 1 1 auto;
	min-width: 0;
	font-size: .93em;
	overflow-wrap: anywhere;
}

.ihr-gd__trayremove {
	background: none;
	border: 0;
	color: var(--ihr-text-faint);
	padding: 4px;
	border-radius: 50%;
	flex: 0 0 auto;
}

.ihr-gd__trayremove:hover {
	background: var(--ihr-err-bg);
	color: var(--ihr-err-text);
}

.ihr-gd__trayactions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ihr-gd__note {
	margin: 20px 0 0;
	font-size: .88em;
	color: var(--ihr-text-soft);
}

.ihr-linkbtn {
	background: none;
	border: 0;
	padding: 0;
	color: var(--ihr-accent-ink);
	font: inherit;
	text-decoration: underline;
}

.ihr-linkbtn:hover {
	color: var(--ihr-accent);
}

@media (max-width: 700px) {
	.ihr-gd__grid,
	.ihr-gd__rx {
		grid-template-columns: 1fr;
	}

	.ihr-gd__card {
		padding: 15px 16px;
		min-height: 66px;
	}

	.ihr-gd__rxrow {
		flex-wrap: wrap;
	}

	.ihr-gd__tray {
		padding: 14px;
	}
}
