/* "Цены на соседние даты" — scoped block (nearby-dates__*), no generic
   .card/.item/.slider/.date/.price classes used anywhere, so nothing on the
   rest of the site can be affected by this stylesheet. */
.nearby-dates {
	margin: 0 0 24px;
	padding: 16px;
	background: #F7F7F7;
	border-radius: 12px;
	box-sizing: border-box;
}
.nearby-dates__title {
	font-size: 16px;
	font-weight: 700;
	color: #000;
	margin: 0 0 12px;
}
.nearby-dates__row {
	position: relative;
}
/* Native scrollLeft is the single source of truth for slider position on
   both desktop and mobile (see nearby_dates.js) — no JS transform anywhere,
   so there is only one mechanism to keep in sync. overflow-y stays visible
   so the "Ваши даты" badge's slight negative top offset is never clipped. */
.nearby-dates__viewport {
	overflow-x: auto;
	overflow-y: visible;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 0 30px;
	box-sizing: border-box;
}
.nearby-dates__viewport::-webkit-scrollbar {
	display: none;
}
.nearby-dates__track {
	display: flex;
	gap: 10px;
}
.nearby-dates__card {
	flex: 0 0 150px;
	width: 150px;
	box-sizing: border-box;
	background: #fff;
	border: 1.5px solid #E5E5E5;
	border-radius: 10px;
	padding: 12px 12px 10px;
	cursor: pointer;
	position: relative;
	transition: border-color .15s;
}
.nearby-dates__card:hover {
	border-color: #FFCB07;
}
.nearby-dates__card--current {
	border-color: #FFCB07;
	border-width: 2px;
	cursor: default;
	background: #FFFDF3;
}
.nearby-dates__badge {
	position: absolute;
	top: -6px;
	left: 10px;
	background: #FFCB07;
	color: #000;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	padding: 4px 8px;
	border-radius: 20px;
	white-space: nowrap;
}
.nearby-dates__dates {
	font-size: 13px;
	color: #000;
	font-weight: 600;
	margin-bottom: 6px;
}
.nearby-dates__price {
	font-size: 16px;
	font-weight: 700;
	color: #000;
	margin-bottom: 6px;
}
.nearby-dates__weekday {
	font-size: 12px;
	color: #9B9B9B;
}
.nearby-dates__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	background: #fff;
	cursor: pointer;
	padding: 0;
}
.nearby-dates__arrow--prev {
	left: -6px;
}
.nearby-dates__arrow--next {
	right: -6px;
}
.nearby-dates__arrow:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
}
.nearby-dates__arrow--prev:after {
	transform: translate(-30%, -50%) rotate(-135deg);
}
.nearby-dates__arrow--next:after {
	transform: translate(-70%, -50%) rotate(45deg);
}

@media (max-width: 820px) {
	/* !important: JS never toggles arrows on mobile (early-returns in
	   isMobile() checks), but this guards against any leftover inline
	   display from a resize that crossed the breakpoint mid-animation. */
	.nearby-dates__arrow {
		display: none !important;
	}
	.nearby-dates__viewport {
		padding: 0;
		scroll-snap-type: x proximity;
	}
	.nearby-dates__card {
		flex-basis: 42%;
		width: 42%;
		scroll-snap-align: start;
	}
}
@media (max-width: 480px) {
	.nearby-dates {
		padding: 12px;
	}
	.nearby-dates__card {
		flex-basis: 46%;
		width: 46%;
		padding: 10px 10px 8px;
	}
	.nearby-dates__price {
		font-size: 14px;
	}
}
