@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. 1600px
2. 1440px
3. 1280px
4. 1199px
5. 1024px
6. 991px
7. 959px
8. 880px
9. 768px
10. 767px
11. 539px
12. 479px
13. 400px

******************************/

/************
1. 1840px
************/

@media only screen and (max-width: 1840px)
{
	.main_nav
	{
	    margin-left: 50px;
	}
}

/************
1. 1760px
************/

@media only screen and (max-width: 1760px)
{
	.work_hours
	{
	    display: none;
	}
}

/************
1. 1600px
************/

@media only screen and (max-width: 1600px)
{
	.main_nav
	{
		margin-left: 54px;
	}
}

/************
2. 1440px
************/

@media only screen and (max-width: 1440px)
{
	.header_phone
	{
		display: none;
	}
}

/************
3. 1380px
************/

@media only screen and (max-width: 1380px)
{
	
}

/************
3. 1280px
************/

@media only screen and (max-width: 1280px)
{
	.main_nav ul li:not(:last-child)
	{
		margin-right: 18px;
	}
}

/************
4. 1199px
************/

@media only screen and (max-width: 1199px)
{
	.header_button
	{
		display: none;
	}
	.home_slider_dots
	{
		left: calc((100vw - 930px) / 2);
	}
}

/************
4. 1100px
************/

@media only screen and (max-width: 1100px)
{
	
}

/************
5. 1024px
************/

@media only screen and (max-width: 1024px)
{
	
}

/************
6. 991px
************/

@media only screen and (max-width: 991px)
{
	/* Слайдер «Акции»: стек — текст сверху, карточка снизу, по центру */
	.promo_hero_inner
	{
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 22px;
		padding: 38px 24px 56px;
	}
	.promo_hero_slide
	{
		min-height: 0;
	}
	/* графика остаётся фоном — высоты не добавляет */
	.promo_hero_art
	{
		width: 132%;
		right: -12%;
		left: auto;
		opacity: 0.75;
		transform: none;
		-webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, #000 100%);
		mask-image: linear-gradient(to bottom, rgba(0,0,0,0.35) 0%, #000 100%);
	}
	.promo_hero_art svg
	{
		transform: none;
	}
	.promo_hero_text
	{
		max-width: 100%;
	}
	/* Первичная консультация: фото сверху, карточка снизу */
	.extra_container
	{
		flex-direction: column;
		gap: 0;
	}
	.extra_photo img
	{
		max-width: 520px;
	}
	.extra_content
	{
		width: 100%;
		max-width: 520px;
		margin-top: -30px;
	}
	.promo_hero_txt
	{
		margin-left: auto;
		margin-right: auto;
	}

	.promo_hero_btns
	{
		justify-content: center;
	}
	.promo_hero_ttl
	{
		font-size: 36px;
	}
	.promo_hero_acc
	{
		font-size: 26px;
	}
	.promo_hero_arrow
	{
		display: none;
	}
	.main_nav,
	.header_social
	{
		display: none;
	}
	.home_slider_dots
	{
		left: calc((100vw - 690px) / 2);
	}
	/* Специфичность .header_content нужна, чтобы победить page-CSS
	   (about.css/services.css/...), где .hamburger { display:none } грузится позже */
	.header_content .hamburger
	{
		display: block;
	}
	.intro_form_container
	{
		margin-top: 102px;
	}
	.intro--merged .intro_form_container,
	.extra_content--form .intro_form_container
	{
		/* отступ в 102px нужен только форме на первом экране — в блоке
		   консультации он оставляет пустую полосу над заголовком */
		margin-top: 0;
	}
	.why_image
	{
		position: relative;
		bottom: auto;
		right: auto;
	}
	.why_content
	{
		padding-bottom: 60px;
	}
	.why_image img
	{
		max-width: 100%;
	}
	.surgeon_media
	{
		height: auto;
		min-height: 0;
	}
	.intro--merged .surgeon_media
	{
		height: 380px;
	}
	.intro--merged .surgeon_media_col
	{
		padding-right: 0;
		margin-bottom: 28px;
	}
	.intro--merged .surgeon_content_col
	{
		text-align: center;
		align-items: center;
	}
	.intro--merged .surgeon_badge
	{
		left: 50%;
		transform: translateX(-50%);
	}
	.intro--merged .surgeon_actions
	{
		margin-top: 16px;
		align-self: stretch;
		width: 100%;
	}
	.intro--merged .surgeon_actions .button
	{
		display: block;
		width: 100%;
	}
	.intro--merged .surgeon_actions .button a
	{
		text-align: center;
	}
	.intro--merged .intro_col:first-child
	{
		margin-bottom: 32px;
	}
	.cta_phone
	{
		margin-top: 33px;
	}
	.footer_col:not(:last-child)
	{
		margin-bottom: 80px;
	}
	.footer_location,
	.footer_contact
	{
		padding-top: 0;
	}
}

/************
7. 959px
************/

@media only screen and (max-width: 959px)
{
	
}

/************
8. 880px
************/

@media only screen and (max-width: 880px)
{
	
}

/************
9. 768px
************/

@media only screen and (max-width: 768px)
{
	
}

/************
10. 767px
************/

@media only screen and (max-width: 767px)
{
	.home_slider_dots
	{
		left: calc((100vw - 510px) / 2);
	}
	.home_content
	{
		max-width: 100%;
	}
	.home_title
	{
		font-size: 48px;
	}
	.home_subtitle
	{
		font-size: 24px;
	}
	.milestone_col:not(:last-child)
	{
		margin-bottom: 50px;
	}
	.extra_content
	{
		width: 100%;
	}
	.footer_bar_content
	{
		height: auto;
		padding-top: 26px;
		padding-bottom: 26px;
		align-items: center;
		text-align: center;
	}
	.copyright
	{
		text-align: center;
	}
	.footer_nav
	{
		margin-top: 16px;
	}
	/* Меню в подвале: аккуратный центрированный ряд, перенос между пунктами
	   (не внутри слов). Повышенная специфичность (.footer …) бьёт page-CSS. */
	.footer .footer_nav ul
	{
		flex-wrap: wrap;
		justify-content: center !important; /* бьём bootstrap .justify-content-start !important */
		gap: 10px 22px;
	}
	.footer .footer_nav ul li
	{
		white-space: nowrap;
	}
	.footer .footer_nav ul li:not(:last-child)
	{
		margin-right: 0;
	}
	/* Блок «Часы работы»: компактная рамка по ширине колонки, без выступа.
	   Специфичность .footer нужна, чтобы победить page-CSS (services/about). */
	.footer .opening_hours
	{
		left: 0;
		width: 100%;
		padding: 24px 24px 26px;
	}
}

/************
11. 575px
************/

@media only screen and (max-width: 575px)
{
	/* Слайдер «Акции»: компактнее на телефоне */
	.promo_hero_inner
	{
		padding: 30px 18px 48px;
		gap: 18px;
	}
	.promo_hero_art
	{
		width: 140%;
		right: -16%;
		opacity: 0.7;
	}
	.promo_hero_gift
	{
		font-size: 12.5px;
		padding: 8px 15px;
		margin-bottom: 14px;
	}
	.promo_hero_ttl
	{
		font-size: 28px;
	}
	.promo_hero_acc
	{
		font-size: 21px;
	}
	.promo_hero_txt
	{
		font-size: 14px;
	}
	.promo_hero_tag
	{
		font-size: 11px;
		padding: 6px 16px;
		margin-bottom: 16px;
	}
	.promo_hero_btn
	{
		padding: 13px 26px;
		font-size: 12px;
	}
	.promo_hero_card_name
	{
		font-size: 20px;
	}
	p
	{
		font-size: 13px;
	}
	h2
	{
		font-size: 36px;
	}
	.intro--merged .section_title h2
	{
		font-size: 28px;
	}
	.surgeon_milestones .milestone_counter
	{
		font-size: 24px;
	}
	.surgeon_milestones .milestone_text
	{
		font-size: 11px;
		overflow-wrap: break-word;
	}
	.intro--merged .surgeon_badge
	{
		min-width: 62px;
		padding: 7px 9px;
		bottom: 14px;
	}
	.intro--merged .surgeon_badge_num
	{
		font-size: 22px;
	}
	.header.scrolled .header_content,
	.header_content
	{
		height: 60px;
	}
	.home
	{
		padding-top: 60px;
		height: calc(100vh - 60px)
	}
	/* Первый экран и слайдер акций — высота по контенту, не по экрану,
	   иначе текст обрезается */
	.home.home--promo,
	.home.home--hero
	{
		height: auto;
		min-height: 0;
	}
	.logo a > div:first-child
	{
		font-size: 24px;
	}
	.logo a > div:last-child
	{
		font-size: 10px;
	}
	.logo_initials
	{
		width: 36px;
		height: 36px;
		font-size: 16px;
	}
	.logo_name
	{
		font-size: 16px;
	}
	.logo_link
	{
		gap: 8px;
	}
	.section_subtitle
	{
		font-size: 16px;
	}
	.header_content
	{
		padding-left: 15px;
		padding-right: 30px;
	}
	.button
	{
		height: 40px;
	}
	.button a
	{
		font-size: 12px;
		line-height: 36px;
		padding-left: 31px;
		padding-right: 30px;
	}
	.home_slider_dots
	{
		display: none !important;
	}
	.home_subtitle
	{
		font-size: 18px;
	}
	.home_title
	{
		font-size: 36px;
	}
	.cta_title
	{
		font-size: 28px;
	}
	.cta_phone
	{
		font-size: 24px;
	}
	.extra_disc > div:first-child
	{
		font-size: 48px;
	}
	.extra_disc > div:last-child
	{
		font-size: 20px;
	}
	.extra_title
	{
		font-size: 40px;
	}
	.newsletter
	{
		padding-bottom: 67px;
	}
	.newsletter_row
	{
		margin-top: 39px;
	}
	.newsletter_title
	{
		font-size: 24px;
	}
	.newsletter_input
	{
		width: calc(100% - 120px);
		height: 40px;
	}
	.newsletter_input::-webkit-input-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_input:-moz-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_input::-moz-placeholder
	{
		font-size: 13px !important;
	} 
	.newsletter_input:-ms-input-placeholder
	{ 
		font-size: 13px !important;
	}
	.newsletter_input::input-placeholder
	{
		font-size: 13px !important;
	}
	.newsletter_button
	{
		width: 142px;
		height: 40px;
		font-size: 12px;
	}
	.opening_hours
	{
		left: auto;
		width: 100%;
	}
}

/************
11. 539px
************/

@media only screen and (max-width: 539px)
{
	
}

/************
12. 480px
************/

@media only screen and (max-width: 480px)
{
	
}

/************
13. 479px
************/

@media only screen and (max-width: 479px)
{
	
}

/************
14. 400px
************/

@media only screen and (max-width: 400px)
{
	
}


/*********************************
Первый экран на планшете и телефоне
*********************************/
@media only screen and (max-width: 991px)
{
	.hero_intro
	{
		padding: 52px 0 46px;
	}
	.hero_inner
	{
		padding: 0 24px;
	}
	.hero_art
	{
		width: 100%;
		opacity: 0.16;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.hero_title
	{
		font-size: 32px;
	}
	.hero_lead
	{
		font-size: 17px;
	}
	.hero_stats
	{
		gap: 30px 40px;
	}
	.hero_stat_num
	{
		font-size: 32px;
	}
}
@media only screen and (max-width: 575px)
{
	.hero_intro
	{
		padding: 40px 0 38px;
	}
	.hero_inner
	{
		padding: 0 18px;
	}
	.hero_title
	{
		font-size: 26px;
	}
	.hero_lead
	{
		font-size: 15.5px;
	}
	.hero_text
	{
		font-size: 14.5px;
	}
	.hero_btn
	{
		display: block;
		text-align: center;
		padding: 15px 20px;
	}
	/* три показателя в одну строку: при переносе последний висел сам по себе */
	.hero_stats
	{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0 14px;
		padding-top: 22px;
	}
	.hero_stat
	{
		min-width: 0;
	}
	.hero_stat_label
	{
		font-size: 12px;
		line-height: 1.35;
	}
	.hero_stat_num
	{
		font-size: 26px;
	}
}

/* Компактный подвал на телефоне: колонки в столбик, но без длинных списков */
@media only screen and (max-width: 767px)
{
	.footer--compact
	{
		padding: 32px 0 22px;
	}
	.footer_compact
	{
		flex-direction: column;
		gap: 26px;
	}
	.footer_compact_places
	{
		gap: 22px;
		width: 100%;
	}
	.footer_city
	{
		flex: 1 1 100%;
	}
	.footer_phone
	{
		font-size: 20px;
	}
	.footer_copy
	{
		margin-top: 24px;
	}
}


/* Первый экран (хирург) на планшете и телефоне */
@media only screen and (max-width: 991px)
{
	.intro--hero
	{
		/* шапка fixed, на планшете её высота 75px — иначе заголовок под меню */
		padding: 105px 0 40px;
	}
	/* На узком экране фото не подложка под текстом (так текст читался по лицу),
	   а отдельный блок под ним: сначала заголовок и счётчик, затем портрет. */
	.intro--hero
	{
		display: flex;
		flex-direction: column;
		padding-bottom: 0;
	}
	.intro--hero .container
	{
		order: 1;
	}
	.hero_photo
	{
		/* на узком экране кадр идёт полосой под текстом */
		order: 2;
		position: static;
		top: auto;
		left: auto;
		width: 100%;
		height: 300px;
		max-height: none;
		min-height: 0;
		margin: 22px 0 0;
		opacity: 1;
	}
	.hero_photo img
	{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 60% center;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.intro--hero .hero_title
	{
		font-size: 30px;
	}
	.hero_block
	{
		max-width: 100%;
	}
}
@media only screen and (max-width: 575px)
{
	.intro--hero
	{
		padding: 100px 0 32px;
	}
	.intro--hero .hero_title
	{
		font-size: 25px;
	}
	.intro--hero .hero_stats
	{
		gap: 0 10px;
	}
	.hero_stat_num
	{
		font-size: 23px;
	}
	.hero_stat_label
	{
		font-size: 11px;
	}
}
