/*
 * 05-responsive.css — Планшет (640–1199) и телефон (до 639) для секций из 01–04.
 * Порядок подключения файлов важен: см. MLD_Plugin::STYLES.
 */

/* =========================================================
   Планшет: 640–1199
   ========================================================= */

@media (max-width: 1199px) {
	.mld {
		--mld-gutter: max(30px, 4vw);
		--mld-radius: 40px;
		--mld-pad: 90px;
		--mld-h2: 26px;
		--mld-h3: 26px;
		--mld-gap: 60px;
	}

	.mld-hero { min-height: 640px; }
	.mld-hero__content { padding: 0 90px 14vh; }
	.mld-hero .mld-hero__title { font-size: 46px; }
	.mld-hero__sub { font-size: 16px; max-width: 590px; }
	.mld .mld-btn--hero { min-width: 375px; min-height: 69px; }

	.mld-duo,
	.mld-duo--rev { grid-template-columns: 1fr; }
	.mld-duo--single .mld-panel { padding-right: var(--mld-pad); }

	.mld-panel { padding: 90px var(--mld-pad) 75px; }
	.mld-about .mld-panel,
	.mld-device .mld-panel { min-height: 0; }

	.mld-rich,
	.mld-zones,
	.mld-specs { max-width: none; }

	.mld .mld-btn { min-width: 330px; min-height: 51px; }

	/* фото под плашкой «О процедуре», над плашкой «Оборудование» */
	.mld-duo__media { aspect-ratio: 4 / 3; min-height: 0; }
	.mld-duo--rev .mld-duo__media { order: -1; }
	.mld-doc { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 32px; padding: 20px 40px 20px 20px; }
	.mld-doc__quote { padding: 48px 32px 34px; font-size: 18px; }
	.mld-doc .mld-who { padding-left: 32px; }

	/* друг под другом: блок по-прежнему у края экрана, скруглены углы со стороны поля */
	.mld-about .mld-panel { border-radius: var(--mld-radius) 0 0 0; }
	.mld-about .mld-duo__media { border-radius: 0 0 0 var(--mld-radius); }
	.mld-about .mld-duo--single .mld-panel { border-radius: var(--mld-radius) 0 0 var(--mld-radius); }
	.mld-device .mld-duo__media { border-radius: 0 var(--mld-radius) 0 0; }
	.mld-device .mld-panel { border-radius: 0 0 var(--mld-radius) 0; }

	.mld-adv__grid { grid-template-columns: repeat(2, 1fr); }
	.mld-card { min-height: 0; padding: 31px; }

	.mld-list { columns: 1; }
}

/* =========================================================
   Телефон: до 639
   ========================================================= */

@media (max-width: 639px) {
	.mld {
		--mld-gutter: max(18px, 5vw);
		--mld-radius: 28px;
		--mld-pad: 25px;
		--mld-h2: 20px;
		--mld-h2-ls: 1.5px;
		--mld-h3: 18px;
		--mld-body: 12px;
		--mld-row: 13px;
		--mld-gap: 30px;
	}

	.mld-hero { min-height: 520px; max-height: none; }
	.mld-hero__content { padding: 0 25px 14vh; }
	.mld-hero__badge { font-size: 10px; padding: 7px 12px; margin-bottom: 16px; }
	.mld-hero .mld-hero__title { font-size: 24px; letter-spacing: 3px; line-height: 1.12; }
	.mld-hero__sub { font-size: 13px; margin-top: 15px !important; max-width: 290px; }
	.mld .mld-btn--hero { min-width: 270px; min-height: 58px; margin-top: 30px; font-size: 14px; }

	.mld-head { margin-bottom: 20px; }
	.mld-panel { padding: 30px var(--mld-pad) 30px; }
	.mld-panel .mld-h2 { margin-bottom: 20px; }
	.mld .mld-h3 { margin-bottom: 18px; }
	.mld-panel .mld-btn { margin-top: 30px; }
	.mld .mld-btn { min-width: 244px; min-height: 54px; }
	.mld-panel .mld-btn { display: flex; width: 100%; max-width: 340px; min-width: 0; margin-left: auto; margin-right: auto; }
	.mld-zones { margin-top: 18px; }
	.mld-zone { font-size: 10px; padding: 7px 10px; }

	.mld-about .mld-duo__media { aspect-ratio: 354 / 317; }
	.mld-device .mld-duo__media { aspect-ratio: 354 / 268; }

	.mld-crumbs { font-size: 12px; padding-top: 22px; padding-bottom: 20px; }
	.mld-crumbs > * + *::before { margin: 0 8px; }

	.mld-adv__grid { grid-template-columns: 1fr; gap: 10px; }
	.mld-card { padding: 20px; border-radius: 20px; }
	.mld .mld-card__title { font-size: 17px; }
	.mld-card__text { margin-top: 10px !important; font-size: 13px; }

	/* вкладки → аккордеон как блок «Часто задаваемые» в примере */
	.mld-tabs__bar { display: none; }
	.mld-tabs__panels { border-top: 1px solid var(--mld-line); }
	.mld-tabs__panel,
	.mld-tabs__panel.is-open { display: block; border-bottom: 1px solid var(--mld-line); }

	.mld .mld-tabs__acc {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		margin: 0;
		padding: 16px 0;
		border: 0;
		background: none;
		color: var(--mld-heading);
		font-family: var(--mld-font);
		font-size: 14px;
		line-height: 1.3;
		font-weight: 400;
		text-align: left;
		cursor: pointer;
	}

	.mld-plus { position: relative; flex: 0 0 18px; height: 18px; }
	.mld-plus::before,
	.mld-plus::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 1px; background: currentColor; transition: transform .3s ease; }
	.mld-plus::after { transform: rotate(90deg); }
	.mld-tabs__panel.is-open .mld-plus::after { transform: rotate(0); }

	.mld-tabs__body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
	.mld-tabs__panel.is-open .mld-tabs__body { grid-template-rows: 1fr; }
	.mld-tabs__inner { overflow: hidden; }
	.mld-tabs__panel.is-open .mld-tabs__inner { animation: none; padding-bottom: 18px; }

	.mld-list { border-top: 0; }
	.mld-list li { padding: 10px 0 10px 22px; }
	.mld-list li:last-child { border-bottom: 0; }
	.mld-list li::before { width: 10px; }
	.mld-steps { grid-template-columns: 1fr; gap: 8px; }
	.mld-steps__item { padding: 20px 20px 22px; border-radius: 20px; }
	.mld-steps__head { margin-bottom: 14px; height: 34px; }
	.mld-steps__num,
	.mld-steps__flag { height: 34px; }
	.mld-steps__num { min-width: 48px; font-size: 13px; }
	.mld .mld-steps__title { font-size: 15px; }
	.mld-steps__text { font-size: 13px; }
	.mld-steps__item::after { font-size: 90px; }
	.mld-note { padding: 14px 16px; }

	.mld-specs { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }
	.mld-specs__row { padding: 14px 16px 16px; border-radius: 16px; }
	.mld-specs dd { font-size: 12px; }
	.mld-doc { grid-template-columns: 1fr; gap: 36px; padding: 12px 12px 24px; }
	.mld-doc__photo { aspect-ratio: 1 / 1; }
	.mld-doc__quote { padding: 44px 22px 26px; font-size: 15px; border-radius: 6px 24px 24px 24px; }
	.mld-doc__mark { width: 52px; height: 52px; font-size: 48px; padding-top: 18px; left: 22px; top: -22px; }
	.mld-doc .mld-who { margin-top: 18px; padding-left: 12px; }
	.mld-who__name { font-size: 14px; }
	.mld-zone::after { display: none; }

	/* запас сверху, чтобы приподнятая карточка этапа не залезала под заголовок аккордеона */
	.mld-tabs__panel.is-open .mld-tabs__inner { padding-top: 10px; }

	.mld-price .mld-head { margin-bottom: 24px; }
	.mld-price__groups { margin: 0 calc(var(--mld-gutter) * -1) 18px; padding: 0 var(--mld-gutter); flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.mld-price__groups::-webkit-scrollbar { display: none; }
	.mld .mld-chip { font-size: 12px; padding: 8px 14px; }

	.mld-row {
		grid-template-columns: 1fr auto;
		grid-template-areas: "name name" "price add";
		row-gap: 6px;
		padding: 12px 0;
		min-height: 0;
	}
	.mld-row__name { grid-area: name; padding: 0; }
	.mld-row__price { grid-area: price; padding: 0; text-align: left; font-weight: 400; }
	.mld-row__actions { grid-area: add; }
	.mld .mld-row__add { min-width: 0; padding: 6px 12px; font-size: 11px; }
	.mld .mld-row__actions .mld-row__add { min-width: 0; }
	.mld .mld-row__buy { padding: 6px 12px; font-size: 11px; }
	.mld .mld-row__buy .mlb-buy__label::after { margin-left: 4px; }
}

/* Телефон горизонтально: баннер на весь экран без лишней высоты */
@media (max-height: 500px) and (orientation: landscape) and (max-width: 1199px) {
	.mld-hero { min-height: 340px; height: calc(100svh - var(--mld-hh, 0px)); }
	.mld-hero__content { padding-bottom: 28px; }
	.mld-hero__badge { margin-bottom: 10px; }
	.mld-hero .mld-hero__title { font-size: 26px; letter-spacing: 3px; }
	.mld-hero__sub { margin-top: 10px !important; font-size: 13px; max-width: 560px; }
	.mld .mld-btn--hero { margin-top: 18px; min-height: 46px; min-width: 260px; }
	.mld-duo__media { aspect-ratio: 16 / 9; }
}
