/* Изолированные стили раздела: Open Sans и палитра действующего шаблона клиники. */
.clinic-offers {
	--offers-ink: #233a46;
	--offers-muted: #526771;
	--offers-teal: #0d7d7a;
	--offers-blue: #3b4b89;
	--offers-surface: #edf7f7;
	--offers-line: #d8e6e9;
	color: var(--offers-ink);
	font-size: 16px;
	line-height: 1.7;
	margin-bottom: 32px;
}

.clinic-offers [hidden] { display: none !important; }
.clinic-offers * { box-sizing: border-box; }
.clinic-offers h2,
.clinic-offers h3 { color: inherit; font-family: inherit; font-weight: 700; letter-spacing: normal; }
.clinic-offers h2 { margin: 0 0 16px; font-size: 28px; line-height: 1.35; }
.clinic-offers h3 { margin: 0 0 12px; font-size: 20px; line-height: 1.5; }
.clinic-offers p { margin: 0 0 16px; }
.clinic-offers a { color: var(--offers-teal); }
.clinic-offers a:focus-visible,
.clinic-offers button:focus-visible { outline: 3px solid var(--offers-blue); outline-offset: 5px; }
.clinic-offers__text-link,
.clinic-offers__back { text-decoration: underline; text-underline-offset: 4px; font-weight: 600; }

.clinic-offers__intro.row {
	display: flex;
	margin: 0 0 36px;
	border-radius: 20px;
	overflow: hidden;
	background: var(--offers-surface);
}
.clinic-offers__intro-main { padding: 30px 36px; }
.clinic-offers__intro-main h2 { font-size: 32px; line-height: 1.25; margin-bottom: 18px; }
.clinic-offers__intro-main p { max-width: 590px; }
.clinic-offers__intro-note {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 28px 32px;
	background: #e5eeee;
	border-left: 1px solid #d5e4e4;
}
.clinic-offers__intro-note h3 { font-size: 19px; }
.clinic-offers__intro-note p { margin-bottom: 0; font-size: 14px; }
.clinic-offers__note-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: 16px;
	border: 1px solid #b7cece;
	border-radius: 50%;
	font-size: 23px;
	font-weight: 600;
	color: var(--offers-teal);
}
.clinic-offers__section-head { margin-bottom: 24px; }
.clinic-offers__section-head h2 { margin-bottom: 6px; }
.clinic-offers__section-head p { color: var(--offers-muted); }
.clinic-offers__filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
.clinic-offers__filter {
	appearance: none;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	padding: 12px 18px;
	border: 1px solid var(--offers-line);
	border-radius: 8px;
	color: var(--offers-ink);
	background: #fff;
	cursor: pointer;
	min-height: 46px;
}
.clinic-offers__filter span { margin-left: 6px; opacity: .8; }
.clinic-offers__filter[aria-pressed="true"] { background: var(--offers-teal); color: #fff; border-color: var(--offers-teal); }
.clinic-offers__filter:hover { border-color: var(--offers-teal); }
.clinic-offers__result-count { color: var(--offers-muted); font-size: 13px; }
.clinic-offers__grid { display: flex; flex-wrap: wrap; }
.clinic-offers__grid::before,
.clinic-offers__grid::after { display: none; }
.clinic-offers__item { display: flex; margin-bottom: 24px; min-width: 0; }
.clinic-offers__card {
	display: flex;
	flex-direction: column;
	position: relative;
	width: 100%;
	padding: 26px 28px 22px;
	border: 1px solid var(--offers-line);
	border-radius: 12px;
	background: #fff;
}
.clinic-offers__card:hover,
.clinic-offers__card:focus-within { border-color: var(--offers-teal); }
.clinic-offers__card-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.clinic-offers__period { color: var(--offers-muted); font-size: 13px; }
.clinic-offers__benefit { color: var(--offers-teal); font-weight: 700; font-size: 36px; line-height: 1.2; overflow-wrap: anywhere; }
.clinic-offers__card h3 { max-width: 420px; }
.clinic-offers__card h3 a { color: var(--offers-ink); text-decoration: none; }
.clinic-offers__card h3 a:hover { color: var(--offers-teal); text-decoration: underline; }
.clinic-offers__card > p { color: var(--offers-muted); font-size: 14px; }
.clinic-offers__card .clinic-offers__card-exclusions { font-size: 12px; line-height: 1.6; margin-top: auto; }
.clinic-offers__card-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	border-top: 1px solid var(--offers-line);
	padding-top: 15px;
	font-size: 14px;
	font-weight: 700;
	min-height: 44px;
}
.clinic-offers__card-link span { font-size: 22px; font-weight: 400; }
.clinic-offers__empty { padding: 32px; border: 1px dashed var(--offers-line); border-radius: 12px; margin-bottom: 32px; }
.clinic-offers__how { padding-top: 28px; scroll-margin-top: 100px; }
.clinic-offers__steps { counter-reset: offer-step; padding: 0; margin-top: 26px; list-style: none; }
.clinic-offers__steps li { counter-increment: offer-step; padding-top: 6px; padding-bottom: 20px; }
.clinic-offers__steps li::before {
	content: counter(offer-step);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--offers-line);
	border-radius: 50%;
	margin-bottom: 16px;
	color: var(--offers-teal);
	font-weight: 600;
}
.clinic-offers__steps h3 { font-size: 18px; }
.clinic-offers__steps p { color: var(--offers-muted); font-size: 14px; max-width: 335px; }
.clinic-offers__rules { margin: 20px 0 32px; padding: 26px 30px; border-left: 3px solid var(--offers-blue); background: #f3f5fa; }
.clinic-offers__rules h2 { font-size: 21px; }
.clinic-offers__rules p { max-width: 930px; font-size: 14px; }
.clinic-offers__rules p:last-child { margin-bottom: 0; }
.clinic-offers__contact { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding: 30px 34px; background: var(--offers-surface); border-radius: 12px; }
.clinic-offers__contact h2 { font-size: 24px; margin-bottom: 8px; }
.clinic-offers__contact p { margin: 0; max-width: 600px; font-size: 14px; }
.clinic-offers .clinic-offers__button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 48px; padding: 13px 22px; background: var(--offers-teal); color: #fff; border: 1px solid var(--offers-teal); border-radius: 8px; font-size: 16px; font-weight: 600; white-space: normal; text-transform: none; letter-spacing: normal; }
.clinic-offers .clinic-offers__button:hover { background: #096562; border-color: #096562; color: #fff; }
.clinic-offers .clinic-offers__medical-note { margin: 24px 0 0; color: var(--offers-muted); font-size: 13px; }
.clinic-offers__back { display: inline-block; margin-bottom: 28px; }
.clinic-offers__detail-benefit { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-bottom: 32px; padding: 24px 28px; background: var(--offers-surface); border-radius: 12px; }
.clinic-offers__detail-benefit .clinic-offers__benefit { font-size: 48px; }
.clinic-offers__detail-benefit > span:last-child { font-size: 15px; }
.clinic-offers__detail-section { margin-bottom: 32px; padding-right: 20px; }
.clinic-offers__detail-section h2 { font-size: 24px; }
.clinic-offers__detail-section p { max-width: 720px; }
.clinic-offers__detail-section ul,
.clinic-offers__documents ul { padding-left: 20px; }
.clinic-offers__detail-section li,
.clinic-offers__documents li { padding-left: 4px; margin-bottom: 12px; }
.clinic-offers__restriction { padding: 22px 26px; margin-bottom: 30px; border-left: 3px solid var(--offers-blue); background: #f3f5fa; }
.clinic-offers__restriction h2 { font-size: 20px; }
.clinic-offers__restriction p { margin-bottom: 0; font-size: 15px; }
.clinic-offers__documents { background: var(--offers-surface); padding: 28px; border-radius: 12px; font-size: 14px; }
.clinic-offers__documents h2 { font-size: 24px; }
.clinic-offers__documents-note { border-top: 1px solid #bfd5d5; padding-top: 18px; font-size: 13px; }
.clinic-offers__detail-contact { margin-top: 26px; padding: 0 10px; }
.clinic-offers__detail-contact h2 { font-size: 20px; }
.clinic-offers__detail-contact p { margin-top: 16px; color: var(--offers-muted); font-size: 14px; }
.clinic-offers__basis { color: var(--offers-muted); font-size: 13px; }

@media (max-width: 991px) {
	.clinic-offers__intro.row { flex-direction: column; }
	.clinic-offers__intro-note { border-left: 0; border-top: 1px solid var(--offers-line); }
	.clinic-offers__intro-note br { display: none; }
	.clinic-offers__intro-main,
	.clinic-offers__intro-note { width: 100%; }
	.clinic-offers__intro-note { padding: 24px 32px; }
	.clinic-offers__note-icon { display: none; }
	.clinic-offers__contact { align-items: flex-start; flex-direction: column; }
	.clinic-offers__detail-section { padding-right: 0; }
	.clinic-offers__documents { margin-top: 28px; }
}
@media (max-width: 767px) {
	.clinic-offers { font-size: 15px; }
	.clinic-offers h2 { font-size: 25px; }
	.clinic-offers__intro.row { margin-bottom: 34px; border-radius: 12px; }
	.clinic-offers__intro-main,
	.clinic-offers__intro-note { padding: 24px; }
	.clinic-offers__intro-main h2 { font-size: 28px; }
	.clinic-offers__intro-main h2 br { display: none; }
	.clinic-offers__item { width: 100%; }
	.clinic-offers__card { padding: 22px; }
	.clinic-offers__card h3 { font-size: 19px; }
	.clinic-offers__filter { padding: 11px 13px; font-size: 13px; }
	.clinic-offers__benefit { font-size: 32px; }
	.clinic-offers__steps li { padding-left: 66px; }
	.clinic-offers__steps li::before { position: absolute; left: 15px; top: 8px; }
	.clinic-offers__steps p { max-width: none; }
	.clinic-offers__rules,
	.clinic-offers__contact,
	.clinic-offers__empty,
	.clinic-offers__documents { padding: 24px; }
	.clinic-offers__contact h2 { font-size: 22px; }
	.clinic-offers__detail-benefit { padding: 22px; gap: 18px; }
}

/* В спецверсии наследуем выбранные пользователем цвета и размер шрифта. */
.clinic-offers--accessible { color: inherit; font-size: inherit; --offers-ink: currentColor; --offers-muted: currentColor; --offers-teal: currentColor; --offers-blue: currentColor; --offers-surface: transparent; --offers-line: currentColor; }
.clinic-offers--accessible .clinic-offers__intro-note,
.clinic-offers--accessible .clinic-offers__card,
.clinic-offers--accessible .clinic-offers__filter,
.clinic-offers--accessible .clinic-offers__rules,
.clinic-offers--accessible .clinic-offers__restriction,
.clinic-offers--accessible .clinic-offers__button { background: transparent; color: inherit; border-color: currentColor; }
.clinic-offers--accessible .clinic-offers__filter[aria-pressed="true"] { outline: 2px solid currentColor; outline-offset: -5px; }
.clinic-offers--accessible p,
.clinic-offers--accessible li,
.clinic-offers--accessible a,
.clinic-offers--accessible button,
.clinic-offers--accessible .clinic-offers__documents,
.clinic-offers--accessible .clinic-offers__period { font-size: inherit; }
.clinic-offers--accessible h2 { font-size: 1.5em; }
.clinic-offers--accessible h3 { font-size: 1.2em; }
.clinic-offers--accessible .clinic-offers__benefit { font-size: 2em; }
@media (forced-colors: active) {
	.clinic-offers__filter[aria-pressed="true"] { outline: 2px solid ButtonText; }
}
