/*
 * Popular destinations v93.6.
 * Titles and city buttons use normal document flow inside one bottom panel.
 */

.nsv-home-destinations .nsv-destination-card {
	min-height: 320px !important;
}

.nsv-home-destinations .nsv-destination-card > div {
	position: absolute !important;
	right: 18px !important;
	bottom: 18px !important;
	left: 18px !important;
	z-index: 2 !important;
	display: grid !important;
	grid-template-rows: minmax(64px, auto) 73px !important;
	gap: 10px !important;
	width: auto !important;
	height: auto !important;
	align-content: end !important;
	text-align: center !important;
}

.nsv-home-destinations .nsv-destination-card h3 {
	position: static !important;
	display: flex !important;
	min-width: 0 !important;
	min-height: 64px !important;
	max-height: none !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 8px !important;
	color: #fff !important;
	font-size: clamp(22px, 1.65vw, 28px) !important;
	line-height: 1.05 !important;
	text-align: center !important;
	text-wrap: balance !important;
	text-shadow: 0 2px 14px rgba(0, 0, 0, .58) !important;
	pointer-events: none !important;
}

.nsv-home-destinations .nsv-destination-card p {
	position: static !important;
	display: grid !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 73px !important;
	max-height: 73px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-template-rows: repeat(2, 34px) !important;
	grid-auto-flow: row !important;
	grid-auto-rows: 34px !important;
	align-items: stretch !important;
	justify-items: stretch !important;
	gap: 5px 6px !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	transform: none !important;
}

.nsv-home-destinations .nsv-destination-card p a {
	display: flex !important;
	position: static !important;
	inset: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	border: 1px solid rgba(255, 255, 255, .58) !important;
	border-radius: 9px !important;
	background: rgba(5, 42, 46, .48) !important;
	margin: 0 !important;
	padding: 3px 6px !important;
	color: #fff !important;
	font-size: clamp(8px, .67vw, 10px) !important;
	font-weight: 800 !important;
	line-height: 1.05 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-shadow: 0 1px 7px rgba(0, 0, 0, .52) !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	backdrop-filter: blur(7px) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .11) !important;
	transform: none !important;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.nsv-home-destinations .nsv-destination-card p a::before,
.nsv-home-destinations .nsv-destination-card p a::after {
	display: none !important;
	content: none !important;
}

.nsv-home-destinations .nsv-destination-card p a:hover,
.nsv-home-destinations .nsv-destination-card p a:focus,
.nsv-home-destinations .nsv-destination-card p a:focus-visible {
	inset: auto !important;
	border-color: rgba(255, 255, 255, .92) !important;
	background: rgba(7, 95, 103, .8) !important;
	color: #fff !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 5px 14px rgba(0, 0, 0, .14) !important;
	transform: none !important;
}

.nsv-home-destinations .nsv-destination-card p a:focus-visible {
	outline: 2px solid rgba(255, 255, 255, .94) !important;
	outline-offset: 1px !important;
}

@media (max-width: 767px) {
	.nsv-home-destinations .nsv-destination-card {
		min-height: 290px !important;
	}

	.nsv-home-destinations .nsv-destination-card > div {
		right: 14px !important;
		bottom: 14px !important;
		left: 14px !important;
		grid-template-rows: minmax(58px, auto) 67px !important;
		gap: 9px !important;
	}

	.nsv-home-destinations .nsv-destination-card h3 {
		min-height: 58px !important;
		font-size: 22px !important;
	}

	.nsv-home-destinations .nsv-destination-card p {
		height: 67px !important;
		max-height: 67px !important;
		grid-template-rows: repeat(2, 31px) !important;
		grid-auto-rows: 31px !important;
		gap: 5px !important;
	}

	.nsv-home-destinations .nsv-destination-card p a {
		height: 31px !important;
		min-height: 31px !important;
		max-height: 31px !important;
		padding: 3px 4px !important;
		font-size: 9px !important;
	}
}

@media (max-width: 520px) {
	.nsv-home-destinations .nsv-destination-card {
		min-height: 300px !important;
	}

	.nsv-home-destinations .nsv-destination-card > div {
		grid-template-rows: minmax(60px, auto) 72px !important;
	}

	.nsv-home-destinations .nsv-destination-card h3 {
		min-height: 60px !important;
		font-size: 21px !important;
	}

	.nsv-home-destinations .nsv-destination-card p {
		height: 72px !important;
		max-height: 72px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-template-rows: repeat(2, 33px) !important;
		grid-auto-rows: 33px !important;
	}

	.nsv-home-destinations .nsv-destination-card p a {
		height: 33px !important;
		min-height: 33px !important;
		max-height: 33px !important;
	}
}
