/*****UI style*****/

h1{
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-size: 26px;
	line-height: 1.2;
	letter-spacing: -0.02rem;
	text-align: center;
	color:#000000;
}
h1 text{
	color:#24A59E;
}








.basic-btn{
	display: inline-block;
	width: 300px;
	height: 52px;
	line-height: 52px;
	border-radius: 16px;
	background-color: #24A59E;
	color: white;
	text-align: center;
	text-decoration: none;
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 16px;
	letter-spacing: -0.5px;
	opacity: 1;
	transform: rotate(0deg);
}
.bigwidthbtn{
	text-align: center;
	width: 100%;
	margin:0px;
	margin-top: 2px;

}


/* Контейнер для карточек */
.cards-container {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 16px;
	justify-content: center;
}

/* Стили карточки */
.card {
	width: 198px;
	height: 194px;
	padding: 8px;
	background: #FFFFFF;
	border-radius: 15px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	opacity: 1;
	transform: rotate(0deg);
	border:none;
}

/* Изображение */
.card-img {
	width: 182px;
	height: 120px;
	border-radius: 13px;
	object-fit: cover;
	margin: 0 auto 8px;
	padding: 9px;
	box-sizing: border-box;
	opacity: 1;
	display: block;
}

/* Заголовок: название + звезда + рейтинг */
.card-title {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 6px;
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0;
	color: #121212;
	white-space: nowrap;
}

.card-title .rating {
	font-size: 14px;
	color: #121212;
}

/* Информация: иконка + текст */
.card-info {
	display: flex;
	align-items: center;
	gap: 4px;
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: 0;
	color: #6F7789;
}

/* Общие стили для иконок */
.card .icon {
	width: 12px;
	height: 12px;
	display: inline-block;
}



/***КАРТА ТУРА-ЭКСКУРСИИ****/
/* Контейнер для всех карточек */
.excursions-list {
	display: grid;
	grid-template-columns: 1fr; /* Мобильная версия — 1 в ряд */
	gap: 20px;
	padding: 16px;
	justify-items: center;
}

/* Десктоп: 4 карточки в ряд */
@media (min-width: 992px) {
	.excursions-list {
		grid-template-columns: repeat(4, 1fr);
		padding: 20px;
		justify-items: stretch;
	}
}

/* Основная карточка */
.excursion-card {
	width: 327px;
	height: 631px;
	padding: 14px;
	background: #FFFFFF;
	border-radius: 32px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	opacity: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-family: 'HelveticaNeueCyr', sans-serif;
}

/* Контейнер изображения */
.image-container {
	position: relative;
	width: 299px;
	height: 293px;
	border-radius: 22px;
	overflow: hidden;
	margin: 0 auto;
}

/* Изображение */
.card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 22px;
	opacity: 1;
}

/* Иконка "избранное" */

	.excursion-wish-icon {
		position: absolute;
		top: 17px;
		right: 17px;
		width: 20px;
		height: 20px;
		opacity: 1;
		cursor: pointer;
		box-sizing: content-box;
		padding: 9px 9px 8px 9px;
		border-radius: 50px;
		background-color: white;
	}

/* Название и цена */
.title-price {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 8px;
}

.excursion-title {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 114%;
	letter-spacing: -0.36px;
	color: #242424;
	margin: 0;
	max-width: 212px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	word-wrap: break-word;
}

.price {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-size: 31px;
	line-height: 120%;
	color: #24A59E;
	text-align: right;
	margin-left: 8px;
}

/* Описание */
.description {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 20px;
	color: #222222;
	margin: 8px 0;
}

/* Ссылка "Читать дальше" */
.read-more {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 400;
	font-size: 14px;
	color: #EE684A;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 12px;
}

.excursions-arrow-icon {
	width: 9px;
	height: 6px;
	opacity: 1;
}

/* Блоки с иконками */
.feature-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 16px;
}

.feature-item {
	width: 67px;
	height: 70px;
	border-radius: 13px;
	padding: 13px 18px 12px 18px;
	background: #F7F7F7;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	box-sizing: border-box;
}

.feature-icon {
	width: 24px;
	height: 24px;
	opacity: 1;
}

.feature-text {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-size: 9.5px;
	font-weight: 400;
	color: #222222;
	margin: 0;
	text-align: center;
}

/****Карточки блога******/

/* Контейнер блога */
.blog-container {
	padding: 20px 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

/* Слайдер — горизонтальная прокрутка */
.blog-slider {
	display: grid;
	grid-template-columns: repeat(4, 253px);
	gap: 10px;
	width: 100%;
	max-width: 1052px; /* 4*253 + 3*20 = 1012 + отступы */
	scroll-snap-type: x mandatory;
	overflow-x: auto;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	justify-content: center; /* Центрирует сетку на десктопе */
}

.blog-slider::-webkit-scrollbar {
	display: none;
}

/* Карточка */
.blog-card {
	width: 253px;
	height: 301px;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	opacity: 1;
	flex-shrink: 0;
	scroll-snap-align: center; /* Привязка к центру при прокрутке */

}

/* Фоновое изображение */
.blog-image {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

/* Оверлей */
.overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(179.86deg, rgba(255, 255, 255, 0) 53.35%, rgba(17, 21, 41, 0.595) 79.3%);
	z-index: 2;
	pointer-events: none;
}

/* Контент */
.blog-content {
	position: absolute;
	bottom: 0;
	left: 16px;
	width: 221px;
	padding: 16px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 6px;
	color: #FFFFFF;
	z-index: 3;
}

.blog-title {
	font-family:'HelveticaNeueCyr', sans-serif;
	font-weight: 550;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0;
	color: #FFFFFF;
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.blog-date {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-size: 10px;
	line-height: 10px;
	color: #FFFFFF;
	margin: 0;
	height: 10px;
}

.blog-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 24px;
	gap: 8px;
}

.author {
	display: flex;
	align-items: center;
	gap: 6px;
}

.avatar {
	
    width: 22px;
    height: 20px;
    /* border-radius: 50%; */
    object-fit: cover;
}}

.author-name {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 600;
	font-size: 10px;
	line-height: 10px;
	letter-spacing: 0.2px;
	text-transform: capitalize;
	color: #FFFFFF;
	white-space: nowrap;
}

.time {
	display: flex;
	align-items: center;
	gap: 4px;
}

.clock-icon {
	width: 10px;
	height: 10px;
	opacity: 1;
	filter: brightness(10);
}

.read-time {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 600;
	font-size: 10px;
	line-height: 10px;
	letter-spacing: 0.2px;
	text-transform: capitalize;
	color: #FFFFFF;
}

/* Мобильные устройства — активируем листалку с центрированием */
@media (max-width: 991px) {
	.blog-container {
		padding: 20px 0;
		overflow-x: hidden;
	}

	.blog-slider {
		display: flex; /* Переключаем на flex для лучшего контроля прокрутки */
		width: 100%;
		max-width: none;
		justify-content: flex-start; /* Теперь центрируем через прокрутку */
		scroll-snap-type: x mandatory;
		gap: 10px;
		padding-left: calc(50% - 126.5px); /* Центрируем первую карточку при загрузке */
		padding-right: calc(50% - 126.5px);
	}

	.blog-card {
		scroll-snap-align: center;
		margin: 0;
	}

	/* Скрываем все, кроме центра */
	.blog-slider::before,
	.blog-slider::after {
		content: '';
		flex: 1;
		min-width: calc(50vw - 126.5px);
		pointer-events: none;
	}
}


/**************карточки похожих туров**********/
.similar-tour-card {
	width: 342px;
	height: 116px;
	background: #FFFFFF;
	border-radius: 16px;
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

.img-column {
	position: absolute;
	top: 11px;
	left: 9px;
	width: 90px;
	height: 90px;
}

.img-column img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: cover;
}

.text-column {
	position: absolute;
	top: 26px;
	left: 110px;
	width: 124px;
}

.text-column .title {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	color: #121212;
	margin: 0 0 6px 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.geo-block {
	display: flex;
	align-items: center;
	width: 90px;
	height: 17px;
}

.geo-block img {
	width: 12px;
	height: 12px;
	margin-right: 4px;
}

.geo-block span {
	font-family:'HelveticaNeueCyr', sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 100%;
	color: #6F7789;
}

.price-column {
	position: absolute;

	left: 261px;
	width: 70px;
	height: 62px;
	background: #24A59E;
	border-bottom-left-radius: 14px;
	border-bottom-right-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.price-column .price {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1.2;
	text-align: center;
	color: #FFFFFF;
	margin: 0;
}
@media (max-width: 767.98px) {
	.swiper-button-next,.swiper-button-prev{
		display:none;
	}
}
/*************ГОРОДА ЛИСТАЛКА*********/
/* Контейнер слайдера */
.slider-container {
	padding: 20px 0;
	overflow: hidden;
}

/* Обёртка для карточек */
.slider-wrapper {
	display: flex;
	flex-direction: row;
	gap:12px;
	width: max-content;
	padding-left: 16px;
	padding-right: 16px;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.slider-wrapper::-webkit-scrollbar {
	display: none;
}

/* Карточка локации */
.location-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	flex: none;
}

/* Картинка */
.location-img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	object-fit: cover;
	margin-bottom: 8px;
}

/* Название */
.location-name {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 550;
	font-size: 14px;
	line-height: 112%;
	letter-spacing: 0;
	text-align: center;
	color: #121212;
	margin: 0;
	white-space: nowrap;
}
/* Мобилка: горизонтальный слайдер, видно только 4 карточки */
@media (max-width: 991px) {
	.slider-container {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	/* Картинка */
	.location-img {
		width: 60px;
		height: 60px;
	}

	.slider-wrapper {
		width: auto;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-left: 16px;
		padding-right: 16px;
		gap: 5px;
	}

	.location-item {
		scroll-snap-align: start;
		min-width: 80px; /* 60px (img) + отступы */
	}

	/* Скрываем лишнее после 4-й карточки визуально (опционально) */
	.slider-wrapper::before,
	.slider-wrapper::after {
		content: '';
		flex: 0 0 16px;
	}
}
/* Десктоп: все карточки в ряд, центрированы */
@media (min-width: 992px) {
	.slider-container {
		display: flex;
		justify-content: center;
	}

	.slider-wrapper {
		display: flex;
		justify-content: flex-start;
		width: fit-content;
		max-width: 1200px;
		gap: 21px;
		padding: 0;
		overflow: visible;
		scroll-snap-type: none;
	}

	.location-item {
		scroll-snap-align: none;
		min-width: auto;
	}
}
.swiper-slide {
	width: auto !important; /* Отключаем фиксированную ширину */
	margin-right: 1rem;
}




/* Обёртка заголовка — визуальный блок */
.accordion-header {
	height: 56px;
	border-radius: 16px;
	background: #FFFFFF;
	/*border: 1px solid #e0e0e0;*/
	margin: 8px 0;
	overflow: hidden;
	padding: 0; /* Убираем padding здесь — он будет у кнопки */
	box-sizing: border-box;
}

/* Кнопка — должна заполнять весь .accordion-header */
.accordion-button {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 12px !important; /* Теперь padding у кнопки */
	gap: 12px;
	font-family: 'HelveticaNeueCyr', sans-serif !important;
	font-weight: 400 !important;
	font-style: normal !important;
	font-size: 14px !important;
	line-height: 22px !important;
	letter-spacing: 0 !important;
	color: #000000 !important;
	text-align: left;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	transition: none !important;
	white-space: normal; /* Разрешаем перенос, если текст длинный */
}

/* Убираем стандартный фокус и тени */
.accordion-button:focus {
	z-index: 3;
	outline: none;
	box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
	color: #000000 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* При свёрнутом состоянии — не меняем цвет */
.accordion-button::after {
	display: block; /* Показываем стрелку */
	content: "" !important;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 10px !important;
	width: 10px !important;
	height: 10px !important;
	margin-left: auto !important;
	transition: transform 0.3s ease !important;
	transform: rotate(0deg) !important;
}

/* При открытом состоянии — стрелка вниз */
.accordion-button:not(.collapsed)::after {
	transform: rotate(180deg) !important;
}

/* Стили для тела ответа */
.accordion-body {
	font-family: 'HelveticaNeueCyr', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 22px;
	color: #000000;
	padding: 16px 12px 24px;
}

/* Убираем лишние границы */
.accordion-item {
	background: transparent;
	border: none;
	border-bottom: none;
}



.blog-card {
	overflow: hidden; /* Обязательно: обрезает увеличенный фон */
	position: relative;

}

.blog-card .blog-image {

	background-size: cover;
	background-position: center;
	transition: background-size 0.5s ease; /* Плавное изменение фона */

}

/* При наведении на ВСЮ карточку — увеличиваем фон */
.blog-card-link:hover .blog-image {

	background-size: cover 110%; /* Увеличиваем фон на 10% */
	background-repeat:no-repeat
}


/*****REVIEWS****/

.reviews_list{
	padding-top:44px;
	gap: 26px;
}
.reviews_card {
	width:310px!important;
	box-shadow:none;
}
.reviews_user_name{
	font-weight: 700;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0;
	color:#121212;
	padding-bottom: 8px;
}
.reviews_data{
	font-weight: 550;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: 0;
	color:#C4C4C4;
	text-align: end;
}
.average_rating img{
	padding-left: 15px;
	height:18px;
	width:auto;
}
.reviews_user_rating, .average_rating{
padding-right: 5px;
font-weight: 600;
font-size: 24px;
line-height: 100%;
letter-spacing: 0;
color:#6F7789;
}
.reviews_text{
    font-weight: 400;

    font-size: 12px;
    line-height: 120%;
    letter-spacing: 0;
    color: #5D5D5D;
    padding-top: 10px;
}
	.reviews_card{
		min-height:110px;
}

.swiper-pagination{
	display:none;
}

.tourBtnGrup img.action-buttonw{
	width: 50px;
    height: 50px;
    padding: 10px;
 	top:0;
	right:0px;
    position: relative;
    background-color: var(--primary-color);
   margin-bottom:2px;
	margin-top:-2px;
    border-radius: 8px;
    
}
.tourBtnGrup a.action-button
{
	width: 250px;
}
.tourBtnGrup img.action-buttonw::after{
	 background-color:#fff;
}











