/* =========================================================
   TOPMEDICA / PD MODS / CONTENT

   Soubor:
   assets/css/topmedica-pdmods-content.css

   Účel:
   Samostatný CSS modul obsahu a opakovaných komponent.
   Načítá se po řídicím souboru topmedica-pdmods.css.

   Obsah:
   04-07 / OBSAH WEBU / LAYOUT OBSAHU
   04-08 / KOMPONENTY
   ========================================================= */


/* =========================================================
   00-00 / DEBUG / INDIKÁTOR MODULU

   Nastavuje pouze diagnostický indikátor C.
   Obsahové bloky začínají v sekci 04-07.
   ========================================================= */

:root { --topmedica-debug-indicator-content: "C"; }



/* ==================================================================================================================
   04-07 / OBSAH WEBU / LAYOUT OBSAHU

   Sem patří:
   - layout konkrétních typů stránek
   - korekce Beaver sekcí
   - šířky obsahových bloků
   - specifika homepage, služeb, lékařů, kontaktu

   Poznámka:
   Hlavní komerční stránky staví Beaver Builder.
   Vnější šířkové chování zatím řeší BB nastavení řádků,
   ne PDmods.
   ========================================================= */


/* ------------------------------------------------------------------------------------------------------------------
   04-07-01 / SPOLEČNÉ OBSAHOVÉ MARGINY A PADDINGY

   Zatím bez aktivního CSS.

   Šířku, vnější okraje a vnitřní odsazení hlavních
   komerčních řádků nadále vlastní Beaver Builder.
   Společné PDmods pravidlo sem přibude pouze tehdy, až bude
   doložené na více skutečných obsahových situacích.
   ------------------------------------------------------------------------------------------------------------------ */



/* ==================================================================================================================
   04-08 / KOMPONENTY

   Pořadí:
   1. tlačítka;
   2. Specialisté;
   3. Lékařské odbornosti;
   4. budoucí Terapie a vyšetření.

   Společné barevné role vlastní řídicí
   topmedica-pdmods.css. Tento modul drží pouze lokální
   parametry, vzhled, stavy a responzivitu komponent.
   ================================================================================================================== */



/* ==================================================================================================================
   04-08-01 / BUTTONY

   Globální PDmods komponenta použitelná na odkazu <a>
   i skutečném ovladači <button>.

   CSS kontrakt:
   .topmedica-pdmods-button
   .topmedica-pdmods-button--01
   .topmedica-pdmods-button--02

   01 = tmavé/plné primární tlačítko.
   02 = světlé/obrysové sekundární tlačítko.

   Každá varianta má vlastní parametry, základ i interakční
   stavy, aby je bylo možné vědomě vyvíjet samostatně.
   ================================================================================================================== */


/* 04-08-01-00 / SPOLEČNÝ ZÁKLAD */

.topmedica-pdmods-button {
	min-height: 32px;
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-01-01 / VARIANTA 01 – TMAVÁ / PLNÁ / PRIMÁRNÍ

   Výchozí charakter:
   Tmavomodré pozadí, bílý text a bílý rámeček.
   ------------------------------------------------------------------------------------------------------------------ */


/* 04-08-01-01-01 / PARAMETRY VARIANTY 01 */

:root {
	/* Barva textu ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-01-color: var(--topmedica-color-white);

	/* Barva pozadí ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-01-background: var(--topmedica-color-primary);

	/* Tloušťka rámečku; hodnotou 0 lze rámeček vypnout. */
	--topmedica-pdmods-button-01-border-width: 0;

	/* Styl rámečku; obvykle solid. */
	--topmedica-pdmods-button-01-border-style: solid;

	/* Barva rámečku ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-01-border-color: var(--topmedica-color-white);

	/* Zaoblení rohů tlačítka. */
	--topmedica-pdmods-button-01-border-radius: 40px;

	/* Vnitřní odsazení: nahoře | vodorovně | dole. */
	--topmedica-pdmods-button-01-padding: 7px 14px 8px;

	/* Maximální šířka; 100 % brání přetečení úzké karty. */
	--topmedica-pdmods-button-01-max-width: 100%;

	/* Rodina písma odkazuje na globální roli běžného textu. */
	--topmedica-pdmods-button-01-font-family: var(--topmedica-typography-body-font-family);

	/* Velikost textu; v responzivních režimech se nemění. */
	--topmedica-pdmods-button-01-font-size: 14px;

	/* Tloušťka textu; v responzivních režimech se nemění. */
	--topmedica-pdmods-button-01-font-weight: 700;

	/* Výška řádku; slova se mohou zalomit na další řádek. */
	--topmedica-pdmods-button-01-line-height: 1.4;

	/* Jemný stín sjednocuje vizuální hmotnost s referenčním wp-block-button. */
	--topmedica-pdmods-button-01-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);

	/* Délka přechodu barevných a dalších stavových vlastností. */
	--topmedica-pdmods-button-01-transition-duration: 0.2s;

	/* Časová křivka přechodu. */
	--topmedica-pdmods-button-01-transition-timing: linear;

	/* Barva textu při hover, focus a active. */
	--topmedica-pdmods-button-01-interaction-color: var(--topmedica-color-white);

	/* Barva pozadí při hover, focus a active. */
	--topmedica-pdmods-button-01-interaction-background: var(--topmedica-color-accent-orange);

	/* Barva rámečku při hover, focus a active. */
	--topmedica-pdmods-button-01-interaction-border-color: var(--topmedica-color-accent-orange);

	/* Tloušťka klávesnicového focus outline. */
	--topmedica-pdmods-button-01-focus-outline-width: 3px;

	/* Styl klávesnicového focus outline. */
	--topmedica-pdmods-button-01-focus-outline-style: solid;

	/* Barva klávesnicového focus outline. */
	--topmedica-pdmods-button-01-focus-outline-color: var(--topmedica-color-accent-pink);

	/* Odsazení klávesnicového focus outline od tlačítka. */
	--topmedica-pdmods-button-01-focus-outline-offset: 3px;
}


/* 04-08-01-01-02 / ZÁKLAD VARIANTY 01 */

.topmedica-pdmods-button--01,
.topmedica-pdmods-button.topmedica-pdmods-button--01:visited {
	display: inline-flex;
	width: auto;
	max-width: var(--topmedica-pdmods-button-01-max-width);
	align-items: center;
	justify-content: center;
	flex: 0 1 auto;
	margin: 0;
	padding: var(--topmedica-pdmods-button-01-padding);
	appearance: none;
	box-sizing: border-box;
	color: var(--topmedica-pdmods-button-01-color) !important;
	background: var(--topmedica-pdmods-button-01-background);
	border-width: var(--topmedica-pdmods-button-01-border-width);
	border-style: var(--topmedica-pdmods-button-01-border-style);
	border-color: var(--topmedica-pdmods-button-01-border-color);
	border-radius: var(--topmedica-pdmods-button-01-border-radius);
	box-shadow: var(--topmedica-pdmods-button-01-box-shadow);
	font-family: var(--topmedica-pdmods-button-01-font-family);
	font-size: var(--topmedica-pdmods-button-01-font-size);
	font-weight: var(--topmedica-pdmods-button-01-font-weight);
	line-height: var(--topmedica-pdmods-button-01-line-height);
	text-align: center;
	text-decoration: none !important;
	white-space: normal;
	overflow-wrap: normal;
	word-break: normal;
	cursor: pointer;
	transition: all var(--topmedica-pdmods-button-01-transition-duration) var(--topmedica-pdmods-button-01-transition-timing);
}


/* 04-08-01-01-03 / STAVY VARIANTY 01 */

.topmedica-pdmods-button.topmedica-pdmods-button--01:hover,
.topmedica-pdmods-button.topmedica-pdmods-button--01:focus-visible,
.topmedica-pdmods-button.topmedica-pdmods-button--01:active {
	color: var(--topmedica-pdmods-button-01-interaction-color) !important;
	background: var(--topmedica-pdmods-button-01-interaction-background);
	border-color: var(--topmedica-pdmods-button-01-interaction-border-color);
	box-shadow: var(--topmedica-pdmods-button-01-box-shadow);
	text-decoration: none !important;
}

.topmedica-pdmods-button--01:focus-visible {
	outline-width: var(--topmedica-pdmods-button-01-focus-outline-width);
	outline-style: var(--topmedica-pdmods-button-01-focus-outline-style);
	outline-color: var(--topmedica-pdmods-button-01-focus-outline-color);
	outline-offset: var(--topmedica-pdmods-button-01-focus-outline-offset);
}


.topmedica-pdmods-button--01:focus:not(:focus-visible) {
	outline: 0;
}



/* ------------------------------------------------------------------------------------------------------------------
   04-08-01-02 / VARIANTA 02 – SVĚTLÁ / OBRYSOVÁ / SEKUNDÁRNÍ

   Výchozí charakter:
   Transparentní pozadí, tmavomodrý text a tmavomodrý rámeček.
   ------------------------------------------------------------------------------------------------------------------ */


/* 04-08-01-02-01 / PARAMETRY VARIANTY 02 */

:root {
	/* Barva textu ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-02-color: var(--topmedica-color-primary);

	/* Barva pozadí ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-02-background: transparent;

	/* Tloušťka rámečku; hodnotou 0 lze rámeček vypnout. */
	--topmedica-pdmods-button-02-border-width: 1.5px;

	/* Styl rámečku; obvykle solid. */
	--topmedica-pdmods-button-02-border-style: solid;

	/* Barva rámečku ve výchozím a navštíveném stavu. */
	--topmedica-pdmods-button-02-border-color: var(--topmedica-color-primary);

	/* Zaoblení rohů tlačítka. */
	--topmedica-pdmods-button-02-border-radius: 40px;

	/* Vnitřní odsazení: nahoře | vodorovně | dole. */
	--topmedica-pdmods-button-02-padding: 7px 14px 8px;

	/* Maximální šířka; 100 % brání přetečení úzké karty. */
	--topmedica-pdmods-button-02-max-width: 100%;

	/* Rodina písma odkazuje na globální roli běžného textu. */
	--topmedica-pdmods-button-02-font-family: var(--topmedica-typography-body-font-family);

	/* Velikost textu; v responzivních režimech se nemění. */
	--topmedica-pdmods-button-02-font-size: 14px;

	/* Tloušťka textu; v responzivních režimech se nemění. */
	--topmedica-pdmods-button-02-font-weight: 700;

	/* Výška řádku; slova se mohou zalomit na další řádek. */
	--topmedica-pdmods-button-02-line-height: 1.4;

	/* Stín tlačítka; podle zadání zůstává vypnutý. */
	--topmedica-pdmods-button-02-box-shadow: none;

	/* Délka přechodu barevných a dalších stavových vlastností. */
	--topmedica-pdmods-button-02-transition-duration: 0.2s;

	/* Časová křivka přechodu. */
	--topmedica-pdmods-button-02-transition-timing: linear;

	/* Barva textu při hover, focus a active. */
	--topmedica-pdmods-button-02-interaction-color: var(--topmedica-color-white);

	/* Barva pozadí při hover, focus a active. */
	--topmedica-pdmods-button-02-interaction-background: var(--topmedica-color-accent-orange);

	/* Barva rámečku při hover, focus a active. */
	--topmedica-pdmods-button-02-interaction-border-color: var(--topmedica-color-accent-orange);

	/* Tloušťka klávesnicového focus outline. */
	--topmedica-pdmods-button-02-focus-outline-width: 1px;

	/* Styl klávesnicového focus outline. */
	--topmedica-pdmods-button-02-focus-outline-style: solid;

	/* Barva klávesnicového focus outline. */
	--topmedica-pdmods-button-02-focus-outline-color: var(--topmedica-color-accent-pink);

	/* Odsazení klávesnicového focus outline od tlačítka. */
	--topmedica-pdmods-button-02-focus-outline-offset: 3px;
}


/* 04-08-01-02-02 / ZÁKLAD VARIANTY 02 */

.topmedica-pdmods-button--02,
.topmedica-pdmods-button.topmedica-pdmods-button--02:visited {
	display: inline-flex;
	width: auto;
	max-width: var(--topmedica-pdmods-button-02-max-width);
	align-items: center;
	justify-content: center;
	flex: 0 1 auto;
	margin: 0;
	padding: var(--topmedica-pdmods-button-02-padding);
	appearance: none;
	box-sizing: border-box;
	color: var(--topmedica-pdmods-button-02-color) !important;
	background: var(--topmedica-pdmods-button-02-background);
	border-width: var(--topmedica-pdmods-button-02-border-width);
	border-style: var(--topmedica-pdmods-button-02-border-style);
	border-color: var(--topmedica-pdmods-button-02-border-color);
	border-radius: var(--topmedica-pdmods-button-02-border-radius);
	box-shadow: var(--topmedica-pdmods-button-02-box-shadow);
	font-family: var(--topmedica-pdmods-button-02-font-family);
	font-size: var(--topmedica-pdmods-button-02-font-size);
	font-weight: var(--topmedica-pdmods-button-02-font-weight);
	line-height: var(--topmedica-pdmods-button-02-line-height);
	text-align: center;
	text-decoration: none !important;
	white-space: normal;
	overflow-wrap: normal;
	word-break: normal;
	cursor: pointer;
	transition: all var(--topmedica-pdmods-button-02-transition-duration) var(--topmedica-pdmods-button-02-transition-timing);
}


/* 04-08-01-02-03 / STAVY VARIANTY 02 */

.topmedica-pdmods-button.topmedica-pdmods-button--02:hover,
.topmedica-pdmods-button.topmedica-pdmods-button--02:focus-visible,
.topmedica-pdmods-button.topmedica-pdmods-button--02:active {
	color: var(--topmedica-pdmods-button-02-interaction-color) !important;
	background: var(--topmedica-pdmods-button-02-interaction-background);
	border-color: var(--topmedica-pdmods-button-02-interaction-border-color);
	box-shadow: var(--topmedica-pdmods-button-02-box-shadow);
	text-decoration: none !important;
}

.topmedica-pdmods-button--02:focus-visible {
	outline-width: var(--topmedica-pdmods-button-02-focus-outline-width);
	outline-style: var(--topmedica-pdmods-button-02-focus-outline-style);
	outline-color: var(--topmedica-pdmods-button-02-focus-outline-color);
	outline-offset: var(--topmedica-pdmods-button-02-focus-outline-offset);
}

.topmedica-pdmods-button--02:focus:not(:focus-visible) {
	outline: 0;
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-01-03 / BUTTON GROUP

   Layoutový wrapper pro jednu až N hotových PDmods tlačítek.
   Vzhled a stavy jednotlivých buttonů zůstávají ve variantách 01/02.
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-pdm-bgroup {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--topmedica-pdm-bgroup-gap, 20px);
	width: 100%;
}

.topmedica-pdm-bgroup--align-center {
	justify-content: center;
}

.topmedica-pdm-bgroup--align-right {
	justify-content: flex-end;
}

.topmedica-pdm-bgroup--align-split {
	justify-content: space-between;
}

.topmedica-pdm-bgroup--nowrap {
	flex-wrap: nowrap;
}

@media (max-width: 648px) {
	.topmedica-pdm-bgroup {
		justify-content: center;
		flex-wrap: wrap;
	}

	.topmedica-pdm-bgroup--mobile-align-left {
		justify-content: flex-start;
	}

	.topmedica-pdm-bgroup--mobile-align-right {
		justify-content: flex-end;
	}

	.topmedica-pdm-bgroup--mobile-align-split {
		justify-content: space-between;
	}

	.topmedica-pdm-bgroup--mobile-stack {
		flex-direction: column;
		justify-content: flex-start;
		flex-wrap: nowrap;
	}

	.topmedica-pdm-bgroup--mobile-stack.topmedica-pdm-bgroup--mobile-align-left {
		align-items: flex-start;
	}

	.topmedica-pdm-bgroup--mobile-stack.topmedica-pdm-bgroup--mobile-align-right {
		align-items: flex-end;
	}
}



/* ==================================================================================================================
   04-08-02 / KOMPONENTA – SPECIALISTÉ

   Vlastnictví:
   PHP renderer vytváří filtr, výpis a datový obsah karet.
   PDmods řídí pouze jejich vzhled a responzivní rozvržení.

   Stav:
   Produkčně potvrzená karta, globální CTA, filtr, prázdné
   stavy a řízené rolování. Karta současně poskytuje ověřený
   vizuální vzor pro komponentu Odborností.
   ================================================================================================================== */


/* Společný výchozí Card Shell; breakpointové rozměry zůstávají lokálními variantami. */
:root {
	--topmedica-card-shell-gap: 20px;
	--topmedica-card-shell-padding: 24px;
	--topmedica-card-shell-background: var(--topmedica-color-surface-card);
	--topmedica-card-shell-text: var(--topmedica-color-primary);
	--topmedica-card-shell-border-width: 1px;
	--topmedica-card-shell-border-style: solid;
	--topmedica-card-shell-border-color: var(--topmedica-color-border-blue);
	--topmedica-card-shell-radius: 16px;
}

/* --------------------------------------------------------------------------------------------------------------------
   04-08-02-01 / PARAMETRY

   Všechny běžně laditelné hodnoty komponenty jsou soustředěné
   zde. Konstrukční selektory pod tímto blokem už z těchto
   parametrů pouze skládají filtr, výpis a kartu.
   ------------------------------------------------------------------------------------------------------------------- */


.topmedica-specialiste {
	/* ----- Barevné role komponenty ----- */

	/* Hlavní tmavomodrá barva ovládacích prvků. */
	--topmedica-specialiste-color-primary: var(--topmedica-color-primary);

	/* Akcentní barva interakčních stavů. */
	--topmedica-specialiste-color-accent: var(--topmedica-color-accent-orange);

	/* Výchozí tmavá barva textu mimo vlastní kartu Specialisty. */
	--topmedica-specialiste-color-text: var(--topmedica-color-text-dark);

	/* Výchozí světlé pozadí filtru a prázdného stavu. */
	--topmedica-specialiste-color-surface: var(--topmedica-color-surface-card);

	/* Barva rámečků komponenty. */
	--topmedica-specialiste-color-border: var(--topmedica-color-border-blue);

	/* Bílá plocha a kontrastní text. */
	--topmedica-specialiste-color-white: var(--topmedica-color-white);


/* --------------------------------------------------------------------------------------------------------------------
   Výpis karet
   ------------------------------------------------------------------------------------------------------------------- */
	/* Počet sloupců výpisu v základním desktopovém režimu. */
	--topmedica-specialiste-columns: 3;

	/* Vodorovná i svislá mezera mezi položkami výpisu. */
	--topmedica-specialiste-list-gap: 24px;


/* --------------------------------------------------------------------------------------------------------------------
   Filtr a prázdný stav
   ------------------------------------------------------------------------------------------------------------------- */
	/* Pozadí filtrovací karty. */
	--topmedica-specialiste-filter-background: var(--topmedica-specialiste-color-surface);

	/* Vnitřní odsazení filtrovací karty; výchozí vazba kopíruje kartu Specialisty. */
	--topmedica-specialiste-filter-padding: var(--topmedica-specialiste-card-padding);

	/* Mezera mezi selectem a kruhovými akcemi filtru. */
	--topmedica-specialiste-filter-controls-gap: 10px;

	/* Výška selectu filtru. */
	--topmedica-specialiste-control-height: 44px;

	/* Vnitřní odsazení selectu: nahoře | vpravo | dole | vlevo. */
	--topmedica-specialiste-filter-select-padding: 0 42px 0 14px;

	/* Barva pozadí selectu. */
	--topmedica-specialiste-filter-select-background: var(--topmedica-specialiste-color-white);

	/* Tloušťka rámečku selectu. */
	--topmedica-specialiste-filter-select-border-width: 1px;

	/* Styl rámečku selectu. */
	--topmedica-specialiste-filter-select-border-style: solid;

	/* Barva rámečku selectu. */
	--topmedica-specialiste-filter-select-border-color: var(--topmedica-specialiste-color-border);

	/* Zaoblení selectu. */
	--topmedica-specialiste-filter-select-radius: 8px;

	/* Průměr kruhového tlačítka filtru a resetu. */
	--topmedica-specialiste-filter-action-size: 44px;

	/* Tloušťka rámečku kruhových akcí filtru. */
	--topmedica-specialiste-filter-action-border-width: 2px;

	/* Styl rámečku kruhových akcí filtru. */
	--topmedica-specialiste-filter-action-border-style: solid;

	/* Barva rámečku kruhových akcí filtru. */
	--topmedica-specialiste-filter-action-border-color: var(--topmedica-specialiste-color-primary);

	/* Zaoblení kruhových akcí filtru. */
	--topmedica-specialiste-filter-action-radius: 50%;

	/* Rodina písma / znaku v kruhových akcích filtru. */
	--topmedica-specialiste-filter-action-font-family: inherit;

	/* Velikost znaku v kruhových akcích filtru. */
	--topmedica-specialiste-filter-action-font-size: 1.35rem;

	/* Tloušťka znaku v kruhových akcích filtru. */
	--topmedica-specialiste-filter-action-font-weight: 700;

	/* Výška řádku znaku v kruhových akcích filtru. */
	--topmedica-specialiste-filter-action-line-height: 1;

	/* Samostatná větší velikost resetovacího křížku. */
	--topmedica-specialiste-filter-reset-font-size: 1.8rem;

	/* Samostatná tloušťka resetovacího křížku. */
	--topmedica-specialiste-filter-reset-font-weight: 500;

	/* Horní odsazení textu s počtem výsledků. */
	--topmedica-specialiste-filter-count-margin-top: 18px;

	/* Tloušťka textu s počtem výsledků. */
	--topmedica-specialiste-filter-count-font-weight: 600;

	/* Výška řádku textu s počtem výsledků. */
	--topmedica-specialiste-filter-count-line-height: 1.35;

	/* Průhlednost výpisu během načítání AJAX výsledků. */
	--topmedica-specialiste-loading-opacity: 0.62;

	/* Vnitřní odsazení prázdného stavu. */
	--topmedica-specialiste-empty-padding: var(--topmedica-specialiste-filter-padding);


/* --------------------------------------------------------------------------------------------------------------------
   Karta Specialisty
   ------------------------------------------------------------------------------------------------------------------- */
	/* Svislá mezera mezi headerem, perexem a footerem karty. */
	--topmedica-specialiste-card-gap: var(--topmedica-card-shell-gap);

	/* Mezera mezi portrétem a pravým sloupcem identity. */
	--topmedica-specialiste-card-header-gap: 20px;

	/* Vnitřní odsazení karty Specialisty. */
	--topmedica-specialiste-card-padding: var(--topmedica-card-shell-padding);

	/* Pozadí karty Specialisty. */
	--topmedica-specialiste-card-background: var(--topmedica-card-shell-background);

	/* Barva všech běžných textů uvnitř karty Specialisty. */
	--topmedica-specialiste-card-text: var(--topmedica-card-shell-text);

	/* Tloušťka rámečku karty, filtru a prázdného stavu. */
	--topmedica-specialiste-card-border-width: var(--topmedica-card-shell-border-width);

	/* Styl rámečku karty, filtru a prázdného stavu. */
	--topmedica-specialiste-card-border-style: var(--topmedica-card-shell-border-style);

	/* Barva rámečku karty, filtru a prázdného stavu. */
	--topmedica-specialiste-card-border-color: var(--topmedica-card-shell-border-color);

	/* Zaoblení karty, filtru a prázdného stavu. */
	--topmedica-specialiste-card-radius: var(--topmedica-card-shell-radius);


/* --------------------------------------------------------------------------------------------------------------------
   Header karty specialisty – Portrét v kroužku, jméno, odbornosti
   ------------------------------------------------------------------------------------------------------------------- */
	/* Průměr kruhového portrétu v základním režimu. */
	--topmedica-specialiste-thumbnail-size: 120px;

	/* Zaoblení portrétu; 50 % vytváří kruh. */
	--topmedica-specialiste-thumbnail-radius: 50%;

	/* Pozadí zástupného portrétu při chybějícím obrázku. */
	--topmedica-specialiste-thumbnail-placeholder-background: var(--topmedica-color-surface-light);

	/* Tloušťka rámečku zástupného portrétu. */
	--topmedica-specialiste-thumbnail-placeholder-border-width: 1px;

	/* Styl rámečku zástupného portrétu. */
	--topmedica-specialiste-thumbnail-placeholder-border-style: solid;

	/* Barva rámečku zástupného portrétu. */
	--topmedica-specialiste-thumbnail-placeholder-border-color: var(--topmedica-specialiste-card-border-color);

	/* Spodní odsazení jména před seznamem odborností. */
	--topmedica-specialiste-title-margin-bottom: 8px;

	/* Rodina jména odkazuje na globální nadpisovou roli. */
	--topmedica-specialiste-title-font-family: var(--topmedica-typography-heading-font-family);

	/* Řez jména odkazuje na globální nadpisovou roli. */
	--topmedica-specialiste-title-font-weight: var(--topmedica-typography-heading-font-weight);

	/* Tři sloupce: řádkování vizuální role H4 Astry. */
	--topmedica-specialiste-title-line-height: var(--topmedica-typography-h4-line-height);

	/* Mezera mezi více odbornostmi. */
	--topmedica-specialiste-odbornosti-gap: 6px;

	/* Typografie odbornosti odkazuje na globální běžný text. */
	--topmedica-specialiste-odbornost-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-specialiste-odbornost-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-specialiste-odbornost-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-specialiste-odbornost-line-height: 1.35;


/* --------------------------------------------------------------------------------------------------------------------
   Perex specialisty
   ------------------------------------------------------------------------------------------------------------------- */

	/* Typografie perexu odkazuje na globální běžný text. */
	--topmedica-specialiste-perex-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-specialiste-perex-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-specialiste-perex-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-specialiste-text-line-height: var(--topmedica-typography-body-line-height);

	/* Nejvyšší povolený počet řádků perexu. */
	--topmedica-specialiste-perex-lines: 3;


/* --------------------------------------------------------------------------------------------------------------------
   Footer karty
   ------------------------------------------------------------------------------------------------------------------- */
	/* Mezera mezi levým a pravým CTA ve footeru karty. */
	--topmedica-specialiste-card-footer-gap: 12px;

	/* Svislé zarovnání CTA ve footeru karty. */
	--topmedica-specialiste-card-footer-align-items: center;

	/* Rozložení CTA mezi levou a pravou hranu footeru. */
	--topmedica-specialiste-card-footer-justify-content: space-between;


/* --------------------------------------------------------------------------------------------------------------------
   Focus a pozicování výsledků
   ------------------------------------------------------------------------------------------------------------------- */
	/* Tloušťka focus outline filtračních ovladačů. */
	--topmedica-specialiste-control-focus-outline-width: 3px;

	/* Styl focus outline filtračních ovladačů. */
	--topmedica-specialiste-control-focus-outline-style: solid;

	/* Barva focus outline filtračních ovladačů. */
	--topmedica-specialiste-control-focus-outline-color: var(--topmedica-specialiste-color-accent);

	/* Odsazení focus outline filtračních ovladačů. */
	--topmedica-specialiste-control-focus-outline-offset: 3px;

	/* Tloušťka focus outline portrétu. */
	--topmedica-specialiste-card-focus-outline-width: 3px;

	/* Styl focus outline portrétu. */
	--topmedica-specialiste-card-focus-outline-style: solid;

	/* Barva focus outline portrétu. */
	--topmedica-specialiste-card-focus-outline-color: var(--topmedica-specialiste-color-accent);

	/* Odsazení focus outline portrétu. */
	--topmedica-specialiste-card-focus-outline-offset: 4px;

	/* Tloušťka focus outline textového odkazu odbornosti. */
	--topmedica-specialiste-link-focus-outline-width: 2px;

	/* Styl focus outline textového odkazu odbornosti. */
	--topmedica-specialiste-link-focus-outline-style: solid;

	/* Barva focus outline textového odkazu odbornosti. */
	--topmedica-specialiste-link-focus-outline-color: var(--topmedica-specialiste-color-accent);

	/* Odsazení focus outline textového odkazu odbornosti. */
	--topmedica-specialiste-link-focus-outline-offset: 3px;

	/* Odsazení cíle při automatickém posunu k výsledkům. */
	--topmedica-specialiste-results-scroll-offset: 24px;

	/* ----- Most do sdílené vizuální kostry karet ----- */

	/*
	 * Ověřená karta Specialisty zůstává zdrojem hodnot.
	 * Následující neutrální role umožňují stejné konstrukční
	 * selektory použít také pro karty Odbornosti, Infuzní
	 * terapie a Vyšetření bez přejmenování jejich datových
	 * a komponentových tříd.
	 */
	--topmedica-structured-card-gap: var(--topmedica-specialiste-card-gap);
	--topmedica-structured-card-header-gap: var(--topmedica-specialiste-card-header-gap);
	--topmedica-structured-card-padding: var(--topmedica-specialiste-card-padding);
	--topmedica-structured-card-background: var(--topmedica-specialiste-card-background);
	--topmedica-structured-card-text: var(--topmedica-specialiste-card-text);
	--topmedica-structured-card-border-width: var(--topmedica-specialiste-card-border-width);
	--topmedica-structured-card-border-style: var(--topmedica-specialiste-card-border-style);
	--topmedica-structured-card-border-color: var(--topmedica-specialiste-card-border-color);
	--topmedica-structured-card-radius: var(--topmedica-specialiste-card-radius);
	--topmedica-structured-card-thumbnail-size: var(--topmedica-specialiste-thumbnail-size);
	--topmedica-structured-card-thumbnail-radius: var(--topmedica-specialiste-thumbnail-radius);
	--topmedica-structured-card-thumbnail-placeholder-background: var(--topmedica-specialiste-thumbnail-placeholder-background);
	--topmedica-structured-card-thumbnail-placeholder-border-width: var(--topmedica-specialiste-thumbnail-placeholder-border-width);
	--topmedica-structured-card-thumbnail-placeholder-border-style: var(--topmedica-specialiste-thumbnail-placeholder-border-style);
	--topmedica-structured-card-thumbnail-placeholder-border-color: var(--topmedica-specialiste-thumbnail-placeholder-border-color);
	--topmedica-structured-card-title-margin-bottom: var(--topmedica-specialiste-title-margin-bottom);
	--topmedica-structured-card-title-font-family: var(--topmedica-specialiste-title-font-family);
	--topmedica-structured-card-title-font-weight: var(--topmedica-specialiste-title-font-weight);
	--topmedica-structured-card-title-line-height: var(--topmedica-specialiste-title-line-height);
	--topmedica-structured-card-meta-gap: var(--topmedica-specialiste-odbornosti-gap);
	--topmedica-structured-card-meta-font-family: var(--topmedica-specialiste-odbornost-font-family);
	--topmedica-structured-card-meta-font-size: var(--topmedica-specialiste-odbornost-font-size);
	--topmedica-structured-card-meta-font-weight: var(--topmedica-specialiste-odbornost-font-weight);
	--topmedica-structured-card-meta-line-height: var(--topmedica-specialiste-odbornost-line-height);
	--topmedica-structured-card-perex-font-family: var(--topmedica-specialiste-perex-font-family);
	--topmedica-structured-card-perex-font-size: var(--topmedica-specialiste-perex-font-size);
	--topmedica-structured-card-perex-font-weight: var(--topmedica-specialiste-perex-font-weight);
	--topmedica-structured-card-perex-line-height: var(--topmedica-specialiste-text-line-height);
	--topmedica-structured-card-perex-lines: var(--topmedica-specialiste-perex-lines);
	--topmedica-structured-card-footer-gap: var(--topmedica-specialiste-card-footer-gap);
	--topmedica-structured-card-footer-align-items: var(--topmedica-specialiste-card-footer-align-items);
	--topmedica-structured-card-footer-justify-content: var(--topmedica-specialiste-card-footer-justify-content);
	--topmedica-structured-card-image-focus-outline-width: var(--topmedica-specialiste-card-focus-outline-width);
	--topmedica-structured-card-image-focus-outline-style: var(--topmedica-specialiste-card-focus-outline-style);
	--topmedica-structured-card-image-focus-outline-color: var(--topmedica-specialiste-card-focus-outline-color);
	--topmedica-structured-card-image-focus-outline-offset: var(--topmedica-specialiste-card-focus-outline-offset);
	--topmedica-structured-card-link-focus-outline-width: var(--topmedica-specialiste-link-focus-outline-width);
	--topmedica-structured-card-link-focus-outline-style: var(--topmedica-specialiste-link-focus-outline-style);
	--topmedica-structured-card-link-focus-outline-color: var(--topmedica-specialiste-link-focus-outline-color);
	--topmedica-structured-card-link-focus-outline-offset: var(--topmedica-specialiste-link-focus-outline-offset);

	color: var(--topmedica-specialiste-color-text);
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-02-02 / FILTR
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-specialiste__filter-card {
	display: flex;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: var(--topmedica-specialiste-filter-padding);
	background: var(--topmedica-specialiste-filter-background);
	border-width: var(--topmedica-specialiste-card-border-width);
	border-style: var(--topmedica-specialiste-card-border-style);
	border-color: var(--topmedica-specialiste-card-border-color);
	border-radius: var(--topmedica-specialiste-card-radius);
}

.topmedica-specialiste__filter {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	margin: 0;
}

.topmedica-specialiste__filter-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	margin: -1px;
	padding: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.topmedica-specialiste__filter-controls {
	display: flex;
	min-width: 0;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--topmedica-specialiste-filter-controls-gap);
}

.topmedica-specialiste__filter-select {
	flex: 1 1 auto;
	min-width: 0;
	height: var(--topmedica-specialiste-control-height);
	margin: 0;
	padding: var(--topmedica-specialiste-filter-select-padding);
	color: var(--topmedica-specialiste-color-text);
	background-color: var(--topmedica-specialiste-filter-select-background);
	border-width: var(--topmedica-specialiste-filter-select-border-width);
	border-style: var(--topmedica-specialiste-filter-select-border-style);
	border-color: var(--topmedica-specialiste-filter-select-border-color);
	border-radius: var(--topmedica-specialiste-filter-select-radius);
	font: inherit;
	line-height: 1;
}

.topmedica-specialiste__filter-action {
	display: inline-flex;
	width: var(--topmedica-specialiste-filter-action-size);
	min-width: var(--topmedica-specialiste-filter-action-size);
	height: var(--topmedica-specialiste-filter-action-size);
	align-items: center;
	justify-content: center;
	flex: 0 0 var(--topmedica-specialiste-filter-action-size);
	margin: 0;
	padding: 0;
	border-width: var(--topmedica-specialiste-filter-action-border-width);
	border-style: var(--topmedica-specialiste-filter-action-border-style);
	border-color: var(--topmedica-specialiste-filter-action-border-color);
	border-radius: var(--topmedica-specialiste-filter-action-radius);
	font-family: var(--topmedica-specialiste-filter-action-font-family);
	font-size: var(--topmedica-specialiste-filter-action-font-size);
	font-weight: var(--topmedica-specialiste-filter-action-font-weight);
	line-height: var(--topmedica-specialiste-filter-action-line-height);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.topmedica-specialiste__filter-action,
.topmedica-specialiste__filter-action:visited,
.topmedica-specialiste__filter-action:hover,
.topmedica-specialiste__filter-action:focus,
.topmedica-specialiste__filter-action:focus-visible,
.topmedica-specialiste__filter-action:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.topmedica-specialiste__filter-action > span {
	display: block;
	line-height: 1;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.topmedica-specialiste__filter-submit {
	color: var(--topmedica-specialiste-color-white);
	background: var(--topmedica-specialiste-color-primary);
}

.topmedica-specialiste__filter-reset {
	color: var(--topmedica-specialiste-color-primary);
	background: transparent;
	font-size: var(--topmedica-specialiste-filter-reset-font-size);
	font-weight: var(--topmedica-specialiste-filter-reset-font-weight);
	text-decoration: none !important;
}

.topmedica-specialiste__filter-submit:hover,
.topmedica-specialiste__filter-submit:focus-visible {
	color: var(--topmedica-specialiste-color-white);
	background: var(--topmedica-specialiste-color-accent);
	border-color: var(--topmedica-specialiste-color-accent);
}

.topmedica-specialiste__filter-reset:hover,
.topmedica-specialiste__filter-reset:focus-visible {
	color: var(--topmedica-specialiste-color-white);
	background: var(--topmedica-specialiste-color-primary);
}

.topmedica-specialiste__filter-select:focus-visible,
.topmedica-specialiste__filter-action:focus-visible {
	outline-width: var(--topmedica-specialiste-control-focus-outline-width);
	outline-style: var(--topmedica-specialiste-control-focus-outline-style);
	outline-color: var(--topmedica-specialiste-control-focus-outline-color);
	outline-offset: var(--topmedica-specialiste-control-focus-outline-offset);
}

.topmedica-specialiste__filter-count {
	margin: var(--topmedica-specialiste-filter-count-margin-top) 0 0;
	color: var(--topmedica-specialiste-color-primary);
	font-weight: var(--topmedica-specialiste-filter-count-font-weight);
	line-height: var(--topmedica-specialiste-filter-count-line-height);
}

.topmedica-specialiste__filter-count-line {
	display: block;
}

.topmedica-specialiste[aria-busy="true"] {
	cursor: progress;
}

.topmedica-specialiste[aria-busy="true"] .topmedica-specialiste__grid {
	opacity: var(--topmedica-specialiste-loading-opacity);
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-02-03 / VÝPIS A PRÁZDNÝ STAV
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-specialiste__grid {
	display: grid;
	grid-template-columns: repeat(var(--topmedica-specialiste-columns), minmax(0, 1fr));
	gap: var(--topmedica-specialiste-list-gap);
	margin: 0;
	padding: 0;
}

.topmedica-specialiste__empty {
	display: flex;
	min-width: 0;
	height: 100%;
	align-items: flex-start;
	margin: 0;
	padding: var(--topmedica-specialiste-empty-padding);
	background: var(--topmedica-specialiste-filter-background);
	border-width: var(--topmedica-specialiste-card-border-width);
	border-style: var(--topmedica-specialiste-card-border-style);
	border-color: var(--topmedica-specialiste-card-border-color);
	border-radius: var(--topmedica-specialiste-card-radius);
	scroll-margin-top: var(--topmedica-specialiste-results-scroll-offset);
}

.topmedica-specialiste__empty > :first-child {
	margin-top: 0;
}

.topmedica-specialiste__empty > :last-child {
	margin-bottom: 0;
}


/* Společný Card Title: pilotní velikosti Terapií nyní platí pro všechny čtyři výpisy. */
.topmedica-specialiste,
.topmedica-odbornosti,
.topmedica-terapie,
.topmedica-vysetreni {
	--topmedica-structured-card-title-size: clamp(18px, 1.8vw, 22px);
}

@media (max-width: 920px) {
	.topmedica-specialiste,
	.topmedica-odbornosti,
	.topmedica-terapie,
	.topmedica-vysetreni {
		--topmedica-structured-card-title-size: clamp(18px, 2.5vw, 22px);
	}
}

@media (max-width: 648px) {
	.topmedica-specialiste,
	.topmedica-odbornosti,
	.topmedica-terapie,
	.topmedica-vysetreni {
		--topmedica-structured-card-title-size: clamp(20px, 4vw, 24px);
	}
}

/* ------------------------------------------------------------------------------------------------------------------
   04-08-02-04 / SDÍLENÁ VIZUÁLNÍ KOSTRA KARTY

   Karta Specialisty je produkčně potvrzený vizuální vzor.
   Karty Odbornosti, Infuzní terapie a Vyšetření používají
   tutéž konstrukci, ale zachovávají vlastní datové
   a komponentové třídy.
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-specialista-card,
.topmedica-odbornost-card,
.topmedica-terapie-card,
.topmedica-vysetreni-card {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	align-items: stretch;
	gap: var(--topmedica-structured-card-gap);
	margin: 0;
	padding: var(--topmedica-structured-card-padding);
	color: var(--topmedica-structured-card-text);
	background: var(--topmedica-structured-card-background);
	border-width: var(--topmedica-structured-card-border-width);
	border-style: var(--topmedica-structured-card-border-style);
	border-color: var(--topmedica-structured-card-border-color);
	border-radius: var(--topmedica-structured-card-radius);
}

.topmedica-specialista-card {
	scroll-margin-top: var(--topmedica-specialiste-results-scroll-offset);
}

.topmedica-specialista-card__header,
.topmedica-odbornost-card__header,
.topmedica-terapie-card__header,
.topmedica-vysetreni-card__header {
	display: grid;
	min-width: 0;
	grid-template-columns: var(--topmedica-structured-card-thumbnail-size) minmax(0, 1fr);
	align-items: start;
	gap: var(--topmedica-structured-card-header-gap);
	margin: 0;
}

.topmedica-specialista-card__thumbnail,
.topmedica-specialista-card__thumbnail-link,
.topmedica-odbornost-card__thumbnail,
.topmedica-odbornost-card__thumbnail-link,
.topmedica-terapie-card__thumbnail,
.topmedica-terapie-card__thumbnail-link,
.topmedica-vysetreni-card__thumbnail,
.topmedica-vysetreni-card__thumbnail-link {
	width: var(--topmedica-structured-card-thumbnail-size);
	height: var(--topmedica-structured-card-thumbnail-size);
}

.topmedica-specialista-card__thumbnail,
.topmedica-odbornost-card__thumbnail,
.topmedica-terapie-card__thumbnail,
.topmedica-vysetreni-card__thumbnail {
	flex: 0 0 var(--topmedica-structured-card-thumbnail-size);
	margin: 0;
	border-radius: var(--topmedica-structured-card-thumbnail-radius);
}

.topmedica-specialista-card__thumbnail--placeholder,
.topmedica-odbornost-card__thumbnail--placeholder,
.topmedica-terapie-card__thumbnail--placeholder,
.topmedica-vysetreni-card__thumbnail--placeholder {
	background: var(--topmedica-structured-card-thumbnail-placeholder-background);
	border-width: var(--topmedica-structured-card-thumbnail-placeholder-border-width);
	border-style: var(--topmedica-structured-card-thumbnail-placeholder-border-style);
	border-color: var(--topmedica-structured-card-thumbnail-placeholder-border-color);
}

.topmedica-specialista-card__thumbnail-link,
.topmedica-odbornost-card__thumbnail-link,
.topmedica-terapie-card__thumbnail-link,
.topmedica-vysetreni-card__thumbnail-link {
	display: block;
	overflow: hidden;
	border-radius: var(--topmedica-structured-card-thumbnail-radius);
}

.topmedica-specialista-card__thumbnail-link:focus-visible,
.topmedica-odbornost-card__thumbnail-link:focus-visible,
.topmedica-terapie-card__thumbnail-link:focus-visible,
.topmedica-vysetreni-card__thumbnail-link:focus-visible {
	outline-width: var(--topmedica-structured-card-image-focus-outline-width);
	outline-style: var(--topmedica-structured-card-image-focus-outline-style);
	outline-color: var(--topmedica-structured-card-image-focus-outline-color);
	outline-offset: var(--topmedica-structured-card-image-focus-outline-offset);
}

.topmedica-specialista-card__image,
.topmedica-odbornost-card__image,
.topmedica-terapie-card__image,
.topmedica-vysetreni-card__image {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	border-radius: inherit;
}

.topmedica-specialista-card__identity,
.topmedica-odbornost-card__identity,
.topmedica-terapie-card__identity,
.topmedica-vysetreni-card__identity {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
}

.topmedica-specialista-card__title,
.topmedica-odbornost-card__title,
.topmedica-terapie-card__title,
.topmedica-vysetreni-card__title {
	margin: 0 0 var(--topmedica-structured-card-title-margin-bottom);
	color: var(--topmedica-structured-card-text);
	font-family: var(--topmedica-structured-card-title-font-family);
	font-size: var(--topmedica-structured-card-title-size);
	font-weight: var(--topmedica-structured-card-title-font-weight);
	line-height: var(--topmedica-structured-card-title-line-height);
	min-width: 0;
	word-break: normal;
	hyphens: auto;
	overflow-wrap: anywhere;
}

.topmedica-specialista-card__title-link,
.topmedica-odbornost-card__title-link,
.topmedica-terapie-card__title-link,
.topmedica-vysetreni-card__title-link {
	color: var(--topmedica-structured-card-text);
	text-decoration: none !important;
}

.topmedica-specialista-card__title-link:visited,
.topmedica-specialista-card__title-link:focus,
.topmedica-specialista-card__title-link:active,
.topmedica-odbornost-card__title-link:visited,
.topmedica-odbornost-card__title-link:focus,
.topmedica-odbornost-card__title-link:active,
.topmedica-terapie-card__title-link:visited,
.topmedica-terapie-card__title-link:focus,
.topmedica-terapie-card__title-link:active,
.topmedica-vysetreni-card__title-link:visited,
.topmedica-vysetreni-card__title-link:focus,
.topmedica-vysetreni-card__title-link:active {
	color: var(--topmedica-structured-card-text);
	text-decoration: none !important;
}

.topmedica-specialista-card__title-link:hover,
.topmedica-specialista-card__title-link:focus-visible,
.topmedica-odbornost-card__title-link:hover,
.topmedica-odbornost-card__title-link:focus-visible,
.topmedica-terapie-card__title-link:hover,
.topmedica-terapie-card__title-link:focus-visible,
.topmedica-vysetreni-card__title-link:hover,
.topmedica-vysetreni-card__title-link:focus-visible {
	color: var(--topmedica-structured-card-text);
	text-decoration: underline !important;
}

.topmedica-specialista-card__title-link:focus-visible,
.topmedica-odbornost-card__title-link:focus-visible,
.topmedica-terapie-card__title-link:focus-visible,
.topmedica-vysetreni-card__title-link:focus-visible {
	outline-width: var(--topmedica-structured-card-link-focus-outline-width);
	outline-style: var(--topmedica-structured-card-link-focus-outline-style);
	outline-color: var(--topmedica-structured-card-link-focus-outline-color);
	outline-offset: var(--topmedica-structured-card-link-focus-outline-offset);
}

.topmedica-specialista-card__title-link:focus:not(:focus-visible),
.topmedica-odbornost-card__title-link:focus:not(:focus-visible),
.topmedica-terapie-card__title-link:focus:not(:focus-visible),
.topmedica-vysetreni-card__title-link:focus:not(:focus-visible) {
	outline: 0;
}

.topmedica-specialista-card__odbornosti,
.topmedica-odbornost-card__indicators {
	display: flex;
	max-width: 100%;
	flex-wrap: wrap;
	gap: var(--topmedica-structured-card-meta-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.topmedica-specialista-card__odbornost {
	margin: 0;
	padding: 0;
	line-height: var(--topmedica-structured-card-meta-line-height);
}

.topmedica-odbornost-card__indicator {
	margin: 0;
	padding: 0;
	color: var(--topmedica-structured-card-text);
	font-family: var(--topmedica-structured-card-meta-font-family);
	font-size: var(--topmedica-structured-card-meta-font-size);
	font-weight: var(--topmedica-structured-card-meta-font-weight);
	line-height: var(--topmedica-structured-card-meta-line-height);
}

.topmedica-specialista-card__odbornost-link {
	color: var(--topmedica-structured-card-text);
	font-family: var(--topmedica-structured-card-meta-font-family);
	font-size: var(--topmedica-structured-card-meta-font-size);
	font-weight: var(--topmedica-structured-card-meta-font-weight);
	line-height: inherit;
	text-decoration: none !important;
	white-space: normal;
	word-break: normal;
	hyphens: auto;
	overflow-wrap: anywhere;
}

.topmedica-specialista-card__odbornost-link:visited,
.topmedica-specialista-card__odbornost-link:focus,
.topmedica-specialista-card__odbornost-link:active {
	color: var(--topmedica-structured-card-text);
	text-decoration: none !important;
}

.topmedica-specialista-card__odbornost-link:hover,
.topmedica-specialista-card__odbornost-link:focus-visible {
	color: var(--topmedica-structured-card-text);
	text-decoration: underline !important;
}

.topmedica-specialista-card__odbornost-link:focus-visible {
	outline-width: var(--topmedica-structured-card-link-focus-outline-width);
	outline-style: var(--topmedica-structured-card-link-focus-outline-style);
	outline-color: var(--topmedica-structured-card-link-focus-outline-color);
	outline-offset: var(--topmedica-structured-card-link-focus-outline-offset);
}

.topmedica-specialista-card__odbornost-link:focus:not(:focus-visible) {
	outline: 0;
}

.topmedica-specialista-card__body,
.topmedica-odbornost-card__body,
.topmedica-terapie-card__body,
.topmedica-vysetreni-card__body {
	width: 100%;
	min-width: 0;
	color: var(--topmedica-structured-card-text);
}

.topmedica-specialista-card__perex,
.topmedica-odbornost-card__perex,
.topmedica-terapie-card__perex,
.topmedica-vysetreni-card__perex {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--topmedica-structured-card-perex-lines);
	color: var(--topmedica-structured-card-text);
	font-family: var(--topmedica-structured-card-perex-font-family);
	font-size: var(--topmedica-structured-card-perex-font-size);
	font-weight: var(--topmedica-structured-card-perex-font-weight);
	line-height: var(--topmedica-structured-card-perex-line-height);
}

.topmedica-specialista-card__perex > *,
.topmedica-odbornost-card__perex > *,
.topmedica-terapie-card__perex > *,
.topmedica-vysetreni-card__perex > * {
	font-family: var(--topmedica-structured-card-perex-font-family);
	font-size: var(--topmedica-structured-card-perex-font-size);
	font-weight: var(--topmedica-structured-card-perex-font-weight);
	line-height: var(--topmedica-structured-card-perex-line-height);
}

.topmedica-specialista-card__perex > *,
.topmedica-odbornost-card__perex > *,
.topmedica-terapie-card__perex > *,
.topmedica-vysetreni-card__perex > * {
	margin-top: 0;
	margin-bottom: 0;
}

.topmedica-specialista-card__footer,
.topmedica-odbornost-card__footer,
.topmedica-terapie-card__footer,
.topmedica-vysetreni-card__footer {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-wrap: nowrap;
	align-items: var(--topmedica-structured-card-footer-align-items);
	justify-content: var(--topmedica-structured-card-footer-justify-content);
	gap: var(--topmedica-structured-card-footer-gap);
	margin-top: auto;
}

.topmedica-specialista-card__footer .topmedica-pdmods-button,
.topmedica-odbornost-card__footer .topmedica-pdmods-button,
.topmedica-terapie-card__footer .topmedica-pdmods-button,
.topmedica-vysetreni-card__footer .topmedica-pdmods-button {
	min-width: 0;
	flex: 0 1 auto;
	white-space: normal;
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-02-05 / RESPONZIVITA SPECIALISTŮ
   ------------------------------------------------------------------------------------------------------------------ */

@media (max-width: 1200px) {

	.topmedica-specialiste {
		/* Menší mezera mezi třemi pásy karty. */
		--topmedica-specialiste-card-gap: 16px;

		/* Menší mezera mezi portrétem a identitou. */
		--topmedica-specialiste-card-header-gap: 14px;

		/* Menší vnitřní odsazení karty. */
		--topmedica-specialiste-card-padding: 20px;

		/* Menší portrét pro nejužší třísloupcový režim. */
		--topmedica-specialiste-thumbnail-size: 88px;
	}

}

@media (min-width: 921px) and (max-width: 1200px) {

	.topmedica-specialiste {
		/* Kompaktnější mezera mezi CTA ve třísloupcovém režimu. */
		--topmedica-specialiste-card-footer-gap: 8px;
	}

}

@media (max-width: 920px) {

	.topmedica-specialiste {
		/* Dva sloupce po přechodu Beaver Contentu. */
		--topmedica-specialiste-columns: 2;

		/* Mezera mezi kartami ve dvousloupcovém režimu. */
		--topmedica-specialiste-list-gap: 20px;

		/* Svislá mezera mezi třemi pásy karty. */
		--topmedica-specialiste-card-gap: 18px;

		/* Mezera mezi portrétem a identitou. */
		--topmedica-specialiste-card-header-gap: 16px;

		/* Vnitřní odsazení karty. */
		--topmedica-specialiste-card-padding: 20px;

		/* Portrét se po rozšíření dvousloupcové karty znovu zvětší. */
		--topmedica-specialiste-thumbnail-size: 112px;

		/* Dva sloupce: řádkování vizuální role H3 Astry. */
		--topmedica-specialiste-title-line-height: var(--topmedica-typography-h3-line-height);
	}

}

@media (min-width: 649px) and (max-width: 760px) {

	.topmedica-specialiste {
		/* Kompaktní mezera mezi třemi pásy úzké dvousloupcové karty. */
		--topmedica-specialiste-card-gap: 14px;

		/* Kompaktní mezera mezi portrétem a identitou. */
		--topmedica-specialiste-card-header-gap: 12px;

		/* Kompaktní vnitřní odsazení karty. */
		--topmedica-specialiste-card-padding: 16px;

		/* Menší portrét pro nejužší dvousloupcový režim. */
		--topmedica-specialiste-thumbnail-size: 84px;

		/* Kompaktnější mezera mezi CTA v úzké dvousloupcové kartě. */
		--topmedica-specialiste-card-footer-gap: 8px;
	}

}

@media (max-width: 648px) {

	.topmedica-specialiste {
		/* Jeden sloupec po přechodu Beaver Contentu. */
		--topmedica-specialiste-columns: 1;

		/* Mezera mezi kartami v jednosloupcovém režimu. */
		--topmedica-specialiste-list-gap: 16px;

		/* Svislá mezera mezi třemi pásy karty. */
		--topmedica-specialiste-card-gap: 16px;

		/* Mezera mezi portrétem a identitou. */
		--topmedica-specialiste-card-header-gap: 16px;

		/* Vnitřní odsazení karty. */
		--topmedica-specialiste-card-padding: 16px;

		/* Portrét se po rozšíření jednosloupcové karty znovu zvětší. */
		--topmedica-specialiste-thumbnail-size: 104px;

		/* Jeden sloupec: řádkování vizuální role H2 Astry. */
		--topmedica-specialiste-title-line-height: var(--topmedica-typography-h2-line-height);
	}

	.topmedica-specialiste__filter-controls {
		align-items: center;
	}

}

@media (max-width: 420px) {

	.topmedica-specialiste {
		/* Kompaktní mezera mezi třemi pásy velmi úzké karty. */
		--topmedica-specialiste-card-gap: 14px;

		/* Kompaktní mezera mezi portrétem a identitou. */
		--topmedica-specialiste-card-header-gap: 12px;

		/* Menší portrét pro velmi úzké telefony. */
		--topmedica-specialiste-thumbnail-size: 80px;

		/* Kompaktnější mezera mezi CTA ve velmi úzké kartě. */
		--topmedica-specialiste-card-footer-gap: 8px;
	}

}



/* ==================================================================================================================
   04-08-03 / KOMPONENTA – LÉKAŘSKÉ ODBORNOSTI

   Vlastnictví:
   PHP renderer vytváří výpis a datový obsah karet.
   PDmods řídí pouze jejich vzhled a responzivní rozvržení.

   Stav:
   Karta používá produkčně potvrzenou vizuální kostru
   Specialisty. Zachovává vlastní data, třídy a neinteraktivní
   indikátory Dospělí / Děti.
   ================================================================================================================== */


/* ------------------------------------------------------------------------------------------------------------------
   04-08-03-01 / PARAMETRY

   Všechny běžně laditelné hodnoty výpisu a karty Odbornosti
   jsou soustředěné zde. Konstrukční selektory pod tímto
   blokem už pouze používají tyto parametry.
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-odbornosti {
	/* ----- Barevné role komponenty ----- */

	/* Hlavní tmavomodrá barva karty a ovládacích prvků. */
	--topmedica-odbornosti-color-primary: var(--topmedica-color-primary);

	/* Akcentní barva interakčních stavů. */
	--topmedica-odbornosti-color-accent: var(--topmedica-color-accent-orange);

	/* Výchozí tmavá barva textu mimo vlastní kartu Odbornosti. */
	--topmedica-odbornosti-color-text: var(--topmedica-color-text-dark);

	/* Průsvitná světle modrá plocha, shodná s kartou Specialisty. */
	--topmedica-odbornosti-color-surface: var(--topmedica-color-surface-card);

	/* Barva rámečků komponenty. */
	--topmedica-odbornosti-color-border: var(--topmedica-color-border-blue);

	/* ----- Výpis karet ----- */

	/* Počet sloupců výpisu v základním desktopovém režimu. */
	--topmedica-odbornosti-columns: 3;

	/* Vodorovná i svislá mezera mezi kartami. */
	--topmedica-odbornosti-list-gap: 24px;

	/* ----- Sdílená vizuální kostra karty ----- */

	/* Svislá mezera mezi headerem, perexem a footerem. */
	--topmedica-structured-card-gap: var(--topmedica-card-shell-gap);

	/* Mezera mezi kruhovou ikonou a pravou částí identity. */
	--topmedica-structured-card-header-gap: 20px;

	/* Vnitřní odsazení karty a prázdného stavu. */
	--topmedica-structured-card-padding: var(--topmedica-card-shell-padding);

	/* Barvy a rámeček shodné s kartou Specialisty. */
	--topmedica-structured-card-background: var(--topmedica-card-shell-background);
	--topmedica-structured-card-text: var(--topmedica-card-shell-text);
	--topmedica-structured-card-border-width: var(--topmedica-card-shell-border-width);
	--topmedica-structured-card-border-style: var(--topmedica-card-shell-border-style);
	--topmedica-structured-card-border-color: var(--topmedica-card-shell-border-color);
	--topmedica-structured-card-radius: var(--topmedica-card-shell-radius);

	/* Kruhová ikona / miniatura a její zástupný stav. */
	--topmedica-structured-card-thumbnail-size: 120px;
	--topmedica-structured-card-thumbnail-radius: 50%;
	--topmedica-structured-card-thumbnail-placeholder-background: var(--topmedica-color-surface-light);
	--topmedica-structured-card-thumbnail-placeholder-border-width: 1px;
	--topmedica-structured-card-thumbnail-placeholder-border-style: solid;
	--topmedica-structured-card-thumbnail-placeholder-border-color: var(--topmedica-structured-card-border-color);

	/* Název používá společnou velikost Card Title a řádkování role H4. */
	--topmedica-structured-card-title-margin-bottom: 8px;
	--topmedica-structured-card-title-font-family: var(--topmedica-typography-heading-font-family);
	--topmedica-structured-card-title-font-weight: var(--topmedica-typography-heading-font-weight);
	--topmedica-structured-card-title-line-height: var(--topmedica-typography-h4-line-height);

	/* Dospělí / Děti kopírují typografii seznamu odborností Specialisty. */
	--topmedica-structured-card-meta-gap: 6px;
	--topmedica-structured-card-meta-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-structured-card-meta-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-structured-card-meta-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-structured-card-meta-line-height: var(--topmedica-typography-body-line-height);

	/* Perex používá běžnou typografii a nejvýše tři řádky. */
	--topmedica-structured-card-perex-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-structured-card-perex-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-structured-card-perex-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-structured-card-perex-line-height: var(--topmedica-typography-body-line-height);
	--topmedica-structured-card-perex-lines: 3;

	/* Footer přebírá pouze layout; vzhled CTA vlastní globální buttony 01/02. */
	--topmedica-structured-card-footer-gap: 12px;
	--topmedica-structured-card-footer-align-items: center;
	--topmedica-structured-card-footer-justify-content: space-between;

	/* Focus miniatury a textového názvu. */
	--topmedica-structured-card-image-focus-outline-width: 3px;
	--topmedica-structured-card-image-focus-outline-style: solid;
	--topmedica-structured-card-image-focus-outline-color: var(--topmedica-odbornosti-color-accent);
	--topmedica-structured-card-image-focus-outline-offset: 4px;
	--topmedica-structured-card-link-focus-outline-width: 2px;
	--topmedica-structured-card-link-focus-outline-style: solid;
	--topmedica-structured-card-link-focus-outline-color: var(--topmedica-odbornosti-color-accent);
	--topmedica-structured-card-link-focus-outline-offset: 3px;

	color: var(--topmedica-odbornosti-color-text);
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-03-02 / VÝPIS A PRÁZDNÝ STAV
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-odbornosti__list {
	display: grid;
	grid-template-columns: repeat(var(--topmedica-odbornosti-columns), minmax(0, 1fr));
	gap: var(--topmedica-odbornosti-list-gap);
	margin: 0;
	padding: 0;
}

.topmedica-odbornosti__empty {
	margin: 0;
	padding: var(--topmedica-structured-card-padding);
	background: var(--topmedica-structured-card-background);
	border-width: var(--topmedica-structured-card-border-width);
	border-style: var(--topmedica-structured-card-border-style);
	border-color: var(--topmedica-structured-card-border-color);
	border-radius: var(--topmedica-structured-card-radius);
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-03-03 / KARTA ODBORNOSTI

   Konstrukční pravidla vlastní sdílená kostra v 04-08-02-04.
   Zde nejsou lokální kopie karty ani tlačítek. Dospělí / Děti
   jsou prosté neinteraktivní span prvky.
   ------------------------------------------------------------------------------------------------------------------ */


/* ------------------------------------------------------------------------------------------------------------------
   04-08-03-04 / RESPONZIVITA ODBORNOSTÍ
   ------------------------------------------------------------------------------------------------------------------ */

@media (max-width: 1200px) {

	.topmedica-odbornosti {
		/* Shodné zmenšení s kartou Specialisty. */
		--topmedica-structured-card-gap: 16px;
		--topmedica-structured-card-header-gap: 14px;
		--topmedica-structured-card-padding: 20px;
		--topmedica-structured-card-thumbnail-size: 88px;
	}

}

@media (min-width: 921px) and (max-width: 1200px) {

	.topmedica-odbornosti {
		/* Kompaktnější mezera mezi CTA ve třísloupcovém režimu. */
		--topmedica-structured-card-footer-gap: 8px;
	}

}

@media (max-width: 920px) {

	.topmedica-odbornosti {
		/* Dva sloupce po přechodu Beaver Contentu. */
		--topmedica-odbornosti-columns: 2;
		--topmedica-odbornosti-list-gap: 20px;

		/* Shodná geometrie dvousloupcové karty Specialisty. */
		--topmedica-structured-card-gap: 18px;
		--topmedica-structured-card-header-gap: 16px;
		--topmedica-structured-card-padding: 20px;
		--topmedica-structured-card-thumbnail-size: 112px;

		/* Dva sloupce: řádkování vizuální role H3 Astry. */
		--topmedica-structured-card-title-line-height: var(--topmedica-typography-h3-line-height);
	}

}

@media (min-width: 649px) and (max-width: 760px) {

	.topmedica-odbornosti {
		/* Shodný kompaktní stav úzké dvousloupcové karty. */
		--topmedica-structured-card-gap: 14px;
		--topmedica-structured-card-header-gap: 12px;
		--topmedica-structured-card-padding: 16px;
		--topmedica-structured-card-thumbnail-size: 84px;
		--topmedica-structured-card-footer-gap: 8px;
	}

}

@media (max-width: 648px) {

	.topmedica-odbornosti {
		/* Jeden sloupec po přechodu Beaver Contentu. */
		--topmedica-odbornosti-columns: 1;
		--topmedica-odbornosti-list-gap: 16px;

		/* Shodná geometrie jednosloupcové karty Specialisty. */
		--topmedica-structured-card-gap: 16px;
		--topmedica-structured-card-header-gap: 16px;
		--topmedica-structured-card-padding: 16px;
		--topmedica-structured-card-thumbnail-size: 104px;

		/* Jeden sloupec: řádkování vizuální role H2 Astry. */
		--topmedica-structured-card-title-line-height: var(--topmedica-typography-h2-line-height);
	}

}

@media (max-width: 420px) {

	.topmedica-odbornosti {
		/* Shodný kompaktní stav velmi úzké karty Specialisty. */
		--topmedica-structured-card-gap: 14px;
		--topmedica-structured-card-header-gap: 12px;
		--topmedica-structured-card-thumbnail-size: 80px;
		--topmedica-structured-card-footer-gap: 8px;
	}

}



/* ==================================================================================================================
   04-08-04 / KOMPONENTY – INFUZNÍ TERAPIE A VYŠETŘENÍ

   Vlastnictví:
   Dva samostatné PHP renderery vytvářejí vlastní výpisy
   a datový obsah karet. PDmods řídí jejich společný vzhled
   a responzivní rozvržení.

   Stav:
   Obě rodiny používají produkčně potvrzenou vizuální kostru
   karty Specialisty. Jedinou vlastní obsahovou rolí headeru
   je neinteraktivní cena pod názvem.
   ================================================================================================================== */


/* ------------------------------------------------------------------------------------------------------------------
   04-08-04-01 / PARAMETRY

   Všechny běžně laditelné hodnoty obou výpisů a karet jsou
   soustředěné zde. Konstrukční selektory pod tímto blokem
   už pouze používají tyto parametry.
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-terapie,
.topmedica-vysetreni {
	/* ----- Barevné role komponent ----- */

	/* Hlavní tmavomodrá barva karty a ovládacích prvků. */
	--topmedica-terapie-vysetreni-color-primary: var(--topmedica-color-primary);

	/* Akcentní barva interakčních stavů. */
	--topmedica-terapie-vysetreni-color-accent: var(--topmedica-color-accent-orange);

	/* Výchozí tmavá barva textu mimo vlastní karty. */
	--topmedica-terapie-vysetreni-color-text: var(--topmedica-color-text-dark);

	/* Průsvitná světle modrá plocha, shodná s kartou Specialisty. */
	--topmedica-terapie-vysetreni-color-surface: var(--topmedica-color-surface-card);

	/* Barva rámečků komponent. */
	--topmedica-terapie-vysetreni-color-border: var(--topmedica-color-border-blue);

	/* ----- Výpis karet ----- */

	/* Počet sloupců výpisu v základním desktopovém režimu. */
	--topmedica-terapie-vysetreni-columns: 3;

	/* Vodorovná i svislá mezera mezi kartami. */
	--topmedica-terapie-vysetreni-list-gap: 24px;

	/* ----- Sdílená vizuální kostra karty ----- */

	/* Svislá mezera mezi headerem, perexem a footerem. */
	--topmedica-structured-card-gap: var(--topmedica-card-shell-gap);

	/* Mezera mezi kruhovým vizuálem a pravou částí identity. */
	--topmedica-structured-card-header-gap: 20px;

	/* Vnitřní odsazení karty a prázdného stavu. */
	--topmedica-structured-card-padding: var(--topmedica-card-shell-padding);

	/* Barvy a rámeček shodné s kartou Specialisty. */
	--topmedica-structured-card-background: var(--topmedica-card-shell-background);
	--topmedica-structured-card-text: var(--topmedica-card-shell-text);
	--topmedica-structured-card-border-width: var(--topmedica-card-shell-border-width);
	--topmedica-structured-card-border-style: var(--topmedica-card-shell-border-style);
	--topmedica-structured-card-border-color: var(--topmedica-card-shell-border-color);
	--topmedica-structured-card-radius: var(--topmedica-card-shell-radius);

	/* Kruhový vizuál / miniatura a jeho zástupný stav. */
	--topmedica-structured-card-thumbnail-size: 120px;
	--topmedica-structured-card-thumbnail-radius: 50%;
	--topmedica-structured-card-thumbnail-placeholder-background: var(--topmedica-color-surface-light);
	--topmedica-structured-card-thumbnail-placeholder-border-width: 1px;
	--topmedica-structured-card-thumbnail-placeholder-border-style: solid;
	--topmedica-structured-card-thumbnail-placeholder-border-color: var(--topmedica-structured-card-border-color);

	/* Název používá společnou velikost Card Title a řádkování role H4. */
	--topmedica-structured-card-title-margin-bottom: 8px;
	--topmedica-structured-card-title-font-family: var(--topmedica-typography-heading-font-family);
	--topmedica-structured-card-title-font-weight: var(--topmedica-typography-heading-font-weight);
	--topmedica-structured-card-title-line-height: var(--topmedica-typography-h4-line-height);

	/* Obecná meta typografie, ze které vychází cena. */
	--topmedica-structured-card-meta-gap: 6px;
	--topmedica-structured-card-meta-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-structured-card-meta-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-structured-card-meta-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-structured-card-meta-line-height: var(--topmedica-typography-body-line-height);

	/* ----- Neinteraktivní cena pod názvem ----- */

	/* Vnější odsazení ceny. */
	--topmedica-terapie-vysetreni-price-margin: 0;

	/* Barva ceny. */
	--topmedica-terapie-vysetreni-price-color: var(--topmedica-structured-card-text);

	/* Typografie ceny; výchozí stav kopíruje odbornosti v kartě Specialisty. */
	--topmedica-terapie-vysetreni-price-font-family: var(--topmedica-structured-card-meta-font-family);
	--topmedica-terapie-vysetreni-price-font-size: var(--topmedica-structured-card-meta-font-size);
	--topmedica-terapie-vysetreni-price-font-weight: var(--topmedica-structured-card-meta-font-weight);
	--topmedica-terapie-vysetreni-price-line-height: var(--topmedica-structured-card-meta-line-height);

	/* Perex používá běžnou typografii a nejvýše tři řádky. */
	--topmedica-structured-card-perex-font-family: var(--topmedica-typography-body-font-family);
	--topmedica-structured-card-perex-font-size: var(--topmedica-typography-body-font-size);
	--topmedica-structured-card-perex-font-weight: var(--topmedica-typography-body-font-weight);
	--topmedica-structured-card-perex-line-height: var(--topmedica-typography-body-line-height);
	--topmedica-structured-card-perex-lines: 3;

	/* Footer přebírá pouze layout; vzhled CTA vlastní globální buttony 01/02. */
	--topmedica-structured-card-footer-gap: 12px;
	--topmedica-structured-card-footer-align-items: center;
	--topmedica-structured-card-footer-justify-content: space-between;

	/* Focus kruhového vizuálu a textového názvu. */
	--topmedica-structured-card-image-focus-outline-width: 3px;
	--topmedica-structured-card-image-focus-outline-style: solid;
	--topmedica-structured-card-image-focus-outline-color: var(--topmedica-terapie-vysetreni-color-accent);
	--topmedica-structured-card-image-focus-outline-offset: 4px;
	--topmedica-structured-card-link-focus-outline-width: 2px;
	--topmedica-structured-card-link-focus-outline-style: solid;
	--topmedica-structured-card-link-focus-outline-color: var(--topmedica-terapie-vysetreni-color-accent);
	--topmedica-structured-card-link-focus-outline-offset: 3px;

	color: var(--topmedica-terapie-vysetreni-color-text);
}

/* ------------------------------------------------------------------------------------------------------------------
   04-08-04-02 / VÝPISY A PRÁZDNÉ STAVY
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-terapie__list,
.topmedica-vysetreni__list {
	display: grid;
	grid-template-columns: repeat(var(--topmedica-terapie-vysetreni-columns), minmax(0, 1fr));
	gap: var(--topmedica-terapie-vysetreni-list-gap);
	margin: 0;
	padding: 0;
}

.topmedica-terapie__empty,
.topmedica-vysetreni__empty {
	margin: 0;
	padding: var(--topmedica-structured-card-padding);
	background: var(--topmedica-structured-card-background);
	border-width: var(--topmedica-structured-card-border-width);
	border-style: var(--topmedica-structured-card-border-style);
	border-color: var(--topmedica-structured-card-border-color);
	border-radius: var(--topmedica-structured-card-radius);
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-04-03 / CENA V HEADERU KARTY

   Cena je prostý neinteraktivní textový řetězec. Renderer ji
   nevypočítává ani neformátuje; bezpečně zobrazí například
   „999 Kč“, „od 1 500 Kč“ nebo „Individuální“.
   ------------------------------------------------------------------------------------------------------------------ */

.topmedica-terapie-card__price,
.topmedica-vysetreni-card__price {
	max-width: 100%;
	margin: var(--topmedica-terapie-vysetreni-price-margin);
	padding: 0;
	color: var(--topmedica-terapie-vysetreni-price-color);
	font-family: var(--topmedica-terapie-vysetreni-price-font-family);
	font-size: var(--topmedica-terapie-vysetreni-price-font-size);
	font-weight: var(--topmedica-terapie-vysetreni-price-font-weight);
	line-height: var(--topmedica-terapie-vysetreni-price-line-height);
	overflow-wrap: anywhere;
	white-space: normal;
}


/* ------------------------------------------------------------------------------------------------------------------
   04-08-04-04 / KARTY TERAPIE A VYŠETŘENÍ

   Konstrukční pravidla vlastní sdílená kostra v 04-08-02-04.
   Zde nejsou lokální kopie karty ani tlačítek. Cena používá
   pouze vlastní neinteraktivní třídu z předchozího bloku.
   ------------------------------------------------------------------------------------------------------------------ */


/* ------------------------------------------------------------------------------------------------------------------
   04-08-04-05 / RESPONZIVITA TERAPIÍ A VYŠETŘENÍ
   ------------------------------------------------------------------------------------------------------------------ */

@media (max-width: 1200px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Shodné zmenšení s kartou Specialisty. */
		--topmedica-structured-card-gap: 16px;
		--topmedica-structured-card-header-gap: 14px;
		--topmedica-structured-card-padding: 20px;
		--topmedica-structured-card-thumbnail-size: 88px;
	}

}

@media (min-width: 921px) and (max-width: 1200px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Kompaktnější mezera mezi CTA ve třísloupcovém režimu. */
		--topmedica-structured-card-footer-gap: 8px;
	}

}

@media (max-width: 920px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Dva sloupce po přechodu Beaver Contentu. */
		--topmedica-terapie-vysetreni-columns: 2;
		--topmedica-terapie-vysetreni-list-gap: 20px;

		/* Shodná geometrie dvousloupcové karty Specialisty. */
		--topmedica-structured-card-gap: 18px;
		--topmedica-structured-card-header-gap: 16px;
		--topmedica-structured-card-padding: 20px;
		--topmedica-structured-card-thumbnail-size: 112px;

		/* Dva sloupce: řádkování vizuální role H3 Astry. */
		--topmedica-structured-card-title-line-height: var(--topmedica-typography-h3-line-height);
	}

}

@media (min-width: 649px) and (max-width: 760px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Shodný kompaktní stav úzké dvousloupcové karty. */
		--topmedica-structured-card-gap: 14px;
		--topmedica-structured-card-header-gap: 12px;
		--topmedica-structured-card-padding: 16px;
		--topmedica-structured-card-thumbnail-size: 84px;
		--topmedica-structured-card-footer-gap: 8px;
	}

}

@media (max-width: 648px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Jeden sloupec po přechodu Beaver Contentu. */
		--topmedica-terapie-vysetreni-columns: 1;
		--topmedica-terapie-vysetreni-list-gap: 16px;

		/* Shodná geometrie jednosloupcové karty Specialisty. */
		--topmedica-structured-card-gap: 16px;
		--topmedica-structured-card-header-gap: 16px;
		--topmedica-structured-card-padding: 16px;
		--topmedica-structured-card-thumbnail-size: 104px;

		/* Jeden sloupec: řádkování vizuální role H2 Astry. */
		--topmedica-structured-card-title-line-height: var(--topmedica-typography-h2-line-height);
	}

}

@media (max-width: 420px) {

	.topmedica-terapie,
	.topmedica-vysetreni {
		/* Shodný kompaktní stav velmi úzké karty Specialisty. */
		--topmedica-structured-card-gap: 14px;
		--topmedica-structured-card-header-gap: 12px;
		--topmedica-structured-card-thumbnail-size: 80px;
		--topmedica-structured-card-footer-gap: 8px;
	}

}
