.medml-widget,
.medml-doctor,
.medml-doclist,
.medml-account,
.medml-cards,
.medml-departments,
.medml-bookmodal {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6
}

.medml-widget {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6;
	font-family: inherit;
	color: #12333a;
	width: 100%
}

.medml-steps {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1rem
}

.medml-step {
	flex: 1 1 auto;
	min-width: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .6rem .75rem;
	border-radius: 10px;
	background: var(--medml-bg);
	color: #5a747b;
	font-size: .9rem;
	text-align: center;
	border: 1px solid var(--medml-line)
}

.medml-step__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	color: #5a747b;
	font-size: .8rem;
	font-weight: 700;
	border: 1px solid var(--medml-line)
}

.medml-step.is-active {
	background: var(--medml-accent);
	color: #fff;
	border-color: var(--medml-accent)
}

.medml-step.is-active .medml-step__n {
	background: #fff;
	color: var(--medml-accent);
	border-color: #fff
}

.medml-step.is-done {
	background: #e3f0ef;
	color: var(--medml-accent);
	border-color: #cfe4e2
}

.medml-step.is-done .medml-step__n {
	background: var(--medml-accent);
	color: #fff;
	border-color: var(--medml-accent)
}

.medml-crumbs {
	display: none;
	flex-wrap: wrap;
	gap: .4rem;
	margin-bottom: 1rem
}

.medml-crumb {
	padding: .35rem .7rem;
	border-radius: 999px;
	border: 1px solid var(--medml-line);
	background: #fff;
	color: var(--medml-accent);
	font-size: .82rem;
	cursor: pointer;
	transition: background-color .15s, color .15s
}

.medml-crumb:hover {
	background: var(--medml-accent);
	color: #fff
}

.medml-panel {
	background: #fff;
	border: 1px solid var(--medml-line);
	border-radius: 14px;
	padding: 1.5rem;
	margin-bottom: 1rem
}

.medml-panel.is-hidden {
	display: none
}

.medml-panel h3 {
	margin: 0 0 1rem;
	font-size: 1.2rem
}

/* Аккордеон услуг */
.medml-accordion {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.medml-acc {
	border: 1px solid var(--medml-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff
}

.medml-acc__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	padding: .85rem 1rem;
	background: #fff;
	border: none;
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	color: #12333a;
	text-align: left;
	transition: background-color .15s
}

.medml-acc__head:hover {
	background: var(--medml-bg)
}

.medml-acc__head.is-open {
	background: var(--medml-bg);
	color: var(--medml-accent)
}

.medml-acc__chev {
	transition: transform .2s;
	color: #8199a0
}

.medml-acc__head.is-open .medml-acc__chev {
	transform: rotate(180deg);
	color: var(--medml-accent)
}

.medml-acc__body {
	padding: .5rem;
	border-top: 1px solid var(--medml-line);
	background: var(--medml-bg)
}

.medml-servicelist {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.medml-acc__body,
.medml-servicelist {
	display: flex;
	flex-direction: column;
	gap: .4rem
}

.medml-srv {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .75rem .9rem;
	border: 1px solid var(--medml-line);
	border-radius: 9px;
	background: #fff;
	cursor: pointer;
	font: inherit;
	text-align: left;
	transition: border-color .15s, box-shadow .15s, transform .1s
}

.medml-srv:hover {
	border-color: var(--medml-accent);
	box-shadow: 0 2px 10px rgba(11, 114, 133, .12)
}

.medml-srv__name {
	font-weight: 500;
	color: #12333a
}

.medml-srv__price {
	font-weight: 700;
	color: var(--medml-accent);
	white-space: nowrap
}

/* Карточки врачей */
.medml-doccards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem
}

.medml-doccard {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .6rem;
	border: 1px solid var(--medml-line);
	border-radius: 14px;
	padding: 1.1rem;
	background: #fff;
	transition: box-shadow .15s, transform .1s
}

.medml-doccard:hover {
	box-shadow: 0 6px 22px rgba(11, 114, 133, .13);
	transform: translateY(-2px)
}

.medml-doccard__photo {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	overflow: hidden;
	background: #dadada;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	text-decoration: none
}

.medml-doccard__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.medml-doccard__initials {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700
}

.medml-doccard__body {
	flex: 1
}

.medml-doccard__name {
	font-weight: 700;
	color: #12333a;
	text-decoration: none;
	font-size: 1.02rem;
	display: block
}

a.medml-doccard__name:hover {
	color: var(--medml-accent)
}

.medml-doccard__pos {
	color: var(--medml-accent);
	font-weight: 600;
	font-size: .88rem;
	margin-top: .2rem
}

.medml-doccard__spec {
	color: #5a747b;
	font-size: .84rem;
	margin-top: .2rem
}

.medml-doccard__cta {
	margin-top: .4rem;
	width: 100%;
	text-align: center;
	text-decoration: none
}

/* Список врачей (шорткод) */
.medml-doclist {
	width: 100%
}

.medml-filter {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.25rem
}

/* Сетка расписания (колонки по дням) */
.medml-gridnav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 1rem
}

.medml-gridnav__btn {
	padding: .5rem 1rem;
	border-radius: 8px;
	border: 1px solid var(--medml-line);
	background: #fff;
	cursor: pointer;
	font: inherit;
	color: var(--medml-accent);
	font-weight: 600;
	transition: background-color .15s, color .15s, opacity .15s
}

.medml-gridnav__btn:hover:not(:disabled) {
	background: var(--medml-accent);
	color: #fff
}

.medml-gridnav__btn:disabled {
	opacity: .4;
	cursor: not-allowed
}

.medml-gridnav__label {
	font-weight: 700;
	min-width: 130px;
	text-align: center;
	color: #12333a
}

.medml-gridwrap {
	overflow-x: auto
}

.medml-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(84px, 1fr));
	gap: .5rem;
	min-width: 640px
}

.medml-gcol {
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	overflow: hidden;
	background: #fff
}

.medml-gcol.is-today {
	border-color: var(--medml-accent);
	box-shadow: 0 0 0 1px var(--medml-accent)
}

.medml-gcol__head {
	background: var(--medml-bg);
	text-align: center;
	padding: .55rem .2rem;
	border-bottom: 1px solid var(--medml-line)
}

.medml-gcol.is-today .medml-gcol__head {
	background: var(--medml-accent);
	color: #fff
}

.medml-gcol__wd {
	display: block;
	font-weight: 700;
	font-size: .95rem
}

.medml-gcol__date {
	display: block;
	font-size: .78rem;
	opacity: .85
}

.medml-gcol__slots {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: .5rem;
	min-height: 56px
}

.medml-tslot {
	display: block;
	text-align: center;
	padding: .4rem;
	border-radius: 8px;
	font-size: .85rem;
	font-weight: 600;
	border: 1px solid transparent;
	font-family: inherit
}

.medml-tslot.is-free {
	background: #eef6f7;
	color: var(--medml-accent);
	border-color: #d3e7e9;
	cursor: pointer;
	transition: background-color .12s, color .12s
}

.medml-tslot.is-free:hover {
	background: var(--medml-accent);
	color: #fff
}

.medml-tslot.is-busy {
	background: #f2f4f5;
	color: #b3c0c4;
	text-decoration: line-through;
	cursor: not-allowed
}

.medml-gcol__empty {
	color: #c2ced1;
	text-align: center;
	padding: .4rem
}

/* Модалка подтверждения */
.medml-noscroll {
	overflow: hidden
}

.medml-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem
}

.medml-modal[hidden] {
	display: none
}

.medml-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(9, 40, 46, .55)
}

.medml-modal__box {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 16px;
	max-width: 560px;
	width: 100%;
	max-height: 92vh;
	overflow: auto;
	padding: 1.75rem;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .28)
}

.medml-modal__x {
	position: absolute;
	top: .75rem;
	right: 1rem;
	background: none;
	border: none;
	font-size: 1.8rem;
	line-height: 1;
	color: #8199a0;
	cursor: pointer
}

.medml-modal__x:hover {
	color: #12333a
}

.medml-modal__box h3 {
	margin: 0 0 1rem;
	font-size: 1.2rem
}

.medml-modal__actions {
	display: flex;
	gap: .6rem;
	flex-wrap: wrap;
	margin-top: .5rem
}

.medml-confirm-summary {
	margin-bottom: 1.1rem
}

.medml-mini {
	display: flex;
	gap: .85rem;
	align-items: center;
	padding: .85rem;
	background: var(--medml-bg);
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	margin-bottom: .85rem
}

.medml-mini__photo {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--medml-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.medml-mini__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.medml-mini__init {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700
}

.medml-mini__name {
	font-weight: 700
}

.medml-mini__pos {
	color: var(--medml-accent);
	font-size: .86rem;
	font-weight: 600
}

.medml-mini__spec {
	color: #5a747b;
	font-size: .82rem
}

.medml-confirm-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.medml-confirm-list li {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	padding: .6rem .8rem;
	background: #fff;
	border: 1px solid var(--medml-line);
	border-radius: 9px;
	font-weight: 500
}

.medml-confirm-list li span {
	font-size: .74rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #8199a0
}

/* Общие элементы формы */
.medml-cols {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: .75rem
}

.medml-cols>div,
.medml-cols>label {
	flex: 1 1 45%;
	display: flex;
	flex-direction: column;
	gap: .25rem;
	font-size: .9rem
}

.medml-widget select,
.medml-widget input,
.medml-widget textarea {
	padding: .55rem .7rem;
	border: 1px solid var(--medml-line);
	border-radius: 8px;
	font: inherit;
	width: 100%
}

.medml-consent {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .85rem;
	margin: .75rem 0
}

.medml-consent input {
	width: auto
}

.medml-btn {
	display: inline-block;
	padding: .6rem 1.2rem;
	border-radius: 9px;
	border: 1px solid var(--medml-line);
	background: #fff;
	cursor: pointer;
	margin-right: .5rem;
	margin-top: .5rem;
	font: inherit;
	transition: opacity .15s, background-color .15s
}

.medml-btn:hover {
	opacity: .9
}

.medml-primary {
	background: var(--medml-accent);
	color: #fff;
	border-color: var(--medml-accent)
}

.medml-primary:hover {
	background: var(--medml-accent-d);
	opacity: 1
}

.medml-chip {
	padding: .5rem 1rem;
	border-radius: 999px;
	border: 1px solid var(--medml-line);
	background: #fff;
	cursor: pointer;
	font: inherit;
	transition: background-color .15s, color .15s, border-color .15s
}

.medml-chip:hover {
	border-color: var(--medml-accent);
	color: var(--medml-accent)
}

.medml-chip.is-active {
	background: var(--medml-accent);
	color: #fff;
	border-color: var(--medml-accent)
}

.medml-error {
	display: none;
	background: #fdecea;
	color: #a12622;
	padding: .7rem 1rem;
	border-radius: 8px;
	margin-top: .5rem
}

.medml-success h3 {
	color: var(--medml-accent);
	margin-top: 0
}

.medml-empty {
	color: #5a747b
}

/* Старые карточки (услуги-шорткод) */
.medml-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1rem
}

.medml-card {
	display: flex;
	gap: .85rem;
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	padding: 1rem;
	background: #fff
}

.medml-card--service {
	justify-content: space-between;
	align-items: center
}

.medml-card__photo img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 50%
}

.medml-card__title {
	font-weight: 600;
	color: #12333a;
	text-decoration: none
}

.medml-card__title:hover {
	color: var(--medml-accent)
}

.medml-card__meta {
	font-size: .82rem;
	color: #5a747b;
	margin-top: .25rem
}

.medml-card__price {
	font-weight: 700;
	color: var(--medml-accent);
	white-space: nowrap
}

.medml-departments {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .4rem
}

.medml-department {
	display: flex;
	justify-content: space-between;
	padding: .6rem .9rem;
	border: 1px solid var(--medml-line);
	border-radius: 8px;
	background: #fff
}

.medml-department__count {
	color: #5a747b;
	font-size: .85rem
}

/* Личный кабинет */
.medml-account {
	max-width: 640px;
	margin: 0 auto
}

.medml-account__form {
	display: flex;
	gap: .75rem;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-bottom: 1rem
}

.medml-account__form label {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	flex: 1 1 240px;
	font-size: .9rem
}

.medml-account__list {
	display: flex;
	flex-direction: column;
	gap: .75rem
}

.medml-order-card {
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	padding: 1rem;
	background: #fff
}

.medml-order-card__head {
	font-weight: 700;
	margin-bottom: .5rem;
	display: flex;
	align-items: center;
	gap: .6rem
}

.medml-order-card__row {
	font-size: .9rem;
	color: #12333a;
	margin-bottom: .2rem
}

.medml-order-card .medml-btn {
	margin-top: .6rem
}

.medml-badge {
	display: inline-block;
	padding: .14rem .55rem;
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 600;
	background: #e5e5e5;
	color: #333
}

.medml-badge--confirmed {
	background: #d9f5e4;
	color: #0a7d3f
}

.medml-badge--cancelled,
.medml-badge--refused {
	background: #fde0e0;
	color: #c0292b
}

.medml-badge--ordered,
.medml-badge--new {
	background: #e3eefc;
	color: #1c5fb0
}

/* Профиль врача */
.medml-doctor {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6;
	width: 100%;
	max-width: none;
	margin: 0;
	font-family: inherit;
	color: #12333a
}

.medml-doctor__header {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	margin-bottom: 1.5rem;
	flex-wrap: wrap
}

.medml-doctor__avatar {
	width: 120px;
	height: 120px;
	border-radius: 16px;
	overflow: hidden;
	background: var(--medml-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.medml-doctor__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover
}

.medml-doctor__initials {
	color: #fff;
	font-size: 3rem;
	font-weight: 700
}

.medml-doctor__intro {
	flex: 1;
	min-width: 220px
}

.medml-doctor__name {
	margin: 0 0 .35rem;
	font-size: 1.8rem
}

.medml-doctor__pos {
	color: var(--medml-accent);
	font-weight: 600
}

.medml-doctor__spec {
	color: #5a747b;
	margin-top: .2rem
}

.medml-doctor__meta {
	display: flex;
	gap: 1.25rem;
	flex-wrap: wrap;
	margin-top: .6rem;
	font-size: .9rem;
	color: #5a747b
}

.medml-doctor__rating {
	color: #e6a100
}

.medml-doctor__book {
	margin-left: auto;
	align-self: flex-start
}

@media(max-width:640px) {
	.medml-doctor__book {
		margin-left: 0;
		width: 100%;
		text-align: center
	}
}

.medml-workdays {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .25rem;
	margin-top: .5rem
}

.medml-workdays__label {
	font-size: .78rem;
	color: #8199a0;
	margin-right: .35rem
}

.medml-wd {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 6px;
	font-size: .72rem;
	font-weight: 700
}

.medml-wd.is-on {
	background: var(--medml-accent);
	color: #fff
}

.medml-wd.is-off {
	background: #eef1f2;
	color: #c2ced1
}

.medml-doccard__meta {
	color: #5a747b;
	font-size: .82rem;
	margin-top: .2rem
}

/* Услуги (шорткод) */
.medml-servicelist-sc {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-line: #d7e3e6;
	display: flex;
	flex-direction: column;
	gap: .6rem;
	width: 100%
}

.medml-scard {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	background: #fff;
	transition: box-shadow .15s, border-color .15s
}

.medml-scard:hover {
	border-color: var(--medml-accent);
	box-shadow: 0 4px 16px rgba(11, 114, 133, .1)
}

.medml-scard__main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: .3rem
}

.medml-scard__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem
}

.medml-scard__name {
	font-weight: 600;
	font-size: 1.02rem;
	color: #12333a;
	line-height: 1.3
}

.medml-scard__desc {
	color: #5a747b;
	font-size: .9rem;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.medml-scard__html {
	margin-top: .4rem;
	font-size: .9rem
}

.medml-scard__meta {
	color: #8199a0;
	font-size: .82rem
}

.medml-scard__price {
	font-weight: 700;
	font-size: 1.12rem;
	color: var(--medml-accent);
	white-space: nowrap;
	flex-shrink: 0
}

/* Подразделения (шорткод) */
.medml-depcards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem
}

.medml-depcard {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.15rem;
	border: 1px solid var(--medml-line);
	border-radius: 14px;
	background: #fff;
	transition: box-shadow .15s, transform .1s
}

.medml-depcard:hover {
	box-shadow: 0 6px 22px rgba(11, 114, 133, .13);
	transform: translateY(-2px)
}

.medml-depcard__icon {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: var(--medml-bg, #f4f8f9);
	color: var(--medml-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.medml-depcard__name {
	font-weight: 700;
	color: #12333a
}

.medml-depcard__count {
	color: #8199a0;
	font-size: .84rem;
	margin-top: .2rem
}

.medml-dtabs {
	display: flex;
	gap: .4rem;
	flex-wrap: wrap;
	border-bottom: 2px solid #e2e8ea;
	margin-bottom: 1.3rem
}

.medml-dtab {
	background: none;
	border: none;
	padding: .7rem 1.1rem;
	cursor: pointer;
	font-weight: 600;
	color: #5a747b;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: color .15s, border-color .15s
}

.medml-dtab:hover {
	color: var(--medml-accent)
}

.medml-dtab.is-active {
	color: var(--medml-accent);
	border-bottom-color: var(--medml-accent)
}

.medml-dpane {
	display: none;
	animation: medmlFadeUp .25s ease
}

.medml-dpane.is-active {
	display: block
}

@keyframes medmlFadeUp {
	from {
		opacity: 0;
		transform: translateY(6px)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.medml-doctor__about {
	line-height: 1.6;
	margin-bottom: 1rem
}

.medml-regalia {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: .6rem
}

.medml-regalia li {
	background: #f4f8f9;
	border: 1px solid #e2e8ea;
	border-radius: 10px;
	padding: .7rem .9rem
}

.medml-regalia li span {
	display: block;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #8199a0;
	margin-bottom: .2rem
}

.medml-reviews {
	display: flex;
	flex-direction: column;
	gap: .75rem;
	margin-bottom: 1.5rem
}

.medml-review {
	border: 1px solid #e2e8ea;
	border-radius: 10px;
	padding: .8rem 1rem;
	background: #fff
}

.medml-review__head {
	display: flex;
	gap: .6rem;
	align-items: center;
	margin-bottom: .35rem;
	flex-wrap: wrap
}

.medml-review__stars {
	color: #e6a100;
	letter-spacing: 2px
}

.medml-review__date {
	color: #8199a0;
	font-size: .82rem
}

.medml-review-form {
	border: 1px solid #e2e8ea;
	border-radius: 12px;
	padding: 1.2rem;
	background: #f9fbfc
}

.medml-review-form h4 {
	margin: 0 0 .8rem
}

.medml-review-form textarea,
.medml-review-form input,
.medml-review-form select {
	width: 100%;
	padding: .5rem .65rem;
	border: 1px solid #d7e3e6;
	border-radius: 8px;
	font: inherit
}

.medml-review-form label {
	display: flex;
	flex-direction: column;
	gap: .25rem;
	font-size: .9rem;
	margin-bottom: .6rem
}

.medml-review-msg {
	margin-top: .6rem;
	font-weight: 600
}

.medml-review-msg.is-ok {
	color: #0a7d3f
}

.medml-review-msg.is-error {
	color: #c0292b
}

.medml-doctor__name {
	font-weight: 700 !important;
}

/* Модалка записи в карточке врача */
.medml-bookmodal {
	position: fixed;
	inset: 0;
	z-index: 99990;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem 1rem;
	overflow: auto
}

.medml-bookmodal[hidden] {
	display: none
}

.medml-bookmodal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(9, 40, 46, .5)
}

.medml-bookmodal__box {
	position: relative;
	z-index: 1;
	background: #fff;
	border-radius: 16px;
	max-width: 820px;
	width: 100%;
	padding: 1.75rem;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .28)
}

.medml-bookmodal__x {
	position: absolute;
	top: .75rem;
	right: 1rem;
	background: none;
	border: none;
	font-size: 1.9rem;
	line-height: 1;
	color: #8199a0;
	cursor: pointer;
	z-index: 2
}

.medml-bookmodal__x:hover {
	color: #12333a
}

.medml-bookmodal .medml-panel {
	border: none;
	padding: 0;
	margin-bottom: 0
}

.medml-widget[data-embedded="1"] .medml-modal__overlay {
	background: rgba(9, 40, 46, .3)
}

@media(max-width:640px) {

	.medml-modal__box,
	.medml-bookmodal__box {
		padding: 1.25rem
	}

	.medml-doccards {
		grid-template-columns: 1fr
	}
}

/* Фильтр врачей: поиск + выпадающий список */
.medml-docfilter {
	display: flex;
	gap: .6rem;
	flex-wrap: wrap;
	margin-bottom: 1.25rem
}

.medml-search {
	flex: 1 1 260px;
	padding: .6rem .9rem;
	border: 1px solid var(--medml-line);
	border-radius: 9px;
	font: inherit
}

.medml-specselect {
	flex: 0 1 240px;
	padding: .6rem .9rem;
	border: 1px solid var(--medml-line);
	border-radius: 9px;
	font: inherit;
	background: #fff
}

.medml-search:focus,
.medml-specselect:focus {
	outline: none;
	border-color: var(--medml-accent);
	box-shadow: 0 0 0 3px rgba(11, 114, 133, .12)
}

/* Ссылки-карточки */
a.medml-scard {
	text-decoration: none;
	color: inherit;
	cursor: pointer
}

a.medml-depcard {
	text-decoration: none;
	color: inherit;
	cursor: pointer
}

.medml-scard__cta {
	color: var(--medml-accent);
	font-weight: 600;
	font-size: .85rem;
	margin-top: .25rem
}

.medml-depcard__arrow {
	margin-left: auto;
	color: var(--medml-accent);
	font-size: 1.3rem;
	font-weight: 700
}

/* Страница услуги */
.medml-service {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6;
	width: 100%;
	color: #12333a;
	font-family: inherit
}

.medml-service__header {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1.5rem;
	background: var(--medml-bg);
	border: 1px solid var(--medml-line);
	border-radius: 16px;
	margin-bottom: 1.5rem;
	flex-wrap: wrap
}

.medml-service__icon {
	width: 64px;
	height: 64px;
	border-radius: 14px;
	background: var(--medml-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.medml-service__intro {
	flex: 1;
	min-width: 220px
}

.medml-service__name {
	margin: 0 0 .4rem;
	font-size: 1.6rem
}

.medml-service__desc {
	color: #5a747b
}

.medml-service__meta {
	margin-top: .5rem;
	color: #12333a;
	font-weight: 500
}

.medml-service__price {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--medml-accent);
	white-space: nowrap
}

.medml-service__block {
	border: 1px solid var(--medml-line);
	border-radius: 14px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.5rem;
	line-height: 1.6
}

.medml-service__custom {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px dashed var(--medml-line)
}

.medml-service__doctors h2 {
	font-size: 1.25rem;
	margin: 0 0 1rem
}

/* Архив подразделения */
.medml-taxdep {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6;
	width: 100%;
	color: #12333a;
	font-family: inherit
}

.medml-taxdep__head {
	margin-bottom: 1.5rem
}

.medml-taxdep__head h1 {
	margin: 0 0 .35rem
}

.medml-taxdep__desc {
	color: #5a747b
}

.medml-taxdep__section {
	margin-bottom: 2.5rem
}

.medml-taxdep__section>h2 {
	font-size: 1.3rem;
	margin: 0 0 1rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--medml-line)
}

/* Аватар услуги в списке (кружок с первой буквой) */
.medml-srv {
	justify-content: flex-start
}

.medml-srv__ava {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--medml-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: .95rem;
	line-height: 1;
	text-transform: uppercase
}

.medml-srv .medml-srv__price {
	margin-left: auto
}

/* Выбранная услуга на шаге «Врач» */
.medml-service__wrap {
	margin-bottom: 1.25rem
}

.medml-service__wrap .medml-service__header {
	padding: 1rem 1.25rem;
	margin-bottom: .75rem;
	gap: 1rem
}

.medml-service__ava {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--medml-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.15rem;
	line-height: 1;
	text-transform: uppercase
}

.medml-service__head-main {
	flex: 1 1 auto;
	min-width: 0
}

.medml-service__label {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: #6b7f84;
	margin-bottom: .15rem
}

.medml-service__wrap .medml-service__name {
	font-size: 1.15rem;
	margin: 0
}

.medml-service__wrap .medml-service__price {
	font-size: 1.15rem
}

.medml-service__wrap .medml-service__block {
	padding: .7rem 1rem;
	color: #4a5f64;
	font-size: .9rem;
	margin-bottom: 0
}

/* Категории услуг (группировка [medml_services]) */
.medml-scat {
	margin-bottom: 2rem
}

.medml-scat__title {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-size: 1.25rem;
	margin: 0 0 1rem;
	color: var(--medml-accent)
}

.medml-scat__count {
	font-size: .75rem;
	background: var(--medml-accent);
	color: #fff;
	border-radius: 999px;
	padding: .1rem .55rem;
	line-height: 1.6
}

.medml-scat__list {
	display: grid;
	gap: .75rem
}

.medml-scard__ava {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--medml-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1;
	text-transform: uppercase
}

/* Фикс: свёрнутое тело аккордеона (перекрывало атрибут hidden) */
.medml-acc__body[hidden] {
	display: none
}

/* Иконка-кружок в шапке аккордеона категории */
.medml-acc__head {
	gap: .6rem
}

.medml-acc__ava {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--medml-accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: .95rem;
	line-height: 1;
	text-transform: uppercase
}

.medml-acc__title {
	flex: 1 1 auto;
	text-align: left
}

/* Описание и кастомные поля выбранной услуги на шаге «Врач» */
.medml-service__desc {
	color: #4a5f64;
	font-size: .92rem;
	line-height: 1.5
}

.medml-service__html {
	margin-top: .5rem;
	font-size: .92rem;
	line-height: 1.5
}

.medml-service__html * {
	max-width: 100%
}

/* Аккордеон: подпись, счётчик, цвет категории */
.medml-acc__titlewrap {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	flex: 1;
	min-width: 0
}

.medml-acc__sub {
	font-weight: 400;
	font-size: .8rem;
	color: #6b8087;
	line-height: 1.3
}

.medml-acc__head.has-color .medml-acc__sub {
	color: inherit;
	opacity: .85
}

.medml-acc__count {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	padding: .15rem .55rem;
	border-radius: 999px;
	background: var(--medml-bg);
	color: var(--medml-accent);
	font-size: .75rem;
	font-weight: 700;
	white-space: nowrap
}

.medml-acc__head.has-color .medml-acc__count {
	background: rgba(255, 255, 255, .28);
	color: inherit
}

.medml-acc__head.has-color:hover {
	filter: brightness(.96)
}

.medml-acc__head.has-color .medml-acc__ava {
	background: rgba(255, 255, 255, .3);
	color: inherit
}

/* Каталог категорий [medml_categories] */
.medml-categories {
	--medml-accent: #0b7285;
	--medml-accent-d: #095c6b;
	--medml-bg: #f4f8f9;
	--medml-line: #d7e3e6;
	width: 100%;
	color: #12333a
}

.medml-cat-search {
	position: relative;
	margin-bottom: 1rem
}

.medml-cat-search__icon {
	position: absolute;
	left: .95rem;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	color: #8199a0;
	pointer-events: none;
	z-index: 2
}

.medml-cat-search__input {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	padding: 0 1rem 0 2.85rem;
	border: 1px solid var(--medml-line);
	border-radius: 10px;
	font: inherit;
	font-size: 1rem;
	line-height: 48px;
	background: #fff;
	color: #12333a;
	transition: border-color .15s, box-shadow .15s;
	-webkit-appearance: none;
	appearance: none
}

.medml-cat-search__input::-webkit-search-cancel-button {
	-webkit-appearance: none
}

.medml-cat-search__input::placeholder {
	color: #9aacb2
}

.medml-cat-search__input:focus {
	outline: none;
	border-color: var(--medml-accent);
	box-shadow: 0 0 0 3px rgba(11, 114, 133, .12)
}

/* Выпадающий автокомплит */
.medml-cat-dd {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	z-index: 30;
	max-height: 340px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid var(--medml-line);
	border-radius: 12px;
	box-shadow: 0 12px 32px rgba(11, 54, 66, .16);
	padding: .35rem
}

.medml-cat-dd__item {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .65rem .75rem;
	border-radius: 8px;
	text-decoration: none;
	color: #12333a;
	transition: background-color .12s
}

.medml-cat-dd__item:hover,
.medml-cat-dd__item:focus {
	background: var(--medml-bg)
}

.medml-cat-dd__name {
	flex: 1;
	font-weight: 600;
	font-size: .95rem
}

.medml-cat-dd__cat {
	flex-shrink: 0;
	font-size: .72rem;
	font-weight: 600;
	color: var(--medml-accent);
	background: var(--medml-bg);
	padding: .15rem .5rem;
	border-radius: 999px
}

.medml-cat-dd__price {
	flex-shrink: 0;
	font-weight: 700;
	color: #137333;
	white-space: nowrap
}

.medml-cat-dd__empty {
	padding: .9rem .75rem;
	color: #7b929a;
	text-align: center;
	font-size: .9rem
}

.medml-cat-acc {
	display: flex;
	flex-direction: column;
	gap: .5rem
}

.medml-cat-results {
	margin-top: .25rem
}

.medml-cat-results .medml-srv {
	text-decoration: none
}

/* Произвольный шорткод и «нет специалистов» */
.medml-service__shortcode {
	margin-top: 1rem
}

.medml-empty--rich {
	padding: 1rem 1.25rem;
	border: 1px dashed var(--medml-line);
	border-radius: 10px;
	background: var(--medml-bg);
	color: #4a6169
}

/* Результаты поиска: секции по категориям */
.medml-catres {
	margin-bottom: 1rem;
	border: 1px solid var(--medml-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff
}

.medml-catres .medml-acc__head.is-static {
	cursor: default;
	border-bottom: 1px solid var(--medml-line)
}

.medml-catres .medml-acc__head.is-static:hover {
	background: #fff
}

.medml-catres .medml-acc__head.is-static.has-color:hover {
	filter: none
}

.medml-catres .medml-servicelist {
	padding: .5rem;
	background: var(--medml-bg)
}

.medml-cat-results,
.medml-cat-acc {
	width: 100%
}

/* Картинка услуги на шаге «Врач» */
.medml-service__img {
	margin-bottom: .9rem;
	border-radius: 12px;
	overflow: hidden;
	line-height: 0
}

.medml-service__img img {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block
}