/*
 * Shared service-page hero treatment.
 * Each page keeps its original landscape source on desktop and receives a
 * dedicated 4:5 source on mobile through ik9-navigation-heroes-1.6.0.js.
 */
:is(
	#ik9-behavior,
	#ik9-private-training,
	#ik9-puppy-training,
	#ik9-obedience,
	#ik9-board-train,
	#ik9-service-dog,
	#ik9-sport,
	#ik9-odor,
	#ik9-protection
) .ik9-hero-media {
	position: relative !important;
	display: block !important;
	isolation: isolate !important;
	min-height: 560px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #111 !important;
	box-shadow: none !important;
}

:is(
	#ik9-behavior,
	#ik9-private-training,
	#ik9-puppy-training,
	#ik9-obedience,
	#ik9-board-train,
	#ik9-service-dog,
	#ik9-sport,
	#ik9-odor,
	#ik9-protection
) .ik9-hero-media img {
	position: absolute !important;
	z-index: 0 !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

:is(
	#ik9-behavior,
	#ik9-private-training,
	#ik9-puppy-training,
	#ik9-obedience,
	#ik9-board-train,
	#ik9-service-dog,
	#ik9-sport,
	#ik9-odor,
	#ik9-protection
) .ik9-hero-media::before {
	display: none !important;
	content: none !important;
}

:is(
	#ik9-behavior,
	#ik9-private-training,
	#ik9-puppy-training,
	#ik9-obedience,
	#ik9-board-train,
	#ik9-service-dog,
	#ik9-sport,
	#ik9-odor,
	#ik9-protection
) .ik9-hero-media::after {
	position: absolute !important;
	z-index: 2 !important;
	inset: auto 0 0 !important;
	display: flex !important;
	align-items: flex-end !important;
	min-height: 150px !important;
	padding: 0 clamp(26px, 4vw, 44px) 30px !important;
	border: 0 !important;
	background: linear-gradient(
		to bottom,
		rgba(9, 9, 9, 0) 0%,
		rgba(9, 9, 9, 0.22) 32%,
		rgba(9, 9, 9, 0.9) 100%
	) !important;
	color: #fff !important;
	content: attr(data-ik9-hero-caption) !important;
	font-size: 0.79rem !important;
	font-weight: 850 !important;
	letter-spacing: 0.105em !important;
	line-height: 1.35 !important;
	text-transform: uppercase !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.72) !important;
	pointer-events: none !important;
}

#ik9-behavior .ik9-hero-media img {
	object-position: 66% center !important;
}

#ik9-private-training .ik9-hero-media img {
	object-position: 58% center !important;
}

#ik9-puppy-training .ik9-hero-media img,
#ik9-obedience .ik9-hero-media img {
	object-position: 68% center !important;
}

#ik9-board-train .ik9-hero-media img,
#ik9-service-dog .ik9-hero-media img {
	object-position: 72% center !important;
}

#ik9-sport .ik9-hero-media img,
#ik9-odor .ik9-hero-media img,
#ik9-protection .ik9-hero-media img {
	object-position: 66% center !important;
}

@media (min-width: 768px) and (max-width: 980px) {
	:is(
		#ik9-behavior,
		#ik9-private-training,
		#ik9-puppy-training,
		#ik9-obedience,
		#ik9-board-train,
		#ik9-service-dog,
		#ik9-sport,
		#ik9-odor,
		#ik9-protection
	) .ik9-hero-media {
		height: min(68vw, 550px) !important;
		min-height: 480px !important;
	}
}

@media (max-width: 767px) {
	:is(
		#ik9-behavior,
		#ik9-private-training,
		#ik9-puppy-training,
		#ik9-obedience,
		#ik9-board-train,
		#ik9-service-dog,
		#ik9-sport,
		#ik9-odor,
		#ik9-protection
	) .ik9-hero-grid {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		min-height: 0 !important;
	}

	:is(
		#ik9-behavior,
		#ik9-private-training,
		#ik9-puppy-training,
		#ik9-obedience,
		#ik9-board-train,
		#ik9-service-dog,
		#ik9-sport,
		#ik9-odor,
		#ik9-protection
	) .ik9-hero-media {
		height: clamp(430px, 125vw, 470px) !important;
		min-height: 430px !important;
	}

	:is(
		#ik9-behavior,
		#ik9-private-training,
		#ik9-puppy-training,
		#ik9-obedience,
		#ik9-board-train,
		#ik9-service-dog,
		#ik9-sport,
		#ik9-odor,
		#ik9-protection
	) .ik9-hero-media img {
		object-position: center center !important;
	}

	:is(
		#ik9-behavior,
		#ik9-private-training,
		#ik9-puppy-training,
		#ik9-obedience,
		#ik9-board-train,
		#ik9-service-dog,
		#ik9-sport,
		#ik9-odor,
		#ik9-protection
	) .ik9-hero-media::after {
		min-height: 132px !important;
		padding: 0 20px 20px !important;
		font-size: clamp(0.68rem, 2.8vw, 0.76rem) !important;
		letter-spacing: 0.075em !important;
	}
}
