

/* Start:/local/templates/soulcatering/components/bitrix/catalog/services/style.css?177485825876*/
.services {
    background: var(--color-light-sand);
    padding: 4rem 0;
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/breadcrumb/breadcrumbs/style.css?17925037241034*/
/* Отступ от крошек до заголовка — один на весь сайт; у шапок страниц (первая секция после крошек) верхнего отступа нет */
.breadcrumbs {
	padding-bottom: 1.5rem;
	font-size: .875rem;
	color: var(--color-muted);
}

.bx-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	padding: .875rem 0;
}

/* Разделитель — элемент i после ссылки (иконки FontAwesome на сайте нет, рисуем символом) */
.bx-breadcrumb i {
	margin-left: .5rem;
	font-style: normal;
	color: var(--color-gold);
}

.bx-breadcrumb i:before {
	content: "/";
}

.bx-breadcrumb .bx-breadcrumb-item {
	white-space: nowrap;
}

.bx-breadcrumb .bx-breadcrumb-item span {
	white-space: normal;
}

.bx-breadcrumb .bx-breadcrumb-item a {
	color: var(--color-ink);
	text-decoration: none;
	transition: color .2s;
}

.bx-breadcrumb .bx-breadcrumb-item a:hover {
	color: var(--color-gold-text);
}

/* End */


/* Start:/local/templates/soulcatering/components/d_life_org/city.page/service_event/style.css?17836724011038*/
/* Description
---------------------------*/
.description {
	padding: 4rem 0;
	background: var(--color-light-sand);
}


.description__grid {
	display: grid;
	grid-template-columns: 1fr 2fr;
	grid-gap: 3rem;
	align-items: stretch;
}

.description__text_lead {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 2rem;
}

.description__text {
	font-size: 1.25rem;
	color: var(--color-dark-brown);
	line-height: 1.5;
}

.description__text a {
	color: var(--color-green-white);
}

.description__text p {
	margin: 0 0 1.5rem;
}

.description__text ul,
.description__text ol {
	margin: 0 0 1.5rem 3rem;
}

.description__imgWrapper {
	height: 100%;
	width: 100%;
	position: relative;
}

.description__img {
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	object-fit: cover;
	border-radius: 0.625rem;
}


@media(max-width: 991px) {
	.description__grid {
		grid-template-columns: 1fr;
	}

	.description__imgWrapper {
		min-height: 500px;
	}
}

@media(max-width: 991px) {
	.description__imgWrapper {
		min-height: 350px;
	}
}
/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.detail/service_gallery/style.css?17748645361131*/
.gridGallery {
    padding: 5rem 0;
    background: var(--color-light-sand);
}

h2.gridGallery__header {
    text-align: center;
    margin-bottom: 3rem;
}

.gridGallery__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 2rem;
}

.gridGallery__item{
    position: relative;
    display: block;
    padding-bottom: 100%;
    border-radius: .625rem;
    overflow: hidden;
}

.gridGallery__item::after{
    content: "";
    position: absolute;
    top: 1.25rem;
    bottom: 1.25rem;
    left: 1.25rem;
    right: 1.25rem;
    z-index: 1;
    border: 3px solid #fff;
    border-radius: .625rem;
    transition: all .3s;
}

.gridGallery__item:hover::after{
    top: -10px;
    bottom: -10px;
    left: -10px;
    right: -10px;
}

.gridGallery__itemImg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media(max-width: 1023px) {
    .gridGallery__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media(max-width: 767px) {
    .gridGallery__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 1rem;
    }
}
/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/menu/style.css?17925037247491*/
/* Меню услуги: зелёная плита, белые карточки с тонкой границей, фото и «Что входит»; одно меню — карточкой
   по горизонтали. Плита, вводный текст и вертикальные отступы секции — в общем styles.css.
   Тот же шаблон выводит список на /menu/ и «Готовые меню» в статье блога (модификатор menu_page — светлый вариант).
   Всё — от корня секции этого шаблона.
------------------------------------------------------------------*/
.menu {
    padding: var(--section-y) 0;
    color: #fff;
    background: var(--color-deep);
}

.menu:not(.menu_page) {
    margin: var(--plate-y) var(--plate-gap);
    border-radius: var(--plate-radius);
    overflow: clip;
}

.menu .menu__text {
    color: var(--color-on-deep);
}


/* Страница /menu/ (BLOCK_CLASS = menu_page) */
.menu.menu_page {
    color: var(--color-ink);
    background: var(--color-paper);
}


/* Сетка
---------------------------*/
.menu .menu__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
}

/* Больше 9 меню: сразу видны 9, остальные раскрывает кнопка «Все N меню» */
.menu .menu__grid_collapsible:not(.is-open) > .menu__item:nth-child(n+10) {
    display: none;
}

@media(max-width: 1040px) {
    .menu .menu__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .menu .menu__grid_collapsible:not(.is-open) > .menu__item:nth-child(n+9) {
        display: none;
    }
}

@media(max-width: 680px) {
    .menu .menu__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .menu .menu__grid_collapsible:not(.is-open) > .menu__item:nth-child(n+5) {
        display: none;
    }
}

.menu .menu__grid:has(> .menu__item:only-child) {
    grid-template-columns: minmax(0, 1fr);
}

/* Ровно два меню — две колонки, чтобы справа не оставалось пустого места */
@media(min-width: 681px) {
    .menu .menu__grid:has(> .menu__item:nth-child(2):last-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 54rem;
    }
}


/* Карточка
---------------------------*/
.menu .menu__item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.75rem 1.75rem 1.625rem;
    overflow: hidden;
    color: var(--color-ink);
    background: #fff;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
}

@media(max-width: 680px) {
    .menu .menu__item {
        padding: 1.5rem 1.25rem 1.25rem;
    }
}

/* Фото меню — во всю ширину карточки, поверх её внутренних отступов */
.menu .menu__itemPicture {
    display: block;
    margin: -1.75rem -1.75rem 0;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--color-deep-2);
}

@media(max-width: 680px) {
    .menu .menu__itemPicture {
        margin: -1.5rem -1.25rem 0;
    }
}

@media(min-width: 681px) {
    .menu .menu__item:only-child {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
        grid-template-rows: 1fr auto;
        column-gap: clamp(1.75rem, 4vw, 3.5rem);
        row-gap: 1.5rem;
    }

    .menu .menu__item:only-child .menu__itemPicture {
        grid-row: 1 / -1;
        margin: -1.75rem 0 -1.625rem -1.75rem;
        aspect-ratio: auto;
        min-height: 22rem;
    }
}

.menu .menu__itemImg {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}

.menu .menu__item:hover .menu__itemImg {
    transform: scale(1.05);
}

/* Плашка формата — поверх фото */
.menu .menu__itemFormat {
    position: absolute;
    top: 1.125rem;
    left: .875rem;
    z-index: 2;
    padding: .3125rem .6875rem;
    font-size: .75rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    background: var(--color-deep);
    border-radius: 999px;
    pointer-events: none;
}

.menu .menu__itemNameLink {
    font-family: var(--font-display);
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.12;
    font-variant-numeric: lining-nums;
    color: inherit;
    text-decoration: none;
}

.menu .menu__itemNameLink:hover {
    color: var(--color-green);
}


/* «Что входит» — категории блюд из состава меню
---------------------------*/
.menu .menu__itemCategories {
    margin-top: .875rem;
}

.menu .menu__itemCategoriesTitle {
    margin-bottom: .5rem;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-gold-text);
}

.menu .menu__itemCategoriesList {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.menu .menu__itemCategory {
    padding: .3125rem .625rem;
    font-size: .875rem;
    line-height: 1.25;
    background: var(--color-paper);
    border-radius: 999px;
}

.menu .menu__itemCategoriesMore {
    color: var(--color-muted);
    background: transparent;
    box-shadow: inset 0 0 0 1px var(--color-line);
}


/* Параметры: строками, цена последней — крупно антиквой, тёмной зеленью
---------------------------*/
.menu .menu__itemParams {
    display: grid;
    gap: .875rem;
    margin-top: 1.25rem;
}

.menu .menu__itemParam {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .75rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--color-line);
}

.menu .menu__itemParamName {
    font-size: .875rem;
    color: var(--color-muted);
}

.menu .menu__itemParamValue {
    font-weight: 600;
    white-space: nowrap;
}

.menu .menu__itemParam:last-child {
    display: grid;
    gap: .125rem;
    padding: .25rem 0 0;
    border: 0;
}

.menu .menu__itemParam:last-child .menu__itemParamName {
    order: 2;
}

.menu .menu__itemParam:last-child .menu__itemParamValue {
    order: 1;
    font-family: var(--font-display);
    font-size: 2.25rem;
    font-weight: 500;
    line-height: 1;
    font-variant-numeric: lining-nums;
    color: var(--color-deep);
}


/* Кнопка карточки — прижата к низу, во всю ширину
---------------------------*/
.menu .menu__itemActions {
    margin-top: auto;
}

.menu .menu__itemBtn {
    width: 100%;
    color: var(--color-ink);
    background: var(--color-paper);
}

.menu .menu__item:hover .menu__itemBtn,
.menu .menu__itemBtn:focus-visible {
    color: #fff;
    background: var(--color-green);
}


/* Постраничная навигация — под сеткой (страница /menu/)
---------------------------*/
.menu .menu__pager {
    margin-top: 2rem;
}


/* «Все N меню» — под сеткой
---------------------------*/
.menu .menu__more {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}

.menu .menu__moreBtn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 3px;
}


@media(prefers-reduced-motion: reduce) {
    .menu .menu__itemImg {
        transition: none;
    }

    .menu .menu__item:hover .menu__itemImg {
        transform: none;
    }
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/system.pagenavigation/.default/style.css?17893865551435*/
.pagination__container {
	display: flex;
	justify-content: center;
	margin: 4rem 0;
}

.pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	list-style-type: none;
}

@media(max-width: 575px) {
	.pagination {
		gap: .25rem;
	}
}

.pagination__link {
	margin: 0 .5rem;
	color: #fff;
	border: 0;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	background: var(--color-brown);
}

.pagination__item.active .pagination__link,
.pagination__link:hover {
	background: var(--color-green);
	color: #fff;
}


.pagination__link_next img {
	transform: rotate(180deg);
}

.pagination__link img {
	height: 16px;
	width: auto;
}

/* Многоточие между разрывами окна страниц */
.pagination__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 40px;
	color: var(--color-dark-brown);
}

/* Мобильный: кружки и отступы меньше, строка при нехватке места переносится */
@media(max-width: 575px) {
	.pagination {
		flex-wrap: wrap;
		gap: .25rem;
	}

	.pagination__container {
		margin: 2rem 0;
	}

	.pagination__link {
		margin: 0;
		width: 32px;
		height: 32px;
		font-size: .875rem;
	}

	.pagination__dots {
		width: 16px;
		height: 32px;
	}

	.pagination__link img {
		height: 12px;
	}
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/portfolio_slider/style.css?17925037245780*/
/* Проекты
-------------------------------------------------------------------------------*/
.portfolioSlider {
    /* затемнение фото под подписью — значение макета */
    --portfolio-shade: 21, 16, 12;
    background: var(--color-paper);
}

.portfolioSlider__text {
    max-width: 44rem;
    margin-bottom: 2.5rem;
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--color-muted);
}

@media(max-width: 575px) {
    .portfolioSlider__text {
        margin-bottom: 2rem;
        font-size: 1rem;
    }
}


/* Карточка
-------------------------------------------------------------------------------*/
.portfolioSlider__item {
    position: relative;
}

.portfolioSliderItem__imgWrapper {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
}

.portfolioSliderItem__imgWrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(var(--portfolio-shade), 0) 35%, rgba(var(--portfolio-shade), .55) 60%, rgba(var(--portfolio-shade), .94) 100%);
}

.portfolioSliderItem__img {
    display: block;
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    transition: transform .6s ease;
}

.portfolioSlider__item:hover .portfolioSliderItem__img {
    transform: scale(1.04);
}

/* название и данные проекта — поверх фото, на затемнении снизу */
.portfolioSliderItem__inner {
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 2;
    display: grid;
    gap: .625rem;
    color: #fff;
    pointer-events: none;
}

.portfolioSliderItem__inner a {
    pointer-events: auto;
}

.portfolioSliderItem__name {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
}

.portfolioSliderItem__nameLink {
    color: #fff;
    text-decoration: none;
    text-shadow: 0 1px 12px rgba(0, 0, 0, .35);
    transition: color .2s;
}

.portfolioSliderItem__nameLink:hover {
    color: var(--color-gold-light);
}

.portfolioSliderItem__params {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .875rem;
}

.portfolioSliderItem__format {
    padding: .25rem .75rem;
    border-radius: 999px;
    background: var(--color-gold-light);
    color: var(--color-ink);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.2;
}

.portfolioSliderItem__persons {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .875rem;
    font-weight: 500;
    color: var(--color-paper);
}

/* иконка гостей — маской, цвет задаёт фон */
.portfolioSliderItem__persons::before {
    content: "";
    flex: none;
    width: 1.125rem;
    height: 1.125rem;
    background: var(--color-gold-light);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.3-6 6.5-6s5.9 2.4 6.5 6'/%3E%3Ccircle cx='17' cy='9' r='2.8'/%3E%3Cpath d='M16.5 14c2.7 0 4.6 2 5 5'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.6 3.3-6 6.5-6s5.9 2.4 6.5 6'/%3E%3Ccircle cx='17' cy='9' r='2.8'/%3E%3Cpath d='M16.5 14c2.7 0 4.6 2 5 5'/%3E%3C/svg%3E") no-repeat center / contain;
}

.portfolioSliderItem__text {
    font-size: .875rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}


/* Режим сетки (VIEW = grid, список /portfolio/): 4 / 3 / 2 / 1 колонки, без слайдера
-------------------------------------------------------------------------------*/
.portfolioSlider__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
}

@media(max-width: 1040px) {
    .portfolioSlider__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media(max-width: 760px) {
    .portfolioSlider__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }

    .portfolioSlider__grid .portfolioSliderItem__inner {
        left: .75rem;
        right: .75rem;
        bottom: .75rem;
    }

    .portfolioSlider__grid .portfolioSliderItem__name {
        font-size: 1rem;
    }
}

@media(max-width: 420px) {
    .portfolioSlider__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.portfolioSliderItem__location {
    font-size: .875rem;
    color: var(--color-paper);
}

.portfolioSlider__pager {
    margin-top: 2rem;
}


/* Точки навигации (tiny-slider, navPosition: bottom)
-------------------------------------------------------------------------------*/
.portfolioSlider .tns-nav {
    display: flex;
    justify-content: center;
    gap: .625rem;
    margin-top: 2rem;
}

.portfolioSlider .tns-nav button {
    width: .625rem;
    height: .3125rem;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #D8CCB8;
    cursor: pointer;
    transition: width .25s, background-color .25s;
}

.portfolioSlider .tns-nav button.tns-nav-active {
    width: 1.875rem;
    background: var(--color-green);
}


/* Кнопка «Смотреть все»
-------------------------------------------------------------------------------*/
.portfolioSlider__actions {
    display: flex;
    justify-content: center;
    margin-top: 1.75rem;
}

@media(max-width: 575px) {
    .portfolioSlider__actions .btn {
        width: 100%;
    }
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/clients_slider/style.css?17925037241521*/
/* clients — логотипы клиентов сеткой (слайдер убран): компактная секция на фоне страницы, логотипы на белых
   карточках, монохромные — цвет при наведении
---------------------------*/
/* Отступы вдвое меньше общего ритма секций — блок читается продолжением «Проектов» */
.frontpage > .clients,
.service__main > .clients {
    padding: calc(var(--section-y) / 2) 0;
}

.clients__slider {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .875rem;
}

@media(max-width: 980px) {
    .clients__slider {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

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

.clients__item {
    display: grid;
    place-items: center;
    height: 8.125rem;
    padding: .75rem;
    background: #fff;
    border-radius: var(--radius);
}

/* max-width задаётся инлайном из свойства WIDTH элемента; 100% — запасной, если свойство пустое */
.clientsItem__img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 6rem;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .6;
    transition: filter .3s, opacity .3s;
}

.clients__item:hover .clientsItem__img {
    filter: none;
    opacity: 1;
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/review_slider/style.css?17925037242098*/
/* Вертикальные отступы секции — в общем файле шаблона сайта */
.reviews {
	overflow: hidden;
}

.reviews__header {
	margin-bottom: 2.5rem;
}

@media(min-width: 768px) {
	.reviews .container {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: end;
		column-gap: 2rem;
	}

	.reviews__header {
		grid-column: 1;
		grid-row: 1;
	}

	.reviews__actions {
		grid-column: 2;
		grid-row: 1;
	}

	.reviews .tns-outer,
	.reviews__slider {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

/* Лента: flex + stretch, чтобы слайды-обёртки тянулись по самому высокому; зазор — опцией gutter */
.reviews__slider {
	display: flex;
	align-items: stretch;
}

/* Слайд — обёртка карточки. Селектор равного веса с .tns-horizontal.tns-subpixel > .tns-item,
   который ставит слайдам inline-block */
.reviews__slider > .reviews__item,
.tns-horizontal.tns-subpixel > .reviews__item {
	display: flex;
}

/* Приходит до 12 отзывов, script.js оставляет три случайных — до этого лишние не показываем */
.reviews__slider:not(.tns-slider) > .reviews__item:nth-child(n+4) {
	display: none;
}

/* Точки навигации — только пока ленту листают (до 1040px) */
.reviews .tns-nav {
	display: flex;
	justify-content: center;
	gap: .25rem;
	margin-top: 1.5rem;
}

.reviews .tns-nav button {
	width: 1.5rem;
	height: 1.5rem;
	padding: .3125rem;
	border: none;
	background: transparent;
}

.reviews .tns-nav button::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #D8CCB8;
	transition: background .15s;
}

.reviews .tns-nav button.tns-nav-active::before {
	background: var(--color-deep);
}

.reviews__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .75rem;
	margin-top: 2.25rem;
}

@media(min-width: 768px) {
	.reviews__actions {
		margin: 0 0 2.5rem;
	}
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/faq/style.css?17925037243295*/
/* questions — от 992px слева заголовок (прилипает), справа список вопросов на тонких разделителях.
   Раскрытие делает script.js: класс questions__item_open у пункта
   и инлайновый height у .questionsItem__more (анимация высоты).
---------------------------*/
.questions {
    background: var(--color-paper);
}

.questions__title {
    margin-bottom: 2rem;
}

@media(min-width: 992px) {
    .questions .container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr);
        column-gap: clamp(2rem, 5vw, 5rem);
        align-items: start;
    }

    .questions__title {
        position: sticky;
        top: calc(var(--header-height) + 1.5rem);
        grid-column: 1;
        grid-row: 1 / span 50;
        margin: 0;
    }

    .questions__item {
        grid-column: 2;
    }
}

.questions__item {
    border-bottom: 1px solid var(--color-line);
}

.questions__item:first-of-type {
    border-top: 1px solid var(--color-line);
}

.questionsItem__title {
    position: relative;
    padding: 1.375rem 3.25rem 1.375rem 0;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--color-ink);
    cursor: pointer;
}

.questionsItem__title::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 2.125rem;
    height: 2.125rem;
    margin-top: -1.0625rem;
    background: var(--color-deep);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center / 1.25rem;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") no-repeat center / 1.25rem;
    transition: transform .2s;
}

.questions__item_open .questionsItem__title::after {
    transform: rotate(45deg);
}

@media(max-width: 575px) {
    .questionsItem__title {
        padding-right: 2.75rem;
        font-size: 1rem;
    }
}

/* без вертикальных padding: при height: 0 они остались бы видны у закрытого пункта */
.questionsItem__more {
    height: 0;
    overflow: hidden;
    max-width: 70ch;
    padding-right: 3.5rem;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-muted);
    transition: height .5s ease-out;
}

/* нижний отступ ответа — псевдоэлементом, чтобы он вошёл в scrollHeight и анимировался вместе с высотой */
.questionsItem__more::after {
    content: "";
    display: block;
    height: 1.5rem;
}

@media(max-width: 575px) {
    .questionsItem__more {
        padding-right: 0;
    }
}

.questionsItem__more > *:last-child {
    margin-bottom: 0;
}

.questionsItem__more p {
    margin: 0 0 1.125rem;
}

.questionsItem__more ol,
.questionsItem__more ul {
    padding-top: .5rem;
    padding-left: 2rem;
}

.questionsItem__more li {
    margin-bottom: 1rem;
}

.questionsItem__more ul {
    padding: 0;
    margin: 0;
}

/* End */


/* Start:/local/templates/soulcatering/components/bitrix/news.list/service_persons/style.css?1792503724759*/
/* servicePersons — «По числу гостей»: ссылки-пилюли
---------------------------*/
.servicePersons {
	background: var(--color-paper);
}

.servicePersons__list {
	display: flex;
	flex-wrap: wrap;
	gap: .625rem;
}

.servicePersons__itemLink {
	display: block;
	padding: .6875rem 1.25rem;
	font-size: 1rem;
	font-weight: 500;
	color: var(--color-ink);
	text-decoration: none;
	white-space: nowrap;
	background: #fff;
	border: 1.5px solid var(--color-line);
	border-radius: 999px;
	transition: border-color .15s, color .15s;
}

.servicePersons__itemLink:hover {
	color: var(--color-green);
	border-color: var(--color-green);
}

@media(max-width: 575px) {
	.servicePersons__itemLink {
		padding: .5rem 1rem;
		font-size: .875rem;
	}
}

/* End */


/* Start:/local/components/d_life_org/main.feedback/templates/.default/style.css?17931033083057*/
.dlife__feedback {
    width: 100%;
    max-width: 400px;
}

.dlife__feedback a {
    color: inherit;
}

.dlifeFeedback__title {
    font-family: var(--font-display);
    font-size: 1.875rem;
    font-weight: 500;
    line-height: 1.12;
    margin-bottom: 1.25rem;
}

.dlifeFeedback__subtitle {
    margin: -.875rem 0 1.25rem;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--color-muted);
}

.dlifeFeedback__actions {
    margin-top: 1.25rem;
}

.dlifeFeedback__btn {
    width: 100%;
}

/* Согласие на обработку данных — чекбокс слева от текста */
.dlife__feedback .single-option label {
    position: relative;
    padding-left: 1.75rem;
    font-size: .75rem;
    font-weight: 400;
    line-height: 1.45;
    cursor: pointer;
}

.dlife__feedback .single-option input {
    position: absolute;
    left: 0;
    top: 1px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--color-green);
}

/* Окно календаря поля даты (BX.calendar) — цвета сайта вместо серых ядра (bitrix/js/main/core/css/core_date.css).
   Селекторы через .bx-calendar: у ядра те же классы с :link/:visited, а его файл может подключиться позже */
.popup-window:has(.bx-calendar) {
    --popup-window-border-radius: var(--radius-sm);
}

.bx-calendar {
    font-family: inherit;
    color: var(--color-ink);
}

.bx-calendar .bx-calendar-name-day-wrap {
    background-color: var(--color-paper);
}

.bx-calendar .bx-calendar-cell {
    border-radius: .375rem;
    color: var(--color-ink);
}

.bx-calendar .bx-calendar-cell:hover {
    background-color: var(--color-paper);
}

.bx-calendar .bx-calendar-cell.bx-calendar-weekend {
    color: var(--color-gold-text);
}

.bx-calendar .bx-calendar-cell.bx-calendar-date-hidden {
    color: var(--color-muted);
    opacity: .5;
}

.bx-calendar .bx-calendar-cell.bx-calendar-active {
    color: #fff;
    background-color: var(--color-green);
}

/* Прошедшие дни в календаре поля с опцией future (класс ставит script.js шаблона) */
.bx-calendar .bx-calendar-cell.bx-calendar-cell_past {
    opacity: .35;
    pointer-events: none;
}

/* Alert
-------------------------------------------------------- */

.alert{
    display: block;
    margin: .875rem 0;
    padding: .75rem .875rem;
    font-size: .875rem;
    line-height: 1.5;
    color: #2D7091;
    background: #EBF7FD;
    border: 1px solid rgba(45, 112, 145, 0.3);
    border-radius: var(--radius-sm);
}

.alert p{margin: 0 !important; padding: 0 !important;}
.alert-success {
    background: none repeat scroll 0 0 #F2FAE3;
    border-color: rgba(101, 159, 19, 0.3);
    color: #659F13;
}
.alert-warning {
    background: none repeat scroll 0 0 #FFFCEB;
    border-color: rgba(226, 131, 39, 0.3);
    color: #E28327;
}
.alert-danger {
    background: none repeat scroll 0 0 #FFF1F0;
    border-color: rgba(216, 80, 48, 0.3);
    color: #D85030;
}
/* End */
/* /local/templates/soulcatering/components/bitrix/catalog/services/style.css?177485825876 */
/* /local/templates/soulcatering/components/bitrix/breadcrumb/breadcrumbs/style.css?17925037241034 */
/* /local/templates/soulcatering/components/d_life_org/city.page/service_event/style.css?17836724011038 */
/* /local/templates/soulcatering/components/bitrix/news.detail/service_gallery/style.css?17748645361131 */
/* /local/templates/soulcatering/components/bitrix/news.list/menu/style.css?17925037247491 */
/* /local/templates/soulcatering/components/bitrix/system.pagenavigation/.default/style.css?17893865551435 */
/* /local/templates/soulcatering/components/bitrix/news.list/portfolio_slider/style.css?17925037245780 */
/* /local/templates/soulcatering/components/bitrix/news.list/clients_slider/style.css?17925037241521 */
/* /local/templates/soulcatering/components/bitrix/news.list/review_slider/style.css?17925037242098 */
/* /local/templates/soulcatering/components/bitrix/news.list/faq/style.css?17925037243295 */
/* /local/templates/soulcatering/components/bitrix/news.list/service_persons/style.css?1792503724759 */
/* /local/components/d_life_org/main.feedback/templates/.default/style.css?17931033083057 */
