/*
 * AirSale mobile destination cards.
 *
 * The desktop timeline remains owned by destination-images.css. This file is
 * intentionally limited to phone widths and to maps enhanced by the matching
 * JavaScript class.
 */
.airsale-mobile-city-card,
.airsale-mobile-map-intro {
	display: none;
}

@media (max-width: 560px) {
	body.home #year-map.site-section.airsale-mobile-cards-active {
		--airsale-card-blue: #1687e8;
		--airsale-card-text: #18232c;
		--airsale-card-muted: #5f6c76;
		--airsale-card-border: #dfe6ec;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 24px 0 30px !important;
		background: #f6f8fa !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active > .container {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding-top: 0 !important;
		padding-right: 16px !important;
		padding-bottom: 0 !important;
		padding-left: 16px !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .section-head {
		display: block !important;
		margin: 0 0 18px !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .section-head .section-eyebrow,
	body.home #year-map.site-section.airsale-mobile-cards-active .section-head h2 ~ p:not(.airsale-mobile-map-intro),
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__summary,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__mobile-hint,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__period-legend,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__coverage,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__axis,
	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-region-banner {
		display: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .section-head > div {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .section-head h2 {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		color: var(--airsale-card-text) !important;
		font-size: 28px !important;
		font-weight: 800 !important;
		line-height: 1.25 !important;
		letter-spacing: -.02em !important;
		text-align: left !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-map-intro {
		display: block !important;
		margin: 7px 0 0 !important;
		padding: 0 !important;
		color: var(--airsale-card-muted) !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1.5 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__scroll,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__inner {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-group {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 20px !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-title {
		display: flex !important;
		position: static !important;
		inset: auto !important;
		align-items: center !important;
		width: auto !important;
		min-height: 0 !important;
		margin: 0 0 10px !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		color: #126db7 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-title > span {
		display: inline-flex !important;
		align-items: center !important;
		gap: 6px !important;
		width: auto !important;
		margin: 0 !important;
		padding: 6px 10px !important;
		background: #eaf4fe !important;
		border: 0 !important;
		border-radius: 999px !important;
		color: #126db7 !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-title > small {
		display: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-flag {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__country-flag img.emoji {
		display: block !important;
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		object-fit: contain !important;
		filter: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__arrival-group {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		margin: 0 0 12px !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__arrival-group.airsale-mobile-card-ready > .sale-year-map__arrival-title,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__arrival-group.airsale-mobile-card-ready > .airsale-origin-column,
	body.home #year-map.site-section.airsale-mobile-cards-active .sale-year-map__arrival-group.airsale-mobile-card-ready > .sale-year-map__origin-label {
		display: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		border: 1px solid var(--airsale-card-border) !important;
		border-radius: 12px !important;
		box-shadow: 0 5px 18px rgba(25, 48, 67, .08) !important;
		box-sizing: border-box !important;
		color: var(--airsale-card-text) !important;
		text-decoration: none !important;
		overflow: hidden !important;
		-webkit-tap-highlight-color: rgba(22, 135, 232, .12);
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card:hover {
		border-color: #bfd8ec !important;
		box-shadow: 0 7px 22px rgba(25, 48, 67, .12) !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card:active {
		transform: translateY(1px);
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card:focus-visible {
		outline: 3px solid var(--airsale-card-blue) !important;
		outline-offset: 3px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__media {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		aspect-ratio: 16 / 9 !important;
		margin: 0 !important;
		background: linear-gradient(135deg, #dcebf5 0%, #edf4f8 100%) !important;
		border-radius: 11px 11px 0 0 !important;
		overflow: hidden !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, transparent 58%, rgba(8, 27, 43, .13));
		pointer-events: none;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__media.is-placeholder::after {
		background: linear-gradient(135deg, rgba(22, 135, 232, .12), transparent) !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__media img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		margin: 0 !important;
		object-fit: cover !important;
		object-position: center !important;
		filter: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__body {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) max-content !important;
		grid-template-areas:
			"city cta"
			"route route"
			"fare fare"
			"period period" !important;
		align-items: center !important;
		column-gap: 10px !important;
		padding: 10px 14px 11px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__city {
		display: block !important;
		grid-area: city !important;
		min-width: 0 !important;
		margin: 0 !important;
		color: var(--airsale-card-text) !important;
		font-size: 20px !important;
		font-weight: 800 !important;
		line-height: 1.35 !important;
		letter-spacing: -.01em !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
		white-space: nowrap !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__route-context {
		display: flex !important;
		grid-area: route !important;
		align-items: center !important;
		gap: 7px !important;
		min-width: 0 !important;
		margin-top: 3px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__origin {
		min-width: 0 !important;
		color: #364f5d !important;
		font-size: 14px !important;
		font-weight: 750 !important;
		line-height: 1.35 !important;
		overflow-wrap: anywhere !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__fare-type {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		min-height: 22px !important;
		padding: 2px 8px !important;
		border-radius: 999px !important;
		background: #eaf4fe !important;
		color: #126db7 !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__fare-line {
		display: grid !important;
		grid-area: fare !important;
		grid-template-columns: minmax(0, 1fr) minmax(96px, auto) !important;
		grid-template-areas:
			"price-context price-context"
			"price airline" !important;
		align-items: center !important;
		gap: 3px 8px !important;
		min-width: 0 !important;
		margin-top: 4px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__price-context {
		display: block !important;
		grid-area: price-context !important;
		color: #5a6d78 !important;
		font-size: 11px !important;
		font-weight: 750 !important;
		line-height: 1.2 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__price {
		display: inline-flex !important;
		grid-area: price !important;
		align-items: baseline !important;
		flex: 0 0 auto !important;
		min-width: 0 !important;
		color: #0b79cf !important;
		font-variant-numeric: tabular-nums !important;
		white-space: nowrap !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__price-main {
		font-size: clamp(28px, 8vw, 32px) !important;
		font-weight: 850 !important;
		line-height: 1.05 !important;
		letter-spacing: -.035em !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__price-suffix {
		margin-left: 2px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 1 48px !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 48px !important;
		height: 24px !important;
		max-height: 24px !important;
		margin: 0 !important;
		padding: 1px 4px !important;
		background: #fff !important;
		border: 1px solid #e2e8ed !important;
		border-radius: 4px !important;
		box-sizing: border-box !important;
		filter: none !important;
		overflow: hidden !important;
	}

	/* Cached 1.4.5 markup placed the airline directly in the fare row. */
	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__fare-line > .airsale-mobile-city-card__airline {
		grid-area: airline !important;
		justify-self: end !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline-info {
		display: flex !important;
		grid-area: airline !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 5px !important;
		min-width: 0 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline-name {
		display: block !important;
		min-width: 0 !important;
		max-width: 72px !important;
		color: #4e626e !important;
		font-size: 10.5px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
		text-align: right !important;
		overflow-wrap: anywhere !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 56px !important;
		max-height: 20px !important;
		margin: 0 !important;
		object-fit: contain !important;
		object-position: center !important;
		filter: none !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__period {
		display: flex !important;
		grid-area: period !important;
		align-items: center !important;
		gap: 7px !important;
		min-width: 0 !important;
		margin: 8px 0 0 !important;
		color: #485761 !important;
		font-size: 14px !important;
		font-weight: 650 !important;
		font-variant-numeric: tabular-nums !important;
		line-height: 1.4 !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__period::before {
		content: "";
		display: block;
		flex: 0 0 16px;
		width: 16px;
		height: 16px;
		background: var(--airsale-card-blue);
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 11h18'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__period-date {
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__cta {
		display: flex !important;
		grid-area: cta !important;
		align-items: center !important;
		justify-content: flex-end !important;
		align-self: center !important;
		gap: 5px !important;
		min-height: 44px !important;
		margin: 3px 0 -5px !important;
		color: #126db7 !important;
		font-size: 14px !important;
		font-weight: 800 !important;
		line-height: 1.3 !important;
		white-space: nowrap !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__cta-arrow {
		font-size: 17px !important;
		line-height: 1 !important;
		transition: transform .16s ease;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card:hover .airsale-mobile-city-card__cta-arrow {
		transform: translateX(2px);
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-card-sr-only {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		margin: -1px !important;
		padding: 0 !important;
		clip: rect(0, 0, 0, 0) !important;
		clip-path: inset(50%) !important;
		border: 0 !important;
		overflow: hidden !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 340px) {
	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__body {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas:
			"city"
			"route"
			"fare"
			"period"
			"cta" !important;
		column-gap: 7px !important;
		padding-right: 12px !important;
		padding-left: 12px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__cta {
		display: flex !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__fare-line {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas:
			"price-context"
			"price"
			"airline" !important;
		gap: 4px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline-info {
		justify-content: flex-start !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__price-main {
		font-size: 29px !important;
	}

	body.home #year-map.site-section.airsale-mobile-cards-active .airsale-mobile-city-card__airline {
		max-width: 48px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.airsale-mobile-city-card,
	.airsale-mobile-city-card__cta-arrow {
		transition: none !important;
	}
}
