/*
Theme Name: Трошев — визия
Theme URI: https://www.troshev.bg
Description: Дъщерна тема по макетите на очна клиника „Трошев“.
Author: Очна клиника Трошев
Template: generatepress
Version: 5.4
Text Domain: troshev-vizia
*/

/* =========================================================================
   1. ОСНОВНИ СТОЙНОСТИ
   ====================================================================== */

:root {
	--tv-tyrkoaz:        #00c2a9;
	--tv-tyrkoaz-tamno:  #00a892;
	--tv-sinyo:          #294e80;
	--tv-tekst:          #0d0d0d;
	--tv-tekst-slab:     #666666;
	--tv-bledno:         #eefffd;
	--tv-sivo:           #eaecf2;
	--tv-sivo-fon:       #f6f7fa;
	--tv-byalo:          #ffffff;
	--tv-ramka:          #e4e7ee;

	--tv-zagl-shrift: "Open Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
	--tv-tekst-shrift: "IBM Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;

	--tv-shirina: 1450px;
	--tv-zaobly:  8px;
	--tv-syanka:  0 2px 14px rgba(41, 78, 128, .07);
}


/* =========================================================================
   2. ОБЩИ
   ====================================================================== */

body {
	font-family: var(--tv-tekst-shrift);
	/* Изключваме българските начертания на буквите, за да съвпада с макета.
	   Ако предпочиташ извитите „д“, „т“ и „и“, махни следващия ред. */
	font-feature-settings: "locl" 0;
	color: var(--tv-tekst);
	font-size: 16px;
	line-height: 1.7;
}

h1, h2, h3, h4, h5, h6,
.entry-title, .site-title {
	font-family: var(--tv-zagl-shrift);
	font-weight: 600;
	color: var(--tv-sinyo);
	line-height: 1.25;
}

h1 { font-size: 38px; }
h2 { font-size: 28px; }
h3 { font-size: 21px; }
h4 { font-size: 18px; }

a { color: var(--tv-tyrkoaz); text-decoration: none; }
a:hover { color: var(--tv-tyrkoaz-tamno); }

.tv-obvivka {
	max-width: var(--tv-shirina);
	margin: 0 auto;
	padding: 0 20px;
}

/* Дженерейтпрес да ползва същата широчина. */
.site-header .inside-header,
.site-content .grid-container,
.inside-article > .entry-content,
.container.grid-container {
	max-width: var(--tv-shirina);
}


/* =========================================================================
   3. ГОРНА ЛЕНТА
   ====================================================================== */

.tv-gorna-lenta {
	background: var(--tv-bledno);
	font-size: 12px;
	color: var(--tv-tekst);
	border-bottom: 1px solid rgba(0, 194, 169, .16);
}

.tv-gorna-lenta .tv-obvivka {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	min-height: 28px;
	justify-content: flex-end;
}

.tv-gorna-lenta a { color: var(--tv-tekst); }
.tv-gorna-lenta a:hover { color: var(--tv-tyrkoaz); }
.tv-gorna-lenta strong { font-weight: 600; }

.tv-znak { width: 1em; height: 1em; display: block; }

.tv-gorna-lenta .tv-ikonka {
	color: var(--tv-tyrkoaz);
	display: inline-flex;
	vertical-align: -2px;
	margin-right: 5px;
	font-size: 13px;
}
.tv-gorna-lenta span,
.tv-gorna-lenta a { display: inline-flex; align-items: center; }

.main-navigation .tv-nachalo a { display: flex; align-items: center; }
.main-navigation .tv-nachalo .tv-znak { width: 17px; height: 17px; }

.tv-gorna-lenta .tv-tel,
.tv-gorna-lenta .tv-poshta { color: var(--tv-tyrkoaz); font-weight: 600; }

.tv-gorna-lenta .tv-ezik { padding-left: 18px; border-left: 1px solid rgba(0,0,0,.12); }
.tv-gorna-lenta .tv-ezik a { color: var(--tv-tekst-slab); }
.tv-gorna-lenta .tv-ezik ul { list-style: none !important; margin: 0; padding: 0; display: flex; gap: 12px; }
.tv-gorna-lenta .tv-ezik li { list-style: none !important; margin: 0; padding: 0; }
.tv-gorna-lenta .tv-ezik li::before,
.tv-gorna-lenta .tv-ezik li::marker { content: none !important; }


/* =========================================================================
   4. ЗАГЛАВНА ЧАСТ И МЕНЮ
   ====================================================================== */

.site-header { border-bottom: 1px solid var(--tv-ramka); }
.site-header .inside-header {
	padding-top: 0; padding-bottom: 0;
	min-height: 90px;
	display: flex; align-items: center; justify-content: space-between;
}
.site-logo img, .site-header .header-image { max-height: 58px; width: auto; }

.main-navigation a { font-family: var(--tv-zagl-shrift); font-weight: 400; font-size: 14px; }
.main-navigation .main-nav > ul > li > a { padding-left: 15px; padding-right: 15px; }
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a { color: var(--tv-tyrkoaz); }
.main-navigation .sub-menu { box-shadow: var(--tv-syanka); border-radius: var(--tv-zaobly); overflow: hidden; }

.tv-menyu-buton { list-style: none !important; }
.tv-menyu-buton::before,
.tv-menyu-buton::marker { content: none !important; }

.tv-buton-chas {
	display: inline-flex;
	align-items: center;
	background: var(--tv-tyrkoaz);
	color: #fff !important;
	font-family: var(--tv-zagl-shrift);
	font-weight: 600;
	font-size: 14px;
	padding: 11px 26px;
	border-radius: 40px;
	margin-left: 14px;
	white-space: nowrap;
	transition: background .18s;
}
.tv-buton-chas:hover { background: var(--tv-tyrkoaz-tamno); color: #fff !important; }


/* =========================================================================
   5. ГОЛЯМА ИВИЦА СЪС ЗАГЛАВИЕТО
   ====================================================================== */

.tv-ivitsa {
	position: relative;
	background: var(--tv-sivo-fon) center/cover no-repeat;
	padding: 62px 0;
	overflow: hidden;
}
.tv-ivitsa::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.72) 44%, rgba(255,255,255,.40) 100%);
}
.tv-ivitsa .tv-obvivka {
	position: relative; z-index: 2;
	display: flex; flex-wrap: wrap; align-items: center;
	justify-content: space-between; gap: 16px;
}
.tv-ivitsa h1 { margin: 0; font-size: 34px; max-width: 760px; }

.tv-pateka { font-size: 14px; color: var(--tv-tekst-slab); }
.tv-pateka a { color: var(--tv-tekst-slab); }
.tv-pateka a:hover { color: var(--tv-tyrkoaz); }
.tv-pateka .tv-strelka { color: var(--tv-tyrkoaz); margin: 0 7px; }


/* =========================================================================
   6. СЪДЪРЖАНИЕ И СТРАНИЧНА КОЛОНА
   ====================================================================== */

.site-content { padding: 52px 0; }

.entry-content > *:first-child { margin-top: 0; }
.entry-content p { margin-bottom: 1.15em; }
.entry-content img { border-radius: var(--tv-zaobly); height: auto; }
.entry-content h2 { margin: 1.7em 0 .6em; }
.entry-content h3 { margin: 1.5em 0 .5em; }
.entry-content ul, .entry-content ol { margin-bottom: 1.2em; padding-left: 1.3em; }
.entry-content li { margin-bottom: .4em; }

.tv-kutiya {
	background: #fff;
	border: 1px solid var(--tv-ramka);
	border-radius: var(--tv-zaobly);
	padding: 24px 26px;
	margin-bottom: 26px;
	box-shadow: var(--tv-syanka);
}
.tv-kutiya h3 { margin: 0 0 16px; font-size: 20px; }

.tv-spisak { list-style: none; margin: 0; padding: 0; }
.tv-spisak li { margin-bottom: 11px; padding-left: 18px; position: relative; }
.tv-spisak li::before {
	content: "›";
	position: absolute; left: 0; top: -1px;
	color: var(--tv-tyrkoaz); font-weight: 700;
}
.tv-spisak a { color: var(--tv-tekst); font-size: 15px; }
.tv-spisak a:hover { color: var(--tv-tyrkoaz); }

.tv-posledni li {
	display: flex; gap: 13px; align-items: flex-start;
	margin-bottom: 16px; padding: 0;
}
.tv-posledni li::before { display: none; }
.tv-posledni img { width: 84px; height: 62px; object-fit: cover; border-radius: 5px; flex: 0 0 84px; }
.tv-posledni a { font-size: 14px; line-height: 1.4; font-weight: 600; color: var(--tv-sinyo); }
.tv-posledni a:hover { color: var(--tv-tyrkoaz); }

.tv-vaprosi { background: var(--tv-bledno); border-color: transparent; }
.tv-vaprosi .tv-red { margin-bottom: 15px; font-size: 14px; }
.tv-vaprosi .tv-etiket { color: var(--tv-tekst-slab); display: block; margin-bottom: 2px; }
.tv-vaprosi a { font-weight: 600; }
.tv-vaprosi small { color: var(--tv-tekst-slab); }


/* =========================================================================
   6б. СПИСЪЦИ СЪС СТАТИИ (макет 04)
   ====================================================================== */

.tv-uvod {
	background: var(--tv-bledno);
	border-radius: var(--tv-zaobly);
	padding: 26px 30px;
	margin-bottom: 34px;
	font-size: 15px;
}
.tv-uvod p:last-child { margin-bottom: 0; }

body.archive .site-main,
body.blog .site-main,
body.search .site-main {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 34px 30px;
	align-items: start;
}
body.archive .site-main > .paging-navigation,
body.blog .site-main > .paging-navigation,
body.search .site-main > .paging-navigation,
body.archive .site-main > .tv-uvod,
body.blog .site-main > .tv-uvod,
body.search .site-main > .tv-uvod { grid-column: 1 / -1; }

body.archive .site-main article,
body.blog .site-main article,
body.search .site-main article {
	background: transparent;
	border: 0;
	box-shadow: none;
	margin: 0;
	padding: 0;
}
body.archive .inside-article,
body.blog .inside-article,
body.search .inside-article { padding: 0 !important; }

/* Вградената откроена снимка на темата не се ползва — слагаме си я сами. */
body.single .inside-article > .post-image,
body.single .featured-image,
body.page .inside-article > .post-image,
body.page .featured-image { display: none !important; }

/* Снимката на записа, в началото на текста. */
.tv-snimka-obvivka { margin: 0 0 28px; }
.tv-snimka-obvivka img {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-radius: var(--tv-zaobly);
	display: block;
}

.site-main .post-image { margin: 0 0 15px !important; }
.site-main .post-image img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: var(--tv-zaobly);
	display: block;
}
.site-main .entry-header { margin-bottom: 8px; }
.site-main .entry-title { font-size: 18px; line-height: 1.35; margin: 0; }
.site-main .entry-title a { color: var(--tv-sinyo); }
.site-main .entry-title a:hover { color: var(--tv-tyrkoaz); }
.site-main .entry-summary p { font-size: 14px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0 0 9px; }

.tv-oshte-vr {
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.tv-oshte-vr-red { margin: 0 !important; }

.paging-navigation {
	margin-top: 36px;
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	align-items: center;
}
.paging-navigation .dots { padding: 7px 4px; color: var(--tv-tekst-slab); }
.paging-navigation .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	padding: 7px 13px;
	border: 1px solid var(--tv-ramka);
	border-radius: 5px;
	margin-right: 6px;
	color: var(--tv-tekst);
	font-size: 14px;
}
.paging-navigation a.page-numbers:hover,
.paging-navigation .page-numbers.current {
	background: var(--tv-tyrkoaz);
	border-color: var(--tv-tyrkoaz);
	color: #fff;
}
.paging-navigation .page-numbers.dots {
	border-color: transparent;
	min-width: 0;
	padding: 7px 2px;
}

@media (max-width: 768px) {
	body.archive .site-main,
	body.blog .site-main,
	body.search .site-main { grid-template-columns: 1fr; }
}


/* =========================================================================
   6в. СПИСЪЧНИ СТРАНИЦИ (тип 04)
   ====================================================================== */

.tv-spisak-mreja {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px 30px;
	margin-top: 26px;
}
.tv-karta-spisak .tv-karta-snimka { display: block; margin-bottom: 15px; }
.tv-karta-spisak img {
	width: 100%;
	aspect-ratio: 16/10;
	object-fit: cover;
	border-radius: var(--tv-zaobly);
	display: block;
}
.tv-karta-spisak h3 { font-size: 18px; line-height: 1.35; margin: 0 0 8px; }
.tv-karta-spisak h3 a { color: var(--tv-sinyo); }
.tv-karta-spisak h3 a:hover { color: var(--tv-tyrkoaz); }
.tv-karta-spisak p { font-size: 14px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0 0 9px; }

.tv-bez-snimka {
	display: block;
	width: 100%;
	aspect-ratio: 16/10;
	border-radius: var(--tv-zaobly);
	background: linear-gradient(135deg, var(--tv-bledno) 0%, var(--tv-sivo) 100%);
	position: relative;
}
.tv-bez-snimka::after {
	content: "";
	position: absolute; top: 50%; left: 50%;
	width: 42px; height: 42px; margin: -21px 0 0 -21px;
	border-radius: 50%;
	border: 2px solid rgba(0, 194, 169, .30);
}

.tv-nyama { color: var(--tv-tekst-slab); font-style: italic; }

@media (max-width: 768px) {
	.tv-spisak-mreja { grid-template-columns: 1fr; }
}


/* =========================================================================
   6г. ЕКИП — мрежа (макет 02)
   ====================================================================== */

.tv-ekip-mreja {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
	align-items: start;
}
.tv-ekip-mreja > * { min-width: 0; }

.tv-lekar-karta {
	background: #fff;
	border-radius: var(--tv-zaobly);
	box-shadow: var(--tv-syanka);
	overflow: hidden;
	transition: box-shadow .2s, transform .2s;
}
.tv-lekar-karta:hover {
	box-shadow: 0 10px 30px rgba(41, 78, 128, .14);
	transform: translateY(-2px);
}
.tv-lekar-snimka-karta { display: block; }
.tv-lekar-snimka-karta img,
.tv-bez-snimka-lekar {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.tv-lekar-tekst-karta { padding: 20px 24px 24px; }
.tv-lekar-karta h3 { font-size: 19px; margin: 0 0 6px; line-height: 1.3; }
.tv-lekar-karta h3 a { color: var(--tv-tekst); }
.tv-lekar-karta h3 a:hover { color: var(--tv-tyrkoaz); }
.tv-lekar-dlazhnost { font-size: 14px; color: var(--tv-tekst-slab); margin: 0 0 8px; line-height: 1.5; }
.tv-lekar-opit { font-size: 13px; color: var(--tv-tyrkoaz); margin: 0; }

/* Бутонът се показва при посочване; на телефон стои винаги. */
.tv-lekar-oshte {
	margin: 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding-top: 0;
	padding-bottom: 0;
	transition: max-height .25s, opacity .2s, margin .25s, padding .25s;
	gap: 7px;
}
.tv-lekar-karta:hover .tv-lekar-oshte,
.tv-lekar-karta:focus-within .tv-lekar-oshte {
	max-height: 60px;
	opacity: 1;
	margin-top: 16px;
	padding-top: 11px;
	padding-bottom: 11px;
}
.tv-lekar-oshte .tv-znak { width: 15px; height: 15px; }
@media (hover: none) {
	.tv-lekar-oshte { max-height: 60px; opacity: 1; margin-top: 16px; padding-top: 11px; padding-bottom: 11px; }
}

/* Без бяла кутия около мрежата — картите лежат върху фона. */
body.tv-bez-kutiya .site-main > article,
body.tv-bez-kutiya .site-main .inside-article {
	background: transparent;
	box-shadow: none;
	border: 0;
	padding: 0;
}
body.tv-bez-kutiya .site-main .entry-content > .tv-ekip-mreja:first-child { margin-top: 0; }

@media (max-width: 1100px) { .tv-ekip-mreja { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px)  { .tv-ekip-mreja { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 560px) {
	.tv-ekip-mreja { gap: 12px; }
	.tv-lekar-tekst-karta { padding: 12px 12px 14px; }
	.tv-lekar-karta h3 { font-size: 14px; margin-bottom: 4px; }
	.tv-lekar-dlazhnost { font-size: 12px; margin-bottom: 4px; }
	.tv-lekar-opit { font-size: 11.5px; }
	.tv-lekar-oshte { font-size: 12px; padding-left: 14px; padding-right: 14px; }
	.tv-lekar-oshte .tv-znak { width: 12px; height: 12px; }
}


/* =========================================================================
   6д. ЛЕКАР — страница (макет 03)
   ====================================================================== */

/* По макета: основната колона е около 5 пъти по-широка от „Още от екипа“. */
body.single-ekip.right-sidebar .site-content .content-area { width: 84%; }
body.single-ekip.right-sidebar .site-content .sidebar { width: 16%; }
body.single-ekip .inside-right-sidebar { margin-left: 24px; }

/* Горе: снимка | увод + образование + работен опит. Долу: всичко останало на цяла широчина. */
.tv-lekar-gore {
	display: grid;
	grid-template-columns: minmax(260px, 37%) 1fr;
	gap: 34px;
	align-items: start;
	margin-bottom: 40px;
}
.tv-lekar-snimka { width: 100%; }
.tv-lekar-nachalo > .tv-lekar-razdel:last-child { margin-bottom: 0; }
.tv-lekar-dolu .tv-lekar-razdel { margin-bottom: 40px; }
.tv-lekar-snimka img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--tv-zaobly);
	margin-bottom: 16px;
}
.tv-buton-lekar {
	margin: 0;
	width: 100%;
	justify-content: center;
	white-space: normal;
	text-align: center;
	font-weight: 400;
	font-size: 15px;
}

.tv-lekar-tekst { font-size: 15px; }
.tv-lekar-tekst .tv-lekar-razdel { margin-bottom: 34px; }
.tv-lekar-tekst .tv-dve-koloni { padding-top: 6px; }
.tv-lekar-tekst h2 {
	font-size: 22px;
	color: var(--tv-tekst);
	margin: 0 0 14px;
}
.tv-lekar-tekst p { margin: 0 0 15px; line-height: 1.5; }
.tv-lekar-tekst strong { color: var(--tv-tekst); font-weight: 600; }
.tv-lekar-tekst em {
	font-style: normal;
	color: var(--tv-tyrkoaz);
	font-size: 13.5px;
	display: block;
	margin-top: 1px;
}
.tv-lekar-tekst ul, .tv-lekar-tekst ol { margin: 0 0 15px; padding-left: 0; list-style: none; }
.tv-lekar-tekst li { margin-bottom: 12px; line-height: 1.5; }

.tv-dve-koloni .tv-razdel-tyalo { columns: 2; column-gap: 48px; }
.tv-dve-koloni .tv-razdel-tyalo p,
.tv-dve-koloni .tv-razdel-tyalo li { break-inside: avoid; }

/* Дипломи и сертификати — галерия от карти. */
.tv-lekar-tekst .wp-block-gallery,
.tv-lekar-tekst .gallery {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin: 0 0 20px;
}
.tv-lekar-tekst .wp-block-gallery .wp-block-image,
.tv-lekar-tekst .wp-block-gallery figure,
.tv-lekar-tekst .gallery .gallery-item {
	width: auto !important;
	margin: 0 !important;
	background: #fff;
	border-radius: var(--tv-zaobly);
	box-shadow: var(--tv-syanka);
	padding: 22px;
	display: block;
}
.tv-lekar-tekst .wp-block-gallery img,
.tv-lekar-tekst .gallery img {
	width: 100%;
	height: auto;
	border-radius: 0;
	display: block;
}
.tv-lekar-tekst .wp-block-gallery figcaption,
.tv-lekar-tekst .gallery .gallery-caption { font-size: 13px; color: var(--tv-tekst-slab); margin-top: 10px; }

.tv-chisto { clear: both; }

/* Дипломи от полетата — карти, при натискане се отварят големи. */
.tv-diplomi-mreja {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}
.tv-diploma-karta {
	display: block;
	background: #fff;
	border-radius: var(--tv-zaobly);
	box-shadow: var(--tv-syanka);
	padding: 22px;
	transition: box-shadow .2s;
}
.tv-diploma-karta:hover { box-shadow: 0 10px 30px rgba(41, 78, 128, .14); }
.tv-diploma-karta img { width: 100%; height: auto; display: block; border-radius: 0; }

.tv-golyama-snimka {
	position: fixed; inset: 0; z-index: 9999;
	background: rgba(13, 13, 13, .86);
	display: flex; align-items: center; justify-content: center;
	padding: 30px;
	cursor: zoom-out;
}
.tv-golyama-snimka[hidden] { display: none; }
.tv-golyama-snimka img { max-width: 100%; max-height: 100%; border-radius: 4px; background: #fff; }
.tv-golyama-zatvori {
	position: absolute; top: 14px; right: 18px;
	background: transparent; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer;
}
@media (max-width: 1100px) { .tv-diplomi-mreja { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .tv-diplomi-mreja { grid-template-columns: 1fr; } }

/* Форма „Оставете отзив“ */
.tv-otziv-forma {
	margin-top: 56px;
	background: #fff;
	border: 1px solid var(--tv-ramka);
	border-radius: var(--tv-zaobly);
	box-shadow: var(--tv-syanka);
	padding: 34px 36px;
}
.tv-otziv-forma h2 { font-size: 24px; color: var(--tv-tekst); margin: 0 0 8px; }
.tv-otziv-forma-uvod { font-size: 14px; color: var(--tv-tekst-slab); margin: 0 0 22px; }
.tv-otziv-forma-tyalo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; }
.tv-otziv-red { display: flex; flex-direction: column; gap: 6px; }
.tv-otziv-red label { font-size: 13px; font-weight: 600; color: var(--tv-tekst); }
.tv-otziv-red input, .tv-otziv-red textarea {
	border: 1px solid var(--tv-ramka);
	border-radius: 6px;
	padding: 11px 14px;
	font: inherit;
	font-size: 15px;
	background: var(--tv-sivo-fon);
}
.tv-otziv-red input:focus, .tv-otziv-red textarea:focus {
	outline: none; border-color: var(--tv-tyrkoaz); background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 194, 169, .15);
}
.tv-otziv-red-tekst, .tv-otziv-red-buton { grid-column: 1 / -1; }
.tv-otziv-red-buton { flex-direction: row; align-items: center; gap: 18px; flex-wrap: wrap; }
.tv-otziv-red-buton .tv-buton-chas { margin: 0; border: 0; cursor: pointer; }
.tv-otziv-red-buton small { color: var(--tv-tekst-slab); font-size: 12.5px; max-width: 520px; }
.tv-skrito { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tv-otziv-saobshtenie { border-radius: 6px; padding: 14px 18px; margin-bottom: 18px; font-size: 15px; }
.tv-otziv-ok { background: var(--tv-bledno); color: #0a7a68; border: 1px solid rgba(0, 194, 169, .35); }
.tv-otziv-greshka { background: #fff3f0; color: #a8341a; border: 1px solid #f3c9bd; }
@media (max-width: 700px) {
	.tv-otziv-forma { padding: 24px 20px; }
	.tv-otziv-forma-tyalo { grid-template-columns: 1fr; }
}

/* „Още от екипа“ в страничната колона. */
.tv-oshte-ekip h3 { font-size: 20px; margin: 0 0 16px; color: var(--tv-tekst); }
.tv-oshte-ekip .tv-lekar-karta { margin-bottom: 16px; }
.tv-oshte-ekip .tv-lekar-tekst-karta { padding: 12px 14px 14px; }
.tv-oshte-ekip .tv-lekar-karta h3 { font-size: 14px; margin-bottom: 3px; }
.tv-oshte-ekip .tv-lekar-dlazhnost { font-size: 12px; margin-bottom: 4px; line-height: 1.4; }
.tv-oshte-ekip .tv-lekar-opit { font-size: 11.5px; }
.tv-oshte-ekip > .tv-oshte-vr { font-size: 14px; }

@media (max-width: 1100px) {
	.tv-dve-koloni .tv-razdel-tyalo { columns: 1; }
	.tv-lekar-tekst .wp-block-gallery, .tv-lekar-tekst .gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
	body.single-ekip.right-sidebar .site-content .content-area,
	body.single-ekip.right-sidebar .site-content .sidebar { width: 100%; }
	.tv-lekar-gore { grid-template-columns: 1fr; gap: 24px; }
	.tv-lekar-snimka { max-width: 384px; margin: 0 auto; }
	.tv-lekar-tekst .wp-block-gallery, .tv-lekar-tekst .gallery { grid-template-columns: 1fr; }
	.tv-oshte-ekip { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
	.tv-oshte-ekip h3, .tv-oshte-ekip > .tv-oshte-vr { grid-column: 1 / -1; }
	.tv-oshte-ekip .tv-lekar-karta { margin: 0; }
}


/* =========================================================================
   6е. ОТЗИВИ — блок с карти
   ====================================================================== */

.tv-otzivi { margin-top: 64px; text-align: center; }
.tv-nad-zaglavie { color: var(--tv-tyrkoaz); font-size: 16px; margin: 0 0 6px; }
.tv-otzivi h2 { font-size: 28px; color: var(--tv-tekst); margin: 0 0 16px; }
.tv-otzivi-uvod {
	max-width: 520px;
	margin: 0 auto 16px;
	font-size: 14px;
	color: var(--tv-tekst-slab);
	line-height: 1.6;
}
.tv-vsichki-otzivi { gap: 6px; margin-bottom: 30px; }
.tv-vsichki-otzivi .tv-znak { width: 14px; height: 14px; }

.tv-otzivi-lenta {
	text-align: left;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	align-items: start;
}
.tv-otzivi-lenta .tv-otziv.tv-skrit { display: none; }

.tv-otziv {
	background: var(--tv-bledno);
	border-radius: var(--tv-zaobly);
	padding: 32px 34px 30px;
	margin: 0;
	border: 0;
}
.tv-otziv .tv-kavichki {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 64px;
	line-height: .6;
	color: var(--tv-tyrkoaz);
	margin: 8px 0 16px;
	font-weight: 700;
}
.tv-otziv p {
	font-style: italic;
	font-size: 14px;
	line-height: 1.65;
	color: var(--tv-tekst-slab);
	margin: 0 0 18px;
}
.tv-otziv footer { font-weight: 600; font-size: 14px; color: var(--tv-tekst); }

.tv-tochki { display: flex; justify-content: center; gap: 12px; margin-top: 36px; }
.tv-tochki:empty { display: none; }
.tv-tochka {
	width: 16px; height: 16px;
	border-radius: 50%;
	border: 1.5px solid var(--tv-tyrkoaz);
	background: #fff;
	padding: 0;
	cursor: pointer;
	position: relative;
}
.tv-tochka.tv-aktivna::after {
	content: "";
	position: absolute; inset: 3px;
	border-radius: 50%;
	background: var(--tv-tyrkoaz);
}

@media (max-width: 900px) { .tv-otzivi-lenta { grid-template-columns: minmax(0, 1fr); gap: 18px; } .tv-tochki { margin-top: 24px; } }

/* Страницата с всички отзиви (макет 07) — три колони като зидария. */
.tv-otzivi-stena { columns: 3; column-gap: 28px; }
.tv-otzivi-stena .tv-otziv {
	display: inline-block;
	width: 100%;
	break-inside: avoid;
	margin: 0 0 28px;
	box-sizing: border-box;
}
.tv-otziv.tv-skrit { display: none; }
.tv-oshte-otzivi-red { text-align: center; margin: 24px 0 0; }
.tv-oshte-otzivi {
	background: none; border: 0; cursor: pointer;
	font: inherit; font-size: 16px; font-weight: 400;
	color: var(--tv-tyrkoaz); gap: 7px;
}
.tv-oshte-otzivi:hover { color: var(--tv-tyrkoaz-tamno); }
.tv-oshte-otzivi .tv-znak { width: 16px; height: 16px; }
.tv-otzivi-za { font-size: 14px; color: var(--tv-tekst-slab); margin: 0 0 22px; }

.tv-otzivi-filtar h3 { font-size: 22px; color: var(--tv-tekst); }
.tv-otzivi-filtar .tv-spisak li { margin-bottom: 13px; }
.tv-otzivi-filtar .tv-spisak a { font-size: 15px; }
.tv-otzivi-filtar li.tv-aktiven a { color: var(--tv-tyrkoaz); text-decoration: underline; text-underline-offset: 3px; }

body.single-otzivi .site-main > article,
body.single-otzivi .site-main .inside-article { background: transparent; box-shadow: none; border: 0; padding: 0; }
body.single-otzivi .tv-otziv { margin-bottom: 20px; }

@media (max-width: 1100px) { .tv-otzivi-stena { columns: 2; } }
@media (max-width: 700px)  { .tv-otzivi-stena { columns: 1; } }


/* =========================================================================
   6ж. КОНТАКТИ (макет 06)
   ====================================================================== */

.tv-kontakti-uvod { margin-bottom: 30px; }
.tv-kontakti {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
	position: relative;
	z-index: 2;
}
.tv-kontakti-danni h2 { font-size: 28px; color: var(--tv-tekst); margin: 0 0 26px; }
.tv-kontakt-blok { margin-bottom: 28px; }
.tv-kontakt-blok h3 { font-size: 17px; color: var(--tv-tekst); margin: 0 0 8px; }
.tv-kontakt-red {
	display: flex; gap: 8px; align-items: flex-start;
	font-size: 14px; color: var(--tv-tekst-slab); margin: 0 0 8px; line-height: 1.5;
}
.tv-kontakt-red .tv-ikonka { color: var(--tv-tyrkoaz); flex: 0 0 auto; margin-top: 2px; }
.tv-kontakt-red .tv-znak { width: 15px; height: 15px; }
.tv-kontakt-red strong { color: var(--tv-tekst); }
.tv-kontakt-red small { color: var(--tv-tekst-slab); }

.tv-lokatsii { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 34px; }
.tv-lokatsiya {
	display: flex; gap: 16px; align-items: center;
	color: var(--tv-tekst-slab); font-size: 14px; line-height: 1.5;
}
.tv-lokatsiya strong { color: var(--tv-tekst); font-size: 16px; }
.tv-lokatsiya:hover { color: var(--tv-tyrkoaz); }
.tv-lokatsiya-znak {
	flex: 0 0 66px; height: 66px;
	display: flex; align-items: center; justify-content: center;
	background: var(--tv-tyrkoaz); color: #fff;
	border-radius: var(--tv-zaobly);
	box-shadow: var(--tv-syanka);
}
.tv-lokatsiya:nth-child(2) .tv-lokatsiya-znak { background: #fff; color: var(--tv-tyrkoaz); }
.tv-lokatsiya-znak .tv-znak { width: 28px; height: 28px; }

.tv-kontakti-forma-kutiya {
	background: #fff;
	border-radius: var(--tv-zaobly);
	box-shadow: 0 10px 34px rgba(41, 78, 128, .12);
	padding: 60px 64px 64px;
	position: relative;
	z-index: 3;
}
.tv-kontakt-forma p { margin: 0 0 20px; }
.tv-kontakt-forma input[type="text"], .tv-kontakt-forma input[type="email"],
.tv-kontakt-forma input[type="tel"], .tv-kontakt-forma textarea {
	width: 100%;
	border: 1px solid var(--tv-ramka);
	border-radius: 6px;
	padding: 16px 20px;
	font: inherit; font-size: 15.5px;
	background: #fff;
	box-sizing: border-box;
}
.tv-kontakt-forma textarea { min-height: 190px; }
.tv-kontakt-forma input:focus, .tv-kontakt-forma textarea:focus {
	outline: none; border-color: var(--tv-tyrkoaz); box-shadow: 0 0 0 3px rgba(0, 194, 169, .15);
}
.tv-skrit-etiket { position: absolute; left: -9999px; }
.tv-k-uslovia label { font-size: 14.5px; color: var(--tv-tekst-slab); display: flex; gap: 10px; align-items: flex-start; }
.tv-k-uslovia input { margin-top: 3px; }
.tv-kontakt-forma .tv-buton-chas { margin: 10px 0 0; border: 0; cursor: pointer; font-weight: 400; font-size: 16px; padding: 14px 34px; }

/* Картата е извън колоната със съдържанието — на цялата широчина на екрана.
   Отрицателното разстояние отгоре я вкарва под формата. */
/* Под съдържанието има около 112 точки отстъп на темата; отгоре са 80 точки застъпване върху формата. */
.tv-karta { line-height: 0; margin-top: -142px; position: relative; z-index: 1; }
/* Лявата колона винаги оставя 60 точки празно отдолу — картата не докосва локациите. */
.tv-kontakti-danni { padding-bottom: 60px; }
.tv-karta iframe { width: 100%; height: 520px; border: 0; display: block; }
body.page .site-content { position: relative; z-index: 2; }
.tv-karta + .tv-sotsialni { margin-top: 56px; }

@media (max-width: 900px) {
	.tv-kontakti { grid-template-columns: 1fr; }
	.tv-kontakti-forma-kutiya { padding: 30px 22px; }
	.tv-kontakti-danni { padding-bottom: 0; }
	.tv-lokatsii { grid-template-columns: 1fr; }
	.tv-karta { margin-top: 0; }
	.tv-karta iframe { height: 320px; }
}


/* =========================================================================
   6з. НАЧАЛНА СТРАНИЦА (макет 01)
   ====================================================================== */

/* Началната е на цял екран: обвивките на темата се разтягат и губят отстъпите си. */
body.tv-nachalna .site,
body.tv-nachalna .site-content,
body.tv-nachalna .site-content > .grid-container,
body.tv-nachalna .content-area {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	display: block !important;
}
body.tv-nachalna .site-content { z-index: auto; }

/* Стандартните джаджи на темата (търсене, последни публикации, коментари) не се показват. */
.sidebar .widget_search, .sidebar .widget_recent_entries, .sidebar .widget_recent_comments,
.sidebar .widget_archive, .sidebar .widget_categories, .sidebar .widget_meta,
.sidebar .widget_block { display: none !important; }

.tv-nachalna-stranitsa > section { margin-top: 90px; }
.tv-nachalna-stranitsa > .tv-geroy { margin-top: 0; }
.tv-nachalna-stranitsa .tv-obvivka > .tv-otzivi { margin-top: 0; }

.tv-n-glava { text-align: center; max-width: 620px; margin: 0 auto 44px; }
.tv-n-glava h2, .tv-za-nas h2, .tv-hirurgiya h2 { font-size: 30px; color: var(--tv-tekst); margin: 0 0 16px; line-height: 1.25; }
.tv-n-uvod { font-size: 14px; color: var(--tv-tekst-slab); line-height: 1.7; margin: 0 0 18px; }
.tv-n-glava .tv-n-uvod { margin-bottom: 0; }
.tv-buton-obiknoven { margin: 0; font-weight: 400; font-size: 15px; padding: 13px 30px; }

/* 1. Заглавна част */
.tv-geroy {
	position: relative;
	min-height: 590px;
	background: var(--tv-sivo-fon) center/cover no-repeat;
	display: flex; align-items: center;
	overflow: hidden;
}
.tv-geroy::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.55) 40%, rgba(255,255,255,0) 70%);
}
.tv-geroy .tv-obvivka { position: relative; z-index: 2; width: 100%; }
.tv-geroy-tekst { max-width: 560px; padding: 40px 0 40px 140px; }
.tv-geroy h1 { font-size: 40px; color: var(--tv-tekst); margin: 0 0 18px; }
.tv-otmetki { list-style: none; margin: 0 0 26px; padding: 0; }
.tv-otmetki li { display: flex; align-items: center; gap: 10px; font-size: 16px; color: var(--tv-tekst); margin-bottom: 10px; }
.tv-otmetki .tv-znak { width: 18px; height: 18px; color: var(--tv-tyrkoaz); flex: 0 0 auto; }
.tv-video-buton {
	display: inline-flex; align-items: center; gap: 14px;
	background: none; border: 0; cursor: pointer;
	font: inherit; font-size: 16px; color: var(--tv-tekst); padding: 0;
}
.tv-play {
	width: 46px; height: 46px; border-radius: 50%;
	border: 1.5px solid var(--tv-tyrkoaz); color: var(--tv-tyrkoaz);
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.7); cursor: pointer; transition: background .2s, color .2s;
}
.tv-play .tv-znak { width: 22px; height: 22px; margin-left: 3px; }
.tv-play:hover, .tv-video-buton:hover .tv-play { background: var(--tv-tyrkoaz); color: #fff; }

/* 2. Предимства */
.tv-predimstva { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; text-align: center; }
.tv-predimstvo img { height: 56px; width: auto; max-width: 90px; margin: 0 auto 14px; display: block; }
.tv-predimstvo h3 { font-size: 21px; color: var(--tv-tekst); margin: 0 0 10px; line-height: 1.3; }
.tv-predimstvo p { font-size: 14px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0 0 12px; }
.tv-predimstvo .tv-oshte-vr { gap: 6px; font-weight: 400; }
.tv-predimstvo .tv-oshte-vr .tv-znak, .tv-zab-karta .tv-oshte-vr .tv-znak, .tv-blog-karta .tv-oshte-vr .tv-znak { width: 13px; height: 13px; }

/* 3. За нас — редове с икона и текст */
.tv-za-nas { display: grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items: start; }
.tv-za-nas .tv-nad-zaglavie { text-align: left; }
.tv-red-ikona { display: flex; gap: 20px; align-items: flex-start; margin-top: 28px; color: inherit; }
.tv-red-ikona > div { flex: 1 1 auto; min-width: 0; }
.tv-red-ikona-znak {
	flex: 0 0 64px; width: 64px; height: 64px; border-radius: var(--tv-zaobly);
	background: #fff; box-shadow: var(--tv-syanka);
	display: flex; align-items: center; justify-content: center;
}
/* Иконите на лекаря и апарата носят бялата си кутия в самия файл — запълват кутията. */
.tv-red-ikona-znak img { width: 64px; height: 64px; display: block; }
.tv-red-ikona h3 { font-size: 17px; color: var(--tv-tekst); margin: 0 0 6px; }
.tv-red-ikona p { font-size: 13.5px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0; }
.tv-red-ikona-vrazka:hover h3 { color: var(--tv-tyrkoaz); }
.tv-za-nas-snimki { display: grid; grid-template-columns: 1.1fr 1fr; gap: 28px; align-items: start; }
.tv-za-nas-snimki img, .tv-za-nas-snimki .tv-bez-snimka { width: 100%; height: auto; border-radius: var(--tv-zaobly); display: block; }
.tv-za-nas-snimka-1 { position: relative; }
.tv-za-nas-snimka-1 img { aspect-ratio: 3 / 4; object-fit: cover; }
.tv-za-nas-snimka-2 { padding-top: 28px; text-align: center; }
.tv-za-nas-snimka-2 img { aspect-ratio: 5 / 6; object-fit: cover; margin-bottom: 28px; }
.tv-play-golyam {
	position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
	width: 58px; height: 58px; background: var(--tv-tyrkoaz); color: #fff; border-color: var(--tv-tyrkoaz);
}
.tv-play-golyam:hover { background: var(--tv-tyrkoaz-tamno); }

/* 4. Числа */
.tv-chisla {
	background: var(--tv-bledno); border-radius: var(--tv-zaobly);
	padding: 44px 30px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: center;
}
.tv-chislo img { height: 42px; width: auto; max-width: 70px; margin: 0 auto 14px; display: block; }
.tv-chislo strong { display: block; font-family: var(--tv-zagl-shrift); font-weight: 600; font-size: 30px; color: var(--tv-tekst); line-height: 1.1; }
.tv-chislo span { font-size: 14px; color: var(--tv-tekst-slab); }

/* 5. Заболявания */
.tv-zab-mreja { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.tv-zab-karta {
	display: flex; gap: 18px; align-items: flex-start;
	background: #fff; border-radius: var(--tv-zaobly); box-shadow: var(--tv-syanka);
	padding: 32px 28px 30px; transition: box-shadow .2s, transform .2s;
}
.tv-zab-karta:hover { box-shadow: 0 10px 30px rgba(41, 78, 128, .14); transform: translateY(-2px); }
.tv-zab-karta img { width: 60px; height: 52px; flex: 0 0 60px; margin-top: 4px; object-fit: contain; }
.tv-zab-karta h3 { font-size: 21px; margin: 0 0 10px; line-height: 1.25; }
.tv-zab-karta h3 a { color: var(--tv-tekst); }
.tv-zab-karta h3 a:hover { color: var(--tv-tyrkoaz); }
.tv-zab-karta p { font-size: 13.5px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0 0 12px; }
.tv-zab-karta .tv-oshte-vr { gap: 6px; font-weight: 400; font-size: 13px; }

/* 6. Хирургия */
.tv-hirurgiya {
	position: relative;
	display: grid; grid-template-columns: 36% 1fr; gap: 70px; align-items: center;
	padding: 0 0 64px 64px;
}
/* Бледият фон стои само вляво и под снимката — започва 48 точки под горния ѝ край. */
.tv-hirurgiya::before {
	content: ""; position: absolute; left: 0; top: 48px; bottom: 0;
	width: calc(36% + 64px + 34px);
	background: var(--tv-bledno); border-radius: var(--tv-zaobly); z-index: 0;
}
.tv-hirurgiya > * { position: relative; z-index: 1; }
.tv-hirurgiya-snimka { position: relative; }
.tv-hirurgiya-snimka img, .tv-hirurgiya-snimka .tv-bez-snimka {
	width: 100%; height: auto; aspect-ratio: 5 / 6; object-fit: cover; border-radius: var(--tv-zaobly); display: block;
}
.tv-hirurgiya-znak {
	position: absolute; left: 50%; bottom: -55px; transform: translateX(-50%);
	width: 110px; height: 110px; border-radius: 50%; background: #fff; box-shadow: var(--tv-syanka);
	display: flex; align-items: center; justify-content: center;
}
.tv-hirurgiya-znak img { width: 64px; height: 42px; }
.tv-hirurgiya-tekst .tv-n-uvod { font-size: 16px; color: var(--tv-tekst); }
.tv-hirurgiya-tekst .tv-buton-obiknoven { margin-top: 30px; }

/* 7. Екип на началната */
.tv-n-ekip .tv-ekip-mreja { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tv-n-ekip .tv-lekar-karta { margin: 0; }
.tv-n-ekip .tv-lekar-tekst-karta { padding: 20px 24px 24px; }
.tv-n-ekip .tv-lekar-karta h3 { font-size: 19px; }
.tv-ekip-oshte {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
	background: var(--tv-bledno); border-radius: var(--tv-zaobly); box-shadow: var(--tv-syanka);
	color: var(--tv-tyrkoaz); font-size: 17px; min-height: 380px; align-self: stretch;
}
.tv-ekip-oshte-krag {
	width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--tv-tyrkoaz);
	display: flex; align-items: center; justify-content: center; font-size: 26px; line-height: 1; padding-bottom: 3px;
	transition: background .2s, color .2s;
}
.tv-ekip-oshte:hover .tv-ekip-oshte-krag { background: var(--tv-tyrkoaz); color: #fff; }

/* 8. Блог */
.tv-blog-mreja { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px 30px; }
.tv-blog-karta { display: grid; grid-template-columns: 282px 1fr; gap: 28px; align-items: start; }
.tv-blog-snimka img, .tv-blog-snimka .tv-bez-snimka { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--tv-zaobly); display: block; }
.tv-blog-karta h3 { font-size: 17px; margin: 22px 0 10px; line-height: 1.3; }
.tv-blog-karta h3 a { color: var(--tv-tekst); }
.tv-blog-karta h3 a:hover { color: var(--tv-tyrkoaz); }
.tv-blog-karta p { font-size: 13.5px; color: var(--tv-tekst-slab); line-height: 1.6; margin: 0 0 12px; }
.tv-blog-karta .tv-oshte-vr { gap: 6px; font-weight: 400; font-size: 13px; }

/* 10. Намерете ни */
.tv-namerete-adresi { text-align: center; font-size: 14px; color: var(--tv-tekst-slab); margin: -26px 0 40px; }
.tv-namerete-adresi span { display: block; }
.tv-karta-nachalo { margin-top: 0; }
.tv-nachalna-stranitsa .tv-sotsialni, .tv-karta-nachalo + .tv-sotsialni { margin-top: 56px; }

/* Прозорец за видео */
.tv-video-prozorets {
	position: fixed; inset: 0; z-index: 9999; background: rgba(13,13,13,.86);
	display: flex; align-items: center; justify-content: center; padding: 30px;
}
.tv-video-prozorets[hidden] { display: none; }
.tv-video-ramka { width: min(1000px, 100%); aspect-ratio: 16 / 9; background: #000; border-radius: 6px; overflow: hidden; }
.tv-video-ramka iframe { width: 100%; height: 100%; border: 0; display: block; }

.tv-nachalna-stranitsa img { max-width: 100%; }

@media (max-width: 1100px) {
	.tv-predimstva { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tv-zab-mreja { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tv-n-ekip .tv-ekip-mreja { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tv-blog-mreja { grid-template-columns: minmax(0, 1fr); }
	.tv-geroy-tekst { padding-left: 40px; }
}
@media (max-width: 860px) {
	.tv-nachalna-stranitsa > section { margin-top: 56px; }
	.tv-geroy { min-height: 440px; }
	.tv-geroy::after { background: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.75) 100%); }
	.tv-geroy-tekst { padding: 30px 0; }
	.tv-geroy h1 { font-size: 30px; }
	.tv-otmetki li { align-items: flex-start; }
	.tv-otmetki .tv-znak { margin-top: 4px; }
	.tv-za-nas { grid-template-columns: 1fr; gap: 34px; }
	.tv-chisla { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 30px 16px; }
	.tv-chislo strong { font-size: 26px; }

	/* Хирургия: първо текстът, после снимката с бледия фон вляво и отдолу (мобилен макет). */
	.tv-hirurgiya { grid-template-columns: 1fr; gap: 40px; padding: 0; }
	.tv-hirurgiya-tekst { order: 1; }
	.tv-hirurgiya-snimka { order: 2; margin: 0 20px 70px 40px; }
	.tv-hirurgiya::before { top: auto; bottom: 0; height: 75%; width: 88%; left: 0; }
	.tv-hirurgiya-znak { left: auto; right: -20px; transform: none; bottom: -48px; width: 96px; height: 96px; }
	.tv-hirurgiya-znak img { width: 54px; height: 36px; }

	/* Екипът се прелиства настрани (мобилен макет). */
	.tv-n-ekip .tv-ekip-mreja {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
		gap: 16px; padding: 4px 4px 14px; -webkit-overflow-scrolling: touch;
	}
	.tv-n-ekip .tv-ekip-mreja > * { flex: 0 0 82%; scroll-snap-align: start; }
	.tv-n-ekip .tv-ekip-oshte { min-height: auto; }
	.tv-n-ekip .tv-lekar-oshte { display: none; }

	.tv-blog-karta { grid-template-columns: 1fr; gap: 0; }
	.tv-blog-karta h3 { margin-top: 16px; }
}
@media (max-width: 560px) {
	.tv-predimstva, .tv-zab-mreja, .tv-za-nas-snimki { grid-template-columns: minmax(0, 1fr); }
	.tv-za-nas-snimka-2 { padding-top: 0; }
	.tv-zab-karta { padding: 24px 20px; }
}

/* Заглавна част на телефон (мобилен макет): собствена — меню вляво, лого в средата, бутон вдясно.
   Горната лента и заглавната част на темата се скриват на телефон. */
.tv-mob-glava, .tv-mob-menyu { display: none; }
@media (max-width: 768px) {
	.tv-gorna-lenta, .site-header, #mobile-header, .mobile-header-navigation, .main-navigation.toggled,
	#site-navigation, .navigation-branding { display: none !important; }

	.tv-mob-glava {
		display: flex; align-items: center; justify-content: space-between;
		min-height: 66px; padding: 0 16px; background: #fff;
		border-bottom: 1px solid var(--tv-ramka); position: relative; z-index: 70;
	}
	.tv-mob-toggle, .tv-mob-toggle:hover, .tv-mob-toggle:focus, .tv-mob-toggle:active {
		width: 34px; height: 30px; padding: 4px 2px; background: transparent !important; border: 0; box-shadow: none; outline: none; cursor: pointer;
		display: flex; flex-direction: column; justify-content: space-between; flex: 0 0 auto;
	}
	.tv-mob-toggle:focus-visible { outline: 2px solid var(--tv-tyrkoaz); outline-offset: 3px; border-radius: 4px; }
	.tv-mob-toggle span { display: block; height: 2px; background: var(--tv-tyrkoaz); border-radius: 2px; transition: transform .2s, opacity .2s; }
	.tv-mob-toggle.tv-otvoren span:nth-child(1) { transform: translateY(10px) rotate(45deg); }
	.tv-mob-toggle.tv-otvoren span:nth-child(2) { opacity: 0; }
	.tv-mob-toggle.tv-otvoren span:nth-child(3) { transform: translateY(-10px) rotate(-45deg); }
	.tv-mob-logo { flex: 1 1 auto; text-align: center; line-height: 0; }
	.tv-mob-logo img { max-height: 44px; width: auto; display: inline-block; }
	.tv-mob-logo a { font-family: var(--tv-zagl-shrift); font-weight: 600; color: var(--tv-tyrkoaz); line-height: 1.2; }
	.tv-buton-mobilen { flex: 0 0 auto; margin: 0; padding: 10px 18px; font-size: 13px; font-weight: 400; }

	/* Падащото меню по мобилния макет: светлосив фон, обикновен шрифт, подменю на бяло с отстъп. */
	.tv-mob-menyu {
		display: block; background: var(--tv-sivo-fon);
		box-shadow: 0 10px 30px rgba(41,78,128,.12); padding: 10px 0 14px; position: relative; z-index: 69;
	}
	.tv-mob-menyu[hidden] { display: none; }
	.tv-mob-menyu ul { list-style: none !important; margin: 0; padding: 0; }
	.tv-mob-menyu li { margin: 0; position: relative; }
	.tv-mob-menyu li::marker { content: none !important; }
	.tv-mob-menyu a {
		display: block; padding: 12px 20px; color: var(--tv-tekst);
		font-family: var(--tv-zagl-shrift); font-weight: 400 !important; font-size: 15px;
	}
	.tv-mob-menyu .current-menu-item > a, .tv-mob-menyu .current_page_item > a,
	.tv-mob-menyu .tv-aktiven > a { color: var(--tv-tyrkoaz) !important; }
	.tv-mob-menyu li.menu-item-has-children > a { padding-right: 56px; }
	.tv-mob-strelka {
		position: absolute; right: 8px; top: 4px; width: 40px; height: 38px;
		background: transparent !important; border: 0; box-shadow: none; cursor: pointer; padding: 0;
	}
	.tv-mob-strelka::before {
		content: ""; display: block; width: 9px; height: 9px; margin: 13px auto 0;
		border-right: 1.5px solid var(--tv-tekst); border-bottom: 1.5px solid var(--tv-tekst);
		transform: rotate(45deg); transition: transform .2s;
	}
	.tv-mob-menyu li.tv-otvoreno > .tv-mob-strelka::before { transform: rotate(-135deg); margin-top: 18px; }
	.tv-mob-menyu .sub-menu { display: none; background: #fff; padding: 6px 0; }
	.tv-mob-menyu li.tv-otvoreno > .sub-menu { display: block; }
	.tv-mob-menyu .sub-menu a { padding: 10px 20px 10px 40px; font-size: 14.5px; color: var(--tv-tekst); }
	.tv-mob-menyu .sub-menu .current-menu-item > a, .tv-mob-menyu .sub-menu .tv-aktiven > a { color: var(--tv-tyrkoaz) !important; }
	.tv-mob-menyu .tv-nachalo, .tv-mob-menyu .tv-menyu-buton { display: none; }
	.tv-mob-dolu { padding: 10px 20px 0; font-size: 14px; }
	.tv-mob-dolu .tv-ezik ul { display: flex; gap: 12px; }
	.tv-mob-dolu .tv-ezik a { color: var(--tv-tekst-slab); font-weight: 400; padding: 0; display: inline; }
}


/* =========================================================================
   6и. ВИЗУАЛНИ ЕФЕКТИ
   ====================================================================== */

/* Показване при зареждане и при превъртане.
   Класовете се слагат от efekti.js, за да остане страницата видима без скрипт.
   Тръгва бързо, спира меко. Закъснението между съседите го дава скриптът.
   Преходът е с „!important“, защото картите имат свой кратък преход за посочване.
   Скриптът маха класовете след края, за да се върне преходът на картите. */
.tv-yavi {
	opacity: 0;
	transform: translateY(22px);
	will-change: opacity, transform;
	transition-property: opacity, transform !important;
	transition-duration: .85s !important;
	transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
}
/* Заглавията в заглавната част идват малко по-отдалече и малко по-бавно. */
.tv-geroy h1.tv-yavi, .tv-ivitsa h1.tv-yavi { transform: translateY(30px); transition-duration: 1s !important; }
.tv-yavi-lyavo, .tv-geroy h1.tv-yavi-lyavo, .tv-ivitsa h1.tv-yavi-lyavo { transform: translateX(-42px); }
.tv-yavi-dyasno { transform: translateX(42px); }
.tv-yavi.tv-vidim, .tv-geroy h1.tv-yavi.tv-vidim, .tv-ivitsa h1.tv-yavi.tv-vidim { opacity: 1; transform: none; will-change: auto; }
/* Скриването при излизане от екрана става веднага, без преход. */
.tv-yavi.tv-bez-prehod, .tv-geroy h1.tv-yavi.tv-bez-prehod, .tv-ivitsa h1.tv-yavi.tv-bez-prehod { transition-duration: 0s !important; transition-delay: 0s !important; }

/* Бутоните се запълват отляво при посочване. */
.tv-buton-chas { position: relative; overflow: hidden; z-index: 0; }
.tv-buton-chas::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: var(--tv-tyrkoaz-tamno);
	transform: scaleX(0); transform-origin: left center;
	transition: transform .3s ease;
}
.tv-buton-chas:hover::before { transform: scaleX(1); }
.tv-buton-chas:hover { background: var(--tv-tyrkoaz); }

/* Снимките в картите леко се уголемяват при посочване. */
.tv-lekar-snimka-karta, .tv-karta-snimka, .tv-blog-snimka, .tv-karta > a:first-child { overflow: hidden; border-radius: var(--tv-zaobly); }
.tv-lekar-snimka-karta { border-radius: 0; }
.tv-lekar-snimka-karta img, .tv-karta-snimka img, .tv-blog-snimka img, .tv-karta > a:first-child img {
	transition: transform .5s ease;
}
.tv-lekar-karta:hover .tv-lekar-snimka-karta img,
.tv-karta-spisak:hover .tv-karta-snimka img,
.tv-blog-karta:hover .tv-blog-snimka img,
.tv-karta:hover > a:first-child img { transform: scale(1.05); }

/* Картите на заболяванията: иконата леко подскача при посочване. */
.tv-zab-karta img { transition: transform .3s ease; }
.tv-zab-karta:hover img { transform: translateY(-4px); }

/* Връзките „Прочети още“ — стрелката се плъзва надясно. */
.tv-oshte-vr { transition: gap .2s ease, color .2s ease; }
.tv-oshte-vr:hover { gap: 9px; }

@media (prefers-reduced-motion: reduce) {
	.tv-yavi { opacity: 1; transform: none; transition: none; }
	.tv-buton-chas::before, .tv-lekar-snimka-karta img, .tv-karta-snimka img, .tv-blog-snimka img, .tv-zab-karta img { transition: none; }
}


/* =========================================================================
   7. ПРОЧЕТИ ОЩЕ
   ====================================================================== */

.tv-oshte { margin-top: 62px; }
.tv-oshte > h2 { text-align: center; font-size: 26px; margin-bottom: 32px; }

.tv-mreja {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 28px;
}
.tv-karta img {
	width: 100%; aspect-ratio: 16/10; object-fit: cover;
	border-radius: var(--tv-zaobly); margin-bottom: 14px;
}
.tv-karta h3 { font-size: 16px; margin: 0 0 8px; }
.tv-karta p { font-size: 14px; color: var(--tv-tekst-slab); margin: 0 0 10px; line-height: 1.6; }
.tv-karta .tv-oshte-vr { font-size: 13px; font-weight: 600; }


/* =========================================================================
   8. СОЦИАЛНА ИВИЦА И ДОЛНА ЧАСТ
   ====================================================================== */

.tv-sotsialni {
	background: var(--tv-bledno);
	border-radius: var(--tv-zaobly);
	padding: 30px 36px;
	margin: 56px auto 0;
	max-width: var(--tv-shirina);
	display: flex; flex-wrap: wrap; align-items: center;
	justify-content: space-between; gap: 18px;
}
.tv-sotsialni h2 { margin: 0; font-size: 24px; }
.tv-sotsialni .tv-znatsi { display: flex; gap: 11px; }
.tv-sotsialni .tv-znatsi a {
	width: 38px; height: 38px; border-radius: 50%;
	background: var(--tv-tyrkoaz); color: #fff !important;
	display: flex; align-items: center; justify-content: center;
	font-size: 15px;
}
.tv-sotsialni .tv-znatsi a:hover { background: var(--tv-tyrkoaz-tamno); }
.tv-sotsialni .tv-znatsi .tv-znak { width: 17px; height: 17px; }

.tv-podval { padding: 52px 0 0; }
.tv-podval .tv-obvivka {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
	gap: 38px;
}
.tv-podval h4 { font-size: 17px; margin: 0 0 16px; }
.tv-podval ul { list-style: none !important; margin: 0; padding: 0; }
.tv-podval li::marker { content: none !important; }
.tv-podval .menu { list-style: none !important; }
.tv-podval li { margin-bottom: 9px; }
.tv-podval a { color: var(--tv-tekst-slab); font-size: 14.5px; }
.tv-podval a:hover { color: var(--tv-tyrkoaz); }
.tv-podval .tv-adres { font-size: 13.5px; color: var(--tv-tekst-slab); margin-bottom: 15px; line-height: 1.6; }
.tv-podval .tv-adres strong { color: var(--tv-tyrkoaz); }
.tv-podval .tv-logo img { max-width: 150px; height: auto; margin-bottom: 18px; }
.tv-podval p { font-size: 14px; color: var(--tv-tekst-slab); }

.tv-dolen-red {
	margin-top: 42px; padding: 18px 0;
	border-top: 1px solid var(--tv-ramka);
	font-size: 13px; color: var(--tv-tekst-slab);
}
.tv-dolen-red .tv-obvivka { display: flex; justify-content: space-between; gap: 12px; }

.site-footer .site-info { display: none; }
.site-footer, .tv-podval, .tv-dolen-red { background: #fff; }
.tv-sotsialni { background: var(--tv-bledno); }


/* =========================================================================
   9. ТЕЛЕФОН И ТАБЛЕТ
   ====================================================================== */

@media (max-width: 1024px) {
	.tv-podval .tv-obvivka { grid-template-columns: 1fr 1fr; gap: 30px; }
}

@media (max-width: 768px) {
	h1 { font-size: 27px; }
	.tv-ivitsa { padding: 40px 0; }
	.tv-ivitsa h1 { font-size: 25px; }
	.tv-ivitsa .tv-obvivka { flex-direction: column; align-items: flex-start; }
	.tv-gorna-lenta .tv-obvivka { justify-content: flex-start; gap: 12px; font-size: 12px; }
	.tv-podval .tv-obvivka { grid-template-columns: 1fr; }
	.tv-dolen-red .tv-obvivka { flex-direction: column; text-align: center; }
	.tv-sotsialni { padding: 24px; margin-left: 16px; margin-right: 16px; }
	.tv-buton-chas { margin: 10px 0 0; }
	.site-content { padding: 34px 0; }
}
