/* Оформление карточки клиники (clinic.tpl).

   Шаблон достался от прошлого владельца вместе с разметкой, а CSS того дизайна
   на сайт не переехал: классы .mainmenu, .card_intro, .rating, .tabs_content,
   .opinion_list, .card_other не описаны ни в одном файле. Из-за этого страница
   выводилась голым HTML — крошки вертикальным столбцом, рейтинг строками,
   отзывы без карточек. Здесь они приведены к общему виду сайта.

   Палитра: #006F4A (тёмно-зелёный), #029363 (зелёный), #FF9600 (акцент). */

/* --- Хлебные крошки -------------------------------------------------------- */

/* Верх сайта — фиксированная стопка (шапка + меню), поэтому первый блок страницы
   обязан отступать сверху. У карточки врача это делает .section.first
   (margin-top:99px в home.css), а страницы с .mainmenu — карточка и списки
   клиник, поиск — такого отступа не имели и уезжали под меню на 79px.
   Значения держим теми же, что у .section.first, чтобы верх был одинаковым. */
.mainmenu { margin: 99px 0 18px; }
.mainmenu .mobile-menu { display: none; }

.mainmenu .menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
}

.mainmenu .menu > li { list-style: none; }
.mainmenu .menu a { color: #029363; text-decoration: none; }
.mainmenu .menu a:hover { text-decoration: underline; }
.mainmenu .menu .gt { color: #B5B8BF; }
.mainmenu .menu i { color: #777; font-style: normal; }

/* Вложенный список («Врачи» под «Клиниками») в строке крошек не нужен. */
.mainmenu .menu .sub-menu { display: none; }

/* --- Шапка карточки -------------------------------------------------------- */

.content { margin: 0 0 30px; }

.card_intro {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 0 0 24px;
}

.ci_photo {
	flex: 0 0 220px;
	max-width: 220px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ci_photo img {
	width: 100%;
	height: auto;
	border: 1px solid #DEDFE2;
	border-radius: 4px;
	background: #F7F8FC;
}

.ci_photo .had { font-size: 14px; color: #029363; }

.ci_photo .action { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.ci_photo .action a { color: #029363; }

.ci_photo .edit button {
	background: none;
	border: 1px solid #DEDFE2;
	border-radius: 3px;
	padding: 6px 10px;
	cursor: pointer;
	font: inherit;
	color: #555;
	width: 100%;
}

.ci_photo .edit button:hover { border-color: #029363; color: #029363; }

.ci { flex: 1 1 400px; min-width: 0; }
.ci h1 { margin: 0 0 12px; }
.ci h1 span { color: #777; font-weight: 400; }
.ci .description { color: #333; line-height: 1.6; margin: 0 0 16px; }

/* --- Рейтинг клиники ------------------------------------------------------- */

.rating { margin: 0 0 16px; }

.rating .r {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.rating .r_block { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #555; }
.rating .r_score { font-size: 22px; font-weight: 700; }
.rating .o { color: #777; font-size: 13px; line-height: 1.4; }

/* Подоценки: «Работа регистратуры», «Комфорт пребывания», «Оснащённость» */
.rating .v table { width: 100%; max-width: 460px; border-collapse: collapse; }
.rating .v td { padding: 5px 8px 5px 0; font-size: 14px; color: #555; vertical-align: middle; }
.rating .v td span { font-weight: 700; color: #333; }

.rating .v_bar {
	height: 8px;
	background: #E7E8EC;
	border-radius: 4px;
	overflow: hidden;
	min-width: 90px;
}

.rating .v_bar div { height: 8px; background: #029363; }

/* --- Вкладки-якоря («Обзор · Отзывы · Врачи · Контакты …») ------------------ */

.tabs_caption {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	margin: 0 0 20px;
	padding: 0 0 2px;
	border-bottom: 1px solid #DEDFE2;
}

.tabs_caption li { list-style: none; }

.tabs_caption li a {
	display: inline-block;
	padding: 9px 14px;
	color: #333;
	text-decoration: none;
	font-size: 15px;
	border-bottom: 2px solid transparent;
}

.tabs_caption li a:hover { color: #029363; }

.tabs_caption li.active a {
	color: #006F4A;
	font-weight: 600;
	border-bottom-color: #029363;
}

/* Декоративный кружок из старого дизайна — без картинки он не нужен. */
.tabs_caption .ball { display: none; }

/* --- Таблица «Информация о клинике» ---------------------------------------- */

.card_table { margin: 0 0 20px; }

.ct_row {
	display: flex;
	gap: 14px;
	padding: 8px 0;
	border-bottom: 1px solid #EDEEF1;
	flex-wrap: wrap;
}

.ct_row:last-child { border-bottom: 0; }

.ct_row_c1 {
	flex: 0 0 210px;
	max-width: 210px;
	color: #777;
	font-size: 14px;
}

.ct_row_c2 { flex: 1 1 240px; min-width: 0; color: #333; }

/* Кнопки записи (.dd-jump) исключаем: у них свой стиль — белый текст на зелёном,
   и общая перекраска ссылок делала надпись невидимой. */
.ct_row_c2 a:not(.dd-jump) { color: #029363; }

.open_map.dashed {
	border-bottom: 1px dashed currentColor;
	cursor: pointer;
	color: #029363;
}

/* --- Секции карточки ------------------------------------------------------- */

.tabs_content { margin: 0 0 28px; }
.tabs_content h2 { margin: 0 0 14px; }

.card_q_block {
	background: #F7F8FC;
	border-left: 3px solid #FF9600;
	border-radius: 3px;
	padding: 12px 16px;
	margin: 0 0 20px;
}

.card_q_block a { color: #333; text-decoration: none; }
.card_q_block a strong { color: #006F4A; }
.card_q_block a:hover { text-decoration: underline; }

/* --- Отзывы ---------------------------------------------------------------- */

.opinion_list { list-style: none; margin: 0 0 20px; padding: 0; }

.opinion_list .revx {
	border: 1px solid #DEDFE2;
	border-radius: 4px;
	padding: 14px 16px;
	margin: 0 0 12px;
	background: #fff;
	list-style: none;
}

.opinion_list .opinion_value { font-weight: 700; color: #FF9600; }
.opinion_list .opinion_details { color: #777; font-size: 13px; margin: 2px 0 8px; }
.opinion_list .opinion_details time { color: #999; }
.opinion_list .opinion_bullet { margin: 0 6px; color: #C9CBD1; }
.opinion_list .opinion_comment { line-height: 1.6; color: #333; }

.card_mb35 { margin: 0 0 24px; color: #777; }
.revx_admininfo {
	background: #FFF6E8;
	border: 1px solid #FFD9A0;
	border-radius: 3px;
	padding: 10px 14px;
	margin: 0 0 16px;
}

/* --- Врачи клиники --------------------------------------------------------- */

.card_other {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 12px;
}

.card_other li {
	border: 1px solid #DEDFE2;
	border-radius: 4px;
	padding: 12px;
	list-style: none;
	background: #fff;
}

.card_other a { color: #029363; text-decoration: none; font-weight: 600; }
.card_other a:hover { text-decoration: underline; }

/* --- Адаптив --------------------------------------------------------------- */

@media screen and (max-width: 1023px) {
	.mainmenu { margin-top: 89px; }
}

@media (max-width: 767px) {
	.mainmenu { margin-top: 91px; }
	.card_intro { gap: 16px; }
	.ci_photo { flex: 0 0 130px; max-width: 130px; }
	.mainmenu .menu { font-size: 12px; gap: 4px; }
	.rating .v table { max-width: 100%; }
	.card_other { grid-template-columns: 1fr; }
	.ct_row_c1 { flex: 0 0 100%; max-width: 100%; }
	.tabs_caption { gap: 0; overflow-x: auto; flex-wrap: nowrap; }
	.tabs_caption li a { padding: 9px 11px; font-size: 14px; white-space: nowrap; }
}
