/* Каталожные страницы: хлебные крошки, верхний рекламный блок и списки клиник.

   1. Крошки. Блок лежал в белой карточке .section.light с тенью и 20px отступа,
      набран жирным 14px — на скриншотах владельца он перетягивал внимание с
      заголовка и разрывал страницу пополам. Здесь карточка снимается, остаётся
      тонкая строка над контентом. Цвета проверены на фоне страницы #F4F4F4:
      #006F4A даёт 6.4:1, #5B6470 — 6.3:1 (WCAG AA для мелкого текста — 4.5:1).

   2. Списки клиник (sclinic.tpl, clinics.tpl, clinics_set.tpl, set_clin.tpl,
      usluga_city.tpl). Как и у карточки клиники, CSS старого дизайна на сайт
      не переехал: .card_list, .cl_photo, .cl, .adres, .cl_rating, .lastrev,
      .block_search, .pagination, .bulllist, .gde2, .fseti не описаны ни в одном
      файле — страницы выводились голым HTML. Написаны заново в палитре сайта
      #006F4A / #029363 / #FF9600, по образцу images/clinic.css.

   style.css не трогаем — его правят параллельные сессии. */

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

/* :has нужен, чтобы не задеть .section.first на главной — там первый блок
   не крошки, а обложка. Браузеры без :has просто оставят прежнюю карточку. */
.section.first.light:has(> .breadmenu) {
	background: none;
	box-shadow: none;
	border-radius: 0;
	margin-bottom: 4px;
}

.breadmenu { padding: 0 4px; margin-bottom: 0; }
.breadmenu ul li { margin-bottom: 4px; }
.breadmenu ul li,
.breadmenu ul li a { font-size: 13px; font-weight: 400; line-height: 1.5; }
.breadmenu ul li { color: #5B6470; }
.breadmenu ul li a { color: #006F4A; }
.breadmenu ul li a:hover { color: #FF9600; }
.breadmenu ul li:after { color: #B5B8BF; margin: 0 6px; }

/* Крошки старой разметки (списки и карточка клиники) — тот же вид. */
.mainmenu .menu { font-size: 13px; }
.mainmenu .menu a { color: #006F4A; }
.mainmenu .menu a:hover { color: #FF9600; text-decoration: none; }

/* --- Верхний рекламный блок ------------------------------------------------- */

/* Стоит сразу под крошками, до заголовка. Высоту резервирует .adv-reserve
   из adv.css, поэтому появление объявления не сдвигает контент (CLS). */
.section.adv-top { margin-bottom: 12px; }
.adv-top .adv { margin-bottom: 0; }
.mainmenu + .adv-top { margin: 0 0 18px; }

/* --- Списки клиник ---------------------------------------------------------- */

.content.mh { min-height: 320px; }
.content.before_footer { margin-bottom: 30px; }

.card_list { list-style: none; margin: 0 0 24px; padding: 0; }

.card_list > li {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	background: #fff;
	border: 1px solid #DEDFE2;
	border-radius: 4px;
	padding: 14px 16px;
	margin: 0 0 12px;
	list-style: none;
}

.card_list .cl_photo { flex: 0 0 96px; max-width: 96px; }
.card_list .cl_photo img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 3px;
	background: #F7F8FC;
}

.card_list .cl { flex: 1 1 320px; min-width: 0; }

.card_list .cl .name { font-size: 17px; font-weight: 600; line-height: 1.35; margin: 0 0 6px; }
.card_list .cl .name a { color: #006F4A; text-decoration: none; }
.card_list .cl .name a:hover { text-decoration: underline; }

.card_list .adres { list-style: none; margin: 0 0 8px; padding: 0; color: #5B6470; font-size: 14px; line-height: 1.5; }
.card_list .adres li { list-style: none; }

.card_list .lastrev {
	color: #4A5058;
	font-size: 14px;
	line-height: 1.55;
	border-left: 3px solid #FF9600;
	background: #F7F8FC;
	border-radius: 0 3px 3px 0;
	padding: 8px 12px;
	margin: 0 0 10px;
}

/* Строка действий. Отступы подобраны так, чтобы высота ссылки на телефоне
   дотягивала до 44px — иначе в неё не попасть пальцем. */
.card_list .action { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; font-size: 14px; }
.card_list .action > div { display: flex; }
.card_list .action a { display: inline-block; padding: 11px 0; color: #029363; text-decoration: none; }
.card_list .action a:hover { text-decoration: underline; }

.card_list .action .z a {
	background: #029363;
	color: #fff;
	border-radius: 3px;
	padding: 11px 18px;
	font-weight: 600;
}
.card_list .action .z a:hover { background: #006F4A; text-decoration: none; }
.card_list .action .c a { color: #5B6470; }

.card_list .cl_rating { flex: 0 0 auto; margin-left: auto; }

/* .rating в clinic.css — блок оценок карточки; здесь это просто цифра. */
.card_list .cl_rating .rating {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 4px;
	background: #EDEEF1;
	color: #4A5058;
	font-size: 17px;
	font-weight: 700;
}
.card_list .cl_rating .rating.positive { background: #E4F3EC; color: #006F4A; }
.card_list .cl_rating .rating.negative { background: #FDEBE7; color: #C2410C; }

/* --- Сортировка над списком ------------------------------------------------- */

.block_search { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 18px; }
.block_search .s_block2 { display: flex; align-items: center; gap: 8px; }
.block_search .block_name { color: #5B6470; font-size: 14px; }

.block_search select.select {
	min-height: 44px;
	padding: 0 34px 0 12px;
	border: 1px solid #DEDFE2;
	border-radius: 3px;
	background: #fff;
	color: #111;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 12 8%22%3E%3Cpath d=%22M1 1l5 5 5-5%22 stroke=%22%235B6470%22 stroke-width=%221.5%22 fill=%22none%22/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 11px;
}
.block_search select.select:focus { outline: 2px solid #029363; outline-offset: 1px; }

/* --- Каталоги типов клиник и сетей ------------------------------------------ */

.gde2 { display: inline-block; vertical-align: top; width: 50%; margin: 0 0 24px; }
.gde2name { font-size: 17px; font-weight: 600; color: #111; margin: 0 0 10px; }

.bulllist, .fseti { list-style: none; margin: 0 0 16px; padding: 0; }
.bulllist li, .fseti li { list-style: none; padding: 6px 0; line-height: 1.5; }
.bulllist a, .fseti a { color: #006F4A; text-decoration: none; }
.bulllist a:hover, .fseti a:hover { text-decoration: underline; }
.bulllist li span { color: #8A9099; font-size: 13px; margin-left: 4px; }

.setilink { display: inline; }
.setilink a { color: #006F4A; font-weight: 600; text-decoration: none; }
.setilink a:hover { text-decoration: underline; }

/* Готовый HTML из справочника услуг (usluga_city.tpl). */
.usluga_inner { line-height: 1.65; color: #333; }
.usluga_inner h3 { font-size: 16px; margin: 18px 0 8px; }
.usluga_inner ul { margin: 0 0 12px; padding-left: 20px; }
.usluga_inner li { margin: 0 0 4px; }

/* --- Постраничная навигация ------------------------------------------------- */

.pagination { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 30px; padding: 0; }
.pagination li { list-style: none; }
.pagination a, .pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1px solid #DEDFE2;
	border-radius: 3px;
	background: #fff;
	color: #006F4A;
	text-decoration: none;
	font-size: 15px;
}
.pagination a:hover { border-color: #029363; }
.pagination .active a, .pagination .active span, .pagination span.current {
	background: #029363;
	border-color: #029363;
	color: #fff;
	font-weight: 600;
}

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

@media (max-width: 767px) {
	.breadmenu { padding: 0; }
	.gde2 { display: block; width: 100%; }
	.card_list > li { gap: 12px; padding: 12px; flex-wrap: wrap; }
	.card_list .cl_photo { flex: 0 0 68px; max-width: 68px; }
	.card_list .cl { flex: 1 1 180px; }
	.card_list .cl_rating { order: 3; margin-left: 0; }
	.card_list .cl .name { font-size: 16px; }
	.card_list .action { width: 100%; }
	.card_list .action .z { width: 100%; }
	.card_list .action .z a { width: 100%; text-align: center; }
}
