

/* Start:/local/templates/main_b2b/components/bitrix/system.pagenavigation/pagenav_with_show_more/style.css?17768485291604*/
.b2b-pagination {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: center;
    margin-top: 2rem;
    .b2b-pagination__more {
        color: var(--b2b-primary);
        background: none;
        margin: 0 auto;
    }
    .b2b-pagination__more:hover {
        color: var(--b2b-primary);
        background-color: var(--b2b-secondary);
    }

    .b2b-pagination__btn-move {
        min-width: 2.5rem;
        height: 2.5rem;
        margin: 0;
        padding: 0;
        border: none !important;
        outline: none !important;
        background: none !important;
        line-height: 1;
        svg {
            height: 16px;
        }
    }
    .b2b-pagination__btn-move:disabled {
        opacity: 0.6;
    }
    .b2b-pagination__btn-move:last-child svg {
        margin-left: auto;
    }

    .b2b-pagination__btn-page {
        height: 2.5rem;
        width: 2.5rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border: none !important;
        outline: none !important;
        border-radius: 50%;
        background: none;
        line-height: 1;
        transition: var(--animate-duration);
        font-size: 16px;
        font-weight: 500;
        text-decoration: none;
        color: var(--b2b-accent);
    }
    .b2b-pagination__btn-page:hover {
        background-color: var(--b2b-secondary);
    }
    .b2b-pagination__btn-page.b2b-pagination__btn-page_active {
        background-color: var(--b2b-secondary);
        color: var(--t-color-1);
        pointer-events: none;
        position: relative;
    }
}
/* End */


/* Start:/local/templates/main_b2b/components/bitrix/news.list/tourism_tours/style.css?17771866531113*/
.tourism-catalog-filter-group {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-2);

    @media all and (max-width: 770px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media all and (max-width: 480px) {
        grid-template-columns: 1fr;
    }
}

.tours-cards__empty {
    display: block !important;
    width: 100% !important;
    margin: 100px auto 0 !important;
    color: #123670 !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.01em !important;
    text-align: center !important;
}

/* Отключаем грид для контейнера, когда внутри только пустое сообщение */
#grid-items-container:has(.tours-cards__empty:only-child) {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}

@media (max-width: 1242px) {
    .tours-cards__empty {
        font-size: 22px !important;
    }
}

@media (max-width: 767px) {
    .tours-cards__empty {
        font-size: 18px !important;
    }
}
/* End */


/* Start:/local/components/b2c/ui.form/templates/select/style.css?17768485282572*/
/* Custom Select Styles */
.custom-select-wrapper {
    position: relative;
    user-select: none;
    width: 100%;
    box-sizing: border-box;
}

.custom-select-trigger {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    height: var(--form-field-height);
    padding: 0 var(--space-3);
    background-color: transparent;
    border: 1px solid var(--q-primary);
    border-radius: var(--form-field-br);
    cursor: pointer;
    transition: all var(--animate-delay);
    font-size: inherit;
    color: var(--q-dark);
}
.custom-select-trigger > span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.custom-select-trigger:hover {
    border-color: var(--q-primary);
}

.custom-select-wrapper.open .custom-select-trigger {
    border: 1px solid var(--q-primary);
    padding: 0 11px;
}

.custom-arrow {
    width: 24px;
    height: 24px;
    /* background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='gray'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center; */
    stroke: var(--q-primary);
    transition: transform var(--animate-delay);
}
.custom-arrow svg {
    width: 100%;
    height: 100%;
}

.custom-select-wrapper.open .custom-arrow {
    transform: rotate(180deg);
}

.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-page);
    border: 1px solid var(--border-color-2);
    border-radius: var(--form-field-br);
    margin-top: 4px;
    /* Slight gap */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 100;
    transform: translateY(-10px);
    transition: all var(--animate-delay) ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
    padding: var(--space-2) 0;
}

.custom-select-wrapper.open .custom-options {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
}

.custom-option {
    padding: var(--space-2) var(--space-4);
    color: var(--t-color-1);
    cursor: pointer;
    transition: background var(--animate-duration), color var(--animate-duration);
    min-height: 26px;
    display: flex;
    align-items: center;
    font-size: 14px;
}
.custom-option:hover {
    /* color: var(--q-primary); */
    background-color: var(--q-secondary-light);
}

.custom-option.selected {
    background-color: var(--q-secondary-light);
}

/* End */


/* Start:/local/components/b2c/ui.form/templates/text/style.css?17768485281596*/
.custom-text-label {
    width: 100%;
}

.custom-text-wrapper {
    width: 100%;
    position: relative;
}

.custom-text-wrapper:focus-within svg {
    color: var(--q-primary);
}

.custom-text-input {
    width: 100%;
    box-sizing: border-box;
    height: var(--form-field-height);
    padding: 1px var(--space-3) 1px var(--space-4);
    background-color: transparent;
    border: 1px solid var(--border-color-2);
    border-radius: var(--form-field-br);
    outline: none;
    transition: all var(--animate-duration);
    font-family: inherit;
    font-size: inherit;
}

.custom-text-input:hover {
    border-color: var(--q-primary);
}

.custom-text-input:focus {
    padding: 0 calc(var(--space-3) - 1px) 0 calc(var(--space-4) - 1px);
    border: 2px solid var(--q-primary);
}

.custom-text-input::placeholder {
    color: var(--t-color-3);
}

/* Icon Support */
.custom-text-wrapper {
    position: relative;
    display: flex;
    /* Ensure proper stacking context */
    align-items: center;
}

.custom-text-input.with-icon {
    padding-right: 40px;
    /* Space for icon */
}

.custom-text-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--t-color-3);
    /* Inherit color or set specific */
    /* Inherit color or set specific */
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
}

.custom-text-icon svg {
    width: 100%;
    height: 100%;
    transition: all var(--animate-duration);
}
/* End */


/* Start:/local/components/b2c/ui.card/templates/tourism/style.css?17768485282628*/
.b2c-card__link {
    text-decoration: none;
}

.b2c-card {
    width: 100%;
    height: 100%;
    overflow: hidden;

    .b2c-card__title {
        color: var(--q-dark);
        font-weight: 600;
    }

    .b2c-card__link {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        cursor: pointer;

        .b2c-card__link__imager {
            position: relative;
            overflow: hidden;
            max-height: 273px;
            aspect-ratio: 16 / 9;

            img {
                width: 100%;
                height: 100%;
                object-position: center;
                object-fit: cover;
                display: block;
            }

            .b2c-card__link__imager_texts {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                display: flex;
                flex-direction: column;
                align-items: flex-start;
                justify-content: space-between;

                .b2c-card__link__imager_texts__labels {
                    display: flex;
                    flex-direction: row;
                    align-items: flex-start;
                    flex-wrap: wrap;
                    gap: 6px;
                }
                .b2c-card__link__imager_texts__labels__label {
                    background-color: #fff;
                }

                .b2c-card__link__imager_texts__dot {
                    transform: translateY(-20%);
                }
            }
        }
        .b2c-card__link__imager::before {
            position: absolute;
            content: "";
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }

        .b2c-card__link__imager-grad-1::before {
            background: linear-gradient(180deg, rgba(0, 0, 0, 0) 70.77%, rgba(0, 0, 0, .75) 104.81%);
        }

        .card__link_address {
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
            opacity: 0.6;
            font-weight: 400;
            font-style: normal;
            color: var(--q-dark);
        }

        .card__link_description {
            font-size: 1rem;
            font-weight: 400;
            color: var(--q-dark);
            width: 100%;
            display: -webkit-box;
            -webkit-line-clamp: 2;        /* количество строк */
            -webkit-box-orient: vertical;
            overflow: hidden;
        }
    }
}

/* End */


/* Start:/local/components/spll/favorite.add/templates/.default/style.css?17851490771966*/
.b-detail__favorite {
	background: none;
	margin: 0;
	cursor: pointer;
	outline: none;
	transition: .2s ease-in;
	padding: 11px;
	display: flex;
	align-items: center;
	gap: 8px;
	border: 1px solid #8654cc;
	font-size: 14px;
	font-weight: 500;
	color: #8654cc;
	border-radius: 8px;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
	.b-detail__favorite span {
		/* display: none; */
	}
}

.b-detail__favorite .detail__favorite-icon {
	width: 24px;
	height: 24px;
	fill: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.b-detail__favorite.short span {display: none}

.add-to-favorite, .remove-to-favorite {
	transition: all 0.3s ease;

}

.add-to-favorite[disabled], .remove-to-favorite[disabled] {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

.add-to-favorite.loading, .remove-to-favorite.loading {
	opacity: 0.7;
	pointer-events: none;
	position: relative;
}

.add-to-favorite.loading::after,
.remove-to-favorite.loading::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	top: 50%;
	left: 50%;
	margin-left: -8px;
	margin-top: -8px;
	border: 2px solid #8654CC;
	border-top-color: transparent;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}

.short.add-to-favorite, .short.remove-to-favorite {
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	z-index: 20;
	background: transparent;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Стиль для активного состояния (когда в избранном) */
.remove-to-favorite svg path {
	fill: #8654CC;
}

.support-page .b-detail__favorite {
	border-color: var(--b2b-accent);
	color: var(--b2b-accent);
}

.support-page .detail__favorite-icon svg path {
	stroke: var(--b2b-accent);
}

.support-page .b-detail__favorite:hover .detail__favorite-icon svg {
	fill: var(--b2b-accent);
}

.support-page .b-detail__favorite  {
	justify-content: center;
}
/* End */


/* Start:/local/components/b2b/notification/templates/.default/style.css?17850059875175*/
.notification-container {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    width: 100%;
    padding: 16px;
}

/* Позиции */
.notification-container--top-right {
    top: 0;
    right: 0;
}

.notification-container--top-left {
    top: 0;
    left: 0;
}

.notification-container--bottom-right {
    bottom: 0;
    right: 0;
}

.notification-container--bottom-left {
    bottom: 0;
    left: 0;
}

.notification-container--top-center {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.notification-container--bottom-center {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* Уведомление */
.notification {
    /* Базовый цвет — фирменный, per-site: --q-primary (B2B #2f8eed / B2C #8654cc),
       фолбэк на --b2b-primary и хардкод. Семантика для success/warning/error. */
    --n-primary: var(--q-primary, var(--b2b-primary, #2f8eed));
    --n-success: #23a26d;
    --n-warning: #ff9800;
    --n-error: #e53935;

    position: relative;
    padding: 16px 20px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    pointer-events: auto;
    overflow: hidden;
    min-width: 300px;
    width: 100%;
    /* Базовая (info/дефолт) подсветка — фирменный цвет */
    border-left: 4px solid var(--n-primary);
    transition: all 0.3s ease;
}

.notification--error {
    border-left-color: var(--n-error);
}

.notification--success {
    border-left-color: var(--n-success);
}

.notification--warning {
    border-left-color: var(--n-warning);
}

.notification--info {
    border-left-color: var(--n-primary);
}

.notification__icon {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    /* Дефолт — фирменный цвет */
    color: var(--n-primary);
    background: color-mix(in srgb, var(--n-primary) 12%, transparent);
}

.notification--error .notification__icon {
    color: var(--n-error);
    background: color-mix(in srgb, var(--n-error) 12%, transparent);
}

.notification--success .notification__icon {
    color: var(--n-success);
    background: color-mix(in srgb, var(--n-success) 12%, transparent);
}

.notification--warning .notification__icon {
    color: var(--n-warning);
    background: color-mix(in srgb, var(--n-warning) 12%, transparent);
}

.notification--info .notification__icon {
    color: var(--n-primary);
    background: color-mix(in srgb, var(--n-primary) 12%, transparent);
}

.notification__content {
    flex: 1;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    word-break: break-word;
}

.notification__close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0 5px;
    transition: all 0.2s;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.notification__close:hover {
    color: #333;
    background: rgba(0, 0, 0, 0.05);
}

.notification__timer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(0, 0, 0, 0.08);
}

.notification__timer-bar {
    height: 100%;
    width: 0;
    background: rgba(0, 0, 0, 0.15);
    animation: timer linear forwards;
}

/* Анимации */
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes scaleIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes scaleOut {
    from {
        transform: scale(1);
        opacity: 1;
    }
    to {
        transform: scale(0.8);
        opacity: 0;
    }
}

@keyframes timer {
    from {
        width: 100%;
    }
    to {
        width: 0%;
    }
}

.notification--slide {
    animation: slideIn 0.3s ease forwards;
}

.notification--fade {
    animation: fadeIn 0.3s ease forwards;
}

.notification--scale {
    animation: scaleIn 0.3s ease forwards;
}

/* Адаптивность */
@media (max-width: 768px) {
    .notification-container {
        padding: 10px;
        max-width: 100%;
    }

    .notification {
        min-width: auto;
        padding: 12px 16px;
    }

    .notification-container--top-center,
    .notification-container--bottom-center {
        width: 100%;
    }
}
/* End */
/* /local/templates/main_b2b/components/bitrix/system.pagenavigation/pagenav_with_show_more/style.css?17768485291604 */
/* /local/templates/main_b2b/components/bitrix/news.list/tourism_tours/style.css?17771866531113 */
/* /local/components/b2c/ui.form/templates/select/style.css?17768485282572 */
/* /local/components/b2c/ui.form/templates/text/style.css?17768485281596 */
/* /local/components/b2c/ui.card/templates/tourism/style.css?17768485282628 */
/* /local/components/spll/favorite.add/templates/.default/style.css?17851490771966 */
/* /local/components/b2b/notification/templates/.default/style.css?17850059875175 */
