/* Post-release fixes (TZ 10.10.2026) */

/* П.4 — стрелки отзывов (SVG, как у слайдера врачей) */
.reviews-slider-shell {
	position: relative;
	padding-inline: clamp(32px, 4vw, 48px);
}

.reviews-swiper-button-prev,
.reviews-swiper-button-next {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--color-yellow);
	cursor: pointer;
	transform: translateY(-50%);
	transition: color var(--transition-base, 0.2s ease), transform var(--transition-base, 0.2s ease), opacity var(--transition-base, 0.2s ease);
}

.reviews-swiper-button-prev {
	left: -15px;
}

.reviews-swiper-button-next {
	right: -15px;
}

.reviews-swiper-button-prev svg,
.reviews-swiper-button-next svg {
	display: block;
	width: 12px;
	height: 21px;
}

.reviews-swiper-button-prev:hover,
.reviews-swiper-button-next:hover,
.reviews-swiper-button-prev:focus-visible,
.reviews-swiper-button-next:focus-visible {
	color: var(--color-border-2, #a0765b);
	transform: translateY(-50%) scale(1.08);
}

.reviews-swiper-button-prev:focus-visible,
.reviews-swiper-button-next:focus-visible {
	outline: none;
	box-shadow: var(--focus-ring, 0 0 0 3px color-mix(in srgb, var(--color-yellow) 55%, transparent));
	border-radius: 4px;
}

.reviews-swiper-button-prev.swiper-button-disabled,
.reviews-swiper-button-next.swiper-button-disabled {
	opacity: 0.35;
	pointer-events: none;
}

.reviews-slider-pagination {
	position: static;
	margin-top: 16px;
}

@media (max-width: 599px) {
	.reviews-slider-shell {
		padding-inline: clamp(28px, 8vw, 40px);
	}

	.reviews-swiper-button-prev {
		left: 0;
	}

	.reviews-swiper-button-next {
		right: 0;
	}
}

/* Шапка: 2-й уровень «Услуги» не уходит за низ экрана */
.services-dropdown__panel {
	max-height: calc(100dvh - var(--site-header-offset, 120px) - 24px);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

/* П.6 — радиус фото = рамка карточки */
.doctor-page__photo {
	border-radius: 12px 12px 0 0;
}

.doctor-page__photo-img {
	border-radius: 12px 12px 0 0;
}

/* П.7 — оборудование: картинка сверху, бейджи не уезжают */
@media (min-width: 900px) {
	.equipment-page-card__layout {
		align-items: flex-start;
	}
}

.equipment-page-card__media {
	align-self: start;
}

.equipment-page-card__img {
	object-position: top center;
}

.equipment-page-card__title-link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.equipment-page-card__title-link:hover {
	color: var(--color-primary-hover, var(--color-primary));
}

/* П.11 — sticky header без щели сверху на мобилке */
@media (max-width: 1024px) {
	.site-header {
		top: 0;
		margin-top: 0;
	}

	body:not(.admin-bar) .site-header {
		top: 0;
	}

	:root {
		--site-header-offset: 72px;
	}
}

@supports (padding: env(safe-area-inset-top)) {
	@media (max-width: 1024px) {
		.site-header {
			padding-top: env(safe-area-inset-top);
			top: 0;
		}
	}
}

/* П.12 — таблицы: скролл + границы */
.service-prices-content,
.page-content,
.text-styled,
.doctor-details__text,
.doctor-details__accordion-body {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.service-prices-content table,
.page-content table,
.text-styled table,
.doctor-details__text table,
.doctor-details__accordion-body table {
	width: 100%;
	min-width: 480px;
	border-collapse: collapse;
	border: 1px solid color-mix(in srgb, var(--color-border, #72492e) 35%, transparent);
	margin: 0 0 1em;
}

.service-prices-content table th,
.service-prices-content table td,
.page-content table th,
.page-content table td,
.text-styled table th,
.text-styled table td,
.doctor-details__text table th,
.doctor-details__text table td,
.doctor-details__accordion-body table th,
.doctor-details__accordion-body table td {
	border: 1px solid color-mix(in srgb, var(--color-border, #72492e) 35%, transparent);
	padding: 0.65em 0.85em;
	vertical-align: top;
	text-align: left;
}

.service-prices-content table th,
.page-content table th,
.text-styled table th,
.doctor-details__text table th,
.doctor-details__accordion-body table th {
	background: var(--color-white-2, #fdf8ef);
	color: var(--color-primary, #673a1c);
	font-weight: var(--weight-semibold, 600);
}

.price-themed-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
