/* MED-001: три этапа поездки на принятых токенах ui2 и ленте STP-001. */
@import url('./about-glossary.css');
@import url('./home-steps.css');
@import url('./forms-contact.css');

.mama-medical-specimen, .mama-medical-specimen * { box-sizing: border-box; }
.mama-medical-specimen { max-width: var(--mama-container-max); margin: auto; padding: 24px; color: var(--mama-color-text); font-family: var(--mama-font-sans); }
.mama-medical-specimen > h1 { margin: 0 0 8px; font: 600 38px/1.15 var(--mama-font-sans); }
.mama-medical-specimen__note { margin: 0 0 24px; color: var(--mama-color-text-muted); font-size: 14px; line-height: 1.5; }
.mama-medical-specimen :where(a,button,input):focus-visible { outline: 3px solid var(--mama-color-focus); outline-offset: 3px; }
.mama-medical-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); overflow: hidden; border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); }
.mama-medical-intro__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 16px; padding: clamp(24px,4vw,48px); }
.mama-medical-intro__copy h2 { margin: 0; color: var(--mama-color-heading); font: 600 clamp(32px,4vw,52px)/1.1 var(--mama-font-sans); }
.mama-medical-intro__copy p { max-width: 560px; margin: 0; font-size: 17px; line-height: 1.6; }
.mama-medical-intro__copy a, .mama-medical-booking__button { display: inline-flex; align-items: center; justify-content: 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-intro img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; }
.mama-medical-journey { margin-top: 28px; padding: clamp(20px,3vw,32px); border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); }
.mama-medical-journey > h2, .mama-medical-booking > h2 { margin: 0 0 24px; color: var(--mama-color-heading); font: 600 clamp(26px,3vw,38px)/1.2 var(--mama-font-sans); }
.mama-medical-journey .mama-home-steps__tabs button { min-width: 190px; }
.mama-medical-journey .mama-home-steps__tabs { margin-bottom: var(--mama-space-4); }
.mama-medical-journey--roomy, .mama-medical-site { --mama-medical-step-gap: 32px; }
.mama-medical-journey--roomy .mama-home-steps__tabs { margin-bottom: var(--mama-medical-step-gap); }
.mama-medical-journey .mama-home-steps__panel { grid-template-columns: 120px minmax(0,1fr) minmax(220px,300px); }
.mama-medical-journey__aside { padding: 18px; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); font-size: 14px; line-height: 1.5; }
.mama-medical-journey__aside strong { display: block; margin-bottom: 8px; font-size: 17px; }
.mama-medical-journey__aside :where(p,ul) { margin: 0 0 10px; }
.mama-medical-journey__aside a { color: var(--mama-color-link); }
.mama-medical-booking { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; margin-top: 28px; padding: clamp(20px,3vw,32px); border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); }
.mama-medical-booking > h2 { grid-column: 1 / -1; margin-bottom: 0; }
.mama-medical-booking > * { min-width: 0; }
.mama-medical-booking__form { display: grid; gap: 14px; }
.mama-medical-booking__form > label { display: grid; gap: 6px; font-size: 14px; font-weight: 600; }
.mama-medical-booking__form :where(input[type='text'],input[type='tel'],input[type='email']) { 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-booking__form small { color: var(--mama-color-text-muted); line-height: 1.5; }
.mama-medical-booking__cost { padding: 22px; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); }
.mama-medical-booking__cost h3 { margin: 0 0 12px; font-size: 20px; }
.mama-medical-booking__cost p { margin: 0 0 12px; line-height: 1.6; }
/* MED-001R: photo-bearing cards for the preserved source images. */
.mama-medical-photos-specimen { display: grid; gap: 24px; }
.mama-medical-photos-specimen > h1 { margin-bottom: 0; }
.mama-medical-photos-specimen > .mama-medical-specimen__note { margin-bottom: 0; }
.mama-medical-photo-card { display: grid; grid-template-columns: 280px minmax(0,1fr); align-items: center; gap: clamp(20px,4vw,48px); min-width: 0; padding: clamp(20px,3vw,32px); border: 1px solid var(--mama-color-border); border-radius: var(--mama-radius-lg); background: var(--mama-color-surface); }
.mama-medical-photo-card__visual { position: relative; width: 100%; height: 260px; overflow: hidden; border-radius: var(--mama-radius-md); background: var(--mama-color-selected-surface); }
.mama-medical-photo-card__visual img { position: absolute; left: 50%; display: block; max-width: none; height: auto; transform: translateX(-50%); }
.mama-medical-photo-card__visual--doctor img { top: -96px; width: 440px; }
.mama-medical-photo-card__visual--hotel img { top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transform: none; }
.mama-medical-photo-card__visual--legacy-place img { top: -144px; width: 540px; }
.mama-medical-photo-card__eyebrow { color: var(--mama-brand-800); font: 600 12px/1.3 var(--mama-font-sans); letter-spacing: .08em; text-transform: uppercase; }
.mama-medical-photo-card__copy h2 { margin: 8px 0 12px; color: var(--mama-color-heading); font: 600 clamp(24px,2.6vw,32px)/1.2 var(--mama-font-sans); }
.mama-medical-photo-card__copy p { max-width: 580px; margin: 0; font: 400 16px/1.6 var(--mama-font-sans); }
@media (max-width: 1023px) { .mama-medical-journey .mama-home-steps__panel { grid-template-columns: 80px minmax(0,1fr); } .mama-medical-journey__aside { grid-column: 2; } }
@media (max-width: 767px) { .mama-medical-photo-card { grid-template-columns: minmax(0,1fr); } .mama-medical-photo-card__visual { max-width: 380px; } }
@media (max-width: 767px) { .mama-medical-intro, .mama-medical-booking { grid-template-columns: minmax(0,1fr); } .mama-medical-intro img { min-height: 0; max-height: 280px; } .mama-medical-journey .mama-home-steps__tabs button { flex: 0 0 180px; } }
@media (max-width: 600px) { .mama-medical-specimen { padding: 16px; } .mama-medical-journey .mama-home-steps__panel { grid-template-columns: 56px minmax(0,1fr); padding: 28px 0; } .mama-medical-journey__aside { grid-column: 1 / -1; } }

/* MED-003M: every step remains visible on narrow screens. */
@media (max-width: 767px) {
  :is(.mama-medical-journey, .mama-medical-site) .mama-home-steps__tabs { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; padding: 0; gap: var(--mama-space-2); }
  :is(.mama-medical-journey, .mama-medical-site) .mama-home-steps__tabs button { width: 100%; min-width: 0; flex: none; clip-path: none; padding: var(--mama-space-3) var(--mama-space-4); border-radius: var(--mama-radius-sm); text-align: left; }
  :is(.mama-medical-journey, .mama-medical-site) .mama-home-steps__tabs button::after { display: none; }
}
