/* MED-001 на действующей странице: исходные тексты, формы и калькулятор сохранены. */
.mama-medical-site { box-sizing: border-box; width: 100%; color: var(--mama-color-text); font-family: var(--mama-font-sans); }
.mama-medical-site, .mama-medical-site * { box-sizing: border-box; }
.mama-medical-site :where(a,button,input):focus-visible { outline: 3px solid var(--mama-color-focus); outline-offset: 3px; }
.mama-medical-site :where(img,iframe) { max-width: 100%; }
.mama-medical-site > h1.hide-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.mama-medical-site .medical-promo { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); width: 100%; min-height: 380px; margin: 0 0 28px; overflow: hidden; border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); color: var(--mama-color-text); }
.mama-medical-site .medical-promo__text-left { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; float: none; width: auto; max-width: none; min-width: 0; height: auto; margin: 0; padding: clamp(24px,4vw,48px); background: none; }
.mama-medical-site .medical-promo__heading { margin: 0 0 16px; color: var(--mama-color-heading); font: 600 clamp(30px,3vw,46px)/1.12 var(--mama-font-sans); text-shadow: none; }
.mama-medical-site .medical-promo__text-left p { margin: 0 0 20px; color: var(--mama-color-text); font: 400 17px/1.6 var(--mama-font-sans); }
.mama-medical-site .medical-promo__heading-bottom { margin: 24px 0 0; font-size: clamp(24px,2.4vw,32px); }
.mama-medical-site .mama-medical-intro__action { display: inline-flex; align-items: center; min-height: 52px; padding: 0 24px; border: 0; border-radius: var(--mama-radius-sm); background: var(--mama-color-action); color: var(--mama-color-action-text); font: 600 15px/1.3 var(--mama-font-sans); text-decoration: none; }
.mama-medical-site .medical-promo__image-right { position: static; float: none; width: auto; height: 100%; margin: 0; padding: 0; overflow: hidden; background: none; }
.mama-medical-site .medical-promo__image-right img { display: block; width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.mama-medical-site .medical-promo::before, .mama-medical-site .medical-promo-step::before, .mama-medical-site .mecial-promo-step__note::before { display: none; }
.mama-medical-site__steps-heading { margin: 0 0 20px; color: var(--mama-color-heading); font: 600 clamp(26px,3vw,38px)/1.2 var(--mama-font-sans); }
.mama-medical-site .mama-medical-site__tabs { margin: 0 0 var(--mama-medical-step-gap); padding: 0 16px 0 0; border: 0; background: var(--mama-color-surface); }
.mama-medical-site .mama-medical-site__tabs button { min-width: 190px; }
.mama-medical-site .medical-promo-step[hidden] { display: none !important; }
.mama-medical-site .medical-promo-step { box-sizing: border-box; position: relative; width: 100%; height: auto; min-height: 0; margin: 0 0 28px; padding: clamp(24px,3vw,32px); border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); color: var(--mama-color-text); box-shadow: none; }
.mama-medical-site .medical-promo-step__num { position: static; float: none; width: auto; height: auto; margin: 0 0 12px; padding: 0; background: none; color: var(--mama-brand-300); font: 700 clamp(72px,10vw,130px)/.85 var(--mama-font-sans); text-shadow: none; }
.mama-medical-site .medical-promo-step__heading { width: auto; margin: 0 0 20px; padding: 0; color: var(--mama-color-text); font: 600 clamp(22px,2.4vw,28px)/1.3 var(--mama-font-sans); text-shadow: none; }
.mama-medical-site .medical-promo-step :where(p,li) { color: var(--mama-color-text); font-family: var(--mama-font-sans); line-height: 1.55; }
.mama-medical-site .medical-promo-step a { color: var(--mama-color-link); }
.mama-medical-site .medical-promo-step-1 { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1.1fr); gap: 20px; }
.mama-medical-site .medical-promo-step-1 > :where(.medical-promo-step__side-left,.medical-promo-step__side-center,.medical-promo-1__form) { float: none; position: static; width: auto; min-width: 0; height: auto; margin: 0; padding: 0; background: none; }
.mama-medical-site .medical-promo-step__phone { margin: 0 0 8px; color: var(--mama-color-heading); font: 700 clamp(20px,2.4vw,30px)/1.15 var(--mama-font-sans); white-space: normal; }
.mama-medical-site .medical-promo-step-1__time__icon { display: none; }
.mama-medical-site .medical-promo-step-1__time__text { position: static; width: auto; margin: 14px 0 0; padding: 0; }
.mama-medical-site .media-promo__doctor { position: static; width: auto; height: auto; margin: 0; padding: 18px; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); color: var(--mama-color-text); text-align: left; }
.mama-medical-site .media-promo__doctor__img.mama-medical-photo-card__visual { position: relative; width: 100%; height: 260px; margin: 0 0 16px; padding: 0; overflow: hidden; }
.mama-medical-site .medical-promo-step-1 .media-promo__doctor__img { display: block; }
.mama-medical-site .media-promo__doctor__img.mama-medical-photo-card__visual img { display: block; max-width: none; max-height: none; margin: 0; opacity: 1; }
.mama-medical-site .media-promo__doctor :where(.media-promo__doctor__name,.media-promo__doctor__desc,.media-promo__doctor__text) { position: static; width: auto; margin: 0 0 8px; padding: 0; color: var(--mama-color-text); font-family: var(--mama-font-sans); text-shadow: none; }
.mama-medical-site .medical-promo-1__form, .mama-medical-site .medical-promo-4__form { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--mama-color-text); }
.mama-medical-site :where(.medical-promo-1__form,.medical-promo-4__form) form { box-sizing: border-box; width: 100%; max-width: 100%; margin: 0; padding: 0; background: none; }
.mama-medical-site .medical-promo-step-2 { padding-left: clamp(100px,13vw,170px); }
.mama-medical-site .medical-promo-step-2 .medical-promo-step__num { position: absolute; top: 32px; left: 32px; }
.mama-medical-site .medical-promo-step-2 :where(.medical-promo-step__pic-document-mobile,.medical-promo-step__pic-document) { display: none !important; }
.mama-medical-site .medical-promo-step-2 :where(.icon-passport,.icon-document,.icon-special) { display: none; }
.mama-medical-site .medical-promo-step-2 .mecial-promo-step__note { padding: 16px; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); color: var(--mama-color-text); }
.mama-medical-site .medical-promo-step-3 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.mama-medical-site .medical-promo-step-3 > :where(.medical-promo-step__side-left,.medical-promo-step__side-center,.medical-promo-step__form) { float: none; position: static; width: auto; min-width: 0; height: auto; margin: 0; padding: 0; background: none; }
.mama-medical-site .medical-promo-step-3__tabs { display: flex; gap: 8px; margin: 16px 0; }
.mama-medical-site .medical-promo-step-3__tab { display: flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-sm); background: var(--mama-color-surface); color: var(--mama-color-text); cursor: pointer; }
.mama-medical-site .medical-promo-step-3__tab.active { border-color: var(--mama-color-action); background: var(--mama-color-selected-surface); }
.mama-medical-site .medical-promo-step-3__content-wrap, .mama-medical-site .medical-promo-step-3__content { position: static; width: auto; min-height: 0; margin: 0; padding: 0; background: none; }
.mama-medical-site .medical-promo-step__way { position: static; left: auto; max-width: 100%; margin: 0 0 12px; }
.mama-medical-site .medical-promo-step__way img { display: none !important; }
.mama-medical-site .medical-promo-step-3__content:not(.active), .mama-medical-site .medical-promo-step-3__place:not(.active) { display: none; }
.mama-medical-site .medical-promo-step-3__form { grid-column: 1 / -1; padding: 24px; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); }
.mama-medical-site .medical-promo-step-3__form form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; max-width: 100%; }
.mama-medical-site .medical-promo-step-3__form .control-group { float: none; width: auto; margin: 0; padding: 0; }
.mama-medical-site .medical-promo-step-3__form .form__right { width: auto; margin: 0; padding: 0; }
.mama-medical-site .medical-promo-step-3__form :is(input[type='text'],input[type='number']) { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-sm); background: var(--mama-color-surface); font: 400 16px/1.3 var(--mama-font-sans); }
.mama-medical-site .medical-promo-step-3__form .form__sum { color: var(--mama-color-heading); font: 700 clamp(26px,3vw,42px)/1.15 var(--mama-font-sans); }
.mama-medical-site .medical-promo-step-3__form :where(input[type='submit'],button) { min-height: 44px; padding: 0 22px; border: 0; border-radius: var(--mama-radius-sm); background: var(--mama-color-action); background-image: none; color: var(--mama-color-action-text); box-shadow: none; }
.mama-medical-site .medical-promo-step-4 { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.mama-medical-site .medical-promo-step-4 > * { min-width: 0; }
.mama-medical-site .medical-promo-step-4 > .text-bold { grid-column: 1 / -1; width: 100%; color: var(--mama-color-heading); font: 600 clamp(24px,3vw,38px)/1.2 var(--mama-font-sans); }
.mama-medical-site .medical-promo-step-4__pic { position: static; display: block; width: 100%; height: 100%; max-height: 350px; align-self: start; border-radius: var(--mama-radius-md); object-fit: cover; }
.mama-medical-site .mama-medical-map-pending { display: none; }
.mama-medical-site .medical-promo-4__form { box-sizing: border-box; width: 100%; min-width: 0; margin: 0; padding: 0; border: 0; background: none; }
.mama-medical-site .medical-promo-4__form .b-form { box-sizing: border-box; position: static; width: 100%; max-width: 100%; height: auto; margin: 0; padding: 0; overflow: visible; background: none; }
.mama-medical-site .medical-promo-4__form .b-form :where(.control-group,.b-form__group) { box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 0 14px; padding: 0; }
.mama-medical-site .medical-promo-4__form .b-form .control-label { position: static; display: block; float: none; width: 100%; margin: 0 0 6px; text-align: left; color: var(--mama-color-text); font: 600 14px/1.4 var(--mama-font-sans); }
.mama-medical-site .medical-promo-4__form .b-form .controls { width: 100%; margin: 0; }
.mama-medical-site .medical-promo-4__form .b-form :where(.b-form__widget,.b-form__widget-wrapper,.b-form__widget-item) { box-sizing: border-box; width: 100%; max-width: 100%; }
.mama-medical-site .medical-promo-4__form .b-form .b-form__group_button { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 0; }
.mama-medical-site .medical-promo-4__form .b-form .b-form__required-list { flex: 1 1 180px; width: auto; margin: 0; color: var(--mama-color-text-muted); }
.mama-medical-site .medical-promo-4__form .b-form .b-form__button { max-width: 100%; margin: 0; }
.mama-medical-site .medical-promo-4__form .main-user-consent-request { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; color: var(--mama-color-text); font: 400 13px/1.45 var(--mama-font-sans); }
.mama-medical-site .medical-promo-4__form .main-user-consent-request input[type='checkbox'] { flex: 0 0 16px; width: 16px; height: 16px; margin: 2px 0 0; }
.mama-medical-site .medical-promo-4__form .main-user-consent-request-announce-link { flex: 1 1 auto; }
@media (max-width: 1023px) { .mama-medical-site .medical-promo-step-1 { grid-template-columns: repeat(2,minmax(0,1fr)); } .mama-medical-site .medical-promo-1__form { grid-column: 1 / -1; } }
@media (max-width: 767px) { .mama-medical-site .medical-promo { grid-template-columns: 1fr; } .mama-medical-site .medical-promo__image-right img { min-height: 0; max-height: 280px; } .mama-medical-site .medical-promo-step-1,.mama-medical-site .medical-promo-step-3,.mama-medical-site .medical-promo-step-4 { grid-template-columns: minmax(0,1fr); } .mama-medical-site .medical-promo-1__form,.mama-medical-site .medical-promo-step-3__form,.mama-medical-site .medical-promo-step-4 > .text-bold { grid-column: auto; } .mama-medical-site .medical-promo-step-3__form form { grid-template-columns: 1fr; } .mama-medical-site .medical-promo-step-4__pic { height: auto; max-height: 280px; } }
@media (max-width: 519px) { .mama-medical-site .medical-promo-step-2 { padding-left: 24px; padding-top: 90px; } .mama-medical-site .medical-promo-step-2 .medical-promo-step__num { top: 24px; left: 24px; font-size: 64px; } }

/* FRM-003: field, action and consent spacing in the callback form. */
.mama-medical-site .medical-promo-1__form .b-form__group { margin: 0 0 var(--mama-space-4); }
.mama-medical-site .medical-promo-1__form .control-label { display: block; margin-bottom: var(--mama-space-2); }
.mama-medical-site .medical-promo-1__form .b-form__group_button { margin-top: var(--mama-space-5); }
.mama-medical-site .medical-promo-1__form .b-form__required-list { margin-top: var(--mama-space-3); }
.mama-medical-site #map-popup[hidden] { display: none !important; }
