/*
Theme Name: OMEDICA Block V2 Minimal
Theme URI: https://omedica.ru/
Author: OMEDICA
Description: Минимальная block theme для структурных Gutenberg-прототипов ОМЕДИКА.
Version: 0.9.8
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: omedica-block-v2-minimal
*/

* {
	box-sizing: border-box;
}

/* Service integration reuses the catalogue cards and domain page surfaces. */
.omedica-catalog-main { overflow-wrap: anywhere; }
.omedica-main.omedica-catalog-main > .omedica-page-starter { width: 100%; margin-inline: 0; }
.omedica-entry-card { height: auto; }
.omedica-entry-card h2 { font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h2, 1)); margin-block: var(--wp--preset--spacing--space-sm) 0; }
.omedica-entry-icon { width: 5rem; height: 5rem; object-fit: contain; }
.omedica-direction-media { display: grid; place-items: center; }
.omedica-direction-media .omedica-entry-icon { width: 8rem; height: 8rem; }
.omedica-catalog-main .omedica-price-row > * { min-width: 0; overflow-wrap: anywhere; }
.omedica-catalog-main .omedica-price-row strong { flex-shrink: 0; overflow-wrap: normal; max-width: 45%; }
.omedica-full-prices .omedica-price-name { flex: 1; }
.omedica-full-prices .omedica-services-toolbar > p { min-width: 0; flex: 1 1 18rem; }
.omedica-full-prices label { display: block; margin-bottom: var(--wp--preset--spacing--space-sm); }
.omedica-full-prices select { width: 100%; text-overflow: ellipsis; }
.omedica-entry-card[hidden], .omedica-price-row[hidden] { display: none; }
@media (max-width: 767px) {
 .omedica-full-prices .omedica-services-toolbar > p { flex: 0 0 auto; width: 100%; margin: 0; }
 .omedica-full-prices .omedica-price-row { flex-wrap: wrap; }
 .omedica-full-prices .omedica-price-row > a { flex-basis: 100%; }
 .omedica-single-direction .omedica-domain-hero { grid-template-columns: minmax(0, 1fr); }
 .omedica-direction-media { justify-items: start; }
}

/* Analysis catalog: one medical tree and grouped, divider-separated rows. */
.omedica-analysis-intro h1 { font-size: calc((var(--wp--preset--font-size--x-large)) * var(--omedica-scale-h1, 1)); }
.omedica-analysis-layout { display: grid; grid-template-columns: minmax(17rem, 1fr) minmax(0, 3fr); gap: var(--wp--preset--spacing--space-xl); align-items: start; }
.omedica-analysis-navigation { min-width: 0; }
.omedica-analysis-nav-branch > div { max-height: clamp(12rem, calc(100dvh - 34rem), 28rem); overflow: auto; scrollbar-width: thin; }
.omedica-analysis-navigation ul { list-style: none; padding: 0; margin: 0; }
.omedica-analysis-navigation ul ul { padding-inline-start: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-navigation button:where(:not(.wp-block-search__button)) { display: flex; gap: var(--wp--preset--spacing--space-sm); align-items: baseline; width: 100%; min-height: 2.75rem; padding: var(--wp--preset--spacing--space-sm); border: 0; border-radius: 0; background: transparent; color: var(--wp--preset--color--text); text-align: start; font: inherit; font-size: .9375rem; cursor: pointer; overflow-wrap: anywhere; }
.omedica-analysis-navigation .omedica-analysis-nav-root { font-size: 1rem; font-weight: 600; }
.omedica-analysis-nav-chevron { flex: 0 0 .4rem; width: .4rem; height: .4rem; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(-45deg); position: relative; top: -.15rem; }
.omedica-analysis-navigation button:not([aria-expanded]) .omedica-analysis-nav-chevron { visibility: hidden; }
.omedica-analysis-navigation button[aria-expanded="true"] > .omedica-analysis-nav-chevron { transform: rotate(45deg); }
/* Native core/search markup and canonical icon-button presentation. */
.omedica-analysis-controls { width: 100%; margin: 0 0 var(--wp--preset--spacing--space-md); }
.omedica-analysis-group + .omedica-analysis-group { margin-block-start: var(--wp--preset--spacing--space-lg); }
.omedica-analysis-group__path { margin: 0 0 var(--wp--preset--spacing--space-xs); color: var(--wp--preset--color--text-muted); font-size: .8125rem; }
.omedica-analysis-group > h2 { margin: 0; padding-block-end: var(--wp--preset--spacing--space-sm); border-bottom: 1px solid var(--wp--preset--color--border); font-size: calc((1.25rem) * var(--omedica-scale-h2, 1)); line-height: 1.35; overflow-wrap: anywhere; }
.omedica-analysis-row { display: grid; grid-template-columns: minmax(0, 1fr) 9rem; column-gap: var(--wp--preset--spacing--space-lg); padding-block: var(--wp--preset--spacing--space-sm); border-bottom: 1px solid var(--wp--preset--color--border); }
.omedica-analysis-row__main { min-width: 0; }
.omedica-analysis-turnaround { display: flex; align-items: center; gap: var(--wp--preset--spacing--space-xs); color: var(--wp--preset--color--text-muted); font-size: .8125rem; margin: 0 0 var(--wp--preset--spacing--space-xs); }
.omedica-analysis-turnaround .dashicons { font-size: 1rem; height: 1rem; width: 1rem; }
.omedica-analysis-row h3 { font-size: calc((1rem) * var(--omedica-scale-h3, 1)); font-weight: 600; line-height: 1.4; color: var(--wp--preset--color--text); margin: 0; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.omedica-analysis-row h3:is(:hover,:focus) { color: var(--wp--preset--color--action); }
.omedica-analysis-row:has(> details[open]) h3, .omedica-analysis-row h3:focus { display: block; }
.omedica-analysis-short { font-size: .875rem; line-height: 1.5; color: var(--wp--preset--color--text-muted); margin: var(--wp--preset--spacing--space-xs) 0 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
.omedica-analysis-row__actions { display: flex; flex-direction: column; align-items: stretch; gap: var(--wp--preset--spacing--space-sm); padding-block-start: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-row__actions strong { font-size: 1.125rem; font-weight: 600; text-align: center; white-space: nowrap; }
.omedica-analysis-row__actions .wp-element-button, .omedica-analysis-help .omedica-analysis-secondary > .wp-element-button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.75rem; padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm); font-size: .9375rem; }
.omedica-analysis-more { grid-column: 1 / -1; }
.omedica-analysis-more > summary { list-style: none; width: fit-content; min-height: 2.75rem; display: flex; align-items: center; gap: var(--wp--preset--spacing--space-xs); cursor: pointer; color: var(--wp--preset--color--action); font-size: .875rem; }
.omedica-analysis-more > summary::-webkit-details-marker { display: none; }
.omedica-analysis-more > summary::after { content: ''; flex: 0 0 1em; width: 1em; height: 1em; background: currentColor; mask: url("assets/icons/chevron-down.svg") center / contain no-repeat; }
.omedica-analysis-more[open] > summary::after { transform: rotate(180deg); }
.omedica-analysis-more .when-open, .omedica-analysis-more[open] .when-closed { display: none; }
.omedica-analysis-more[open] .when-open { display: inline; }
.omedica-analysis-detail-list { margin-block: var(--wp--preset--spacing--space-xs) 0; }
.omedica-analysis-detail { border-bottom: 1px solid var(--wp--preset--color--border); }
.omedica-analysis-detail > summary { padding-block: var(--wp--preset--spacing--space-sm); cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--space-sm); list-style: none; }
.omedica-analysis-detail > summary::-webkit-details-marker { display: none; }
.omedica-analysis-detail > summary::after { content: '+'; color: var(--wp--preset--color--action); font-size: 1.25rem; }
.omedica-analysis-detail[open] > summary::after { content: '−'; }
.omedica-analysis-detail strong { display: block; font-size: .9375rem; font-weight: 600; }
.omedica-analysis-detail small { display: block; font-size: calc((.8125rem) * var(--omedica-scale-small, 1)); color: var(--wp--preset--color--text-muted); }
.omedica-analysis-text { white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9375rem; line-height: 1.6; padding-block: var(--wp--preset--spacing--space-sm) var(--wp--preset--spacing--space-md); }
.omedica-analysis-secondary { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--space-lg); padding-block: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-secondary > a { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--space-xs); min-height: 2.75rem; }
.omedica-analysis-catalog :is(button,summary,input,a,h3):focus-visible { outline: 3px solid var(--wp--preset--color--action); outline-offset: 3px; }
.omedica-analysis-load-more { display: block; margin: var(--wp--preset--spacing--space-lg) auto 0; }
.omedica-analysis-catalog [hidden] { display: none; }
.omedica-analysis-notice { margin-block: var(--wp--preset--spacing--space-xl) 0; font-size: .8125rem; color: var(--wp--preset--color--text-muted); }
@media (max-width: 1023px) {
 .omedica-analysis-layout { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--space-md); }
 .omedica-analysis-nav-branch > div { max-height: none; overflow: visible; }
}
@media (max-width: 767px) {
 .omedica-analysis-row { grid-template-columns: minmax(0, 1fr); }
 .omedica-analysis-row__actions { align-items: stretch; gap: var(--wp--preset--spacing--space-sm); margin-block-start: var(--wp--preset--spacing--space-sm); }
 .omedica-analysis-row__actions strong { text-align: start; }
 .omedica-analysis-row h3 { -webkit-line-clamp: 3; }
 .omedica-analysis-group > h2 { font-size: calc((1.125rem) * var(--omedica-scale-h2, 1)); }
 .omedica-analysis-short { -webkit-line-clamp: 3; }
}

/* Task 4D.1 correction: independent tree disclosure/selection and document scrolling. */
.omedica-analysis-navigation { position: static; align-self: start; }
.omedica-analysis-navigation.is-sticky { position: sticky; top: var(--analysis-sticky-top, 1rem); }
.omedica-analysis-nav-branch > div { max-height: none; overflow: visible; }
.omedica-analysis-navigation ul { padding-inline-start: var(--wp--preset--spacing--space-md); }
.omedica-analysis-navigation ul ul { padding-inline-start: var(--wp--preset--spacing--space-md); }
.omedica-analysis-nav-row { display: flex; align-items: stretch; border-radius: var(--wp--custom--radius--sm); }
.omedica-analysis-navigation .omedica-analysis-nav-row:has(> [aria-current="page"]), .omedica-analysis-navigation .omedica-analysis-nav-row:hover, .omedica-analysis-navigation .omedica-analysis-nav-row:focus-within { background: color-mix(in srgb, var(--wp--preset--color--action) 9%, var(--wp--preset--color--background)); }
.omedica-analysis-navigation .omedica-analysis-nav-row button { background: transparent; text-decoration: none; color: var(--wp--preset--color--text); font-weight: 400; }
.omedica-analysis-navigation .omedica-analysis-nav-root { background: transparent; font-weight: 400; }
.omedica-analysis-navigation .omedica-analysis-nav-toggle { width: 2.75rem; min-width: 2.75rem; padding-inline: var(--wp--preset--spacing--space-sm); justify-content: center; align-items: center; }
.omedica-analysis-nav-spacer { flex: 0 0 2.75rem; }
.omedica-analysis-navigation [data-analysis-nav] { flex: 1; min-width: 0; padding-inline-start: 0; }
.omedica-analysis-pagination { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--space-xs); justify-content: center; margin-block-start: var(--wp--preset--spacing--space-md); align-items: center; }
.omedica-analysis-pagination button { min-width: 2.75rem; min-height: 2.75rem; background: transparent; color: var(--wp--preset--color--text); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--sm); font: inherit; cursor: pointer; }
.omedica-analysis-pagination [aria-current] { background: var(--wp--preset--color--action); color: var(--wp--preset--color--background); }
.omedica-analysis-pagination button:disabled { opacity: .45; cursor: default; }
.omedica-analysis-timing { position: relative; width: fit-content; max-width: 100%; }
.omedica-analysis-timing .omedica-analysis-turnaround { min-height: 2rem; border: 0; border-radius: var(--wp--custom--radius--pill); padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm); background: var(--wp--preset--color--surface); font-family: inherit; cursor: pointer; margin: 0 0 var(--wp--preset--spacing--space-xs); }
.omedica-analysis-timing .omedica-analysis-turnaround { width: max-content; max-width: 100%; text-align: start; line-height: 1.4; }
.omedica-analysis-turnaround .dashicons-clock { flex-shrink: 0; }
.omedica-analysis-turnaround [data-analysis-timing-expanded] { display: inline-flex; flex-wrap: wrap; column-gap: var(--wp--preset--spacing--space-sm); min-width: 0; overflow-wrap: anywhere; }
.omedica-analysis-help { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--space-md) var(--wp--preset--spacing--space-lg); margin-block-start: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-help__text { flex: 1 1 20rem; min-width: 0; }
.omedica-analysis-help h4 { font-size: 1rem; margin: 0; }
.omedica-analysis-help__text > p { font-size: .9375rem; line-height: 1.5; margin-block: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm); }
.omedica-analysis-help .omedica-analysis-secondary { flex: 0 0 auto; gap: var(--wp--preset--spacing--space-md); }
.omedica-analysis-help .omedica-phone-selector { flex-shrink: 0; }
@media (max-width: 767px) { .omedica-analysis-help .omedica-analysis-secondary { width: 100%; } .omedica-analysis-help .omedica-analysis-secondary > a { flex: 1; justify-content: center; } }
.omedica-analysis-preparation h4 { font-size: 1rem; margin-block: var(--wp--preset--spacing--space-sm) 0; }
.omedica-analysis-secondary { align-items: center; }
@media(max-width: 1023px) { .omedica-analysis-navigation.is-sticky { position: static; } }

/* Contain absolute accessibility labels in their own panels, not the page. */
.omedica-analysis-layout > .omedica-analysis-navigation,
.omedica-analysis-layout > .omedica-analysis-results { position: relative; min-width: 0; }
/* Desktop columns own their scroll positions; mobile retains document/dialog scrolling. */
@media (min-width: 1024px) {
 .omedica-analysis-layout { height: var(--analysis-panel-height, calc(100dvh - 2rem)); }
 .omedica-analysis-layout > .omedica-analysis-results { height: 100%; min-height: 0; padding: var(--wp--preset--spacing--space-xs); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
 .omedica-analysis-layout > .omedica-analysis-navigation { display:flex; flex-direction:column; height:100%; min-height:0; padding:var(--wp--preset--spacing--space-xs); overflow:visible; }
 .omedica-analysis-navigation > .omedica-analysis-controls { flex:0 0 auto; }
 .omedica-analysis-navigation > [data-analysis-desktop-nav] { flex:1 1 0; min-height:0; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; }
 .omedica-analysis-navigation > .omedica-analysis-about { flex:0 0 auto; }
}

/* One shared tree moves into a native modal at the existing 1024px breakpoint. */
.omedica-analysis-navigation .omedica-analysis-category-trigger { display: none; }
.omedica-analysis-category-dialog .omedica-analysis-category-surface { display: flex; flex-direction: column; inline-size: 100%; max-height: calc(100dvh - var(--wp--preset--spacing--space-md)); }
.omedica-analysis-category-dialog .omedica-phone-selector__heading { flex: 0 0 auto; padding-block-end: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-navigation .omedica-phone-selector__close { width: var(--omedica-header-control, 3rem); flex-shrink: 0; background: var(--wp--preset--color--action); color: var(--wp--preset--color--background); border-radius: var(--wp--custom--radius--pill); align-items: center; }
.omedica-analysis-category-body { min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; }
.omedica-analysis-category-dialog .omedica-analysis-category-body ul { display: block; gap: 0; margin: 0; padding-inline-start: var(--wp--preset--spacing--space-md); }
@media (max-width: 1023px) {
 .omedica-analysis-intro h1 { font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h1, 1)); line-height: 1.35; text-wrap: pretty; }
 .omedica-analysis-navigation .omedica-analysis-category-trigger { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--space-md); border: 0; border-radius: var(--wp--custom--radius--pill); background: transparent; padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm); min-height: var(--wp--custom--interaction--touch-target); width: auto; max-width: 100%; color: var(--wp--preset--color--action); }
 .omedica-analysis-category-trigger .omedica-analysis-nav-chevron { visibility: visible !important; position: static; top: auto; }
 .omedica-analysis-category-trigger [data-analysis-category-label] { min-width: 0; }
 .omedica-analysis-category-dialog { margin: auto 0 0; width: 100%; max-height: calc(100dvh - var(--wp--preset--spacing--space-md)); }
 .omedica-analysis-category-dialog .omedica-analysis-category-surface { border-end-start-radius: 0; border-end-end-radius: 0; }
}

html {
	scroll-behavior: smooth;
}

body {
	overflow-x: clip;
}

img,
video,
iframe,
embed,
object {
	max-width: 100%;
}

:where(p, li, a, button, label, input, select, textarea, th, td, h1, h2, h3, h4) {
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

:where(a[href^="http"], a[href^="mailto:"], .omedica-document-body) {
	overflow-wrap: break-word;
}

:where(h1, h2, h3, h4, button, .wp-element-button, .omedica-price) {
	text-wrap: balance;
}

a,
button,
input,
textarea,
select,
.wp-element-button {
	transition: outline-color 120ms ease, background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action);
	outline-offset: var(--wp--custom--focus--offset);
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
.wp-element-button,
.wp-block-search__button {
	min-height: var(--wp--custom--button--min-height);
}

[hidden] {
	display: none !important;
}

.skip-link.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	left: var(--wp--preset--spacing--space-sm);
	padding: var(--wp--preset--spacing--space-sm);
	top: var(--wp--preset--spacing--space-sm);
	width: auto;
	z-index: 100000;
}

.omedica-main,
.omedica-main > .wp-block-post-content,
.omedica-main .omedica-page-starter {
	max-width: none;
	width: 100%;
}

.omedica-main > .wp-block-post-content > .omedica-domain-page {
	max-width: none;
	width: 100%;
}

.omedica-layout-wide {
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}

.omedica-reading-container {
	max-width: var(--wp--style--global--content-size);
}

.omedica-domain-container :where(h1, h2, h3),
.omedica-reading-container :where(h1, h2, h3) {
	overflow-wrap: anywhere;
}

.omedica-main .omedica-page-starter {
	/* The post-content wrapper already owns the global gutter. Core's alignfull
	 * margin moves this group left, so grow it by both gutters to keep the page
	 * starter centred and viewport-complete at every breakpoint. */
	width: calc(100% + (2 * var(--wp--custom--layout--site-gutter)));
}

.omedica-main:has(.omedica-page-starter) + .wp-block-template-part > .omedica-site-footer {
	margin-block-start: 0;
}

.omedica-page-starter > .alignwide {
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}

.omedica-section {
	padding-block: var(--wp--custom--spacing--section);
}

.omedica-section--compact {
	padding-block: var(--wp--custom--spacing--heading-content);
}

.omedica-section-intro {
	max-width: var(--wp--style--global--content-size);
}

.omedica-section-intro > * {
	margin-block: 0;
}

.omedica-section-intro:not(:has(> h1)) > * + * {
	margin-block-start: var(--wp--custom--spacing--text);
}

.omedica-section-intro:not(:has(> h1)) + * {
	margin-block-start: var(--wp--custom--spacing--heading-content);
}

.omedica-section-intro.is-centered {
	margin-inline: auto;
	text-align: center;
}

.omedica-stack-sm > * + * {
	margin-block-start: var(--wp--preset--spacing--space-sm);
}

.omedica-stack-lg > * + * {
	margin-block-start: var(--wp--custom--spacing--block);
}

/* Header */
.omedica-site-header {
	background: var(--wp--preset--color--background);
	position: relative;
	z-index: 20;
}

.omedica-header-utility {
	align-items: center;
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: minmax(8rem, auto) minmax(12rem, 1fr) auto auto;
	min-height: 5rem;
	padding-block: var(--wp--preset--spacing--space-sm);
}

.omedica-header-utility .wp-block-site-title {
	margin: 0;
}

.omedica-header-address,
.omedica-header-contacts,
.omedica-header-actions {
	margin: 0;
}

.omedica-header-address {
	color: var(--wp--preset--color--text-muted);
	line-height: 1.35;
}

.omedica-header-contacts {
	display: grid;
	gap: 0.15rem var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(2, auto);
	line-height: 1.3;
}

.omedica-header-contacts p,
.omedica-header-actions,
.omedica-header-actions .wp-block-buttons {
	margin: 0;
}

.omedica-header-contacts a {
	color: var(--wp--preset--color--text);
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.omedica-header-schedule {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	grid-column: 1 / -1;
}

.omedica-header-actions {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: flex-end;
}

.omedica-icon-button {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	display: inline-flex;
	height: var(--wp--custom--button--min-height);
	justify-content: center;
	padding: 0;
	width: var(--wp--custom--button--min-height);
}

.omedica-icon-button .dashicons {
	align-items: center;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--medium);
	height: 1.25rem;
	justify-content: center;
	line-height: 1;
	width: 1.25rem;
}

.omedica-header-nav-row {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--pill);
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-block-end: var(--wp--preset--spacing--space-sm);
	padding: 0.25rem var(--wp--preset--spacing--space-sm);
}

.omedica-primary-navigation {
	min-width: 0;
}

.omedica-primary-navigation .wp-block-navigation-item__content {
	border-radius: var(--wp--custom--radius--pill);
	padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm);
	text-decoration: none;
}

.omedica-primary-navigation .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--background);
}

.omedica-service-search {
	margin: 0;
	max-width: 22rem;
	width: 100%;
}

.omedica-services-intro {
	max-width: var(--wp--style--global--wide-size);
}

.omedica-services-main {
	padding-block-end: 0;
}

.omedica-services-help-section {
	padding-block: var(--wp--custom--spacing--section);
}

.omedica-services-toolbar-section {
	margin-block-start: var(--wp--custom--spacing--heading-content);
}

.omedica-services-toolbar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-md);
}

.omedica-services-filters {
	flex: 0 1 auto;
	flex-wrap: wrap;
}

.omedica-services-filters button[aria-pressed="true"] {
	background: var(--wp--preset--color--action);
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--background);
}

.omedica-services-toolbar .omedica-service-search {
	flex: 1 1 18rem;
	max-width: none;
}

.omedica-services-catalog-section {
	margin-block-start: var(--wp--custom--spacing--block);
}

.omedica-services-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	padding: 0;
}

.omedica-services-grid > .wp-block-post {
	display: flex;
	margin: 0;
	min-width: 0;
}

.omedica-service-card {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	padding: var(--wp--custom--card-padding);
	width: 100%;
}

.omedica-service-card > :first-child {
	margin-block-start: 0;
}

.omedica-service-card__excerpt,
.omedica-service-card__excerpt .wp-block-post-excerpt__excerpt {
	margin-block: var(--wp--preset--spacing--space-sm) 0;
}

.omedica-service-card__excerpt:has(.wp-block-post-excerpt__excerpt:empty) {
	display: none;
}

.omedica-service-card__actions {
	align-items: center;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: space-between;
	margin-block-start: auto;
	padding-block-start: var(--wp--custom--spacing--block);
}

.omedica-service-card__details {
	align-items: center;
	color: var(--wp--preset--color--action);
	display: inline-flex;
	font-weight: 600;
	min-height: var(--wp--custom--interaction--touch-target);
	text-decoration: none;
}

.omedica-service-card__details:hover {
	text-decoration: underline;
}

.omedica-service-card__appointment .wp-element-button {
	white-space: nowrap;
}

.omedica-services-empty {
	color: var(--wp--preset--color--text-muted);
	margin-block: var(--wp--preset--spacing--space-lg) 0;
}

.omedica-services-help {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	display: flex;
	gap: var(--wp--custom--spacing--block);
	justify-content: space-between;
	padding: var(--wp--custom--spacing--heading-content);
}

.omedica-services-help__content > * {
	margin-block: 0;
}

.omedica-services-help__content > * + * {
	margin-block-start: var(--wp--custom--spacing--text);
}

.omedica-services-help__action {
	flex: 0 0 auto;
}

/* Shared layouts and cards */
.wp-block-columns.omedica-grid-2,
.wp-block-columns.omedica-grid-3,
.wp-block-columns.omedica-grid-4,
.wp-block-columns.omedica-grid-5 {
	display: grid;
}

.wp-block-columns.omedica-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-block-columns.omedica-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-block-columns.omedica-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-block-columns.omedica-grid-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

:where(.omedica-grid-2, .omedica-grid-3, .omedica-grid-4, .omedica-grid-5) > .wp-block-column {
	margin: 0;
	min-width: 0;
	width: auto;
}

.omedica-card,
.omedica-compact-card,
.omedica-panel,
.omedica-note,
.omedica-form-panel,
.omedica-document-toc {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	min-width: 0;
	padding: var(--wp--custom--card-padding);
}

.omedica-card {
	box-shadow: var(--wp--custom--shadow--card);
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
}

.omedica-card :where(h2, h3),
.omedica-review-card :where(h2, h3) {
	text-wrap: pretty;
}

:where(.omedica-card, .omedica-panel, .omedica-form-panel, .omedica-review-card) > :first-child {
	margin-block-start: 0;
}

:where(.omedica-card, .omedica-panel, .omedica-form-panel, .omedica-review-card) > :last-child {
	margin-block-end: 0;
}

.omedica-compact-card {
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-card-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
}

.omedica-card-actions a {
	align-items: center;
	display: inline-flex;
	min-height: var(--wp--custom--button--min-height);
}

.omedica-note {
	border-inline-start: 0.35rem solid var(--wp--preset--color--action);
}

.omedica-cta {
	align-items: center;
	background: var(--wp--preset--color--surface-strong);
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--background);
	display: flex;
	gap: var(--wp--custom--spacing--block);
	justify-content: space-between;
	padding: var(--wp--custom--spacing--heading-content);
}

.omedica-cta .wp-block-buttons,
.omedica-cta .wp-block-button,
.omedica-cta .wp-element-button {
	flex: 0 0 auto;
}

.omedica-cta a:not(.wp-element-button) {
	color: inherit;
}

/* Media, gallery and video */
.omedica-media-placeholder {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--text-muted);
	display: flex;
	justify-content: center;
	min-height: 12rem;
	overflow: hidden;
	padding: var(--wp--preset--spacing--space-lg);
	text-align: center;
	width: 100%;
}

.omedica-page-starter .omedica-media-placeholder {
	margin-inline: 0;
	max-width: 100%;
}

.omedica-media-placeholder--portrait {
	aspect-ratio: 4 / 5;
}

.omedica-media-placeholder--map {
	aspect-ratio: 21 / 8;
	min-height: 24rem;
}

.omedica-media-placeholder--hero {
	aspect-ratio: 16 / 9;
	min-height: 32rem;
}

.omedica-gallery {
	position: relative;
}

.omedica-featured-gallery__frame {
	align-items: center;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
}

.omedica-featured-gallery__frame > * {
	margin-block-start: 0 !important;
}

.omedica-gallery-track {
	display: flex;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
	touch-action: pan-x pan-y;
	width: 100%;
}

.omedica-gallery-track::-webkit-scrollbar,
.omedica-gallery-thumbs::-webkit-scrollbar {
	display: none;
}

.omedica-gallery-slide {
	aspect-ratio: 16 / 9;
	flex: 0 0 100%;
	margin: 0;
	min-width: 0;
	scroll-snap-align: start;
	width: 100%;
}

.omedica-gallery-slide img {
	border-radius: var(--wp--custom--radius--lg);
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.omedica-gallery-arrow {
	align-items: center;
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	display: none;
	height: 2.75rem;
	justify-content: center;
	padding: 0;
	width: 2.75rem;
}

.omedica-gallery-arrow .dashicons {
	font-size: var(--wp--preset--font-size--medium);
	height: 1.25rem;
	line-height: 1;
	width: 1.25rem;
}

.omedica-gallery-thumbs {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-auto-columns: 7rem;
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding-block: var(--wp--preset--spacing--space-sm);
	scroll-snap-type: inline proximity;
	scrollbar-width: thin;
}

.omedica-gallery-thumbs button {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	min-height: 4.5rem;
	overflow: hidden;
	padding: 0;
	scroll-snap-align: start;
}

.omedica-gallery-thumbs img {
	display: block;
	height: 4.5rem;
	object-fit: cover;
	width: 100%;
}

.omedica-gallery-thumbs button:focus-visible {
	position: relative;
	z-index: 1;
}

.omedica-gallery-thumbs button[aria-current="true"] {
	border-color: var(--wp--preset--color--action);
	box-shadow: inset 0 0 0 var(--wp--custom--focus--width) var(--wp--preset--color--action);
}

.omedica-photo-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.omedica-photo-grid > .wp-block-image {
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	width: 100% !important;
}

.omedica-photo-grid img {
	border-radius: var(--wp--custom--radius--lg);
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.omedica-video,
.omedica-video-poster {
	aspect-ratio: 16 / 9;
	min-height: 0 !important;
	overflow: hidden;
	width: 100%;
}

.omedica-video-poster .wp-block-cover__image-background {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.omedica-video--portrait {
	aspect-ratio: 9 / 16;
	margin-inline: auto;
	max-width: 22rem;
	width: 100%;
}

.omedica-video--portrait .omedica-video-poster {
	aspect-ratio: 9 / 16;
}

.omedica-deferred-video iframe {
	border: 0;
	display: block;
	height: 100%;
	width: 100%;
}

.omedica-video-showcase__grid {
	align-items: start;
}

.omedica-media-content {
	column-gap: var(--wp--custom--spacing--block);
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) !important;
	row-gap: var(--wp--preset--spacing--space-md);
}

.omedica-media-content .wp-block-media-text__media,
.omedica-media-content .wp-block-media-text__media img {
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
}

@media (min-width: 768px) and (pointer: fine) {
	.omedica-featured-gallery__frame {
		gap: var(--wp--preset--spacing--space-sm);
		grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
	}

	.omedica-gallery-arrow {
		display: inline-flex;
	}

	.omedica-gallery-thumbs {
		margin-inline: calc(2.75rem + var(--wp--preset--spacing--space-sm));
	}
}

@media (pointer: coarse) {
	.omedica-gallery-arrow {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	.omedica-photo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.omedica-photo-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.omedica-video-showcase__grid {
		flex-direction: column;
	}

	.omedica-video-showcase__grid > .wp-block-column {
		flex-basis: auto !important;
		width: 100%;
	}

	.omedica-media-content {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.omedica-media-content .wp-block-media-text__media {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	.omedica-media-content .wp-block-media-text__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
		padding: var(--wp--preset--spacing--space-md) 0 0;
	}
}

@media (max-width: 767px) {
	.omedica-video--portrait {
		max-width: 18rem;
	}
}

/* Documents use the same layout tokens and light navigation as Analysis/Price. */
.omedica-documents-discovery { margin: 0 0 var(--wp--preset--spacing--space-sm); }
.omedica-documents-layout {
 display: grid;
 grid-template-columns: minmax(17rem, 1fr) minmax(0, 3fr);
 gap: var(--wp--preset--spacing--space-xl);
 align-items: start;
}
.omedica-document-categories {
 min-width: 0;
 padding: var(--wp--preset--spacing--space-xs);
}
.omedica-document-categories > [role="group"] { display: grid; gap: 0; }
.omedica-document-categories [data-document-group] {
 display: flex; align-items: baseline; width: 100%; min-height: 2.75rem;
 padding: var(--wp--preset--spacing--space-sm);
 border: 0; border-radius: var(--wp--custom--radius--sm);
 background: transparent; color: var(--wp--preset--color--text);
 text-align: start; font: inherit; font-size: .9375rem; cursor: pointer;
 overflow-wrap: anywhere;
}
.omedica-document-categories [data-document-group]:is([aria-pressed="true"],:hover,:focus-visible) {
 background: color-mix(in srgb, var(--wp--preset--color--action) 9%, var(--wp--preset--color--background));
}
.omedica-document-categories [data-document-group] > .dashicons { display: none; }
.omedica-document-categories [data-document-group] > span:last-child {
 display: grid; gap: var(--space-xs); min-width: 0;
}
.omedica-document-categories small, .omedica-document-row small {
 color: var(--wp--preset--color--text-muted);
}
.omedica-document-results { min-width: 0; padding: var(--wp--preset--spacing--space-xs); }
.omedica-document-results > header {
 display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between;
 gap: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-md);
 margin-bottom: var(--wp--preset--spacing--space-sm);
}
.omedica-document-results > header > * { margin: 0; }
.omedica-document-results > header h2 { font-size: calc(1.25rem * var(--omedica-scale-h2, 1)); }
.omedica-document-results > header p { color: var(--wp--preset--color--text-muted); font-size: .9375rem; }
.omedica-document-groups { display: grid; gap: 0; }
.omedica-document-group { border-bottom: 1px solid var(--wp--preset--color--border); }
.omedica-document-group > summary {
 display: grid; grid-template-columns: minmax(0, 1fr) auto auto;
 align-items: center; gap: var(--wp--preset--spacing--space-sm);
 cursor: pointer; list-style: none; min-height: 3.5rem;
 padding: var(--wp--preset--spacing--space-sm) 0;
}
.omedica-document-group > summary > .dashicons:first-child { display: none; }
.omedica-document-group > summary small { color: var(--wp--preset--color--text-muted); }
.omedica-document-group > summary:hover { color: var(--wp--preset--color--action); }
.omedica-document-group > summary::-webkit-details-marker {
	display: none;
}

.omedica-document-group > summary .dashicons:last-child {
	transition: transform 160ms ease;
}

.omedica-document-group[open] > summary .dashicons:last-child {
	transform: rotate(180deg);
}

.omedica-document-list { background: transparent; }

.omedica-document-row {
	align-items: center;
	border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: var(--stack-gap) 0;
}

.omedica-document-row h3,
.omedica-document-row p {
	margin: 0;
	overflow-wrap: anywhere;
}

.omedica-document-row p {
	color: var(--wp--preset--color--text-muted);
	margin-block-start: var(--space-xs);
}

.omedica-document-open,
.omedica-document-empty button {
	font-weight: 600;
}

.omedica-document-empty {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--custom--card-padding);
	text-align: center;
}

@media (min-width: 768px) and (max-width: 1023px) {
	.omedica-documents-layout {
		grid-template-columns: minmax(12rem, 1fr) minmax(0, 2fr);
	}
}

@media (max-width: 767px) {
	.omedica-documents-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-document-categories {
		max-height: none;
		overflow: visible;
		position: static;
	}

	.omedica-document-categories > div {
		display: flex;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding-block-end: var(--wp--preset--spacing--space-xs);
		scrollbar-width: none;
	}

	.omedica-document-categories > div::-webkit-scrollbar {
		display: none;
	}

	.omedica-document-categories button {
		flex: 0 0 min(16rem, 82vw);
	}

	.omedica-document-results > header {
		align-items: start;
		flex-direction: column;
		gap: var(--wp--preset--spacing--space-xs);
	}

	.omedica-document-row {
		align-items: start;
		grid-template-columns: auto minmax(0, 1fr);
	}

	.omedica-document-open,
	.omedica-document-unavailable {
		grid-column: 2;
		min-height: var(--wp--custom--interaction--touch-target);
	}
}

@media (prefers-reduced-motion: reduce) {
	.omedica-document-group > summary .dashicons:last-child {
		transition: none;
	}
}

/* Controls, tabs, filters and semantic forms */
.omedica-controls,
.omedica-filter-row {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: space-between;
}

.omedica-tablist,
.omedica-filter-list,
.omedica-time-slots,
.omedica-date-strip {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
}

:where(.omedica-tablist, .omedica-filter-list) button,
.omedica-time-slots label,
.omedica-date-strip label {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	min-height: var(--wp--custom--button--min-height);
	padding: var(--wp--custom--button--padding-block) var(--wp--custom--button--padding-inline);
}

:where(.omedica-tablist button[aria-selected="true"], .omedica-filter-list button[aria-pressed="true"]),
.omedica-time-slots label:has(input:checked),
.omedica-date-strip label:has(input:checked) {
	background: var(--wp--preset--color--action);
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--background);
}

.omedica-tab-panel {
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

.omedica-search-control,
.omedica-form-control {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--button--min-height);
	padding: var(--wp--custom--button--padding-block) var(--wp--custom--button--padding-inline);
	width: 100%;
}

.omedica-doctor-filters {
	grid-template-columns: minmax(16rem, 1.4fr) repeat(2, minmax(10rem, 1fr));
}

.omedica-review-controls {
	align-items: end;
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: minmax(0, 1fr) auto;
}

textarea.omedica-form-control {
	border-radius: var(--wp--custom--radius--md);
	min-height: 8rem;
	resize: vertical;
}

.omedica-form-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.omedica-form-field {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
}

.omedica-form-field--full {
	grid-column: 1 / -1;
}

.omedica-form-field label,
.omedica-booking-ui legend {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.omedica-booking-ui fieldset {
	border: 0;
	margin: var(--wp--preset--spacing--space-lg) 0 0;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.omedica-booking-ui,
.omedica-date-strip {
	min-width: 0;
}

.omedica-date-strip {
	max-width: 100%;
}

.omedica-booking-ui input[type="radio"] {
	position: absolute;
	opacity: 0;
}

.omedica-booking-contexts {
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

/* Booking page and reusable booking/contact components */
.omedica-booking-page {
	background: color-mix(in srgb, var(--wp--preset--color--surface) 42%, var(--wp--preset--color--background));
	padding-block-end: var(--wp--custom--spacing--heading-content);
}

.omedica-booking-page > .alignwide,
.omedica-booking-page .omedica-booking-section,
.omedica-booking-page .omedica-contact-methods {
	max-width: 74rem;
}

.omedica-booking-page__intro {
	padding-block-start: var(--wp--custom--spacing--heading-content);
}

.omedica-booking-page__intro > * {
	margin-block: 0;
}

.omedica-booking-page__intro > * + * {
	margin-block-start: var(--wp--preset--spacing--space-xs);
}

.omedica-breadcrumbs a {
	color: inherit;
}

.omedica-booking-page .omedica-booking-section {
	padding-block: var(--wp--preset--spacing--space-md);
}

.omedica-booking-ui,
.omedica-contact-method,
.omedica-booking-privacy {
	background: color-mix(in srgb, var(--wp--preset--color--background) 94%, var(--wp--preset--color--surface));
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
}

.omedica-booking-ui {
	padding: var(--card-padding);
}

.omedica-booking-section > .omedica-booking-ui,
.omedica-booking-ui > .wp-block-omedica-booking-entry,
.omedica-booking-ui > .wp-block-omedica-booking-flow,
.omedica-contact-methods > .omedica-contact-methods__grid {
	max-width: none !important;
	width: 100%;
}

.omedica-booking-ui :where(h2, h3, p),
.omedica-contact-methods > h2,
.omedica-contact-method :where(p, fieldset) {
	margin-block: 0;
}

.omedica-booking-ui h2,
.omedica-contact-methods > h2 {
	font-size: calc((clamp(1.25rem, 2vw, 1.5rem)) * var(--omedica-scale-h2, 1));
}

/* Pointer-triggered focus transfers are not keyboard navigation. The marker is
   removed on blur, direct pointer interaction or any keyboard input. */
[data-omedica-pointer-focus]:focus {
 outline: none !important;
}

.omedica-booking-lead {
	color: var(--wp--preset--color--text-muted);
	margin-block-start: var(--wp--preset--spacing--space-xs) !important;
}

.omedica-booking-entry__grid {
	display: grid;
	gap: var(--stack-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-booking-entry-card,
.omedica-booking-doctor-card,
.omedica-contact-method > summary {
	align-items: center;
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	display: grid;
	gap: var(--control-gap);
	grid-template-columns: minmax(0, 1fr) 1.25rem;
	min-height: 5.75rem;
	padding: var(--wp--preset--spacing--space-md);
	text-align: left;
	width: 100%;
}

.omedica-booking-doctor-card {
	grid-template-columns: 3rem minmax(0, 1fr) 1.25rem;
}

.omedica-booking-entry-card:hover,
.omedica-booking-doctor-card:hover,
.omedica-contact-method > summary:hover {
	border-color: var(--wp--preset--color--action);
}

.omedica-booking-entry-card strong,
.omedica-booking-entry-card small,
.omedica-booking-doctor-card strong,
.omedica-booking-doctor-card small,
.omedica-contact-method summary strong,
.omedica-contact-method summary small {
	display: block;
}

.omedica-booking-entry-card small,
.omedica-booking-doctor-card small,
.omedica-contact-method summary small {
	color: var(--wp--preset--color--text-muted);
	font-size: calc((0.825rem) * var(--omedica-scale-small, 1));
	font-weight: 400;
	line-height: 1.45;
	margin-block-start: var(--space-xs);
}

.omedica-booking-icon,
.omedica-booking-success__icon {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--action) 10%, var(--wp--preset--color--background));
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--action);
	display: inline-flex;
	font-size: 1.4rem;
	height: 3rem;
	justify-content: center;
	line-height: 1;
	width: 3rem;
}

.omedica-booking-flow__bar {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-block-end: var(--wp--preset--spacing--space-md);
}

.omedica-booking-flow__bar p {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.875rem;
	font-weight: 600;
}

.omedica-booking-back,
.omedica-booking-text-action {
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--action);
	cursor: pointer;
	font-weight: 600;
	min-height: var(--wp--custom--interaction--touch-target);
	padding: 0;
}

.omedica-booking-back {
	align-items: center;
	display: inline-flex;
	gap: var(--space-xs);
}

.omedica-booking-step {
	max-width: 49rem;
}

.omedica-booking-search {
	max-width: 31rem;
}

.omedica-booking-caption,
.omedica-booking-subheading {
	font-size: 0.9rem;
	font-weight: 700;
	margin-block-start: var(--stack-gap);
}

.omedica-booking-service-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-xs);
	margin-block: var(--wp--preset--spacing--space-sm);
}

.omedica-booking-service-list button {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	min-height: var(--wp--custom--interaction--touch-target);
	padding: var(--space-xs) var(--control-gap);
}

.omedica-booking-service-list button:hover {
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--action);
}

.omedica-booking-doctor-list {
	display: grid;
	gap: var(--control-gap);
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-booking-doctor-card {
	min-height: 5rem;
}

.omedica-booking-doctor-card img {
	border-radius: var(--wp--custom--radius--sm);
	height: 4rem;
	object-fit: cover;
	width: 4rem;
}

.omedica-booking-doctor-card:not(.is-any) {
	grid-template-columns: 4rem minmax(0, 1fr) 1.25rem;
}

.omedica-booking-step .omedica-week-nav {
	display: inline-grid;
	margin-block-start: var(--wp--preset--spacing--space-md);
	max-width: 27rem;
	width: 100%;
}

.omedica-booking-step .omedica-week-nav button {
	background: transparent;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	min-height: var(--wp--custom--interaction--touch-target);
}

.omedica-booking-step .omedica-date-strip {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
	grid-template-columns: repeat(7, minmax(4rem, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-sm);
	overflow-x: auto;
	padding: var(--space-xs) var(--space-xs) var(--space-xs);
	scrollbar-width: thin;
}

.omedica-booking-step .omedica-date-strip label {
	border-radius: var(--wp--custom--radius--sm);
	display: grid;
	gap: var(--space-xs);
	min-height: 4rem;
	padding: var(--space-xs);
	scroll-snap-align: start;
}

.omedica-booking-step .omedica-date-strip label span {
	font-size: 0.75rem;
}

.omedica-booking-step .omedica-date-strip label strong {
	font-size: 1rem;
}

.omedica-booking-step .omedica-time-slots {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
	grid-template-columns: repeat(4, minmax(4.75rem, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-sm);
}

.omedica-booking-step .omedica-time-slots label {
	background: var(--wp--preset--color--background);
	border-radius: var(--wp--custom--radius--sm);
	min-height: var(--wp--custom--interaction--touch-target);
	padding: var(--space-xs);
}

.omedica-booking-step .omedica-time-slots input,
.omedica-booking-step .omedica-date-strip input {
	opacity: 0;
	position: absolute;
}

.omedica-booking-next {
	border-radius: var(--wp--custom--radius--pill);
	margin-block-start: var(--wp--preset--spacing--space-md);
	min-width: 10rem;
}

.omedica-booking-next:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.omedica-booking-timezone,
.omedica-demo-note {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.75rem;
	margin-block-start: var(--wp--preset--spacing--space-sm) !important;
}

.omedica-booking-summary {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--sm);
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	margin-block: var(--wp--preset--spacing--space-md);
	padding: var(--wp--preset--spacing--space-md);
	row-gap: var(--wp--preset--spacing--space-xs);
}

.omedica-booking-summary :where(dt, dd) {
	margin: 0;
}

.omedica-booking-summary dt {
	color: var(--wp--preset--color--text-muted);
	padding-inline-end: var(--wp--preset--spacing--space-md);
}

.omedica-booking-summary dd {
	font-weight: 600;
}

.omedica-booking-patient-form,
.omedica-contact-form {
	display: grid;
	gap: var(--stack-gap);
}

.omedica-booking-patient-form {
	max-width: 32rem;
}

.omedica-booking-page .omedica-form-control {
	border-radius: var(--wp--custom--radius--sm);
	min-height: var(--wp--custom--interaction--touch-target);
}

.omedica-booking-page textarea.omedica-form-control {
	min-height: 6rem;
}

.omedica-booking-page [aria-invalid="true"] {
	border-color: var(--wp--custom--status--error);
}

.omedica-consent {
	align-items: flex-start;
	display: flex;
	font-size: 0.8rem;
	gap: var(--wp--preset--spacing--space-xs);
	line-height: 1.45;
}

.omedica-consent input {
	accent-color: var(--wp--preset--color--action);
	flex: 0 0 auto;
	height: 1.1rem;
	margin-block-start: 0.15rem;
	width: 1.1rem;
}

.omedica-form-state {
	color: var(--wp--custom--status--error);
	font-size: 0.825rem;
}

.omedica-form-state.is-success {
	color: var(--wp--custom--status--success);
}

.omedica-booking-success {
	margin-inline: auto;
	max-width: 30rem;
	padding-block: var(--content-gap);
	text-align: center;
}

.omedica-booking-success__icon {
	font-size: 2rem;
	height: 4.5rem;
	width: 4.5rem;
}

.omedica-booking-success h2,
.omedica-booking-success p,
.omedica-booking-success button {
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-contact-methods {
	padding-block: var(--wp--preset--spacing--space-md);
}

.omedica-contact-methods__grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-sm);
}

.omedica-contact-method {
	overflow: clip;
}

.omedica-contact-method > summary {
	border: 0;
	border-radius: 0;
	list-style: none;
	min-height: 5rem;
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-contact-method > summary::-webkit-details-marker {
	display: none;
}

.omedica-contact-method[open] > summary > .dashicons:last-child {
	transform: rotate(180deg);
}

.omedica-contact-form {
	border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-contact-form .omedica-form-grid {
	grid-template-columns: 1fr;
}

.omedica-contact-form > .wp-element-button,
.omedica-booking-patient-form > .wp-element-button {
	border: 0;
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
	width: 100%;
}

.omedica-rating {
	border: 0;
	margin: 0;
	padding: 0;
}

.omedica-rating legend {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.omedica-rating__stars {
	display: flex;
	gap: var(--space-xs);
	margin-block-start: var(--space-xs);
}

.omedica-rating__stars label {
	align-items: center;
	color: var(--wp--preset--color--action);
	cursor: pointer;
	display: inline-flex;
	height: var(--wp--custom--interaction--touch-target);
	justify-content: center;
	width: var(--wp--custom--interaction--touch-target);
}

.omedica-rating__stars input {
	opacity: 0;
	position: absolute;
}

.omedica-rating__stars .dashicons {
	font-size: 1.5rem;
	height: 1.5rem;
	width: 1.5rem;
}

.omedica-rating__stars label:has(input:focus-visible) {
	border-radius: var(--wp--custom--radius--pill);
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action);
	outline-offset: 0;
}

.omedica-rating__value {
	color: var(--wp--preset--color--text-muted);
	font-size: 0.8rem;
}

.omedica-booking-privacy {
	gap: var(--control-gap);
	margin-block-start: var(--wp--preset--spacing--space-md);
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-booking-privacy p {
	margin: 0;
}

/* Reviews page — shared Review Form and Review Card family. */
.omedica-reviews-page {
	background: color-mix(in srgb, var(--wp--preset--color--surface) 42%, var(--wp--preset--color--background));
	padding-block-end: var(--wp--custom--spacing--heading-content);
}

.omedica-reviews-page > .alignwide {
	max-width: 74rem;
}

.omedica-reviews-page .wp-block-omedica-reviews-collection,
.omedica-reviews-form-section > .wp-block-omedica-review-form {
	max-width: none !important;
	width: 100%;
}


.omedica-reviews-intro > * {
	margin-block: 0;
}


.omedica-reviews-toolbar,
.omedica-reviews-summary,
.omedica-review-card__top {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.omedica-reviews-toolbar {
	gap: var(--wp--preset--spacing--space-md);
}

.omedica-reviews-toolbar > .wp-element-button {
	flex: 0 0 auto;
	text-decoration: none;
}

.omedica-reviews-summary {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	margin-block: var(--wp--preset--spacing--space-lg) var(--wp--preset--spacing--space-sm);
}

.omedica-reviews-summary p,
.omedica-reviews-summary label {
	margin: 0;
}

.omedica-reviews-summary label {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--space-xs);
}

.omedica-reviews-summary select {
	min-height: var(--wp--custom--button--min-height);
	width: auto;
}

.omedica-reviews-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.omedica-review-card {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: none;
	padding: var(--card-padding);
	min-width: 0;
	height: auto;
	justify-content: flex-start;
}

.omedica-review-card__top {
	gap: var(--wp--preset--spacing--space-sm);
}

.omedica-review-card__top time,
.omedica-review-relation,
.omedica-review-rating small {
	color: var(--wp--preset--color--text-muted);
	font-size: calc((var(--wp--preset--font-size--small)) * var(--omedica-scale-small, 1));
}

.omedica-review-rating {
	color: var(--wp--preset--color--action);
	font-weight: 700;
	margin: 0;
}

.omedica-review-card h3 {
	font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h3, 1));
	margin-block: var(--wp--preset--spacing--space-sm) 0;
}

.omedica-review-card > p:not(.omedica-review-relation) {
	margin-block: var(--wp--preset--spacing--space-sm) 0;
}

.omedica-review-relation {
	margin-block: auto 0;
	padding-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-reviews-load-more {
	background: transparent;
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--action);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--action);
	cursor: pointer;
	display: block;
	margin: var(--wp--preset--spacing--space-md) auto 0;
	min-height: var(--wp--custom--interaction--touch-target);
	padding-inline: var(--wp--preset--spacing--space-lg);
}

.omedica-reviews-form-section > h2 {
	margin-block-end: var(--wp--preset--spacing--space-sm);
}

.omedica-reviews-form-section .omedica-contact-method {
	background: color-mix(in srgb, var(--wp--preset--color--action) 4%, var(--wp--preset--color--background));
	overflow: visible;
}

.omedica-reviews-form-section .omedica-contact-form {
	border: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.omedica-reviews-form-section .omedica-contact-form > :nth-child(n + 3) {
	grid-column: 1 / -1;
}

.omedica-reviews-form-section .omedica-contact-form > .wp-element-button {
	justify-self: start;
	width: auto;
}

@media (min-width: 1024px) {
	.omedica-contact-methods__grid {
		align-items: start;
	}

	.omedica-contact-method > summary {
		cursor: default;
		pointer-events: none;
	}

	.omedica-contact-method > summary > .dashicons:last-child {
		display: none;
	}
}

@media (max-width: 1023px) {
	.omedica-booking-page > .alignwide,
	.omedica-booking-page .omedica-booking-section,
	.omedica-booking-page .omedica-contact-methods {
		max-width: 48rem;
	}

	.omedica-booking-entry__grid,
	.omedica-contact-methods__grid {
		grid-template-columns: 1fr;
	}

	.omedica-reviews-page > .alignwide {
		max-width: 48rem;
	}

	.omedica-reviews-grid {
		grid-template-columns: 1fr;
	}

	.omedica-contact-method > summary {
		min-height: var(--wp--custom--interaction--touch-target);
	}
}

@media (max-width: 767px) {
	.omedica-booking-page__intro {
		padding-block-start: var(--wp--preset--spacing--space-md);
	}


	.omedica-reviews-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.omedica-reviews-toolbar > .wp-element-button {
		align-self: center;
	}

	.omedica-reviews-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--wp--preset--spacing--space-sm);
	}

	.omedica-reviews-summary label,
	.omedica-reviews-summary select {
		width: 100%;
	}

	.omedica-reviews-form-section .omedica-contact-form {
		grid-template-columns: 1fr;
	}

	.omedica-reviews-form-section .omedica-contact-form > * {
		grid-column: 1;
	}

	.omedica-reviews-form-section .omedica-contact-form > .wp-element-button {
		width: 100%;
	}

	.omedica-booking-page__intro h1 {
		font-size: 1.45rem !important;
	}

	.omedica-booking-ui {
		padding: var(--wp--preset--spacing--space-md);
	}

	.omedica-booking-entry-card,
	.omedica-booking-doctor-card,
	.omedica-contact-method > summary {
		padding: var(--wp--preset--spacing--space-sm);
	}

	.omedica-booking-entry-card,
	.omedica-contact-method > summary {
		grid-template-columns: minmax(0, 1fr) 1.25rem;
	}

	.omedica-booking-doctor-card {
		grid-template-columns: 2.75rem minmax(0, 1fr) 1.25rem;
	}

	.omedica-booking-icon {
		height: 2.75rem;
		width: 2.75rem;
	}

	.omedica-booking-doctor-card:not(.is-any) {
		grid-template-columns: 3.5rem minmax(0, 1fr) 1.25rem;
	}

	.omedica-booking-doctor-card img {
		height: 3.5rem;
		width: 3.5rem;
	}

	.omedica-booking-step .omedica-date-strip {
		grid-auto-columns: 4.15rem;
		grid-auto-flow: column;
		grid-template-columns: none;
		scroll-snap-type: inline mandatory;
	}

	.omedica-booking-step .omedica-time-slots {
		grid-template-columns: repeat(3, minmax(4.5rem, 1fr));
	}

	.omedica-booking-summary {
		font-size: 0.875rem;
		grid-template-columns: 5rem minmax(0, 1fr);
	}

	.omedica-contact-form .omedica-form-grid,
	.omedica-form-grid {
		grid-template-columns: 1fr;
	}

	.omedica-booking-privacy {
		align-items: flex-start;
	}
}

/* Catalogues */
.omedica-catalog-layout {
	display: grid;
	gap: var(--wp--preset--spacing--space-lg);
	grid-template-columns: minmax(13rem, 0.35fr) minmax(0, 1fr);
}

.omedica-analyses-toolbar {
	margin-block-end: var(--wp--preset--spacing--space-lg);
}

.omedica-analyses-toolbar .omedica-search-control {
	max-width: 28rem;
}

.omedica-analysis-category-select {
	display: none;
	margin-block-end: var(--wp--preset--spacing--space-md);
}

.omedica-category-list {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
}

.omedica-category-list button {
	background: transparent;
	border: var(--wp--custom--border--width) solid transparent;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	min-height: var(--wp--custom--button--min-height);
	padding: var(--wp--preset--spacing--space-sm);
	text-align: left;
}

.omedica-category-list button[aria-selected="true"] {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--border);
}

.omedica-catalog-row {
	align-items: center;
	border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: minmax(0, 1fr) minmax(8rem, auto);
	padding-block: var(--wp--preset--spacing--space-md);
}

.omedica-catalog-row:first-child {
	border-top: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
}

.omedica-catalog-row h3,
.omedica-catalog-row p {
	margin-block: 0;
}

.omedica-price {
	font-weight: 700;
	justify-self: end;
	white-space: nowrap;
}

/* Doctor, reviews and contacts */
.omedica-doctor-hero {
	align-items: center;
}

.omedica-doctor-specializations {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.omedica-doctor-specializations li {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--sm);
	padding: var(--wp--preset--spacing--space-sm);
}

.omedica-doctor-specializations.compact-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.omedica-doctor-specializations.compact-list li {
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	padding: var(--space-xs) var(--space-sm);
}

.omedica-week-nav {
	align-items: center;
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: 2.75rem minmax(0, 1fr) 2.75rem;
	text-align: center;
}

.omedica-week-nav button {
	align-items: center;
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	padding: 0;
	width: 2.75rem;
}

.omedica-week-nav .dashicons {
	font-size: var(--wp--preset--font-size--medium);
	height: 1.2rem;
	line-height: 1;
	width: 1.2rem;
}

.omedica-doctor-card .omedica-media-placeholder {
	aspect-ratio: 4 / 3;
	border-radius: var(--wp--custom--radius--md);
	min-height: 10rem;
}

.omedica-review-meta {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
}

.omedica-review-card blockquote {
	margin: var(--wp--preset--spacing--space-sm) 0;
}

.omedica-review-card blockquote p {
	margin: 0;
}

.omedica-contacts-actions .wp-block-button,
.omedica-contacts-actions .wp-element-button {
	flex: 1 1 12rem;
}

.omedica-phone-list a {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
}

.omedica-map-frame {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--lg);
	display: block;
	height: clamp(24rem, 45vw, 36rem);
	width: 100%;
}

.omedica-contacts-layout {
	align-items: start;
	gap: var(--wp--custom--spacing--block);
	margin-block-start: var(--wp--custom--spacing--heading-content);
}

.omedica-contacts-details,
.omedica-contacts-operations {
	display: grid;
	gap: var(--wp--custom--spacing--block);
}

.omedica-contact-item > * {
	margin-block: 0;
}

.omedica-contact-item > * + * {
	margin-block-start: var(--wp--custom--spacing--text);
}

.omedica-phone-list p {
	margin-block-start: var(--wp--preset--spacing--space-xs);
}

.omedica-phone-list a {
	display: inline-block;
	white-space: nowrap;
}

.omedica-clinic-hours-grid {
	column-gap: var(--wp--preset--spacing--space-lg);
	display: grid;
	grid-template-columns: max-content max-content;
	margin: 0;
	row-gap: var(--wp--preset--spacing--space-xs);
	width: fit-content;
}

.omedica-clinic-hours-grid > div {
	display: contents;
}

.omedica-clinic-hours-grid :where(dt, dd) {
	margin: 0;
}

.omedica-clinic-hours-grid dt {
	font-weight: 600;
}

.omedica-clinic-hours-grid dd {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.omedica-contacts-directions,
.omedica-contacts-map {
	margin-block-start: var(--wp--custom--spacing--section);
}

.omedica-contacts-directions > h2 {
	margin-block-start: 0;
}

.omedica-contacts-directions-grid {
	margin-block-start: var(--wp--custom--spacing--heading-content);
}

/* Blog */
.omedica-topic-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: var(--wp--preset--font-size--small);
	gap: var(--wp--preset--spacing--space-sm) var(--wp--preset--spacing--space-md);
}

.omedica-topic-details {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-topic-details + .omedica-topic-details {
	margin-block-start: var(--wp--preset--spacing--space-sm);
}

.omedica-topic-details summary {
	cursor: pointer;
	font-weight: 600;
	min-height: var(--wp--custom--button--min-height);
	padding-block: var(--wp--preset--spacing--space-sm);
}

/* Footer */
.omedica-site-footer {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	border-radius: 0;
	box-sizing: border-box;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.45;
	margin-block-start: var(--wp--custom--spacing--section);
	margin-inline: 0 !important;
	max-width: none;
	overflow: clip;
	width: 100%;
}

.omedica-site-footer,
.omedica-site-footer * {
	box-sizing: border-box;
}

.omedica-footer-shell {
	margin-inline: auto !important;
	max-width: var(--wp--style--global--wide-size) !important;
	padding-block: var(--content-gap);
	padding-inline: 0;
	width: 100%;
}

.omedica-footer-shell > *,
.omedica-site-footer :where(p, ul) {
	margin-block: 0;
}

.omedica-site-footer a {
	color: inherit;
	text-underline-offset: 0.2em;
}

.omedica-site-footer a:hover {
	color: var(--wp--preset--color--action);
}

.omedica-site-footer :where(a, summary):focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action);
	outline-offset: var(--wp--custom--focus--offset);
}

.omedica-footer-brand-row {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--space-lg);
	justify-content: space-between;
}

.omedica-footer-wordmark {
	color: var(--wp--preset--color--action);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1;
	margin: 0;
	min-width: 0;
	text-transform: uppercase;
}

.omedica-footer-social {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	flex-wrap: wrap;
	min-width: 0;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: flex-end;
	margin: 0;
}





.omedica-footer-social .wp-social-link svg {
	height: 1.35rem;
	width: 1.35rem;
}



.omedica-footer-contact-grid {
	align-items: end;
	display: grid;
	font-size: var(--wp--preset--font-size--small);
	gap: var(--wp--custom--spacing--block);
	grid-template-columns: minmax(15rem, 20rem) minmax(15rem, 1fr);
	line-height: 1.45;
	margin-block-start: var(--wp--custom--spacing--block);
}

.omedica-footer-hours {
	display: grid;
	column-gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: minmax(4.8rem, max-content) max-content;
	row-gap: var(--wp--preset--spacing--space-xs);
	margin: 0;
}

.omedica-footer-hours__row {
	display: contents !important;
	margin: 0;
}

.omedica-footer-hours__row > * {
	margin: 0;
}

.omedica-footer-hours__row strong {
	font-weight: 600;
}

.omedica-footer-contacts {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
	justify-items: end;
	margin: 0;
	text-align: right;
}

.omedica-footer-contacts a {
	text-decoration: none;
}

.omedica-footer-contacts p:last-child a {
	color: var(--wp--preset--color--action);
}

.omedica-footer-divider {
	border: 0;
	border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	margin-block: var(--wp--custom--spacing--text) !important;
	opacity: 1;
	width: 100%;
}

.omedica-footer-address {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.4;
}

.omedica-footer-warning {
	border-block-end: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--action);
	overflow: hidden;
	padding-block-end: var(--wp--custom--spacing--text);
	position: relative;
	text-align: center;
}

.omedica-footer-warning__text {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.35;
	margin: 0;
	text-transform: uppercase;
}

.omedica-footer-marquee {
	overflow: hidden;
	position: absolute;
	visibility: hidden;
	width: 100%;
}

.omedica-footer-marquee__track,
.omedica-footer-marquee__group {
	align-items: center;
	display: flex;
	width: max-content;
}

.omedica-footer-marquee__track {
	will-change: transform;
}

.omedica-footer-marquee__group {
	flex: 0 0 auto;
	gap: var(--wp--preset--spacing--space-lg);
	padding-inline-end: var(--wp--preset--spacing--space-lg);
}

.omedica-footer-marquee__item {
	flex: 0 0 auto;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.01em;
	line-height: 1.35;
	text-transform: uppercase;
	white-space: nowrap;
}

.omedica-footer-legal {
	border: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
	margin: 0;
	padding: 0;
}

.omedica-footer-legal > summary {
	display: none;
}

.omedica-footer-legal__content {
	margin: 0;
	padding-block-start: var(--wp--custom--spacing--text);
}

.omedica-footer-legal__grid {
	display: grid;
	gap: var(--section-gap);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.omedica-footer-legal__left,
.omedica-footer-legal__right {
	display: grid;
	gap: var(--wp--custom--spacing--text);
	min-width: 0;
}

.omedica-footer-legal__left {
	text-align: left;
}

.omedica-footer-legal__right {
	text-align: right;
}

.omedica-footer-legal :where(p, li, a) {
	overflow-wrap: anywhere;
}

.omedica-footer-legal-links {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.omedica-footer-legal-links a {
	color: var(--wp--preset--color--action);
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
}

@media (prefers-reduced-motion: no-preference) {
	@supports (animation-name: omedica-footer-marquee) {
		.omedica-footer-warning.is-marquee-ready .omedica-footer-warning__text {
			clip: rect(0 0 0 0);
			clip-path: inset(50%);
			height: 1px;
			overflow: hidden;
			position: absolute;
			white-space: nowrap;
			width: 1px;
		}

		.omedica-footer-warning.is-marquee-ready .omedica-footer-marquee {
			position: static;
			visibility: visible;
		}

		.omedica-footer-warning.is-marquee-ready .omedica-footer-marquee__track {
			animation: omedica-footer-marquee var(--omedica-footer-marquee-duration, 18s) linear infinite;
		}

		.omedica-footer-warning:hover .omedica-footer-marquee__track,
		.omedica-footer-warning:focus-within .omedica-footer-marquee__track {
			animation-play-state: paused;
		}
	}
}

@keyframes omedica-footer-marquee {
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 767px) {
	.omedica-footer-shell {
		padding-block: var(--wp--preset--spacing--space-md);
		padding-inline: 0;
	}

	.omedica-footer-brand-row {
		gap: var(--wp--preset--spacing--space-sm);
	}

	.omedica-footer-wordmark {
		font-size: var(--wp--preset--font-size--medium);
	}

	.omedica-footer-social {
		gap: var(--wp--preset--spacing--space-xs);
	}

	.omedica-footer-social .wp-social-link {
		height: 2.5rem;
		width: 2.5rem;
	}

	.omedica-footer-contact-grid {
		border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
		font-size: var(--wp--preset--font-size--small);
		gap: var(--wp--preset--spacing--space-sm);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-block-start: var(--wp--preset--spacing--space-sm);
		padding-block-start: var(--wp--preset--spacing--space-sm);
	}

	.omedica-footer-hours__row {
		display: contents !important;
	}

	.omedica-footer-hours {
		column-gap: calc(var(--wp--preset--spacing--space-xs) / 2);
		grid-template-columns: max-content max-content;
	}

	.omedica-footer-divider {
		margin-block: var(--wp--preset--spacing--space-sm) !important;
	}

	.omedica-footer-address,
	.omedica-footer-warning__text,
	.omedica-footer-marquee__item {
		font-size: var(--wp--preset--font-size--small);
	}

	.omedica-footer-warning {
		padding-block-end: var(--wp--preset--spacing--space-sm);
	}

	.omedica-footer-legal > summary {
		align-items: center;
		color: var(--wp--preset--color--action);
		cursor: pointer;
		direction: ltr;
		display: flex;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 600;
		justify-content: space-between;
		line-height: 1.35;
		list-style: none;
		min-height: var(--wp--custom--interaction--touch-target);
		padding-block: var(--wp--preset--spacing--space-sm);
		text-align: left;
	}

	.omedica-footer-legal > summary::-webkit-details-marker {
		display: none;
	}

	.omedica-footer-legal > summary::after {
		color: var(--wp--preset--color--action);
		content: "\f347";
		font-family: dashicons;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 400;
		line-height: 1;
	}

	.omedica-footer-legal[open] > summary::after {
		content: "\f343";
	}

	.omedica-footer-legal__summary-label {
		direction: ltr;
		display: block;
		text-align: left;
		width: auto;
	}

	.omedica-footer-legal__content {
		direction: ltr;
		padding-block: 0 var(--wp--preset--spacing--space-xs);
	}

	.omedica-footer-legal__grid {
		gap: var(--wp--preset--spacing--space-sm);
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-footer-legal__left,
	.omedica-footer-legal__right {
		gap: var(--wp--preset--spacing--space-sm);
		text-align: left;
	}
}

@media (max-width: 359px) {
	.omedica-footer-brand-row {
		flex-wrap: wrap;
	}

	.omedica-footer-contact-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-footer-contacts {
		justify-items: start;
		text-align: left;
	}
}

:is(.omedica-accessibility-mode, .omedica-low-vision-mode, [data-omedica-accessibility="true"]) .omedica-footer-marquee {
	display: none !important;
}

:is(.omedica-accessibility-mode, .omedica-low-vision-mode, [data-omedica-accessibility="true"]) .omedica-footer-warning__text {
	clip: auto !important;
	clip-path: none !important;
	height: auto !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: auto !important;
}

@media (forced-colors: active) {
	.omedica-site-footer {
		border: 1px solid CanvasText;
		background: Canvas;
		color: CanvasText;
	}

	.omedica-footer-social .wp-social-link {
		border: 1px solid ButtonText;
		background: ButtonFace !important;
		color: ButtonText !important;
	}

	.omedica-footer-divider,
	.omedica-footer-warning,
	.omedica-footer-contact-grid {
		border-color: CanvasText;
	}
}

/* Documents */
.omedica-page-index-list a {
	display: block;
	padding-block: var(--wp--preset--spacing--space-sm);
}

.omedica-document-shell,
.omedica-document-body {
	margin-inline: auto;
	max-width: var(--wp--style--global--content-size);
	width: 100%;
}

.omedica-breadcrumbs {
	color: var(--wp--preset--color--text-muted);
}

.omedica-breadcrumbs p {
	margin: 0;
}

.omedica-document-toc {
	margin-block: var(--wp--preset--spacing--space-lg);
}

.omedica-document-toc ul {
	margin-block-end: 0;
}

.omedica-document-body :where(p, li) {
	line-height: 1.75;
}

.omedica-document-body h2 {
	margin-block-start: var(--wp--preset--spacing--space-xl);
	scroll-margin-top: 0;
}

.omedica-document-body h3 {
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

.omedica-document-actions {
	flex-wrap: wrap;
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

.omedica-document-table-scroll {
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
}

.omedica-document-table-scroll table {
	min-width: 36rem;
}

.omedica-document-table :where(th, td) {
	border-color: var(--wp--preset--color--border);
	padding: var(--wp--preset--spacing--space-sm);
	text-align: left;
	vertical-align: top;
}

.omedica-pdf-placeholder {
	align-items: center;
	aspect-ratio: 4 / 5;
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	justify-content: center;
	margin-block: var(--wp--preset--spacing--space-lg);
	max-height: 58rem;
	min-height: 32rem;
	padding: var(--wp--custom--card-padding);
	text-align: center;
	width: 100%;
}

@media (max-width: 1024px) {
	button,
	.wp-element-button,
	.wp-block-search__button,
	.omedica-search-control,
	.omedica-form-control,
	.omedica-icon-button {
		min-height: 2.75rem;
	}

	.wp-element-button {
		align-items: center;
		display: inline-flex;
	}

	.omedica-card-actions .wp-element-button {
		min-height: 44px;
	}

	.omedica-icon-button {
		height: 2.75rem;
		width: 2.75rem;
	}

	.wp-block-columns.omedica-grid-3,
	.wp-block-columns.omedica-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wp-block-columns.omedica-grid-5 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.omedica-header-utility {
		grid-template-columns: minmax(0, 1fr) auto;
		min-height: 4rem;
	}

	.omedica-header-address,
	.omedica-header-contacts {
		display: none;
	}

	.omedica-header-actions {
		grid-column: 2;
		grid-row: 1;
	}

	.omedica-header-nav-row {
		align-items: center;
		gap: var(--wp--preset--spacing--space-sm);
		grid-template-columns: 2.75rem minmax(0, 1fr);
		padding: 0.25rem;
	}
	.omedica-primary-navigation .wp-block-navigation__responsive-container-open {
		height: 2.75rem;
		min-height: 2.75rem;
	}
	.omedica-primary-navigation .wp-block-navigation__responsive-container-open {
		align-items: center;
		display: flex;
		justify-content: center;
		padding: 0;
		width: 2.75rem;
	}

	.omedica-doctor-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.omedica-doctor-filters .omedica-form-field:first-child {
		grid-column: 1 / -1;
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container.is-menu-open {
		align-items: stretch;
		background: color-mix(in srgb, var(--wp--preset--color--surface-strong) 45%, transparent);
		display: flex;
		justify-content: flex-end;
		padding: 0;
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container-content {
		background: var(--wp--preset--color--background);
		box-shadow: var(--wp--custom--shadow--card);
		min-height: 100dvh;
		padding: var(--wp--preset--spacing--space-xl);
		width: min(28rem, 88vw);
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container-close {
		right: var(--wp--preset--spacing--space-md);
		top: var(--wp--preset--spacing--space-md);
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: var(--wp--preset--spacing--space-sm);
		width: 100%;
	}

	.omedica-primary-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: var(--wp--preset--font-size--medium);
		min-height: var(--wp--custom--button--min-height);
		width: 100%;
	}

	.omedica-media-placeholder--map,
	.omedica-media-placeholder--hero {
		min-height: 24rem;
	}
}

@media (max-width: 781px) {
	.omedica-header-utility {
		align-items: center;
		grid-template-columns: minmax(0, 1fr) auto;
		padding-block: var(--wp--preset--spacing--space-sm);
	}

	.omedica-header-actions {
		grid-column: 2;
		grid-row: 1;
	}

	.wp-block-columns.omedica-grid-2 {
		grid-template-columns: 1fr;
	}

	.omedica-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.omedica-catalog-layout {
		grid-template-columns: 1fr;
	}

	.omedica-category-list {
		grid-auto-columns: minmax(11rem, 1fr);
		grid-auto-flow: column;
		overflow-x: auto;
		padding-block-end: var(--wp--preset--spacing--space-sm);
	}

	.omedica-analysis-category-select {
		display: block;
	}

	.omedica-analyses-catalog .omedica-category-list {
		display: none;
	}

}

@media (max-width: 600px) {
	.wp-block-columns.omedica-grid-3,
	.wp-block-columns.omedica-grid-4,
	.wp-block-columns.omedica-grid-5 {
		grid-template-columns: 1fr;
	}

	.omedica-header-actions .wp-block-buttons {
		display: none;
	}

	.omedica-controls,
	.omedica-filter-row {
		align-items: stretch;
		flex-direction: column;
	}

	.omedica-tablist,
	.omedica-filter-list,
	.omedica-date-strip {
		contain: inline-size layout paint;
		flex-wrap: nowrap;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding-block-end: var(--wp--preset--spacing--space-sm);
		scroll-snap-type: inline proximity;
		width: 100%;
	}

	:where(.omedica-tablist, .omedica-filter-list, .omedica-date-strip) > * {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}

	.omedica-form-grid,
	.omedica-doctor-specializations,
	.omedica-doctor-filters,
	.omedica-review-controls {
		grid-template-columns: 1fr;
	}

	.omedica-doctor-filters .omedica-form-field:first-child {
		grid-column: auto;
	}

	.omedica-catalog-row {
		align-items: start;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.omedica-catalog-row .omedica-price {
		align-self: start;
		justify-self: end;
	}

	.omedica-media-placeholder--map,
	.omedica-media-placeholder--hero {
		aspect-ratio: 4 / 3;
		min-height: 18rem;
	}

	.omedica-contacts-actions,
	.omedica-document-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.omedica-contacts-actions .wp-block-button,
	.omedica-contacts-actions .wp-element-button,
	.omedica-document-actions .wp-block-button,
	.omedica-document-actions .wp-element-button {
		justify-content: center;
		width: 100%;
	}

	.omedica-document-table-scroll table {
		min-width: 32rem;
	}

	.omedica-pdf-placeholder {
		aspect-ratio: 3 / 4;
		min-height: 24rem;
	}

}

.omedica-phone-selector--action {
	display: inline-flex;
}

/* Doctor ↔ Service templates */
.omedica-domain-page {
	background: color-mix(in srgb, var(--wp--preset--color--surface) 36%, var(--wp--preset--color--background));
	padding-block: var(--wp--custom--spacing--heading-content);
}



.omedica-domain-intro:not(:has(> h1)) {
	margin-block: var(--wp--preset--spacing--space-lg);
}

.omedica-domain-intro > *,
.omedica-domain-hero h1,
.omedica-domain-hero p,
.omedica-domain-surface > :first-child,
.omedica-related-section header > * {
	margin-block: 0;
}

.omedica-domain-intro:not(:has(> h1)) > * + * {
	margin-block-start: var(--wp--preset--spacing--space-xs);
}

.omedica-doctor-filters {
	align-items: end;
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.omedica-doctor-search-field {
	grid-column: 1 / -1;
}

.omedica-doctor-chips,
.omedica-domain-chips,
.omedica-context-booking__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-xs);
	margin-block: var(--wp--preset--spacing--space-md);
}

.omedica-doctor-chips button,
.omedica-domain-chips span,
.omedica-context-booking__links a {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	min-height: var(--wp--custom--button--min-height);
	padding: var(--space-xs) var(--control-gap);
	text-decoration: none;
}

.omedica-doctor-chips button {
	cursor: pointer;
}

.omedica-doctor-chips button[aria-pressed="true"],
.omedica-doctor-chips button:hover,
.omedica-context-booking__links a:hover {
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--action);
}

.omedica-domain-count {
	color: var(--wp--preset--color--text-muted);
	margin-block: var(--wp--preset--spacing--space-lg) var(--wp--preset--spacing--space-sm);
}

.omedica-doctors-grid,
.omedica-compact-doctors-grid,
.omedica-related-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.omedica-doctor-card {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-doctor-image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.omedica-qualification-list {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.omedica-qualification-item {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--custom--card-padding);
}

.omedica-qualification-item p {
	margin-block: var(--space-xs);
}

@media (max-width: 767px) {
	.omedica-qualification-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

.omedica-doctor-card__main {
	color: inherit;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	text-decoration: none;
}

.omedica-doctor-placeholder,
.omedica-service-placeholder {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--action) 6%, var(--wp--preset--color--background));
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	color: var(--wp--preset--color--text-muted);
	display: flex;
	justify-content: center;
	text-align: center;
}

.omedica-doctor-placeholder {
	aspect-ratio: 4 / 3;
}

.omedica-doctor-card__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.omedica-doctor-card__content h3 {
	font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h3, 1));
	margin-block: var(--wp--preset--spacing--space-sm) 0;
}

.omedica-doctor-card__content p {
	margin-block: var(--wp--preset--spacing--space-xs) 0;
}

.omedica-doctor-card__specialties,
.omedica-doctor-card__rating small {
	color: var(--wp--preset--color--text-muted);
}

.omedica-doctor-card__rating span {
	color: var(--wp--preset--color--action);
}

.omedica-doctor-card .omedica-price {
	font-weight: 700;
	margin-block-start: auto;
	padding-block-start: var(--wp--preset--spacing--space-sm);
}

.omedica-doctor-card__booking {
	margin-block-start: var(--wp--preset--spacing--space-sm);
	text-align: center;
	text-decoration: none;
}

.omedica-doctor-card--compact {
	padding: var(--wp--preset--spacing--space-sm);
}

.omedica-doctor-card--compact .omedica-doctor-card__main {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: 6rem minmax(0, 1fr);
}

.omedica-doctor-card--compact .omedica-doctor-placeholder {
	aspect-ratio: 1;
}

.omedica-doctor-card--compact .omedica-doctor-card__content h3 {
	margin-block-start: 0;
}

.omedica-helper-cta,
.omedica-context-booking {
	align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--action) 5%, var(--wp--preset--color--background));
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	gap: var(--wp--preset--spacing--space-lg);
	justify-content: space-between;
	margin-block-start: var(--wp--preset--spacing--space-lg);
	padding: var(--wp--preset--spacing--space-lg);
}

.omedica-helper-cta h2,
.omedica-helper-cta p,
.omedica-context-booking h2,
.omedica-context-booking p {
	margin-block: 0;
}

.omedica-helper-cta p,
.omedica-context-booking p {
	margin-block-start: var(--wp--preset--spacing--space-xs);
}

.omedica-domain-hero {
	align-items: stretch;
	background: color-mix(in srgb, var(--wp--preset--color--action) 4%, var(--wp--preset--color--background));
	border-radius: var(--wp--custom--radius--lg);
	display: grid;
	gap: var(--wp--preset--spacing--space-lg);
	grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr);
	margin-block: var(--wp--preset--spacing--space-md);
	padding: var(--wp--preset--spacing--space-lg);
}

.omedica-domain-hero > div:first-child {
	align-self: center;
}

.omedica-eyebrow,
.omedica-service-price {
	color: var(--wp--preset--color--action);
	font-weight: 700;
}

.omedica-domain-hero h1 {
	font-size: calc((clamp(2rem, 3.25vw, 3rem)) * var(--omedica-scale-h1, 1));
	line-height: 1.08;
	overflow-wrap: anywhere;
}


.omedica-service-price {
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-hero-facts {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

.omedica-hero-facts small,
.omedica-hero-facts strong {
	display: block;
}

.omedica-hero-facts small {
	color: var(--wp--preset--color--text-muted);
}

.omedica-domain-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
	margin-block-start: var(--wp--preset--spacing--space-lg);
}

.omedica-domain-actions a {
	text-decoration: none;
}

.omedica-doctor-placeholder--hero,
.omedica-service-placeholder {
	aspect-ratio: 4 / 3;
	box-sizing: border-box;
	min-height: 22rem;
	min-width: 0;
	width: 100%;
}

.omedica-domain-split {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-domain-split > div,
.omedica-domain-surface,
.omedica-related-card,
.omedica-service-faq details {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	padding: var(--wp--preset--spacing--space-lg);
}

.omedica-anchor-nav {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	gap: var(--wp--preset--spacing--space-lg);
	margin-block: var(--wp--preset--spacing--space-md);
	overflow-x: auto;
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-anchor-nav a {
	color: inherit;
	flex: 0 0 auto;
	text-decoration: none;
}

.omedica-domain-surface,
.omedica-related-section,
.omedica-service-faq {
	margin-block-start: var(--wp--preset--spacing--space-md);
}

.omedica-price-list {
	display: grid;
}

.omedica-price-row {
	align-items: baseline;
	border-block-end: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	display: flex;
	gap: var(--wp--preset--spacing--space-md);
	justify-content: space-between;
	padding-block: var(--wp--preset--spacing--space-sm);
}

.omedica-price-row a:not(.wp-element-button) {
	color: var(--wp--preset--color--action);
}

.omedica-check-list {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	list-style: none;
	padding: 0;
}

.omedica-check-list li::before {
	color: var(--wp--preset--color--action);
	content: "✓";
	font-weight: 700;
	margin-inline-end: var(--wp--preset--spacing--space-xs);
}

.omedica-professional-grid,
.omedica-faq-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
}

.omedica-professional-grid details,
.omedica-service-faq details {
	background: var(--wp--preset--color--background);
}

.omedica-professional-grid summary,
.omedica-service-faq summary {
	cursor: pointer;
	font-weight: 700;
	min-height: var(--wp--custom--interaction--touch-target);
	padding: var(--wp--preset--spacing--space-sm);
}

.omedica-service-steps {
	display: grid;
	gap: var(--wp--preset--spacing--space-md);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	padding: 0;
}

.omedica-service-steps li {
	border-inline-start: 0.2rem solid var(--wp--preset--color--action);
	padding-inline-start: var(--wp--preset--spacing--space-sm);
}

.omedica-service-steps strong,
.omedica-service-steps span {
	display: block;
}

.omedica-service-steps span {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	margin-block-start: var(--wp--preset--spacing--space-xs);
}

.omedica-related-section header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-block-end: var(--wp--preset--spacing--space-sm);
}

.omedica-related-section header a {
	color: var(--wp--preset--color--action);
}

@media (max-width: 1023px) {
	.omedica-doctors-grid,
	.omedica-compact-doctors-grid,
	.omedica-related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.omedica-domain-hero {
		grid-template-columns: 1fr;
	}

	.omedica-doctor-placeholder--hero,
	.omedica-service-placeholder {
		min-height: 18rem;
	}

	.omedica-service-steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.omedica-domain-page {
		padding-block: var(--wp--preset--spacing--space-md);
	}

	.omedica-doctor-filters,
	.omedica-doctors-grid,
	.omedica-compact-doctors-grid,
	.omedica-related-grid,
	.omedica-domain-split,
	.omedica-service-steps {
		grid-template-columns: 1fr;
	}

	.omedica-doctor-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
	}

	.omedica-domain-hero {
		padding: var(--wp--preset--spacing--space-md);
	}

	.omedica-domain-hero h1 {
		font-size: calc((2rem) * var(--omedica-scale-h1, 1));
	}

	.omedica-hero-facts {
		grid-template-columns: 1fr;
	}

	.omedica-doctor-placeholder--hero,
	.omedica-service-placeholder {
		min-height: 14rem;
	}

	.omedica-helper-cta,
	.omedica-context-booking {
		align-items: stretch;
		flex-direction: column;
	}

	.omedica-doctor-card--compact .omedica-doctor-card__main {
		grid-template-columns: 5rem minmax(0, 1fr);
	}
}

.omedica-phone-selector--action .omedica-phone-selector__trigger {
	border-radius: var(--wp--custom--radius--pill);
	height: auto;
	min-height: var(--wp--custom--button--min-height);
	min-width: 0;
	padding: var(--wp--custom--button--padding-block) var(--wp--custom--button--padding-inline);
	width: auto;
}

.omedica-phone-selector--primary .omedica-phone-selector__trigger {
	background: var(--wp--preset--color--action);
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--background);
}

.omedica-phone-selector--outline .omedica-phone-selector__trigger {
	background: transparent;
	border-color: currentColor;
	color: var(--wp--preset--color--action);
}

.omedica-phone-selector--action .omedica-phone-selector__trigger > span:not(.dashicons-phone) {
	clip: auto;
	clip-path: none;
	height: auto;
	overflow: visible;
	position: static;
	white-space: nowrap;
	width: auto;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.omedica-footer-warning__text {
		clip: auto !important;
		clip-path: none !important;
		height: auto !important;
		overflow: visible !important;
		position: static !important;
		text-align: center;
		white-space: normal !important;
		width: auto !important;
	}

	.omedica-footer-marquee {
		display: none !important;
	}
}

/* Header System — canonical implementation. Earlier selectors remain as
 * compatibility rules for DB-owned legacy template parts. */
:root {
	--omedica-type-s: var(--wp--preset--font-size--small);
	--omedica-type-m: var(--wp--preset--font-size--medium);
	--omedica-type-l: var(--wp--preset--font-size--large);
	--omedica-header-control: var(--wp--custom--interaction--touch-target);
}

.omedica-header-system {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--text);
	font-size: var(--omedica-type-s);
	position: relative;
	z-index: 40;
}

.omedica-header-top {
	align-items: center;
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: minmax(7rem, auto) minmax(10rem, 1fr) auto auto var(--omedica-header-control) auto;
	box-sizing: border-box;
	max-width: var(--wp--style--global--wide-size);
	min-height: 5.25rem;
	padding-block: var(--wp--preset--spacing--space-md);
	width: 100%;
}

.omedica-header-top > *,
.omedica-header-bottom > *,
.omedica-header-phones .wp-block-buttons,
.omedica-header-cta,
.omedica-clinic-hours,
.omedica-phone-selector {
	margin: 0;
}

.omedica-header-brand {
	font-size: var(--omedica-type-l) !important;
	font-weight: 750;
	letter-spacing: 0.02em;
	line-height: 1;
	text-transform: uppercase;
}

.omedica-header-brand a {
	color: var(--wp--preset--color--action);
	text-decoration: none;
}

.omedica-header-address {
	color: var(--wp--preset--color--text-muted);
	line-height: 1.35;
}

.omedica-header-menu-toggle,
.omedica-icon-button,
.omedica-phone-selector__trigger,
.omedica-phone-selector__close,
.omedica-mobile-menu button {
	align-items: center;
	background: transparent;
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	justify-content: center;
	min-height: var(--omedica-header-control);
	min-width: var(--omedica-header-control);
	padding: 0;
}

.omedica-header-menu-toggle,
.omedica-icon-button,
.omedica-phone-selector__close,
.omedica-mobile-menu__header [data-mobile-menu-close] {
	background: var(--wp--preset--color--action);
	border-color: var(--wp--preset--color--action);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--background);
	height: var(--omedica-header-control);
	width: var(--omedica-header-control);
}

.omedica-header-menu-toggle:hover,
.omedica-icon-button:hover,
.omedica-phone-selector__close:hover,
.omedica-mobile-menu__header [data-mobile-menu-close]:hover {
	background: color-mix(in srgb, var(--wp--preset--color--action) 82%, var(--wp--preset--color--text));
	border-color: color-mix(in srgb, var(--wp--preset--color--action) 82%, var(--wp--preset--color--text));
}

.omedica-header-menu-toggle img,
.omedica-icon-button img {
	display: block;
	filter: brightness(0) invert(1);
	height: 1.25rem;
	width: 1.25rem;
}

.omedica-header-menu-toggle,
.omedica-header-phone-selector {
	display: none;
}

.omedica-header-phones,
.omedica-header-phones .wp-block-buttons {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--space-sm);
}

.omedica-header-phone .wp-block-button__link {
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--text);
	font-size: var(--omedica-type-s);
	font-weight: 650;
	min-height: var(--omedica-header-control);
	padding: var(--wp--preset--spacing--space-xs) 0;
	text-decoration: none;
	white-space: nowrap;
}

.omedica-header-cta .wp-block-button__link {
	border-radius: var(--wp--custom--radius--pill) !important;
	min-height: var(--omedica-header-control);
	padding-inline: var(--wp--preset--spacing--space-md);
	white-space: nowrap;
}

.omedica-header-bottom {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--sm);
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-block-end: var(--wp--preset--spacing--space-sm);
	box-sizing: border-box;
	max-width: var(--wp--style--global--wide-size);
	min-height: 3.5rem;
	padding: 0.25rem var(--wp--preset--spacing--space-sm);
	width: 100%;
}

.omedica-primary-navigation {
	min-width: 0;
}

.omedica-primary-navigation .wp-block-navigation__container {
	gap: 0;
}

.omedica-primary-navigation .wp-block-navigation-item__content {
	border-radius: var(--wp--custom--radius--sm);
	font-size: var(--omedica-type-s);
	min-height: var(--omedica-header-control);
	padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm);
	text-decoration: none;
}

.omedica-primary-navigation .wp-block-navigation-item__content:hover,
.omedica-primary-navigation .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--background);
}

.omedica-primary-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--shadow--card);
	min-width: 17rem !important;
	overflow: hidden;
	padding: var(--wp--preset--spacing--space-xs);
}

.omedica-primary-navigation .omedica-nav-secondary {
	display: none;
}

.omedica-header-mobile-data {
	display: none;
}

/* Clinic Hours: one data source, compact and full presentation variants. */
.omedica-clinic-hours {
	font-size: var(--omedica-type-s);
	position: relative;
	inline-size: fit-content;
	max-inline-size: 100%;
}

.omedica-clinic-hours > summary {
	align-items: center;
	border-radius: var(--wp--custom--radius--sm);
	cursor: pointer;
	display: flex;
	font-weight: 400;
	gap: var(--wp--preset--spacing--space-xs);
	list-style: none;
	min-height: var(--omedica-header-control);
	padding: var(--wp--preset--spacing--space-xs);
	white-space: normal;
}

.omedica-clinic-hours > summary::-webkit-details-marker {
	display: none;
}

.omedica-clinic-hours > summary .omedica-clinic-hours__chevron {
	margin-inline-start: auto;
	inline-size: var(--wp--preset--font-size--small);
	block-size: var(--wp--preset--font-size--small);
	flex-shrink: 0;
	background: currentColor;
	mask: url("assets/icons/chevron-down.svg") center / contain no-repeat;
	transition: transform var(--wp--custom--motion--fast) var(--wp--custom--motion--standard);
}

.omedica-clinic-hours[open] > summary .omedica-clinic-hours__chevron {
	transform: rotate(180deg);
}

.omedica-clinic-hours__dot {
	display: none;
}

.omedica-clinic-hours__panel {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--shadow--card);
	inline-size: max-content;
	max-inline-size: calc(100vw - 2 * var(--wp--preset--spacing--space-sm));
	padding: var(--wp--preset--spacing--space-sm);
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 45;
}

.omedica-clinic-hours__panel dl,
.omedica-clinic-hours__panel p {
	margin: 0;
}

.omedica-clinic-hours__panel dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: var(--wp--preset--spacing--space-sm);
	row-gap: var(--wp--preset--spacing--space-xs);
}
.omedica-clinic-hours__panel dl > div { display: contents; }
.omedica-clinic-hours__panel dt { font-weight: 400; white-space: nowrap; }
.omedica-clinic-hours-grid dt,
.omedica-footer-hours__row p:first-child,
.omedica-clinic-hours-inline strong { white-space: nowrap; }

.omedica-clinic-hours__panel dd {
	font-variant-numeric: tabular-nums;
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

.omedica-clinic-hours__note {
	color: var(--wp--preset--color--text-muted);
	padding-block-start: var(--wp--preset--spacing--space-xs);
}

/* Reusable phone dialog: modal on wide screens, bottom sheet on mobile. */
.omedica-phone-selector__trigger:where(:not(.omedica-icon-button)) {
	background: var(--wp--preset--color--surface);
	border-color: transparent;
	border-radius: var(--wp--custom--radius--pill);
	gap: var(--wp--preset--spacing--space-xs);
	padding-inline: var(--wp--preset--spacing--space-md);
}

.omedica-phone-selector__trigger .dashicons-phone,
.omedica-phone-icon {
	background-color: currentColor;
	display: inline-block;
	font-size: 0;
	height: 1.5rem;
	-webkit-mask: url("assets/icons/phone.svg") center / contain no-repeat;
	mask: url("assets/icons/phone.svg") center / contain no-repeat;
	width: 1.5rem;
}

.omedica-phone-selector__trigger .dashicons-phone::before {
	display: none;
}

.omedica-phone-selector__dialog {
	background: transparent;
	border: 0;
	max-width: none;
	padding: 0;
}

.omedica-phone-selector__dialog::backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--surface-strong) 55%, transparent);
}

.omedica-phone-selector__surface {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	box-shadow: var(--wp--custom--shadow--card);
	inline-size: min(26rem, calc(100vw - 2rem));
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-phone-selector__heading {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: space-between;
}

.omedica-phone-selector__heading h2 {
	font-size: calc((var(--omedica-type-m)) * var(--omedica-scale-h2, 1));
	margin: 0;
}

.omedica-phone-selector__surface ul,
.omedica-phone-selector__fallback {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	list-style: none;
	margin: var(--wp--preset--spacing--space-md) 0 0;
	padding: 0;
}

.omedica-phone-selector__surface a {
	align-items: center;
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--sm);
	display: flex;
	font-size: var(--omedica-type-m);
	font-weight: 650;
	justify-content: center;
	min-height: 3.5rem;
	padding: var(--wp--preset--spacing--space-sm);
	text-decoration: none;
}

/* Enhanced mobile navigation. Core Navigation remains the no-JS fallback. */
.omedica-mobile-menu[hidden] {
	display: none;
}

.omedica-mobile-menu {
	display: grid;
	grid-template-columns: minmax(0, 30rem) minmax(0, 1fr);
	inset: 0;
	position: fixed;
	z-index: 100000;
}

.omedica-mobile-menu__backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--surface-strong) 55%, transparent);
	grid-column: 1 / -1;
	grid-row: 1;
}

.omedica-mobile-menu__sheet {
	background: var(--wp--preset--color--background);
	box-shadow: var(--wp--custom--shadow--card);
	display: grid;
	grid-column: 1;
	grid-row: 1;
	grid-template-rows: auto minmax(0, 1fr);
	height: 100dvh;
	overflow: hidden;
}

.omedica-mobile-menu__header,
.omedica-mobile-menu__panel-header {
	align-items: center;
	border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	display: flex;
	gap: var(--wp--preset--spacing--space-sm);
	justify-content: space-between;
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-mobile-menu__header p,
.omedica-mobile-menu__panel-header h2 {
	font-size: calc((var(--omedica-type-m)) * var(--omedica-scale-h2, 1));
	font-weight: 700;
	margin: 0;
}

.omedica-mobile-menu__header {
	padding-inline: calc(var(--wp--preset--spacing--space-md) + var(--wp--preset--spacing--space-sm));
}

.omedica-mobile-menu__header p {
	color: var(--wp--preset--color--action);
	font-weight: 750;
	letter-spacing: 0.02em;
	line-height: 1;
	text-transform: uppercase;
}

.omedica-mobile-menu__header [data-mobile-menu-close] {
	border: 0;
}

.omedica-mobile-menu__header [data-mobile-menu-close]:focus-visible {
	outline-offset: 0;
}

.omedica-mobile-menu__views,
.omedica-mobile-menu__view {
	min-height: 0;
}

.omedica-mobile-menu__view {
	height: 100%;
	overflow-y: auto;
}

.omedica-mobile-menu__list {
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
	list-style: none;
	margin: 0;
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-mobile-menu__item {
	align-items: center;
	background: transparent;
	border: 0 !important;
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--preset--color--text);
	display: flex !important;
	font-size: var(--omedica-type-m) !important;
	font-weight: 400 !important;
	justify-content: space-between !important;
	min-height: 3.25rem;
	padding: var(--wp--preset--spacing--space-sm) !important;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.omedica-mobile-menu__item:hover,
.omedica-mobile-menu__item:focus-visible {
	background: var(--wp--preset--color--surface);
}

.omedica-mobile-menu__secondary:first-of-type {
	margin-block-start: 0;
}

.omedica-mobile-menu__secondary .omedica-mobile-menu__item {
	font-size: var(--omedica-type-m) !important;
	font-weight: 400 !important;
}

.omedica-mobile-menu__panel-header {
	justify-content: flex-start;
}

.omedica-mobile-menu__panel-header button {
	border: 0;
	font-size: var(--omedica-type-m);
	font-weight: 500;
	gap: var(--wp--preset--spacing--space-xs);
	justify-content: flex-start;
	padding-inline: var(--wp--preset--spacing--space-xs);
}

.omedica-mobile-menu__panel-header h2 {
	margin-inline-start: var(--wp--preset--spacing--space-xs);
}

.omedica-mobile-menu__clinic {
	display: grid !important;
	gap: var(--wp--preset--spacing--space-md);
	margin: 0 var(--wp--preset--spacing--space-md) var(--wp--preset--spacing--space-md);
	padding-block-start: 0;
}

.omedica-mobile-menu__clinic .wp-block-buttons,
.omedica-mobile-menu__clinic .wp-block-button,
.omedica-mobile-menu__clinic .wp-block-button__link {
	width: 100%;
}

.omedica-mobile-menu__clinic .omedica-mobile-menu-cta .wp-block-button__link {
	background: var(--wp--preset--color--action);
	border-radius: var(--wp--custom--radius--pill) !important;
	color: var(--wp--preset--color--background);
	font-weight: 650;
}

.omedica-mobile-quick-actions {
	display: none;
}

.omedica-mobile-menu-divider {
	border: 0;
	border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	margin: 0 !important;
	width: 100%;
}

.omedica-mobile-menu__clinic .omedica-mobile-phone-links {
	align-items: start;
	display: grid;
	gap: var(--wp--preset--spacing--space-xs);
}

.omedica-mobile-menu__clinic .omedica-mobile-phone-links .wp-block-button__link {
	background: transparent;
	border: 0;
	border-radius: 0 !important;
	color: var(--wp--preset--color--text);
	font-size: var(--omedica-type-s);
	font-weight: 650;
	justify-content: flex-start;
	min-height: var(--omedica-header-control);
	padding: var(--wp--preset--spacing--space-xs) 0;
	text-align: left;
}

.omedica-mobile-menu__clinic .omedica-footer-social {
	justify-content: flex-start;
}

.omedica-clinic-social-links ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
	list-style: none;
	margin: 0;
	padding: 0;
}

.omedica-clinic-social-links a {
	color: var(--wp--preset--color--action);
	font-weight: 650;
}

.omedica-menu-open {
	overflow: hidden;
}

@media (max-width: 1199px) {
	.omedica-header-top {
		gap: var(--wp--preset--spacing--space-xs);
		grid-template-columns: var(--omedica-header-control) minmax(7rem, 1fr) auto auto var(--omedica-header-control) auto;
		min-height: 4.5rem;
		padding-block: var(--wp--preset--spacing--space-sm);
	}

	.omedica-header-brand {
		font-size: var(--omedica-type-m) !important;
	}

	.omedica-header-menu-toggle,
	.omedica-header-phone-selector {
		display: inline-flex;
	}

	.omedica-header-address,
	.omedica-header-phones {
		display: none !important;
	}

	.omedica-header-bottom {
		grid-template-columns: var(--omedica-header-control) minmax(0, 1fr);
	}

	.omedica-header-system.is-enhanced .omedica-primary-navigation {
		display: none;
	}

	.omedica-header-system.is-enhanced .omedica-header-bottom {
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-header-system:not(.is-enhanced) .omedica-header-menu-toggle {
		display: none;
	}

	.omedica-header-system:not(.is-enhanced) .omedica-header-mobile-data {
		display: grid;
		gap: var(--wp--preset--spacing--space-sm);
		padding: var(--wp--preset--spacing--space-md);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
 .omedica-header-top > .omedica-header-menu-toggle {grid-column:1;grid-row:1;}
 .omedica-header-top > .omedica-header-brand {grid-column:2;grid-row:1;}
 .omedica-header-top > .omedica-header-hours {grid-column:3;grid-row:1;}
 .omedica-header-top > .omedica-header-phone-selector {grid-column:4;grid-row:1;}
 .omedica-header-top > .omedica-accessibility-trigger {grid-column:5;grid-row:1;}
 .omedica-header-top > .omedica-header-cta {grid-column:6;grid-row:1;}

	.omedica-header-bottom {
		background: var(--wp--preset--color--background);
		border-radius: 0;
		margin: 0;
		padding: 0 0 var(--wp--preset--spacing--space-sm);
	}

	.omedica-phone-selector__trigger {
		background: transparent;
		border-color: var(--wp--preset--color--action);
		border-radius: var(--wp--custom--radius--pill);
		color: var(--wp--preset--color--action);
		height: var(--omedica-header-control);
		padding: 0;
		width: var(--omedica-header-control);
	}

	.omedica-phone-selector__trigger > span:not(.dashicons-phone) {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}
}

@media (min-width: 768px) and (max-width: 899px) {
	.omedica-header-hours { display: none; }
 .omedica-header-top > .omedica-header-phone-selector {grid-column:3;}
 .omedica-header-top > .omedica-accessibility-trigger {grid-column:4;}
 .omedica-header-top > .omedica-header-cta {grid-column:5;}
	.omedica-header-top { grid-template-columns: var(--omedica-header-control) minmax(7rem,1fr) var(--omedica-header-control) var(--omedica-header-control) auto; }
}

@media (min-width: 1200px) {
	.omedica-header-top,
	.omedica-header-bottom {
		margin-inline: auto !important;
		max-width: var(--wp--style--global--wide-size) !important;
		width: 100% !important;
	}

	.omedica-primary-navigation .wp-block-navigation__submenu-icon svg {
		visibility: hidden;
	}

	.omedica-header-top {
		grid-template-columns: auto minmax(max-content, 1fr) auto auto var(--omedica-header-control) auto;
	}

	.omedica-header-address {
		white-space: nowrap;
	}

	.omedica-header-bottom {
		background: var(--wp--preset--color--action);
		border-radius: var(--wp--custom--radius--md);
	}

	.omedica-primary-navigation > .wp-block-navigation__responsive-container > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		color: var(--wp--preset--color--background);
	}

	.omedica-primary-navigation > .wp-block-navigation__responsive-container > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
	.omedica-primary-navigation > .wp-block-navigation__responsive-container > .wp-block-navigation__responsive-close > .wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-content > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible {
		background: color-mix(in srgb, var(--wp--preset--color--background) 16%, transparent);
	}

}

@media (max-width: 767px) {
	body {
		padding-block-end: calc(4.5rem + env(safe-area-inset-bottom));
	}

	.omedica-mobile-quick-actions {
		align-items: center;
		background: var(--wp--preset--color--background);
		border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
		bottom: 0;
		display: grid;
		grid-template-columns: 1fr 1fr 2fr;
		left: 0;
		min-height: 4.5rem;
		padding: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm) calc(var(--wp--preset--spacing--space-xs) + env(safe-area-inset-bottom));
		position: fixed;
		right: 0;
		z-index: 90;
	}

	.omedica-mobile-quick-actions :where(button, a) {
		align-items: center;
		border: 0;
		border-radius: var(--wp--custom--radius--pill);
		box-sizing: border-box;
		cursor: pointer;
		display: inline-flex;
		font-family: inherit;
		font-size: var(--omedica-type-s);
		font-weight: 400;
		gap: 0;
		justify-content: center;
		min-height: var(--omedica-header-control);
		padding-inline: 0;
		text-decoration: none;
		white-space: nowrap;
	}

	.omedica-mobile-quick-actions__secondary {
		background: transparent;
		border-radius: 0 !important;
		color: var(--wp--preset--color--text);
		height: 100%;
		width: 100%;
	}

	.omedica-mobile-quick-actions__primary {
		background: var(--wp--preset--color--action);
		color: var(--wp--preset--color--background);
		font-weight: 600 !important;
		padding-inline: var(--wp--preset--spacing--space-md) !important;
		width: 100%;
	}

	.omedica-mobile-quick-actions svg,
	.omedica-mobile-quick-actions .omedica-phone-icon {
		height: 1.5rem;
		width: 1.5rem;
	}

	.omedica-mobile-quick-actions :where(button, a):hover {
		filter: brightness(0.97);
	}

	.omedica-mobile-quick-actions :where(button, a):focus-visible {
		outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action);
		outline-offset: var(--wp--custom--focus--offset);
	}

	body.omedica-menu-open .omedica-mobile-quick-actions,
	body:has(.omedica-phone-selector__dialog[open]) .omedica-mobile-quick-actions{
		display: none;
	}

	.omedica-header-phone-selector:has(.omedica-phone-selector__dialog[open]) {
		display: contents !important;
	}

	.omedica-header-phone-selector:has(.omedica-phone-selector__dialog[open]) > [data-phone-selector-trigger] {
		display: none;
	}

	.omedica-header-top {
		grid-template-columns: var(--omedica-header-control) minmax(0, 1fr) var(--omedica-header-control);
		padding-block: var(--wp--preset--spacing--space-xs);
	}

	.omedica-header-brand {
		grid-column: 2;
		grid-row: 1;
		justify-self: center;
	}

	.omedica-header-menu-toggle {
		grid-column: 1;
		grid-row: 1;
	}

	.omedica-accessibility-trigger {
		grid-column: 3;
		grid-row: 1;
	}

	.omedica-header-hours,
	.omedica-header-phone-selector,
	.omedica-header-cta {
		display: none !important;
	}

	.omedica-header-bottom {
		background: var(--wp--preset--color--background);
		border-radius: 0;
		margin: 0;
		padding: 0 0 var(--wp--preset--spacing--space-sm);
	}

	.omedica-mobile-menu {
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-mobile-menu__sheet {
		grid-column: 1;
	}

	.omedica-phone-selector__dialog {
		margin: auto 0 0;
		max-height: calc(100dvh - var(--wp--preset--spacing--space-md));
		width: 100%;
	}

	.omedica-phone-selector__surface {
		border-radius: var(--wp--custom--radius--sm) var(--wp--custom--radius--sm) 0 0;
		inline-size: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.omedica-clinic-hours > summary .omedica-clinic-hours__chevron {
		transition: none;
	}
}

@media (forced-colors: active) {
	.omedica-header-system,
	.omedica-mobile-menu__sheet,
	.omedica-phone-selector__surface,
	.omedica-clinic-hours__panel {
		background: Canvas;
		border-color: CanvasText;
		color: CanvasText;
	}

	.omedica-clinic-hours__dot {
		background: CanvasText;
	}
}

@media (min-width: 768px) {
	.wp-block-columns.omedica-contacts-layout,
	.wp-block-columns.omedica-contacts-directions-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.wp-block-columns.omedica-contacts-layout,
	.wp-block-columns.omedica-contacts-directions-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.omedica-contacts-actions > :is(.omedica-route-button, .wp-block-button:first-child) {
		flex: 0 0 auto;
		max-width: 100%;
		width: 100%;
	}

	.omedica-contacts-actions > :is(.omedica-route-button, .wp-block-button:first-child) > .wp-block-button__link {
		align-items: center;
		display: inline-flex;
		flex: 0 0 auto;
		justify-content: center;
		min-height: calc(var(--wp--custom--interaction--touch-target) + var(--wp--preset--spacing--space-sm));
		padding: calc(var(--wp--custom--button--padding-block) + var(--wp--preset--spacing--space-xs)) var(--wp--preset--spacing--space-md);
		text-align: center;
		width: 100%;
	}

	.omedica-contacts-actions .omedica-contacts-appointment {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 1279px) {
	.omedica-services-toolbar .omedica-service-search {
		flex: 0 1 clamp(13.75rem, 24vw, 17.5rem);
		margin-inline-start: auto;
	}

	.omedica-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.omedica-services-toolbar {
		align-items: stretch;
		flex-direction: column;
		gap: var(--wp--preset--spacing--space-sm);
	}

	.omedica-services-filters {
		contain: none;
		flex-wrap: wrap;
		overflow: visible;
		overscroll-behavior-inline: auto;
		padding-block-end: var(--wp--preset--spacing--space-xs);
		scrollbar-width: none;
		touch-action: auto;
		width: 100%;
	}

	.omedica-services-filters::-webkit-scrollbar {
		display: none;
	}

	.omedica-services-filters > button {
		flex: 0 0 auto;
	}

	.omedica-services-toolbar .omedica-service-search {
		flex: 0 0 auto;
		max-width: none;
		width: 100%;
	}

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

	.omedica-service-card__actions {
		flex-wrap: wrap !important;
	}

	.omedica-services-help {
		align-items: flex-start;
		flex-direction: column;
		padding: var(--wp--custom--spacing--block);
	}
}

/* Client-approved legal integrations. */
.omedica-consent a,
.omedica-footer-legal-links a {
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

.omedica-cookie-notice {
	background: var(--wp--preset--color--background, #fff);
	border: 1px solid var(--wp--preset--color--border, #dfe3eb);
	border-radius: var(--wp--custom--radius--md);
	bottom: clamp(0.75rem, 2vw, 1.5rem);
	box-shadow: none;
	box-sizing: border-box;
	color: var(--wp--preset--color--text, #17131f);
	left: 50%;
	max-height: calc(100dvh - 3rem);
	max-width: min(56rem, calc(100vw - 1.5rem));
	overflow: auto;
	padding: var(--space-md);
	position: fixed;
	transform: translateX(-50%);
	width: 100%;
	z-index: 100000;
}

.omedica-cookie-notice[hidden] {
	display: none;
}

.omedica-cookie-notice__content {
	align-items: start;
	display: grid;
	gap: var(--space-lg);
	grid-template-columns: minmax(0, 1fr) auto;
}

.omedica-cookie-notice__copy {
	display: grid;
	gap: var(--space-sm);
}

.omedica-cookie-notice p {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.5;
	margin: 0;
}

.omedica-cookie-notice details {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.omedica-cookie-notice summary {
	cursor: pointer;
	font-weight: 600;
}

.omedica-cookie-notice details > div {
	margin-block-start: var(--space-sm);
}

.omedica-cookie-notice__link {
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	width: fit-content;
}

.omedica-cookie-notice .wp-element-button {
	min-height: 44px;
	white-space: nowrap;
}

.omedica-single-document :is(h1, h2, h3) {
	overflow-wrap: anywhere;
}

@media (max-width: 600px) {
	.omedica-cookie-notice {
		bottom: 0.5rem;
		max-height: calc(100dvh - 1rem);
		max-width: calc(100vw - 1rem);
	}

	.omedica-cookie-notice__content {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.omedica-cookie-notice .wp-element-button {
		width: 100%;
	}
}

/* Articles use WordPress Posts and categories; no card content is stored in the theme. */
.omedica-articles-discovery {
	display: grid;
	gap: var(--wp--preset--spacing--space-sm);
	margin-block: var(--wp--preset--spacing--space-lg);
}

.omedica-articles-discovery .omedica-search-control {
	box-sizing: border-box;
	min-height: var(--wp--custom--interaction--touch-target);
	width: 100%;
}

.omedica-article-categories {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--space-sm);
}

.omedica-article-categories button {
	background: var(--wp--preset--color--surface);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	min-height: var(--wp--custom--interaction--touch-target);
	padding: var(--wp--custom--button--padding-block) var(--wp--custom--button--padding-inline);
}

.omedica-article-categories button[aria-pressed="true"] {
	background: var(--wp--preset--color--action);
	border-color: var(--wp--preset--color--action);
	color: var(--wp--preset--color--background);
}

.omedica-article-categories small {
	font: inherit;
	opacity: 0.75;
}

.omedica-articles-count {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
	margin: 0;
}

.omedica-articles-grid {
	display: grid;
	gap: var(--wp--preset--spacing--space-lg);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.omedica-article-card {
	background: var(--wp--preset--color--background);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--md);
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.omedica-article-card[hidden] {
	display: none;
}

.omedica-article-card__media {
	display: block;
	overflow: hidden;
}

.omedica-article-card__media img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.omedica-article-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: var(--wp--preset--spacing--space-sm);
	padding: var(--wp--preset--spacing--space-md);
}

.omedica-article-card__body :where(h2, p) {
	margin: 0;
}

.omedica-article-card h2,
.omedica-article-card h2 a {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.3;
	color: var(--wp--preset--color--text);
	overflow-wrap: anywhere;
	text-decoration: none;
}

.omedica-article-card__categories,
.omedica-article-card__meta {
	color: var(--wp--preset--color--text-muted);
	font-size: var(--wp--preset--font-size--small);
}

.omedica-article-card__link {
	align-self: flex-start;
	color: var(--wp--preset--color--action);
	font-weight: 600;
	margin-block-start: auto;
}

.omedica-articles-empty {
	background: var(--wp--preset--color--surface);
	border-radius: var(--wp--custom--radius--md);
	margin-block-start: var(--wp--preset--spacing--space-lg);
	padding: var(--wp--preset--spacing--space-xl);
	text-align: center;
}

.omedica-articles-empty[hidden] {
	display: none;
}

.omedica-articles-empty :where(h2, p) {
	margin-block: 0 var(--wp--preset--spacing--space-sm);
}

.omedica-single-article {
	margin-inline: auto;
	max-width: var(--wp--style--global--content-size);
	overflow-wrap: anywhere;
	padding-block: var(--wp--custom--spacing--section);
}

@media (min-width: 768px) and (max-width: 1023px) {
	.omedica-articles-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.omedica-article-categories {
		contain: inline-size layout paint;
		flex-wrap: nowrap;
		overflow-x: auto;
		overscroll-behavior-inline: contain;
		padding-block-end: var(--wp--preset--spacing--space-xs);
		scrollbar-width: none;
	}

	.omedica-article-categories::-webkit-scrollbar {
		display: none;
	}

	.omedica-article-categories button {
		flex: 0 0 auto;
	}

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

	.omedica-article-card__body {
		padding: var(--wp--preset--spacing--space-md);
	}
}

/* Direction editorial compositions and the shared native price controls. */
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) :is(input.omedica-search-control, select.omedica-search-control) {
 appearance: auto; box-sizing: border-box; width: 100%; min-height: 3rem;
 border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
 border-radius: var(--wp--custom--radius--pill, 999px);
 background: var(--wp--preset--color--background); color: var(--wp--preset--color--text);
 font: inherit; line-height: 1.4; padding: var(--space-xs) var(--control-gap);
}
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) :is(input,select).omedica-search-control:hover { border-color: var(--wp--preset--color--action); }
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) :is(input,select).omedica-search-control:focus-visible { outline: 3px solid var(--wp--preset--color--action); outline-offset: 3px; }
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) :is(input,select).omedica-search-control:disabled { opacity: .6; cursor: not-allowed; }
.omedica-full-prices .omedica-services-toolbar { align-items: end; }
.omedica-full-prices .omedica-services-toolbar > p { margin: 0; }
.omedica-direction-photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--wp--custom--radius--md); }
.omedica-direction-media { width: 100%; min-width: 0; }
.omedica-direction-editorial > * { margin-block-start: var(--wp--preset--spacing--space-md); }
.omedica-direction-editorial .omedica-domain-surface > :first-child { margin-top: 0; }
.omedica-direction-editorial :is(p,li) { overflow-wrap: anywhere; }
.omedica-editorial-notice { border-inline-start: .3rem solid var(--wp--preset--color--action); background: var(--wp--preset--color--surface); }
.omedica-direction-reviews { align-items: start; grid-template-columns: repeat(auto-fit,minmax(min(100%,18rem),1fr)); }
.omedica-direction-reviews > .omedica-review-card { align-self: start; height: auto; }
.omedica-direction-reviews .wp-block-quote { border: 0; margin: 0; padding: 0; }
.omedica-preparation-section { margin-block-start: var(--wp--preset--spacing--space-lg); }
.omedica-preparation-section > .wp-block-heading { margin-block-end: var(--wp--preset--spacing--space-md); }
.omedica-preparation { align-items: flex-start; }
.omedica-preparation > .wp-block-column { align-self: flex-start; }
.omedica-preparation > .wp-block-column:last-child { display: flex; justify-content: center; }
.omedica-media-grid { align-items: start; display: grid; gap: var(--wp--preset--spacing--space-md); grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); }
.omedica-media-grid > * { margin-block-start: 0; }
.omedica-media-item { align-self: start; }
.omedica-media-placeholder { box-sizing: border-box; display: grid; place-items: center; aspect-ratio: 16 / 9; width: 100%; min-height: 0; padding: var(--wp--preset--spacing--space-md); background: var(--wp--preset--color--surface); border: var(--wp--custom--border--width) solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--md); color: var(--wp--preset--color--text-muted); text-align: center; }
.omedica-media-placeholder.is-portrait { aspect-ratio: 9 / 16; max-width: 18rem; margin-inline: auto; }
.omedica-media-placeholder > p { margin: 0; }

@media (min-width: 821px) {
	.omedica-media-grid:has(> .is-portrait):has(> .is-landscape) { grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr); }
	.omedica-media-grid:has(> .is-portrait):has(> .is-landscape) > .is-portrait { grid-row: span 2; }
	.omedica-media-grid:has(> .is-portrait):has(> .is-landscape) > .is-portrait:first-child { max-width: none; }
}

.omedica-direction-editorial .wp-block-table { overflow-x: auto; }
.omedica-direction-media .omedica-service-placeholder { min-height: 0; aspect-ratio: 4 / 3; }

@media (min-width: 821px) and (max-width: 1024px) {
	.omedica-preparation > .wp-block-column { flex-basis: calc(50% - var(--wp--preset--spacing--space-sm)) !important; }
	.omedica-preparation .omedica-media-placeholder.is-portrait { max-width: 18rem; }
}

@media (max-width: 820px) {
	.omedica-preparation { flex-wrap: wrap !important; }
	.omedica-preparation > .wp-block-column { flex-basis: 100% !important; }
	.omedica-preparation .omedica-media-placeholder.is-portrait { max-width: 18rem; }
}

@media (max-width: 480px) {
	.omedica-preparation .omedica-media-placeholder.is-portrait { max-width: 14rem; }
}

@media (max-width: 767px) {
	.omedica-cookie-notice:not([hidden]) {
		bottom: calc(4.5rem + env(safe-area-inset-bottom) + 0.75rem);
		max-height: calc(100dvh - 6rem - env(safe-area-inset-bottom));
	}

	.omedica-reviews-grid:has(> .omedica-review-card:nth-child(2)),
	.omedica-media-grid:has(> .omedica-media-item:nth-child(2)) {
		display: flex;
		overflow-x: auto;
		overflow-y: visible;
		overscroll-behavior-inline: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.omedica-reviews-grid:has(> .omedica-review-card:nth-child(2))::-webkit-scrollbar,
	.omedica-media-grid:has(> .omedica-media-item:nth-child(2))::-webkit-scrollbar {
		display: none;
	}

	.omedica-reviews-grid:has(> .omedica-review-card:nth-child(2)) > .omedica-review-card,
	.omedica-media-grid:has(> .omedica-media-item:nth-child(2)) > .omedica-media-item {
		flex: 0 0 88%;
		margin: 0;
		scroll-snap-align: start;
	}

	.omedica-media-grid:has(> .omedica-media-item:nth-child(2)) > .is-portrait {
		flex-basis: 14rem;
		max-width: 14rem;
	}
}

/* Task 2A: one portrait contract for the existing Doctor component and native image. */
.omedica-doctor-placeholder,
.omedica-doctor-image,
.omedica-doctor-card--compact .omedica-doctor-placeholder,
.omedica-doctor-placeholder--hero {
 aspect-ratio: 3 / 4;
 height: auto;
 min-height: 0;
 align-self: start;
 flex-shrink: 0;
 width: 100%;
 object-fit: cover;
}
.omedica-doctor-placeholder--hero { max-width: 24rem; justify-self: center; }
.omedica-doctor-card__details { margin-top: auto; padding-top: var(--wp--preset--spacing--space-sm); text-decoration: underline; }
.omedica-doctors-archive .omedica-doctor-filters { grid-template-columns: minmax(0, 1fr); }
.omedica-doctors-archive .omedica-doctor-filters .omedica-form-field { grid-column: auto; }
.omedica-single-doctor .omedica-price-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--wp--preset--spacing--space-sm); align-items: center; }
.omedica-single-doctor .omedica-price-row > a:first-child { min-width: 0; overflow-wrap: anywhere; }
/* Imported biographies include bare URLs that must reflow within the content surface. */
.omedica-single-doctor #about :is(p, li) { overflow-wrap: anywhere; }

/* Task 2A.1: source-backed role/specialty hierarchy and typed booking actions. */
.omedica-doctor-card__role,
.omedica-doctor-hero__role {
	color: var(--wp--preset--color--action);
	font-weight: 700;
}
.omedica-doctor-card__role p,
.omedica-doctor-hero__role p { margin-block: var(--space-xs); }
.omedica-doctor-specialties {
	display: grid;
	gap: var(--space-xs);
	list-style: none;
	margin-block: var(--wp--preset--spacing--space-xs) 0;
	padding: 0;
}
.omedica-doctor-specialties li { margin: 0; }
.omedica-doctor-card__credentials,
.omedica-doctor-credentials {
	color: var(--wp--preset--color--text-muted);
	margin-block-start: var(--wp--preset--spacing--space-sm);
}
.omedica-doctor-card__credentials p,
.omedica-doctor-credentials p { margin-block: var(--space-xs); }
.omedica-doctor-hero { grid-template-columns: minmax(0, 1fr) minmax(24rem, 1fr); }
.omedica-doctor-placeholder--hero,
.omedica-doctor-hero .omedica-doctor-image { max-width: 30rem; }
.omedica-price-row:has(.omedica-price-booking) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
}
.omedica-price-booking {
	min-height: var(--wp--custom--button--min-height);
	text-decoration: none;
}
@media (max-width: 1023px) {
	.omedica-doctor-hero { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
	.omedica-doctors-archive .omedica-doctor-filters { grid-template-columns: minmax(0, 1fr); }
	.omedica-single-doctor .omedica-price-row { grid-template-columns: minmax(0, 1fr) auto; }
	.omedica-single-doctor .omedica-price-row > a:first-child { grid-column: 1 / -1; }
	.omedica-footer-warning__text {
		clip: auto !important;
		clip-path: none !important;
		height: auto !important;
		overflow: visible !important;
		position: static !important;
		text-align: center;
		white-space: normal !important;
		width: auto !important;
	}
	.omedica-footer-marquee { display: none !important; }
	.omedica-doctor-placeholder--hero,
	.omedica-doctor-hero .omedica-doctor-image { max-width: 20rem; }
	.omedica-price-row:has(.omedica-price-booking) { grid-template-columns: minmax(0, 1fr) auto; }
	.omedica-price-row:has(.omedica-price-booking) .omedica-price-name { grid-column: 1 / -1; }
}

/* Client data pass: existing controls and parent program variants. */
.omedica-complex-variants { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--wp--preset--spacing--space-lg); }
.omedica-complex-variants > article { min-width: 0; margin: 0; }
.omedica-full-prices .omedica-services-toolbar > p { flex: 1 1 16rem; min-width: 0; margin: 0; }
@media (max-width: 767px) { .omedica-full-prices .omedica-services-toolbar > p { flex: 0 0 auto; width: 100%; } }
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) .omedica-search-control { font: inherit; box-sizing: border-box; height: var(--wp--custom--button--min-height); }
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) select.omedica-search-control {
 appearance: none; padding-inline-end: var(--wp--preset--spacing--space-xl);
 background-image: url("assets/icons/chevron-down.svg"); background-repeat: no-repeat;
 background-position: right var(--wp--preset--spacing--space-md) center; background-size: 1rem;
}
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) .omedica-search-control:hover { border-color: var(--wp--preset--color--text-muted); }
:is(.omedica-full-prices, .omedica-doctor-filters, .omedica-booking-ui, .omedica-contact-methods) .omedica-search-control:focus-visible { outline: var(--wp--custom--focus--width, 2px) solid var(--wp--preset--color--action); outline-offset: 2px; }
@media (min-width: 1025px) {
 .omedica-header-phones .wp-block-buttons { flex-direction: column; align-items: flex-start; gap: 0; }
 .omedica-header-phones .omedica-header-phone { display: block; }
 .omedica-header-phone .wp-block-button__link { min-height: 0; padding-block: 0; line-height: 1.65; }
}
@media (max-width: 767px) { .omedica-complex-variants { grid-template-columns: minmax(0,1fr); } }
.omedica-doctors-grid, .omedica-compact-doctors-grid { align-items: stretch; }
.omedica-doctor-card--compact { padding: var(--wp--preset--spacing--space-md); }
.omedica-doctor-card--compact .omedica-doctor-card__main { display: flex; flex-direction: column; gap: 0; }
.omedica-doctor-card .omedica-doctor-card__main > :is(.omedica-doctor-placeholder,.omedica-doctor-image) { box-sizing: border-box; width: 100%; aspect-ratio: 3 / 4; height: auto; max-width: none; object-fit: cover; }
.omedica-doctor-card--compact .omedica-doctor-card__content h3 { margin-block-start: var(--wp--preset--spacing--space-sm); }
.omedica-doctor-card__content { min-width: 0; }
.omedica-doctor-card__content :is(h3,li,p) { overflow-wrap: anywhere; }
.omedica-doctor-card__relation-role { color: var(--wp--preset--color--action); font-weight: 600; }
.omedica-complex-variants > article { display: flex; flex-direction: column; }
.omedica-complex-variants > article > .wp-element-button { margin-top: auto; align-self: flex-start; }
@media (max-width: 1024px) { .omedica-complex-variants { grid-template-columns: minmax(0,1fr); } }

/* Shared booking rendering; only the dialog shell differs from /zapis/. */
.omedica-booking-dialog {
 box-sizing: border-box;
 width: min(50rem, calc(100% - 2 * var(--wp--preset--spacing--space-md)));
 max-width: none;
 max-height: calc(100dvh - 2 * var(--wp--preset--spacing--space-md));
 padding: 0;
 border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
 border-radius: var(--wp--custom--radius--md);
 background: var(--wp--preset--color--background);
 color: var(--wp--preset--color--text);
 font-family: inherit;
 overflow: hidden;
}
.omedica-booking-dialog[open] { display: flex; flex-direction: column; }
.omedica-booking-dialog::backdrop { background: color-mix(in srgb, var(--wp--preset--color--text) 55%, transparent); }
.omedica-booking-dialog__header {
 display: flex; align-items: center; justify-content: space-between;
 gap: var(--wp--preset--spacing--space-sm); flex-shrink: 0;
 padding: var(--wp--preset--spacing--space-md);
 border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
}
.omedica-booking-dialog__header h2 { font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h2, 1)); margin: 0; }
.omedica-booking-dialog__close { flex-shrink: 0; font-size: 1.5rem; }
.omedica-booking-dialog__body { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: var(--wp--preset--spacing--space-md); }
.omedica-booking-dialog__body > .omedica-demo-note { margin-block: 0 var(--wp--preset--spacing--space-sm) !important; }
.omedica-booking-dialog .omedica-booking-ui { border: 0; padding: 0; background: transparent; }
.omedica-booking-ui [hidden] { display: none !important; }
.omedica-booking-ui :where(button, dd, p, h2, a) { overflow-wrap: anywhere; }
.omedica-booking-ui .omedica-date-strip { grid-auto-flow: row; grid-auto-columns: auto; contain: none; grid-template-columns: repeat(auto-fit, minmax(3.5rem, 1fr)); overflow: visible; }
.omedica-booking-ui .omedica-time-slots { grid-template-columns: repeat(auto-fit, minmax(4.75rem, 1fr)); }
.omedica-booking-ui :is(.omedica-date-strip, .omedica-time-slots) label:has(input:focus-visible) { outline: var(--wp--custom--focus--width, 3px) solid var(--wp--preset--color--action); outline-offset: 2px; }
.omedica-booking-ui :is(.omedica-date-strip, .omedica-time-slots) label:has(input:disabled) { opacity: .5; }
.omedica-booking-ui .omedica-form-state:not(:empty), .omedica-booking-ui [data-booking-assistance-link] { margin-block: var(--wp--preset--spacing--space-sm); }
@media (max-width: 600px) {
 .omedica-booking-dialog { width: calc(100% - var(--wp--preset--spacing--space-sm)); max-height: calc(100dvh - var(--wp--preset--spacing--space-sm)); }
 .omedica-booking-dialog__header, .omedica-booking-dialog__body { padding: var(--wp--preset--spacing--space-sm); }
 .omedica-booking-ui .omedica-booking-entry__grid { grid-template-columns: 1fr; }
 .omedica-booking-ui .omedica-booking-summary { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
}

/* Booking catalogue correction: shared page/dialog presentation, existing tokens. */
.omedica-booking-page { padding-block: var(--wp--preset--spacing--space-xl); }
.omedica-booking-page .omedica-booking-page__intro { max-width: 60rem !important; margin-inline: auto; padding-block-end: var(--wp--preset--spacing--space-lg); }
.omedica-booking-page .omedica-booking-page__intro h1 { font-size: calc((clamp(2rem, 4vw, 3rem)) * var(--omedica-scale-h1, 1)); line-height: 1.15; }
.omedica-booking-page .omedica-booking-section { max-width: 60rem !important; margin-inline: auto; padding-block: 0 var(--wp--preset--spacing--space-xl); }
.omedica-booking-ui { background: var(--wp--preset--color--background); }
.omedica-booking-ui > .omedica-demo-note { margin-block: 0 var(--wp--preset--spacing--space-md) !important; }
.omedica-booking-ui .omedica-booking-entry__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--control-gap); }
.omedica-booking-ui .omedica-booking-entry-card { min-height: 5rem; border-radius: var(--wp--custom--radius--sm); }
.omedica-booking-ui .omedica-booking-step { max-width: none; }
.omedica-booking-page .omedica-booking-step:is([data-booking-step="service"], [data-booking-step="doctor"], [data-booking-step="analysis"], [data-booking-step="complex"]) > h2 {
	padding-block-end: var(--wp--preset--spacing--space-xs);
}
.omedica-booking-ui .omedica-booking-search { max-width: none; width: 100%; box-sizing: border-box; }
.omedica-booking-ui .omedica-booking-caption { display: none; }
.omedica-booking-category { display: grid; gap: var(--wp--preset--spacing--space-xs); margin-block: var(--wp--preset--spacing--space-sm); color: var(--wp--preset--color--text-muted); font-size: .875rem; }
.omedica-booking-ui .omedica-booking-category select { color: var(--wp--preset--color--text); }
.omedica-booking-ui :is(.omedica-booking-service-list,.omedica-booking-catalog-list) { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; margin-block: var(--wp--preset--spacing--space-md); max-height: 32rem; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--sm); }
.omedica-booking-ui .omedica-booking-option { display: flex; justify-content: space-between; align-items: center; gap: var(--stack-gap); width: 100%; box-sizing: border-box; min-height: var(--wp--custom--interaction--touch-target); text-align: left; font: inherit; line-height: 1.45; background: var(--wp--preset--color--background); color: var(--wp--preset--color--text); border: 0; border-bottom: 1px solid var(--wp--preset--color--border); border-radius: 0; padding: var(--wp--preset--spacing--space-sm) var(--wp--preset--spacing--space-md); cursor: pointer; }
.omedica-booking-ui .omedica-booking-option:last-child { border-bottom: 0; }
.omedica-booking-ui .omedica-booking-option:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--action); }
.omedica-booking-ui .omedica-booking-option:focus-visible { outline-offset: -3px; background: var(--wp--preset--color--surface); }
.omedica-booking-ui .omedica-booking-option > [aria-hidden] { color: var(--wp--preset--color--action); flex-shrink: 0; }
.omedica-booking-ui .omedica-booking-doctor-list { grid-template-columns: repeat(2,minmax(0,1fr)); max-height: 32rem; overflow-y: auto; }
.omedica-booking-ui .omedica-booking-doctor-card:not(.is-any) { grid-template-columns: 4.5rem minmax(0,1fr) 1.25rem; padding: var(--wp--preset--spacing--space-sm); min-height: 5rem; align-items: center; }
.omedica-booking-ui .omedica-booking-doctor-card img { width: 4.5rem; height: 6rem; aspect-ratio: 3 / 4; align-self: center; }
.omedica-booking-ui .omedica-booking-doctor-card > span:nth-child(2) { min-width: 0; display: grid; gap: var(--wp--preset--spacing--space-xs); overflow-wrap: anywhere; }
.omedica-booking-ui .omedica-booking-doctor-card small { margin: 0; overflow-wrap: normal; word-break: normal; }
.omedica-booking-ui .omedica-booking-doctor-card > .dashicons:last-child { justify-self: end; align-self: center; }
.omedica-booking-catalog-search { margin-block: var(--wp--preset--spacing--space-md); }
.omedica-booking-catalog-search > div { display: flex; gap: var(--wp--preset--spacing--space-xs); margin-block-start: var(--wp--preset--spacing--space-xs); }
.omedica-booking-catalog-search input { min-width: 0; flex: 1; }
.omedica-booking-category-tree { border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--sm); padding: var(--wp--preset--spacing--space-sm); margin-block: var(--wp--preset--spacing--space-sm); }
.omedica-booking-category-tree > div { max-height: 20rem; overflow: auto; }
.omedica-booking-category-tree :is(summary,button) { cursor: pointer; min-height: var(--wp--custom--interaction--touch-target); padding: var(--wp--preset--spacing--space-xs); box-sizing: border-box; }
.omedica-booking-category-tree button { display: block; width: 100%; text-align: left; background: transparent; border: 0; font: inherit; color: var(--wp--preset--color--action); }
.omedica-booking-category-tree details { padding:0; }
.omedica-booking-category-children {margin-inline-start: var(--stack-gap);padding-inline-start: var(--space-xs);border-inline-start:1px solid var(--wp--preset--color--border);}
.omedica-booking-category-tree :is(summary,button) {border-radius:var(--wp--custom--radius--sm);color:var(--wp--preset--color--text);text-decoration:none;}
.omedica-booking-category-tree summary {display:list-item;list-style:disclosure-closed inside;}
.omedica-booking-category-tree details[open] > summary,.omedica-booking-category-tree[open] > summary {list-style-type:disclosure-open;}
.omedica-booking-category-tree summary::after {content:none;}
.omedica-booking-category-tree summary::-webkit-details-marker {display:inline;}
.omedica-booking-category-tree button:is(:hover,[aria-current="true"]) {color:var(--wp--preset--color--action);background:var(--wp--preset--color--surface);}
.omedica-booking-category-tree button[aria-current="true"] {font-weight:700;box-shadow:inset 3px 0 var(--wp--preset--color--action);}
.omedica-booking-category-tree :is(summary,button):focus-visible {outline:2px solid var(--wp--preset--color--action);outline-offset:-3px;}
html[data-omedica-input="pointer"] .omedica-booking-category-tree :is(summary,button):focus {outline:none;}

.omedica-booking-ui [data-booking-analysis-items] h3 { font-size: calc((.875rem) * var(--omedica-scale-h3, 1)); color: var(--wp--preset--color--text-muted); padding: var(--wp--preset--spacing--space-sm) var(--wp--preset--spacing--space-md); background: var(--wp--preset--color--surface); }
.omedica-booking-ui .omedica-week-nav { display: inline-flex; align-items: center; justify-content: flex-start; gap: var(--wp--preset--spacing--space-xs); width: auto; max-width: 100%; }
.omedica-booking-ui .omedica-week-nav button { width: var(--wp--custom--interaction--touch-target); min-width: var(--wp--custom--interaction--touch-target); min-height: var(--wp--custom--interaction--touch-target); }
.omedica-booking-ui .omedica-week-nav button:disabled { opacity: .35; cursor: default; }
.omedica-booking-ui .omedica-week-nav strong { font-size: .9375rem; text-align: center; }
.omedica-booking-ui .omedica-booking-summary { padding: var(--wp--preset--spacing--space-sm) var(--wp--preset--spacing--space-md); font-size: .9375rem; line-height: 1.5; }
.omedica-booking-assistance { background: var(--wp--preset--color--surface); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--space-md); }
.omedica-booking-assistance .wp-element-button { display: inline-flex; align-items: center; margin-block-start: var(--wp--preset--spacing--space-md); text-decoration: none; }
.omedica-booking-page .omedica-contact-methods { max-width: 80rem !important; margin-inline: auto; padding-block: var(--wp--preset--spacing--space-lg); }
.omedica-contact-methods__grid { align-items: start; gap: var(--wp--preset--spacing--space-md); }
.omedica-contact-methods .omedica-contact-method { background: var(--wp--preset--color--background); }
.omedica-contact-methods .omedica-contact-form { display: grid; gap: var(--wp--preset--spacing--space-md); }
.omedica-contact-methods .omedica-form-field { display: grid; gap: var(--wp--preset--spacing--space-xs); }
.omedica-contact-methods :is(input:not([type=checkbox],[type=radio]),select) { min-height: var(--wp--custom--interaction--touch-target); width: 100%; box-sizing: border-box; }
.omedica-contact-methods .omedica-consent { display: grid; grid-template-columns: 1.25rem minmax(0,1fr); gap: var(--wp--preset--spacing--space-xs); align-items: start; margin: 0; }
.omedica-contact-methods .omedica-consent input { margin: .2rem 0 0; }
.omedica-contact-methods .wp-element-button { min-height: var(--wp--custom--interaction--touch-target); }
.omedica-booking-page .omedica-booking-privacy { max-width: 80rem !important; margin-inline: auto; background: transparent; border: 0; padding: var(--wp--preset--spacing--space-sm) 0; }
@media(max-width: 1023px) { .omedica-contact-methods__grid { grid-template-columns: 1fr; } }
@media(max-width: 600px) {
 .omedica-booking-ui .omedica-booking-entry__grid, .omedica-booking-ui .omedica-booking-doctor-list { grid-template-columns: minmax(0,1fr); }
 .omedica-booking-ui .omedica-booking-option { padding: var(--wp--preset--spacing--space-sm); }
 .omedica-booking-ui .omedica-week-nav { gap: 0; }
 .omedica-booking-ui .omedica-week-nav strong { font-size: .875rem; }
}
.omedica-booking-page .omedica-booking-page__intro > * { max-width: none !important; }
.omedica-booking-page .omedica-contact-methods { max-width: 60rem !important; }
.omedica-booking-page .omedica-contact-methods > h2 { max-width: none !important; margin-inline: 0 !important; }
.omedica-contact-methods__grid > .omedica-contact-method { margin: 0 !important; }
.omedica-contact-methods .omedica-contact-method > summary { min-height: 7rem; box-sizing: border-box; }
.omedica-booking-page .omedica-contact-method > summary { pointer-events: auto; cursor: pointer; min-height: 8rem; }
.omedica-booking-page .omedica-contact-method > summary > .dashicons:last-child { display: inline-block; }

/* Multiple studies: existing action tokens, pill controls and dividers. */
.omedica-selected-studies { margin-block: var(--wp--preset--spacing--space-md); }
.omedica-selected-studies > h2 { font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h2, 1)); }
.omedica-selected-studies ul { list-style: none; margin: 0; padding: 0; }
.omedica-selected-studies li, .omedica-selected-studies__total { display: grid; grid-template-columns: minmax(0,1fr) 8rem var(--omedica-header-control,3rem); gap: var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-sm); align-items: start; padding-block: var(--wp--preset--spacing--space-sm); }
.omedica-selected-studies li { border-bottom: var(--wp--custom--border--width) solid var(--wp--preset--color--border); }
.omedica-selected-studies__name { min-width: 0; overflow-wrap: anywhere; }
.omedica-selected-studies__price { grid-column: 2; text-align: right; font-variant-numeric: tabular-nums; }
.omedica-selected-studies__reason { grid-column: 1 / 3; color: var(--wp--preset--color--text-muted); }
.omedica-selected-studies .omedica-selected-studies__remove { grid-column: 3; grid-row: 1; background: transparent; color: var(--wp--preset--color--text-muted); border-color: transparent; font-size: 1.5rem; margin-block-start: 0; }
.omedica-selected-studies .omedica-selected-studies__remove:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--action); border-color: var(--wp--preset--color--border); }
.omedica-selected-studies__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--space-sm); margin-block: var(--wp--preset--spacing--space-sm); }
.omedica-selected-studies__actions .wp-element-button { background: transparent; color: var(--wp--preset--color--action); border: 1px solid currentColor; border-radius: var(--wp--custom--radius--pill); }
.omedica-selected-studies input { display: block; width: 100%; box-sizing: border-box; }
.omedica-selected-studies__results { display: grid; gap: var(--wp--preset--spacing--space-xs); max-height: 18rem; overflow-y: auto; }
.omedica-selected-studies__results button { text-align: left; border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--sm); background: transparent; color: var(--wp--preset--color--text); padding: var(--wp--preset--spacing--space-sm); font: inherit; cursor: pointer; }
.omedica-text-action { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--space-xs); min-height: var(--wp--custom--interaction--touch-target); padding: 0; border: 0; background: transparent; color: var(--wp--preset--color--action); font: inherit; font-size: .875rem; cursor: pointer; }
.omedica-text-action:hover { text-decoration: underline; }
.omedica-text-action:disabled { opacity: .5; cursor: default; }
.omedica-analysis-dependencies { margin-block: var(--wp--preset--spacing--space-sm); font-size: .875rem; }
.omedica-analysis-dependencies p { margin-block: 0; }
.omedica-analysis-dependencies ul { padding-inline-start: var(--space-md); }
/* Reserve the same container padding before highlight; the inset frame cannot be clipped. */
.omedica-analysis-row { position: relative; padding-inline: var(--wp--preset--spacing--space-sm); }
.omedica-analysis-row.is-dependency-target, .omedica-analysis-row[tabindex="-1"]:focus { outline: none !important; }
.omedica-analysis-row.is-dependency-target::after { content: ''; position: absolute; inset: 1px; border: var(--wp--custom--focus--width) solid var(--wp--preset--color--action); border-radius: var(--wp--custom--radius--sm); pointer-events: none; }
/* Full existing subtitle sentences: no synthetic ellipsis or source data edits. */
.omedica-analysis-short { display: block; -webkit-line-clamp: unset; overflow: visible; white-space: pre-line; }
@media(max-width:600px) {
 .omedica-selected-studies li, .omedica-selected-studies__total { grid-template-columns: minmax(0,1fr) 6.5rem var(--omedica-header-control,3rem); column-gap: var(--wp--preset--spacing--space-xs); font-size: .9375rem; }
 .omedica-selected-studies__reason { grid-column: 1 / -1; }
}

/* Small catalog/booking polish: shared action, radius and focus tokens. */
.omedica-dependency-link { color: var(--wp--preset--color--action); text-decoration: underline; text-underline-offset: .15em; overflow-wrap: anywhere; }
.omedica-dependency-link:hover { text-decoration-thickness: 2px; }
.omedica-analysis-more > summary { border-radius: var(--wp--custom--radius--sm); }
.omedica-analysis-more > summary:focus-visible { outline: var(--wp--custom--focus--width) solid var(--wp--preset--color--action); outline-offset: var(--wp--custom--focus--offset); }

/* Analysis page secondary destination, outside the independently scrolling tree. */
.omedica-analysis-about {padding-block-start:var(--wp--preset--spacing--space-sm);margin-block-start:var(--wp--preset--spacing--space-sm);border-top:var(--wp--custom--border--width) solid var(--wp--preset--color--border)}
.omedica-analysis-about[hidden] {display:none}
.omedica-analysis-navigation .omedica-analysis-about button {display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:var(--wp--custom--interaction--touch-target);padding:var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-md);border:var(--wp--custom--border--width) solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--pill);background:transparent;color:var(--wp--preset--color--action);font-size:var(--wp--preset--font-size--small)}
.omedica-analysis-navigation .omedica-analysis-about button:hover {background:var(--wp--preset--color--surface)}

/* Client request: atomic costs, reusable wordmark, left drawer and price categories. */
:root {
 --omedica-logo-ink:var(--wp--preset--color--action);
 --omedica-logo-strip:var(--wp--preset--color--text-muted);
 --omedica-logo-paper:var(--wp--preset--color--background);
 --omedica-logo-font:var(--wp--preset--font-family--inter);
 --omedica-logo-size:clamp(1.45rem,2.1vw,2rem);
 --omedica-logo-tracking:0;
 --omedica-logo-caption-scale:.33em;
 --omedica-logo-gap:.07em;
}
.omedica-logo {display:inline-flex;flex-direction:column;row-gap:var(--omedica-logo-gap);width:max-content;max-width:100%;font-family:var(--omedica-logo-font);font-size:var(--omedica-logo-size);line-height:1;text-decoration:none!important;color:var(--omedica-logo-ink)!important;font-weight:700;letter-spacing:var(--omedica-logo-tracking)}
.omedica-logo__name {display:block;white-space:nowrap;line-height:1}
/* Em proportions keep the wordmark and asymmetric caption a single scalable sign. */
.omedica-logo__caption {display:block;box-sizing:border-box;background:var(--omedica-logo-strip);color:var(--omedica-logo-paper);font-size:var(--omedica-logo-caption-scale);font-weight:400;font-style:italic;line-height:1.15;letter-spacing:0;text-align:right;padding:.16em .3em .18em 1.5em;margin-top:0;white-space:nowrap}
.omedica-mobile-menu__sheet {transform:translateX(-100%);transition:transform 180ms ease}
.omedica-mobile-menu.is-open .omedica-mobile-menu__sheet {transform:translateX(0)}
.omedica-mobile-menu__backdrop {opacity:0;transition:opacity 180ms ease}
.omedica-mobile-menu.is-open .omedica-mobile-menu__backdrop {opacity:1}
.omedica-mobile-menu__views {overscroll-behavior:contain}
.omedica-price-row > strong,.omedica-catalog-main .omedica-price-row > strong,.omedica-service-price,.omedica-analysis-price,.omedica-selected-studies__price {white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0;min-width:max-content;max-width:none}
.omedica-service-code {display:block;color:var(--wp--preset--color--text-muted);font-size:var(--wp--preset--font-size--small);font-weight:400}
.omedica-price-category-label {display:block;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--text-muted)}
.omedica-price-category-select {display:none}
@media(min-width:1200px) and (max-width:1399px){.omedica-header-top {column-gap:var(--wp--preset--spacing--space-sm)}.omedica-header-address {white-space:normal;max-width:15rem}.omedica-header-phones .wp-block-buttons {gap:.2rem}.omedica-header-phone .wp-element-button {padding-inline:.5rem}}
@media(max-width:767px){.omedica-mobile-menu {grid-template-columns:minmax(0,1fr) 1.5rem}.omedica-single-doctor .omedica-price-row .omedica-price-name {grid-column:1/-1}}

.omedica-analysis-row__actions > strong,.omedica-complex-variants s {white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0;min-width:max-content}
.omedica-single-service .omedica-service-hero {grid-template-columns:minmax(0,1fr) auto}

.omedica-single-service .omedica-service-hero h1 {max-width:24ch}
@media(max-width:767px){.omedica-single-service .omedica-service-hero {grid-template-columns:minmax(0,1fr)}}


/* Shared doctor editorial typography; original prose remains in its source fields. */
.omedica-doctor-about :is(ul,ol) {padding-inline-start:var(--wp--preset--spacing--space-lg);margin-block:var(--wp--preset--spacing--space-md);list-style-position:outside}
.omedica-doctor-about li {padding-inline-start:var(--wp--preset--spacing--space-xs);margin-block:var(--wp--preset--spacing--space-sm);line-height:1.65}
.omedica-doctor-about ul {list-style-type:disc}
.omedica-doctor-about ul>li::marker {font-size:.65em;color:var(--wp--preset--color--action)}
.omedica-doctor-about ol>li::marker {color:var(--wp--preset--color--text-muted)}
.omedica-doctor-about :is(h3,h4) {margin-block:var(--wp--preset--spacing--space-xl) var(--wp--preset--spacing--space-md)}
.omedica-doctor-specialties :is([data-professional-field="status"],[data-professional-field="degree"],[data-professional-field="qualification"],[data-professional-field="additional"]) {color:var(--wp--preset--color--text-muted);font-weight:400}
.omedica-service-code {margin-block-start:var(--wp--preset--spacing--space-xs);line-height:1.4}
[data-program-request] form>p {margin-block:0 var(--wp--preset--spacing--space-lg)}
[data-program-request] form>p>label {display:grid;gap:var(--wp--preset--spacing--space-sm)}
[data-program-request] .wpcf7-acceptance .wpcf7-list-item {margin:0}
[data-program-request] .wpcf7-acceptance label {display:flex;align-items:flex-start;gap:var(--wp--preset--spacing--space-sm);min-height:var(--wp--custom--interaction--touch-target);line-height:1.5}
[data-program-request] .wpcf7-acceptance input[type="checkbox"] {flex:0 0 auto;margin:var(--wp--preset--spacing--space-xs) 0 0}
[data-program-request] .wpcf7-list-item-label {min-width:0;overflow-wrap:anywhere}
[data-program-request] input:not([type="checkbox"]):not([type="submit"]) {box-sizing:border-box;max-width:100%;width:100%}

.omedica-booking-ui:has([data-booking-step="program-request"]:not([hidden])) .omedica-booking-summary {grid-template-columns:max-content minmax(0,1fr);column-gap:var(--control-gap)}

.omedica-service-description {margin-block-start:var(--wp--preset--spacing--space-sm);font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--text-muted)}
.omedica-service-description summary {cursor:pointer;color:var(--wp--preset--color--action)}
.omedica-price-group-heading {margin-block:var(--wp--preset--spacing--space-xl) var(--wp--preset--spacing--space-md)}
.omedica-price-group-heading h3 {font-size: calc((var(--wp--preset--font-size--medium)) * var(--omedica-scale-h3, 1));margin-block:0 var(--wp--preset--spacing--space-sm)}
.omedica-price-group-heading p {color:var(--wp--preset--color--text-muted);font-size:var(--wp--preset--font-size--small);margin:0;line-height:1.5}
.omedica-doctor-about h4 {font-size:var(--wp--preset--font-size--medium);font-weight:600}
.omedica-doctor-about li {margin-block:var(--wp--preset--spacing--space-sm)}
.omedica-doctor-about a {overflow-wrap:anywhere;text-underline-offset:.15em}

.omedica-footer-brand-row {display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--space-md)}
.omedica-footer-brand-row > :is(.omedica-footer-wordmark,.omedica-footer-social) {margin:0;display:flex;align-items:center}

/* Price catalogue reuses the analysis layout, navigation, search and category modal. */
.omedica-price-status { margin-block:0 var(--wp--preset--spacing--space-md); font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--text-muted); }
.omedica-full-prices .omedica-analysis-nav-row button { overflow-wrap:normal; line-height:1.45; }
@media(max-width:1023px) { .omedica-full-prices [data-price-nav-home] {display:none} }

/* CMP-MEDICAL-ICON-001: shared decoration for service, direction and program views. */
:root {
 --omedica-medical-icon-color:var(--wp--preset--color--action);
 --omedica-medical-icon-background:transparent;
 --omedica-medical-icon-radius:var(--wp--custom--radius--sm);
 --omedica-medical-icon-card-size:4rem;
 --omedica-medical-icon-hero-size:8rem;
 --omedica-medical-icon-glyph-scale:1;
}
.omedica-medical-icon { --omedica-medical-icon-size:var(--omedica-medical-icon-card-size); display:inline-grid;place-items:center;inline-size:var(--omedica-medical-icon-size);block-size:var(--omedica-medical-icon-size);max-inline-size:100%;flex:none;align-self:start;color:var(--omedica-medical-icon-color);background:var(--omedica-medical-icon-background);border-radius:var(--omedica-medical-icon-radius); }
.omedica-medical-icon--hero { --omedica-medical-icon-size:var(--omedica-medical-icon-hero-size); }
.omedica-medical-icon__image,.omedica-medical-icon__glyph { display:block;inline-size:calc(100% * var(--omedica-medical-icon-glyph-scale));block-size:calc(100% * var(--omedica-medical-icon-glyph-scale));object-fit:contain; }
.omedica-medical-icon__glyph {background:currentColor;mask:var(--omedica-medical-icon-source) center / contain no-repeat;mask-mode:alpha;-webkit-mask:var(--omedica-medical-icon-source) center / contain no-repeat;}
.omedica-entry-card > .omedica-medical-icon {margin-block-end:var(--wp--preset--spacing--space-xs);}
@media(max-width:767px){.omedica-medical-icon--hero {display:none;}}

/* Tablet special mode has five visible items: no empty accessibility-control track. */
@media (min-width:768px) and (max-width:1199px) {
 html.special .omedica-header-top {
  grid-template-columns: var(--omedica-header-control) minmax(0,1fr) auto var(--omedica-header-control) auto;
 }
}
/* Global typography multipliers preserve each responsive expression at 100%. */
body { font-size: var(--wp--preset--font-size--small); }
:where(h1) { font-size: calc(2em * var(--omedica-scale-h1, 1)); }
:where(h2) { font-size: calc(1.5em * var(--omedica-scale-h2, 1)); }
:where(h3) { font-size: calc(1.17em * var(--omedica-scale-h3, 1)); }
:where(small) { font-size: calc(.833333em * var(--omedica-scale-small, 1)); }
.omedica-category-documents { margin-block: var(--wp--preset--spacing--space-xl); }
.omedica-document-results [hidden] { display:none !important; }

.omedica-document-info { padding: var(--content-gap) var(--page-gutter); }
.omedica-document-mobile-filter { display: none; }
@media (max-width: 767px) {
 .omedica-document-categories > h2,
 .omedica-document-categories [role="group"] { display: none; }
 .omedica-document-mobile-filter { display: grid; gap: var(--space-xs); font-weight: 600; }
}

.omedica-document-info-link { padding: 0 0 var(--stack-gap); margin: 0; font-size: .9375rem; }
.omedica-document-info-link a, .omedica-document-open { color: var(--wp--preset--color--action); }
.omedica-document-row h3 { font-size: calc(1rem * var(--omedica-scale-h3, 1)); line-height: 1.5; }
.omedica-document-row > .dashicons { color: var(--wp--preset--color--text-muted); }

/* Shared portrait clipping: the wrapper owns the radius in cards and profiles. */
.omedica-doctor-portrait {
 display: block; position: relative; width: 100%; aspect-ratio: 3 / 4;
 overflow: hidden; border-radius: var(--wp--custom--radius--md); align-self: start; flex-shrink: 0;
}
.omedica-doctor-portrait > img.omedica-doctor-image {
 display: block; width: 100%; height: 100%; max-width: none; aspect-ratio: auto;
 object-fit: cover; border: 0; border-radius: 0; margin: 0;
}
.omedica-doctor-portrait--hero { max-width: 30rem; justify-self: center; }
@media (max-width: 1023px) { .omedica-doctor-portrait--hero { max-width: 20rem; } }

/* Reversible visual experiment: existing header + opt-in catalogue compositions. */
.omedica-logo--stable {width:5.2879em;max-width:100%;display:inline-block;line-height:0;}
.omedica-logo--stable .omedica-logo__art {display:block;width:100%;height:auto;overflow:visible;font-family:var(--omedica-logo-font);letter-spacing:0;}
@media(min-width:1200px){
 html:not(.special) .omedica-header-top {grid-template-columns:auto minmax(0,1fr) auto var(--omedica-header-control) auto;grid-template-rows:auto auto;column-gap:var(--wp--preset--spacing--space-lg);row-gap:0;padding-block:var(--wp--preset--spacing--space-md);}
 html:not(.special) .omedica-header-top > .omedica-header-brand {grid-column:1;grid-row:1 / 3;}
 html:not(.special) .omedica-header-top > .omedica-header-address {grid-column:2;grid-row:1;align-self:end;max-width:none;white-space:normal;}
 html:not(.special) .omedica-header-top > .omedica-header-hours {grid-column:2;grid-row:2;align-self:start;}
 html:not(.special) .omedica-header-top > .omedica-header-phones {grid-column:3;grid-row:1 / 3;}
 html:not(.special) .omedica-header-top > .omedica-accessibility-trigger {grid-column:4;grid-row:1 / 3;}
 html:not(.special) .omedica-header-top > .omedica-header-cta {grid-column:5;grid-row:1 / 3;}
 html:not(.special) .omedica-header-system .omedica-header-bottom {border-radius:var(--wp--custom--radius--sm);min-height:3.25rem;padding:.25rem var(--wp--preset--spacing--space-md);}
}
/* CMP-CARD-SERVICE horizontal variant: same icon, content and single action. */
.omedica-catalog-cards--horizontal .omedica-services-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,28rem),1fr));}
.omedica-catalog-cards--horizontal .omedica-entry-card {display:grid;grid-template-columns:clamp(3.5rem,7vw,6rem) minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:var(--wp--preset--spacing--space-xs) var(--wp--preset--spacing--space-md);padding:var(--wp--preset--spacing--space-md);align-content:start;}
.omedica-catalog-cards--horizontal .omedica-entry-card > .omedica-medical-icon {grid-column:1;grid-row:1 / 4;--omedica-medical-icon-size:clamp(3.5rem,7vw,6rem);margin:0;background:transparent;border-radius:0;}
.omedica-catalog-cards--horizontal .omedica-entry-card > :not(.omedica-medical-icon) {grid-column:2;margin:0;min-width:0;overflow-wrap:anywhere;}
.omedica-catalog-cards--horizontal .omedica-entry-card h2 {line-height:1.3;}
.omedica-catalog-cards--horizontal .omedica-entry-card .omedica-service-card__actions {padding-block-start:0;}
.omedica-catalog-cards--horizontal .omedica-entry-card:not(:has(.omedica-medical-icon)) {grid-template-columns:minmax(0,1fr);}
.omedica-catalog-cards--horizontal .omedica-entry-card:not(:has(.omedica-medical-icon)) > * {grid-column:1;}

/* Analysis details and booking use the existing dependency/tariff contract. */
.omedica-analysis-addon { margin-block: var(--wp--preset--spacing--space-md); }
.omedica-analysis-addon h4 { margin-block: 0 var(--wp--preset--spacing--space-xs); }
.omedica-analysis-addon p { margin-block: 0 var(--wp--preset--spacing--space-sm); color: var(--wp--preset--color--text-muted); }
.omedica-analysis-addon dl { margin: 0; display: grid; gap: var(--wp--preset--spacing--space-xs); }
.omedica-analysis-addon dl > div { display: flex; gap: var(--wp--preset--spacing--space-md); max-width: 20rem; justify-content: space-between; }
.omedica-analysis-addon dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.omedica-booking-patient-type { border: 0; padding: 0; margin: var(--wp--preset--spacing--space-md) 0; min-width: 0; }
.omedica-booking-patient-type legend { padding: 0; margin-block-end: var(--wp--preset--spacing--space-sm); font-weight: 700; font-size: var(--wp--preset--font-size--medium); }
.omedica-segmented-control { display: inline-flex; flex-wrap: wrap; padding: 0; gap: 0; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--wp--custom--radius--pill); }
.omedica-segmented-control label { position: relative; cursor: pointer; }
.omedica-segmented-control input { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.omedica-segmented-control span { display: block; min-height:44px; box-sizing:border-box; line-height:1.4; border-radius: var(--wp--custom--radius--pill); padding: .55rem .85rem; }
.omedica-segmented-control input:checked + span { background: var(--wp--preset--color--action); color: var(--wp--preset--color--white,#fff); }
.omedica-segmented-control input:focus-visible + span { outline: var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action); outline-offset: 2px; }
.omedica-segmented-control label:hover span { text-decoration:none; background:var(--wp--preset--color--border); }
.omedica-segmented-control label:hover input:checked + span { background:var(--wp--preset--color--action); filter:brightness(.94); }
.omedica-selected-studies__search { margin-block: var(--wp--preset--spacing--space-md); }
.omedica-selected-studies__search[hidden] { display: none !important; }
.omedica-selected-studies__search > label { display: block; margin-block-end: var(--wp--preset--spacing--space-xs); }
.omedica-selected-studies__results:empty { display: none; }
.omedica-selected-studies__results { margin-block-start: var(--wp--preset--spacing--space-sm); }
.omedica-selected-studies__total { margin-block-start: var(--wp--preset--spacing--space-xs); }

/* Shared modal close: stable hit area, centered CSS cross, shape only on interaction. */
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close) {
 position:relative;display:inline-flex;align-items:center;justify-content:center;
 min-width:44px;min-height:44px;flex-shrink:0;background:transparent;border-color:transparent;
 border-radius:var(--wp--custom--radius--pill);color:var(--wp--preset--color--action);font-size:0;
}
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close) > * {display:none;}
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close)::before,
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close)::after {
 content:'';position:absolute;width:16px;height:2px;border-radius:1px;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);
}
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close)::after {transform:translate(-50%,-50%) rotate(-45deg);}
@media (hover:hover) {
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close):hover {background:var(--wp--preset--color--surface);border-color:var(--wp--preset--color--action);}
}
body :is(.omedica-phone-selector__close,.omedica-mobile-menu__header button[data-mobile-menu-close],.omedica-modal-close):focus-visible {outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action);outline-offset:var(--wp--custom--focus--offset,2px);}
/* A heading is a reading focus target, not a rounded input. Keep its keyboard cue close to its text. */
.omedica-booking-ui h2[tabindex="-1"] {width:fit-content;max-width:100%;border-radius:var(--wp--custom--radius--sm);}

/* Compact patient row and resilient doctor text use the existing booking primitives. */
.omedica-booking-patient-type {display:flex;align-items:center;flex-wrap:wrap;gap: var(--control-gap);}
.omedica-booking-patient-type > .omedica-booking-patient-label {font-weight:700;}
.omedica-booking-patient-type[hidden] {display:none;}
.omedica-booking-ui .omedica-booking-doctor-card > span:nth-child(2) {gap: var(--space-xs);overflow-wrap:normal;word-break:normal;hyphens:manual;}
.omedica-booking-ui .omedica-booking-doctor-card strong {line-height:1.35;}
.omedica-booking-ui .omedica-booking-doctor-card small {line-height:1.45;}
.omedica-selected-studies__search > .omedica-booking-back {margin-block-end: var(--control-gap);}
.omedica-selected-studies__search > h2 {margin-block: 0 var(--stack-gap);}

/* Booking order: a single compact heading row, wrapping naturally. */
.omedica-booking-entry-return {margin: 0 0 var(--stack-gap);}
.omedica-selected-studies__header {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap: var(--control-gap) var(--stack-gap);}
.omedica-selected-studies__header > h2 {margin:0;}
.omedica-selected-studies__header .omedica-booking-patient-type {margin:0;gap: var(--space-xs);}
.omedica-booking-flow > .omedica-form-state:empty {display:none;}
.omedica-booking-flow > .omedica-selected-studies {margin-block-start:0;}
@media(max-width:767px){.omedica-selected-studies__header {align-items:flex-start;flex-direction:column;}}
/* Existing rounded dropdown geometry; only the trigger receives focus. */
.omedica-booking-category-tree {padding:0;border:0;background:transparent;}
.omedica-booking-category-tree > summary {display:block;position:relative;list-style:none;min-height:var(--omedica-control-height,52px);padding: var(--control-gap) 2.75rem var(--control-gap) var(--stack-gap);border:1px solid var(--wp--preset--color--border);border-radius:var(--omedica-control-radius,999px);background:var(--wp--preset--color--background);}
.omedica-booking-category-tree[open] > summary {list-style:none;}
.omedica-booking-category-tree > summary::-webkit-details-marker {display:none;}
.omedica-booking-category-tree > summary::after {content:'';position:absolute;right:.8rem;top:50%;transform:translateY(-50%);width:1.2rem;height:1.2rem;background:currentColor;mask:url('assets/icons/chevron-down.svg') center/contain no-repeat;}
.omedica-booking-category-tree[open] > summary::after {transform:translateY(-50%) rotate(180deg);}
.omedica-booking-category-tree > div {margin-block-start: var(--space-xs);padding: var(--space-xs);border:1px solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--sm);background:var(--wp--preset--color--background);}

/* Patient uses one moving pill and equal, stable 44px hit areas. */
.omedica-selected-studies__header .omedica-booking-patient-type {gap: var(--control-gap);margin-inline-start:auto;font-size:.875rem;}
.omedica-booking-patient-type .omedica-segmented-control {position:relative;isolation:isolate;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0 3px;border:0;background:transparent;}
.omedica-booking-patient-type .omedica-segmented-control::after {content:"";position:absolute;z-index:-2;inset:3px 0;border:1px solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--pill);background:var(--wp--preset--color--surface);pointer-events:none;}
.omedica-booking-patient-type .omedica-segmented-control::before {content:'';position:absolute;z-index:-1;left:3px;top:5px;bottom:5px;width:calc((100% - 6px)/2);border-radius:var(--wp--custom--radius--pill);background:var(--wp--preset--color--action);transform:translateX(0);transition:transform 220ms ease-out;}
.omedica-booking-patient-type .omedica-segmented-control:has(input[value="child"]:checked)::before {transform:translateX(100%);}
.omedica-booking-patient-type .omedica-segmented-control span {display:grid;place-items:center;min-height:44px;padding:0 .65rem;font-size:.875rem;line-height:1.25;background:transparent;transition:color 180ms ease-out;}
.omedica-booking-patient-type .omedica-segmented-control input:checked + span,
.omedica-booking-patient-type .omedica-segmented-control label:hover input:checked + span {background:transparent;filter:none;color:var(--wp--preset--color--white,#fff);}
.omedica-booking-patient-type .omedica-segmented-control label:hover span {background:transparent;text-decoration:none;}
@media(max-width:767px){.omedica-selected-studies__header .omedica-booking-patient-type {margin-inline-start:0;}}
@media(prefers-reduced-motion:reduce){.omedica-booking-patient-type .omedica-segmented-control::before,.omedica-booking-patient-type .omedica-segmented-control span {transition:none;}}

/* Program cards share five content-sized tracks within each catalogue row. */
.omedica-complex-grid {--omedica-program-icon-size:calc(var(--omedica-medical-icon-card-size) * 1.25);}
.omedica-complex-grid > .omedica-complex-card {display:grid;grid-template-rows:auto auto 1fr auto auto;row-gap:var(--wp--preset--spacing--space-sm);height:auto;}
.omedica-complex-grid > .omedica-complex-card > * {margin-block:0;min-width:0;overflow-wrap:anywhere;}
.omedica-complex-card > .omedica-medical-icon {grid-row:1;--omedica-medical-icon-size:var(--omedica-program-icon-size);}
.omedica-complex-card > h3 {grid-row:2;}
.omedica-complex-card > .omedica-service-card__excerpt {grid-row:3;}
.omedica-complex-card > .omedica-service-price {grid-row:4;align-self:end;}
.omedica-complex-card > .omedica-service-card__actions {grid-row:5;padding-block-start:0;align-self:end;flex-wrap:wrap;}
@supports(grid-template-rows:subgrid){
 @media(min-width:768px){.omedica-complex-grid > .omedica-complex-card {grid-row:span 5;grid-template-rows:subgrid;}}
}
@media(max-width:767px){
 .omedica-complex-grid > .omedica-complex-card {grid-template-rows:none;}
 .omedica-complex-grid > .omedica-complex-card > * {grid-row:auto;}
}

/* Final cleanup: existing responsive grids and card renderer stay authoritative. */
.omedica-doctors-heading {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,calc(var(--wp--style--global--content-size) / 2));gap:var(--content-gap);align-items:end;}
.omedica-doctors-heading > * {min-width:0;}
.omedica-doctors-heading .omedica-doctor-filters,.omedica-doctors-heading .omedica-form-field {margin:0;}
@media(min-width:1024px){.omedica-direction-specialists .omedica-compact-doctors-grid:has(> :nth-child(4):last-child) {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:1023px){.omedica-doctors-heading {grid-template-columns:minmax(0,1fr);} .omedica-doctors-heading .omedica-doctor-filters {max-width:calc(var(--wp--style--global--content-size) / 2);width:100%;}}
/* Planned development slots do not occupy the restored direction intro. */
.omedica-single-direction .omedica-direction-media:has([data-media-state="planned"]):not(:has(img,video,iframe)) {display:none;}
.omedica-single-direction .omedica-service-hero:has(> .omedica-direction-media [data-media-state="planned"]):not(:has(.omedica-direction-media img,.omedica-direction-media video,.omedica-direction-media iframe)) {grid-template-columns:minmax(0,1fr);}

/* Shared review provenance, pagination and long-text controls. */
.omedica-review-card .omedica-review-source { margin-block:var(--wp--preset--spacing--space-sm) 0; font-size:var(--wp--preset--font-size--small); color:var(--wp--preset--color--text-muted); }
.omedica-review-source a { display:inline-flex; align-items:center; gap:.25em; min-height:2.75rem; color:inherit; text-decoration:none; text-underline-offset:.2em; overflow-wrap:anywhere; }
.omedica-review-source a:hover { color:var(--wp--preset--color--action); text-decoration:underline; }
.omedica-review-source a:focus-visible, .omedica-review-text summary:focus-visible, .omedica-review-filter:focus-visible, .omedica-review-pagination a:focus-visible { outline:var(--wp--custom--border--width,2px) solid var(--wp--preset--color--action); outline-offset:4px; }
.omedica-review-text { overflow-wrap:anywhere; }
.omedica-review-text summary { cursor:pointer; color:var(--wp--preset--color--action); padding-block:.5rem; }
.omedica-review-filter { display:inline-flex; padding:.5em 1em; border-radius:var(--wp--custom--radius--sm); color:var(--wp--preset--color--action); text-decoration:none; min-height:2.75rem; align-items:center; }
.omedica-review-filter[aria-current="page"] { background:var(--wp--preset--color--action); color:var(--wp--preset--color--background); }
.omedica-review-pagination { display:flex; flex-wrap:wrap; gap:var(--wp--preset--spacing--space-sm); margin-block-start:var(--wp--preset--spacing--space-lg); }
.omedica-review-pagination .page-numbers { padding:.5rem .75rem; min-width:2.75rem; text-align:center; }
.omedica-contact-form [data-form-challenge] { max-width:100%; }

/* Reviews UX: row tracks align shared cards without imposing a fixed card height. */
.omedica-reviews-grid > .omedica-review-card {display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:var(--space-sm);min-width:0;}
.omedica-review-card > .omedica-review-identity {display:grid;grid-template-columns:minmax(0,1fr);align-content:start;align-items:start;justify-content:normal;gap:var(--space-xs);margin:0;}
.omedica-review-card :is(p,h3),.omedica-review-dialog :is(p,h3) {margin:0;overflow-wrap:anywhere;}
.omedica-review-card .omedica-review-card__top,.omedica-review-dialog .omedica-review-card__top {gap:var(--space-xs);flex-wrap:wrap;align-items:center;}
.omedica-review-card__top time {font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--text-muted);}
.omedica-review-card .omedica-review-relation {margin:0;padding:0;font-size:var(--wp--preset--font-size--small);}
.omedica-review-card.is-preview-ready .omedica-review-preview {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden;line-height:1.6;align-self:start;}
.omedica-review-footer {display:grid;align-content:end;gap:var(--space-xs);}
.omedica-review-actions {min-height:var(--wp--custom--interaction--touch-target,44px);display:flex;align-items:center;}
.omedica-review-read {padding:0;border:0;background:transparent;color:var(--wp--preset--color--action);font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;min-height:var(--wp--custom--interaction--touch-target,44px);}
.omedica-review-read[hidden] {display:none;}
.omedica-review-source {min-height:var(--wp--custom--interaction--touch-target,44px);display:flex;align-items:center;}
.omedica-review-read:hover {text-decoration-thickness:.12em;}
.omedica-review-sort select {font:inherit;color:var(--wp--preset--color--text);background:var(--wp--preset--color--background);border:var(--wp--custom--border--width,1px) solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--sm);min-height:var(--wp--custom--interaction--touch-target,44px);padding:var(--space-xs) var(--space-sm);max-width:100%;}
.omedica-review-sort.is-enhanced button {display:none;}
.omedica-reviews-toolbar {margin-block-end:var(--space-md);gap:var(--space-sm);flex-wrap:wrap;}
.omedica-review-dialog {box-sizing:border-box;width:min(42rem,calc(100vw - 2 * var(--space-sm)));max-height:calc(100dvh - 2 * var(--space-sm));padding:var(--card-padding);border:1px solid var(--wp--preset--color--border);border-radius:var(--wp--custom--radius--lg);background:var(--wp--preset--color--background);color:var(--wp--preset--color--text);overflow:auto;}
.omedica-review-dialog[open] {display:grid;gap:var(--space-sm);}
.omedica-review-dialog::backdrop {background:rgba(25,22,42,.45);}
.omedica-review-dialog__content {display:grid;gap:var(--space-sm);min-width:0;}
.omedica-review-full-text {line-height:1.6;}
.omedica-reviews-intro {padding-block:var(--space-md);}
@media(max-width:767px){
 .omedica-reviews-grid:has(> .omedica-review-card:nth-child(2)) {display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;overflow:visible;}
 .omedica-reviews-grid > .omedica-review-card {display:flex;flex-direction:column;grid-row:auto;width:auto;min-width:0;gap:var(--space-sm);}
 .omedica-review-actions:has([hidden]) {min-height:0;}
 .omedica-review-footer {margin-block-start:auto;}
}
/* One close surface: no inherited black native border or a second shadow ring. */
body :is(.omedica-feedback-dialog,.omedica-booking-dialog,.omedica-review-dialog) button.omedica-modal-close {
 box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;
 border:1px solid transparent;color:var(--wp--preset--color--action);background:transparent;box-shadow:none;cursor:pointer;justify-self:end;align-self:center;
}
body :is(.omedica-feedback-dialog,.omedica-booking-dialog,.omedica-review-dialog) button.omedica-modal-close:hover {background:var(--wp--preset--color--surface);}
body :is(.omedica-feedback-dialog,.omedica-booking-dialog,.omedica-review-dialog) button.omedica-modal-close:active {background:var(--wp--preset--color--surface);transform:scale(.96);}
body :is(.omedica-feedback-dialog,.omedica-booking-dialog,.omedica-review-dialog) button.omedica-modal-close:focus-visible {outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action);outline-offset:-2px;box-shadow:none;}


/* Match the close inset to the booking header and full-review dialog token. */
.omedica-feedback-dialog {padding:var(--card-padding);}

.omedica-review-relation a {color:var(--wp--preset--color--action);text-underline-offset:.2em;text-decoration-thickness:.06em;}
.omedica-review-relation a:hover {text-decoration-thickness:.12em;}
.omedica-review-relation a:focus-visible {outline:var(--wp--custom--focus--width,2px) solid var(--wp--preset--color--action);outline-offset:var(--wp--custom--focus--offset,3px);}

/* Content-sized booking tracks: scroll constraints must never shrink card rows. */
.omedica-booking-ui .omedica-booking-doctor-list {grid-auto-rows:max-content;align-content:start;gap:var(--space-sm);}
.omedica-booking-ui .omedica-booking-doctor-card {box-sizing:border-box;height:auto;min-height:8rem;font:inherit;line-height:1.4;}
.omedica-booking-ui .omedica-booking-doctor-card:not(.is-any) {grid-template-columns:4.5rem minmax(0,1fr) 1.25rem;padding:var(--space-sm);}
.omedica-booking-ui .omedica-booking-doctor-card img {object-fit:cover;object-position:center top;border-radius:var(--wp--custom--radius--sm);}
.omedica-booking-ui .omedica-booking-doctor-card :is(strong,small) {white-space:normal;overflow:visible;word-break:normal;overflow-wrap:break-word;}
.omedica-booking-ui .omedica-booking-flow__bar {margin-block:var(--space-xs) var(--space-sm);}
.omedica-booking-ui .omedica-booking-step > h2 {margin-block:0 var(--space-sm);}
.omedica-review-rating {display:inline-flex;align-items:center;gap:var(--space-xs);flex-shrink:0;white-space:nowrap;}
.omedica-review-card__top time {flex:0 0 auto;white-space:normal;}
.omedica-review-card :is(p,h3) {word-break:normal;overflow-wrap:break-word;}
@media(max-width:767px) {
 .omedica-review-card__top {flex-direction:column;align-items:flex-start!important;}
 .omedica-review-card > * {min-width:0;max-width:100%;}
 .omedica-booking-ui .omedica-booking-doctor-card:not(.is-any) {grid-template-columns:3.5rem minmax(0,1fr) 1rem;gap:var(--space-xs);}
 .omedica-booking-ui .omedica-booking-doctor-card img {width:3.5rem;height:auto;aspect-ratio:3/4;}
}
.omedica-booking-ui .omedica-booking-flow__bar p {margin:0;}
.omedica-booking-ui > .omedica-booking-flow-component {margin-block-start:var(--space-xs);}
