#ap-furniture-salons {
	margin-bottom: 58px;
}

#ap-furniture-salons > .container {
	margin-bottom: 24px;
}

#ap-furniture-salons .section__title {
	margin-bottom: 0;
}

#ap-furniture-salons .seo__text {
	font-size: var(--font-text-big, 18px);
	line-height: var(--line-height-text, 1.5);
}

#ap-furniture-salons .seo__text > :not(:last-child) {
	margin-bottom: 30px;
}

#ap-furniture-salons .seo__text p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

#ap-furniture-salons .map-section > .container {
	max-width: 1464px; /* same as #s-callback .container--wide */
	width: 100%;
}

#ap-furniture-salons .map-wrapper {
	margin-left: 0;
	margin-right: 0;
}

#ap-furniture-salons .map-section > .container > .heading-padding {
	display: none;
}

#ap-furniture-salons .map-section.spacer {
	margin-bottom: 0;
}

#ap-furniture-salons .ymap-wrapper,
#ap-furniture-salons .ymap,
#ap-furniture-salons #map {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

#ap-furniture-salons .map-section .flex {
	display: flex;
}

#ap-furniture-salons .map-wrapper .tab-pane {
	display: none !important;
}

#ap-furniture-salons .map-wrapper .tab-pane.active {
	display: block !important;
}

/* Backdrop high only for salon/success modals — NOT global
 * (global 10040 put catalog-menu-modal under the overlay). */
body:has(#callbackModalN.show) .modal-backdrop,
body:has(#successModal.show) .modal-backdrop,
body:has(#callN .modal.show) .modal-backdrop {
	z-index: 10040 !important;
}

/* Catalog mega-menu above default/shared backdrop */
.catalog-menu-modal {
	z-index: 10100 !important;
}

/*
 * Salon modal is appended to document.body (see myagkaya-mebel_new.php),
 * so #callN .modal selectors no longer match — target #callbackModalN.
 */
#callbackModalN.modal,
#callN .modal {
	z-index: 10060 !important;
	background: transparent !important;
}

#callbackModalN.modal.show,
#callN .modal.show {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

#callbackModalN .modal-dialog,
#callN .modal .modal-dialog {
	pointer-events: auto !important;
	position: relative;
	z-index: 1;
}

#callbackModalN .modal-content {
	pointer-events: auto !important;
	position: relative;
	z-index: 2;
	background: #fff !important;
}

#successModal.modal {
	z-index: 10070 !important;
	background: transparent !important;
}

#successModal.modal.show {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

#successModal .modal-dialog {
	pointer-events: auto !important;
	position: relative;
	z-index: 1;
}

#callbackModalN .form__wrapper .input:has(select[name="select_68906"]),
#callN .form__wrapper .input:has(select[name="select_68906"]) {
	grid-column: span 2;
}

/*
 * Salon (bootstrap .modal #FOS_BDP) already gets strong artfactor error styles.
 * Yellow #s-callback / hystmodal «отправка» only get a thin underline — reinforce.
 */
#ap-furniture .KAU_Form .error_block .error_text,
#ap-furniture .KAU_Form .error_very_block .error_very_text,
#callbackModalN .KAU_Form .error_block .error_text,
#callbackModalN .KAU_Form .error_very_block .error_very_text,
.hystmodal .KAU_Form .error_block .error_text,
.hystmodal .KAU_Form .error_very_block .error_very_text {
	color: #ed1846 !important;
	display: block !important;
	font-size: 12px;
	line-height: 150%;
	margin-top: 4px;
	position: static !important;
}

#callbackModalN .KAU_Form .error_block .input__field,
#callbackModalN .KAU_Form .error_block .control,
.hystmodal .KAU_Form .error_block .input__field,
.hystmodal .KAU_Form .error_block .control {
	border: 1px solid #ed1846 !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

#ap-furniture .KAU_Form .error_block .nice-select,
#callbackModalN .KAU_Form .error_block .nice-select,
.hystmodal .KAU_Form .error_block .nice-select {
	border: 1px solid #ed1846 !important;
	border-radius: 6px !important;
}

#ap-furniture .KAU_Form label.checkbox.error,
#ap-furniture .KAU_Form .checkbox.error,
#ap-furniture .KAU_Form .form__group.error_block label.checkbox,
#callbackModalN .KAU_Form label.checkbox.error,
#callbackModalN .KAU_Form .form__group.error_block label.checkbox,
.hystmodal .KAU_Form label.checkbox.error,
.hystmodal .KAU_Form .form__group.error_block label.checkbox {
	color: #ed1846 !important;
}

#ap-furniture .KAU_Form label.checkbox.error .checkbox__mark,
#ap-furniture .KAU_Form .form__group.error_block .checkbox__mark,
#callbackModalN .KAU_Form label.checkbox.error .checkbox__mark,
#callbackModalN .KAU_Form .form__group.error_block .checkbox__mark,
.hystmodal .KAU_Form label.checkbox.error .checkbox__mark,
.hystmodal .KAU_Form .form__group.error_block .checkbox__mark {
	border-color: #ed1846 !important;
	box-shadow: inset 0 0 0 1px #ed1846;
}

/* Как на главной: балун Яндекса поверх карты не показываем (карточка — в списке / map-card-popup на mobile). */
#ap-furniture-salons .ymaps-balloon,
#ap-furniture-salons [class*="-balloon"] {
	display: none !important;
}

#ap-furniture-salons .map-card-popup {
	position: absolute;
	z-index: 5;
	left: 16px;
	top: 16px;
	width: min(360px, calc(100% - 32px));
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 36, 64, 0.18);
	padding: 20px 16px 16px;
}

#ap-furniture-salons .map-card-popup__close {
	position: absolute;
	right: 8px;
	top: 4px;
	border: 0;
	background: transparent;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	color: #0f2440;
}

/* Как на главной: в свёрнутом списке ссылки/телефон скрыты (desktop). */
#ap-furniture-salons .map-content .accordion-item .accordion-button .links-underline,
#ap-furniture-salons .map-content .accordion-item .accordion-button .phone {
	display: none !important;
}

#ap-furniture-salons .map-card-popup .point-info {
	opacity: 1;
	padding: 0;
	border-left: 0;
}

#ap-furniture-salons .map-card-popup .point-info:before {
	display: none;
}

#ap-furniture-salons .map-card-popup .point-info .buttons {
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#ap-furniture-salons .map-card-popup .point-info .buttons .flex {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 0;
}

#ap-furniture-salons .map-card-popup .point-info .buttons .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	text-decoration: none;
}

#ap-furniture-salons .map-content .show .point-info .buttons {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#ap-furniture-salons .map-content .show .point-info .buttons .btn {
	display: inline-flex;
	width: 100%;
	text-decoration: none;
}

@media (max-width: 1023px) {
	#ap-furniture-salons .map-content .accordion-item .accordion-button .links-underline {
		display: flex !important;
		align-items: center;
		flex-wrap: wrap;
		gap: 16px;
		margin-top: 10px;
	}

	#ap-furniture-salons .map-content .accordion-item .accordion-button .links-underline a {
		text-decoration: underline;
		font-size: 12px;
		font-weight: 500;
		line-height: 110%;
		color: #0f2440;
	}

	#ap-furniture-salons .map-content .accordion-item .accordion-button .links-underline a:first-child {
		color: #ff4545;
	}

	#ap-furniture-salons .map-content .accordion-item .accordion-button .phone {
		display: block !important;
	}
}

#s-seo .seo__text {
	font-size: var(--font-text-big, 18px);
	line-height: var(--line-height-text, 1.5);
}

#s-seo .section__title {
	margin-bottom: 0;
}

#s-seo .seo__text > :not(:last-child) {
	margin-bottom: 30px;
}

#s-seo .seo__text p {
	margin: 0;
	font-size: inherit;
	line-height: inherit;
}

#s-seo .seo__text h2,
#s-seo .seo__text h3,
#s-seo .seo__text h4 {
	margin: 0;
	font-weight: 400;
	line-height: var(--line-height-title, 1.1);
}

#s-seo .seo__text h2 {
	font-size: var(--font-title-medium, 42px);
}

@media (max-width: 1023px) {
	#ap-furniture-salons {
		margin-bottom: 32px;
	}

	#ap-furniture-salons > .container {
		margin-bottom: 16px;
	}
}

/* artfactor main.css resolves ../img/pay_*.png -> /artfactor_layout/img/ (404); use template icons */
.footer .pay .mc {
	background-image: url(/local/templates/inner_site/img/pay_mc.png);
}
.footer .pay .visa {
	background-image: url(/local/templates/inner_site/img/pay_visa.png);
}
.footer .pay .mir {
	background-image: url(/local/templates/inner_site/img/pay_mir.png);
}
.footer .pay .keeper {
	background-image: url(/local/templates/inner_site/img/pay_keeper.png);
}

#s-callback .callback__form .btn1 {
	border: 1px solid #ff4545 !important;
}
#s-hero .hero .swiper-button-next,
#s-hero .hero .swiper-button-prev,
#s-related .related .swiper-button-next,
#s-related .related .swiper-button-prev,
.b-gallery__viewport .swiper-button-next,
.b-gallery__viewport .swiper-button-prev,
.b-pagination__arrow {
	color: #ff4545;
}

:where(#sp-furniture) .b-gallery__fade{display:none}
:where(#sp-furniture) .product{align-items:stretch;display:flex}
:where(#sp-furniture) .product .b-gallery__viewport{aspect-ratio:915/613}
:where(#sp-furniture) .product__info{background-color:#fff;border:1px solid #e7eaec;flex:1 1 0%;gap:75px;justify-content:center;min-width:0;padding:28px 16px}
:where(#sp-furniture) #s-callback .callback__form .input__field{padding: 20px 0 12px;
}
/* точки слайдера в карточках: квадраты без красной рамки, активная красная */
:where(#sp-furniture) .card-furniture .swiper-pagination-bullet{border: 0;
	background-color: hsla(0, 0%, 100%, .5);
}
:where(#sp-furniture) .card-furniture .swiper-pagination-bullet-active{background-color: #ff4545;
}
/* карточка товара: точки слайдера "Другие модели" поверх фото, как на шкафах */
:where(#sp-furniture) .offers__slider .card-furniture__media .slider__controls{position: absolute;
	left: 0;
	right: 0;
	bottom: 12px;
	z-index: 3;
	margin: 0;
}
/* карточка мебели на заказ: рамка справа по высоте картинки (в main.css у .product__info фиксированная высота) */
:where(#sp-furniture) .product__info{height:auto}
/* мебель на заказ: воздух между пунктами «Фасады / Корпус / Фурнитура…» в блоке материалов */
#product-materials-text .section__text p>b{display:block;margin-top:24px}
#product-materials-text .section__text p>b:first-child{margin-top:0}
#product-materials-text .section__text p>b+br{display:none}
/* якорные вкладки «Материалы и характеристики» и «Что входит»: заголовок не уходит под фиксированную шапку (~98px) */
#product-materials-text,#product-base{scroll-margin-top:110px}
@media (max-width:1200px){
  :where(#sp-furniture) .product__info{gap:32px}
}
@media (max-width:740px){
  #ap-furniture-catalog .catalog__grid .card-furniture:not(:last-child),#sp-furniture .section__header{margin-bottom:24px}
}
@media (min-width: 1480px){
  :where(#sp-furniture) #s-callback .container--ultrawide .callback{grid-template-columns: minmax(0, 1fr) 560px;
	}
}

#ap-furniture #s-hero .hero{max-width:100%;}
#ap-furniture #s-hero .slider{width:100%;max-width:100%;min-width:0;}
#ap-furniture #s-hero .swiper{display:block;overflow:hidden;width:100%;max-width:100%;min-width:0;}
#ap-furniture #s-hero .swiper-wrapper{display:flex;}
#ap-furniture #s-hero .swiper-slide{box-sizing:border-box;flex:0 0 100%;max-width:100%;width:100%;}
#ap-furniture #s-hero .hero__slide,
#ap-furniture #s-hero .hero__bg,
#ap-furniture #s-hero .hero__picture{width:100%;max-width:100%;}
#ap-furniture #s-hero .hero__picture img{display:block;height:100%;max-width:100%;object-fit:cover;width:100%;}
#ap-furniture .b-tabs__action a.button{text-decoration:none;}
#ap-furniture .mf-hero-plain__item + .mf-hero-plain__item{margin-top:16px;}
#ap-furniture #s-seo .seo__text ul{margin:0;padding-left:1.25em;}
#ap-furniture #s-seo .seo__text li+li{margin-top:12px;}
#ap-furniture .mf-tabs .swiper-wrapper{height:auto;transform:none !important;}
#ap-furniture .mf-tabs .swiper-slide{height:auto;width:100%;}
#ap-furniture{overflow-anchor:none;}
#ap-furniture-catalog.is-mf-loading .catalog__grid{opacity:.45;}
#ap-furniture #s-callback > .container{max-width:1464px;}
@media (min-width:1480px){
	#ap-furniture #s-callback .container--ultrawide .callback{grid-template-columns:minmax(0,1fr) 560px;}
}

#sp-furniture .materials__panel { display: none; }
#sp-furniture .materials__panel.is-active { display: flex; }
#product-description h1.section__title {
	font-size: var(--font-title-small);
	line-height: 1.2;
}
#product-description .mf-product-video iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
}
#sp-furniture .table--specs tr,
#sp-furniture .table--specs th,
#sp-furniture .table--specs td {
	background-color: transparent;
	box-shadow: none;
	--bs-table-bg: transparent;
	--bs-table-accent-bg: transparent;
}
#product-stores .map-section > .container {
	max-width: 1464px;
	width: 100%;
}
#product-stores .map-wrapper {
	margin-left: 0;
	margin-right: 0;
}
#product-stores .ymap-wrapper,
#product-stores .ymap,
#product-stores #map {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
#product-stores .map-section > .container > .heading-padding {
	display: none;
}
#product-materials .card-color.is-page-hidden { display: none; }
#product-materials .mf-search-pager {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
}
#product-materials .mf-search-pager__meta {
	font-size: 14px;
	color: #0f2440;
	opacity: 0.65;
	text-align: center;
	order: 2;
}
#product-materials .mf-search-pager__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	order: 1;
}
#product-materials .mf-search-pager__btn,
#product-materials .mf-search-pager__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	box-sizing: border-box;
	text-decoration: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	color: #0f2440;
	background: #fff;
	border: 1px solid #e2e4e6;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
#product-materials .mf-search-pager__btn:hover,
#product-materials .mf-search-pager__num:hover {
	border-color: #ff4545;
	color: #ff4545;
}
#product-materials .mf-search-pager__num.is-current {
	background: #ff4545;
	border-color: #ff4545;
	color: #fff;
	cursor: default;
}
#product-materials .mf-search-pager__btn.is-disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}
@font-face {
	font-family: CirceBold;
	src: url("/local/templates/main/fonts/Circe-Bold.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: CirceRegular;
	src: url("/local/templates/main/fonts/Circe-Regular.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
#sp-furniture-hero .product {
	position: relative;
	padding-bottom: 82px;
}
#sp-furniture-hero .product__gallery,
#sp-furniture-hero .b-gallery,
#sp-furniture-hero .b-gallery--thumbs {
	position: static;
}
#sp-furniture-hero .product__gallery {
	flex: 0 0 63.5%;
	width: 63.5%;
	min-width: 0;
}
#sp-furniture-hero .product__info {
	flex: 1 1 0%;
	width: auto;
	max-width: none;
}
#sp-furniture-hero .b-gallery__thumb {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: auto;
	margin-top: 0;
	z-index: 2;
}
#sp-furniture-hero .b-gallery__thumb .swiper-slide {
	width: 105px !important;
	max-width: 105px;
}
#sp-furniture-hero .product__info {
	align-items: center;
	color: #1c1f25;
	font-family: LetoSans, Arial, sans-serif;
	font-weight: 400;
	text-align: center;
}
#sp-furniture-hero .product__main,
#sp-furniture-hero .product__bottom,
#sp-furniture-hero .product__actions,
#sp-furniture-hero .product__prices,
#sp-furniture-hero .product__title {
	width: 100%;
	max-width: none;
	align-items: center;
}
#sp-furniture-hero .product__style,
#sp-furniture-hero .product__note,
#sp-furniture-hero .product__price--old,
#sp-furniture-hero .product__price--new,
#sp-furniture-hero .product__price--new strong {
	font-family: LetoSans, Arial, sans-serif;
	font-weight: 400;
	text-align: center;
}
#sp-furniture-hero .product__price--old {
	color: #b5b5b5;
}
#sp-furniture-hero .product__price--new,
#sp-furniture-hero .product__price--new strong {
	font-size: 24px;
	font-weight: 700;
}
#sp-furniture-hero .product__title {
	font-family: LetoSans, Arial, sans-serif;
	font-weight: 700;
	font-size: 34px;
	line-height: 1.3;
	color: #0f2440;
	text-align: center;
}
#sp-furniture-offers .offers__slider {
	position: relative;
}
#sp-furniture-offers .offers__slider > .swiper {
	overflow: hidden;
}
#sp-furniture-offers .offers__nav {
	position: absolute;
	top: var(--offers-arrow-top, 150px);
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: #ff4545;
	box-shadow: 0 2px 10px rgba(28, 31, 37, 0.12);
	cursor: pointer;
	transform: translateY(-50%);
}
#sp-furniture-offers .offers__nav svg {
	width: 46px;
	height: 46px;
	transition: transform .2s ease;
	will-change: transform;
}
#sp-furniture-offers .offers__nav--prev {
	left: -23px;
}
#sp-furniture-offers .offers__nav--next {
	right: -23px;
}
#sp-furniture-offers .offers__nav--next svg {
	transform: rotate(180deg);
}
#sp-furniture-offers .offers__nav--prev:hover svg {
	transform: scaleX(1.11);
}
#sp-furniture-offers .offers__nav--next:hover svg {
	transform: rotate(180deg) scaleX(1.11);
}
#sp-furniture-offers .offers__nav:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}
#sp-furniture-hero .product__actions .button {
	width: 100%;
	max-width: 320px;
}
@media (max-width: 1200px) {
	#sp-furniture-hero .product {
		padding-bottom: 0;
	}
	#sp-furniture-hero .product__gallery,
	#sp-furniture-hero .product__info {
		flex: none;
		width: 100%;
		max-width: none;
	}
	#sp-furniture-hero .b-gallery__thumb {
		position: relative;
		left: auto;
		right: auto;
		bottom: auto;
		width: 100%;
		margin-top: 9px;
	}
	#sp-furniture-hero .product__title {
		font-size: 26px;
	}
}

/* Хлебные крошки на телефоне: переносятся по строкам, длинное название не уходит за край экрана. */
@media (max-width: 740px) {
	.page__breadcrumbs .nav--breadcrumbs .nav__list {
		display: flex;
		flex-wrap: wrap;
	}
	.page__breadcrumbs .nav--breadcrumbs .nav__list li {
		max-width: 100%;
		white-space: normal;
		overflow-wrap: anywhere;
	}
}
