body.admin-bar .top_menu.is-fixed {
    top: 32px;
}

@media (max-width: 782px) {
    body.admin-bar .top_menu.is-fixed {
        top: 46px;
    }
}

.site-main {
    min-height: 40vh;
}

.site-header + .page-shell,
.site-header + .blog-shell,
.site-header + .archive-shell,
.site-header + .single-shell,
.site-header + .error-shell {
    background: #f6f7f7;
}

.page_intro,
.blog_intro,
.archive_intro,
.single_intro,
.error_intro {
    background: linear-gradient(135deg, var(--bg1) 0%, var(--bg2) 100%);
    color: #fff;
    padding: 60px 0 70px;
    position: relative;
    overflow: hidden;
}

.page_intro::before,
.blog_intro::before,
.archive_intro::before,
.single_intro::before,
.error_intro::before {
    content: '';
    position: absolute;
    inset: auto -120px -120px auto;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 134, 82, 0.28) 0%, rgba(255, 134, 82, 0) 72%);
    pointer-events: none;
}

.breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    margin-bottom: 18px;
}

.breadcrumbs a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
}

.breadcrumbs a:hover {
    color: #fff;
}

.page_intro h1,
.blog_intro h1,
.archive_intro h1,
.single_intro h1,
.error_intro h1 {
    font-size: 48px;
    line-height: 1.1;
    margin: 0 0 16px;
}

.page_intro p,
.blog_intro p,
.archive_intro p,
.single_intro p,
.error_intro p {
    max-width: 760px;
    margin: 0;
    font-size: 18px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.88);
}

.page_content,
.blog_content,
.archive_content,
.single_content,
.error_content {
    padding: 56px 0 84px;
	/*
    background-color: #ebebeb;
	*/
}

.content_card,
.post_card,
.service_single_card,
.sidebar_card,
.error_card {
	/*
    background: #fff;
	*/
	/*
    border: 1px solid rgba(46, 53, 54, 0.08);
    border-radius: 7px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.04);
	*/
}

.content_card {
	/*
    padding: 34px 34px 38px;
	*/
}

.content_card > *:first-child,
.post_card > *:first-child,
.service_single_card > *:first-child,
.sidebar_card > *:first-child {
    margin-top: 0;
}

.content_card h2,
.content_card h3,
.single_entry h2,
.single_entry h3,
.service_single_body h2,
.service_single_body h3 {
    color: var(--bg1);
    line-height: 1.2;
    margin-top: 1.35em;
    margin-bottom: 0.6em;
}

.content_card p,
.content_card li,
.single_entry p,
.single_entry li,
.service_single_body p,
.service_single_body li {
    color: #4f5859;
    font-size: 17px;
    line-height: 1.8;
}

.content_card ul,
.content_card ol,
.single_entry ul,
.single_entry ol,
.service_single_body ul,
.service_single_body ol {
    padding-left: 24px;
}

.blog_grid,
.archive_grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.post_card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.post_card_media {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #ebeded;
    border-radius: 7px;
}

.post_card_media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.post_card_body {
    padding: 26px 26px 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1;
}

.post_card_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #7a8384;
    font-size: 14px;
}

.post_card h2,
.post_card h3 {
    margin: 0;
    font-size: 26px;
    line-height: 1.2;
}

.post_card h2 a,
.post_card h3 a {
    color: var(--bg1);
    text-decoration: none;
}

.post_card h2 a:hover,
.post_card h3 a:hover {
    color: var(--colorstyle1);
}

.post_card p {
    margin: 0;
    color: #596465;
}

.post_card_link,
.service_cta a,
.page_cta a,
.pagination .page-numbers,
.error_actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 24px;
	/*
    border-radius: 10px;
	*/
    border: 1px solid var(--colorstyle1);
    background: var(--colorstyle1);
    color: #fff;
    text-decoration: none;
    transition: 0.25s ease;
}

.post_card_link:hover,
.service_cta a:hover,
.page_cta a:hover,
.pagination .page-numbers:hover,
.pagination .page-numbers.current,
.error_actions a:hover {
    background: var(--bg1);
    border-color: var(--bg1);
    color: #fff;
}

.post_card_link {
    margin-top: auto;
    align-self: flex-start;
}

.page_grid,
.single_grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 30px;
    align-items: start;
}

.sidebar_card {
    padding: 26px;    
	padding: 28px 26px 30px;
    border-radius: 8px;
    background-color: var(--bg1);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.10);
}

.sidebar_card h3 {
    margin: 0 0 16px;
    font-size: 24px;
    line-height: 1.2;
	/*
    color: var(--bg1);
	*/
	color: #ffffff;
}

.sidebar_card p,
.sidebar_card li,
.sidebar_card a {
    font-size: 16px;
    line-height: 1.7;
    color: #4f5859;
}

.sidebar_card .archive_services_list a {
	color: #ffffff;
}

.sidebar_card p {
	color: #ffffff;
}

.sidebar_card ul {
    margin: 0;
    padding-left: 18px;
}

.sidebar_card + .sidebar_card {
    margin-top: 24px;
}

.sidebar_card .sidebar_btn {
    margin-top: 18px;
    width: 100%;
	color:#ffffff;
}

.single_entry,
.service_single_body {
	/*
    padding: 34px 34px 38px;
	*/
}

.single_featured {
    margin-bottom: 28px;
    border-radius: 7px;
    overflow: hidden;
    background: #eef0f0;
}

.single_featured img {
    width: 100%;
    display: block;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.single_entry .post_meta,
.service_meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 18px;
    color: #7a8384;
    font-size: 14px;
}

.service_single_hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: 30px;
	/*
    align-items: center;
	*/
	align-items: flex-start;
    margin-bottom: 30px;
}

.service_single_hero_media {
    border-radius: 7px;
    overflow: hidden;
	/*
    background: #eef0f0;
	*/
}

.service_single_hero_media img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.service_cta,
.page_cta,
.error_actions {
    margin-top: 26px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.archive_services_list,
.footer_service_list,
.footer_page_list,
.related_posts_list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.archive_services_list li + li,
.related_posts_list li + li {
    margin-top: 12px;
}

.archive_services_list a,
.footer_service_list a,
.footer_page_list a {
    color: var(--bg1);
    text-decoration: none;
}

.related_posts_list a {
    color: #ffffff;
    text-decoration: none;
}

.archive_services_list a:hover,
.footer_service_list a:hover,
.footer_page_list a:hover,
.related_posts_list a:hover {
    color: var(--colorstyle1);
}

.sidebar_card .sidebar_btn:hover {
	border-color: var(--colorstyle1);
}

.pagination {
    margin-top: 36px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.pagination .page-numbers {
    min-width: 48px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.single-service .single_intro::after {
    content: '';
    position: absolute;
    width: 436px;
    height: 241px;
    right: 0;
    bottom: 0;
	/*
    background: url(../img/dec1.webp) no-repeat;
	*/
    background: url(../img/dec2.webp) no-repeat;
}

/*
.blog .blog_intro::after {
    content: '';
    position: absolute;
    width: 436px;
    height: 252px;
    right: 0;
    bottom: 0;
    background: url(../img/dec_blog.webp) no-repeat;
}
*/


.page_intro::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
}


.page_intro > .container {
	position: relative;
	z-index: 1;
}

.page_intro--has-decor::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: var(--page-intro-decor-width);
	height: var(--page-intro-decor-height);
	background-image: var(--page-intro-decor-image);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	pointer-events: none;
}

/*
.page-id-7 .page_intro::after {
    width: 436px;
    height: 252px;
    background: url(../img/dec_sc.webp) no-repeat;
}

.page-id-8 .page_intro::after {
    width: 436px;
    height: 255px;
    background: url(../img/dec_zap.webp) no-repeat;
}

.page-id-9 .page_intro::after {
    width: 436px;
    height: 194px;
    background: url(../img/dec_contact.webp) no-repeat;
}

.page-id-10 .page_intro::after {
    width: 436px;
    height: 290px;
    background: url(../img/dec_gar.webp) no-repeat;
}

.page-id-11 .page_intro::after {
    width: 436px;
    height: 257px;
    background: url(../img/dec_rec.webp) no-repeat;
}
*/


.service_single_hero_text > :first-child {
	margin-top: 0;
}




.service_single_hero--full {
	grid-template-columns: minmax(0, 1fr);
}

.service_single_hero--full .service_single_hero_text {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
	flex: none;
}

.service_single_hero--full .service_single_hero_media {
	display: none;
}

.service_single_gallery {
	/*
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	*/
	display: flex;
	flex-direction: column;
    gap: 20px;
}

.service_single_gallery_item img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 7px;
}

.service_single_gallery_item:first-child:nth-last-child(odd) {
	grid-column: 1 / -1;
}


.page_grid--full {
	grid-template-columns: minmax(0, 1fr);
}

.page_grid--full .content_card {
	grid-column: 1 / -1;
	width: 100%;
	max-width: none;
}



.contacts_map_wrap {
  margin-top: 24px;
	margin-bottom:24px;
}

.contacts_map_embed {
  position: relative;
  width: 100%;
  min-height: 420px;
  border-radius: 8px;
  overflow: hidden;
}

.contacts_map_embed iframe {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}




.blog_intro {
	position: relative;
	overflow: hidden;
}

.blog_intro > .container {
	position: relative;
	z-index: 1;
}

.blog_intro--has-decor::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: var(--blog-intro-decor-width);
	height: var(--blog-intro-decor-height);
	background-image: var(--blog-intro-decor-image);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	pointer-events: none;
}

.single_intro .post_meta {
    font-size: 14px;
    margin-top: 15px;
    color: var(--colorstyle1);
}




.single_intro {
	position: relative;
	overflow: hidden;
}

.single_intro > .container {
	position: relative;
	z-index: 1;
}

.single_intro.single_intro--has-decor::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	width: var(--single-intro-decor-width);
	height: var(--single-intro-decor-height);
	background-image: var(--single-intro-decor-image);
	background-repeat: no-repeat;
	background-position: right bottom;
	background-size: contain;
	pointer-events: none;
}


/*
figcaption.wp-element-caption {
	position: static !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	top: auto !important;
	transform: none !important;

	display: block;
	width: 100%;
	margin: 0;
	padding: 0px 0 0;

	background: none !important;
	color: #2e3536 !important;
	text-shadow: none !important;
	text-align: left;
	line-height: 1.45;
	
	font-size: 15px !important;
    text-align: left !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
	
	background: #2e3536 !important;
    color: #ffffff !important;
	font-weight: 200;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption):before {
	display:none;
}
*/


/* ABOUT SERVICE CENTER — галерея с одинаковой высотой карточек в каждой строке */
.wp-block-gallery.has-nested-images.columns-2 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 15px !important;
	align-items: stretch !important;
}

.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image {
	width: auto !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	align-self: stretch !important;
	overflow: hidden !important;
	background: transparent !important;
}

.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > img,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > a,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > a > img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	flex: 0 0 auto !important;
	
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > figcaption,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > figcaption.wp-element-caption {
	position: static !important;
	inset: auto !important;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	box-sizing: border-box !important;

	background: #dfdfdf !important;
    color: #000000 !important;
	
	text-align: left !important;
	text-shadow: none !important;
	line-height: 1.45 !important;
	font-size: 15px !important;
    font-weight: 300;

	flex: 1 1 auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image::before,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image::after,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > figcaption::before,
.wp-block-gallery.has-nested-images.columns-2 > figure.wp-block-image > figcaption::after {
	content: none !important;
	display: none !important;
}

@media (max-width: 767px) {
	.wp-block-gallery.has-nested-images.columns-2 {
		grid-template-columns: 1fr !important;
	}
}



.img_contact img {
	border-radius:8px;
}




.wp-block-media-text>.wp-block-media-text__content {
	padding-left:0;
}

.wp-block-media-text__media img,
.wp-block-gallery.has-nested-images figure.wp-block-image img {
}

.w100 img {
	width:100%;
}

.br_8 img {
	border-radius: 8px;
}





@media (max-width: 1199px) {
    .blog_grid,
    .archive_grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .page_grid,
    .single_grid,
    .service_single_hero {
        grid-template-columns: 1fr;
    }

    .page_intro h1,
    .blog_intro h1,
    .archive_intro h1,
    .single_intro h1,
    .error_intro h1 {
        font-size: 40px;
    }
}

@media (max-width: 767px) {
    .page_intro,
    .blog_intro,
    .archive_intro,
    .single_intro,
    .error_intro {
        padding: 46px 0 54px;
    }

    .page_intro h1,
    .blog_intro h1,
    .archive_intro h1,
    .single_intro h1,
    .error_intro h1 {
        font-size: 32px;
    }

    .page_intro p,
    .blog_intro p,
    .archive_intro p,
    .single_intro p,
    .error_intro p {
        font-size: 16px;
        line-height: 1.7;
    }

    .page_content,
    .blog_content,
    .archive_content,
    .single_content,
    .error_content {
        padding: 42px 0 60px;
    }

    .content_card,
    .single_entry,
    .service_single_body,
    .sidebar_card {
        padding: 24px 22px 26px;
    }

    .blog_grid,
    .archive_grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .post_card_body {
        padding: 22px 20px 24px;
    }
}
