/* -----------------------------------------------------------------------------
 * Walker Photo Service Card
 * -------------------------------------------------------------------------- */

.walker-photo-service-card{
	--wpsc-overlay-bg: rgba(23, 35, 40, 0.78);
	--wpsc-text-color: #fff;
	--wpsc-radius: 28px;
	--wpsc-ease: cubic-bezier(.2,.72,.19,1);

	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	border-radius: var(--wpsc-radius);
	overflow: hidden;
	isolation: isolate;
	text-decoration: none !important;
	color: var(--wpsc-text-color) !important;
	background: #172328;
	box-shadow: 0 22px 54px rgba(10, 20, 26, 0.13);
	transform: translateZ(0);
	transition:
		transform .42s var(--wpsc-ease),
		box-shadow .42s var(--wpsc-ease);
}

.walker-photo-service-card--ratio-16_10{ aspect-ratio: 16 / 10; }
.walker-photo-service-card--ratio-16_9{ aspect-ratio: 16 / 9; }
.walker-photo-service-card--ratio-3_2{ aspect-ratio: 3 / 2; }
.walker-photo-service-card--ratio-4_3{ aspect-ratio: 4 / 3; }
.walker-photo-service-card--ratio-1_1{ aspect-ratio: 1 / 1; }

.walker-photo-service-card__media,
.walker-photo-service-card__shade,
.walker-photo-service-card__content{
	position: absolute;
}

.walker-photo-service-card__media{
	inset: 0;
	z-index: 1;
	overflow: hidden;
}

.walker-photo-service-card__img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.01);
	filter: blur(0) grayscale(0) saturate(1) brightness(1);
	transition:
		transform .72s var(--wpsc-ease),
		filter .72s var(--wpsc-ease);
	will-change: transform, filter;
}

.walker-photo-service-card--pos-center_center .walker-photo-service-card__img{ object-position: center center; }
.walker-photo-service-card--pos-center_top .walker-photo-service-card__img{ object-position: center top; }
.walker-photo-service-card--pos-center_bottom .walker-photo-service-card__img{ object-position: center bottom; }
.walker-photo-service-card--pos-left_center .walker-photo-service-card__img{ object-position: left center; }
.walker-photo-service-card--pos-right_center .walker-photo-service-card__img{ object-position: right center; }

.walker-photo-service-card__shade{
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background:
		linear-gradient(to top, rgba(5, 10, 14, .40) 0%, rgba(5, 10, 14, .10) 46%, rgba(5, 10, 14, 0) 76%),
		linear-gradient(135deg, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 34%, rgba(4, 12, 18, .12) 100%);
	transition: opacity .48s var(--wpsc-ease), background .48s var(--wpsc-ease);
}

.walker-photo-service-card__content{
	left: clamp(14px, 5.5%, 24px);
	right: clamp(14px, 5.5%, 24px);
	bottom: clamp(14px, 5.5%, 24px);
	z-index: 3;
	display: block;
	padding: clamp(14px, 5.5%, 22px) clamp(15px, 6%, 24px);
	border-radius: 20px;
	background: var(--wpsc-overlay-bg);
	border: 1px solid rgba(255,255,255,.16);
	box-shadow: 0 18px 38px rgba(0,0,0,.18);
	backdrop-filter: blur(14px) saturate(1.08);
	-webkit-backdrop-filter: blur(14px) saturate(1.08);
	transform: translateY(0);
	transition:
		background .42s var(--wpsc-ease),
		border-color .42s var(--wpsc-ease),
		box-shadow .42s var(--wpsc-ease),
		padding .42s var(--wpsc-ease),
		transform .42s var(--wpsc-ease);
}

.walker-photo-service-card__title{
	display: block;
	margin: 0;
	font-family: inherit;
	font-size: clamp(1rem, 1.12vw, 1.15rem);
	line-height: 1.12;
	font-weight: 650;
	letter-spacing: -.02em;
	color: var(--wpsc-text-color);
	text-wrap: balance;
	transform: translateY(0);
	transition:
		font-size .42s var(--wpsc-ease),
		letter-spacing .42s var(--wpsc-ease),
		transform .42s var(--wpsc-ease);
}

.walker-photo-service-card__text{
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	max-height: 0;
	margin-top: 0;
	font-size: clamp(.86rem, .94vw, .98rem);
	line-height: 1.55;
	font-weight: 400;
	letter-spacing: 0;
	color: color-mix(in srgb, var(--wpsc-text-color) 84%, transparent);
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity .36s ease,
		transform .42s var(--wpsc-ease),
		max-height .42s var(--wpsc-ease),
		margin-top .42s var(--wpsc-ease);
}

.walker-photo-service-card:hover,
.walker-photo-service-card:focus-visible,
.walker-photo-service-card:focus-within{
	transform: translateY(-3px);
	box-shadow: 0 30px 70px rgba(10, 20, 26, 0.20);
}

.walker-photo-service-card:hover .walker-photo-service-card__img,
.walker-photo-service-card:focus-visible .walker-photo-service-card__img,
.walker-photo-service-card:focus-within .walker-photo-service-card__img{
	transform: scale(1.075);
	filter: blur(3.5px) grayscale(.42) saturate(.68) brightness(.82);
}

.walker-photo-service-card:hover .walker-photo-service-card__shade,
.walker-photo-service-card:focus-visible .walker-photo-service-card__shade,
.walker-photo-service-card:focus-within .walker-photo-service-card__shade{
	background:
		linear-gradient(to top, rgba(5, 10, 14, .62) 0%, rgba(5, 10, 14, .24) 52%, rgba(5, 10, 14, .06) 100%),
		linear-gradient(135deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,0) 34%, rgba(4, 12, 18, .22) 100%);
}

.walker-photo-service-card:hover .walker-photo-service-card__content,
.walker-photo-service-card:focus-visible .walker-photo-service-card__content,
.walker-photo-service-card:focus-within .walker-photo-service-card__content{
	padding-top: clamp(18px, 6.5%, 28px);
	padding-bottom: clamp(18px, 6.5%, 28px);
	border-color: rgba(255,255,255,.24);
	box-shadow: 0 22px 46px rgba(0,0,0,.22);
	transform: translateY(-2px);
}

.walker-photo-service-card:hover .walker-photo-service-card__title,
.walker-photo-service-card:focus-visible .walker-photo-service-card__title,
.walker-photo-service-card:focus-within .walker-photo-service-card__title{
	font-size: clamp(1.38rem, 1.72vw, 1.72rem);
	letter-spacing: -.045em;
	transform: translateY(-1px);
}

.walker-photo-service-card:hover .walker-photo-service-card__text,
.walker-photo-service-card:focus-visible .walker-photo-service-card__text,
.walker-photo-service-card:focus-within .walker-photo-service-card__text{
	max-height: 6em;
	margin-top: .72rem;
	opacity: .96;
	transform: translateY(0);
}

.walker-photo-service-card:focus-visible{
	outline: 3px solid rgba(0,165,177,.72);
	outline-offset: 4px;
}

.walker-photo-service-card:visited,
.walker-photo-service-card:hover,
.walker-photo-service-card:focus{
	color: var(--wpsc-text-color) !important;
	text-decoration: none !important;
}

@supports not (color: color-mix(in srgb, #fff 80%, transparent)){
	.walker-photo-service-card__text{
		color: rgba(255,255,255,.84);
	}
}

@media (max-width: 999.98px){
	.walker-photo-service-card{
		--wpsc-radius: 24px;
	}
}

@media (hover: none), (max-width: 767.98px){
	.walker-photo-service-card__img{
		filter: brightness(.9);
	}

	.walker-photo-service-card__content{
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.walker-photo-service-card__title{
		font-size: clamp(1.16rem, 5vw, 1.42rem);
	}

	.walker-photo-service-card__text{
		max-height: 6em;
		margin-top: .62rem;
		opacity: .94;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce){
	.walker-photo-service-card,
	.walker-photo-service-card__img,
	.walker-photo-service-card__shade,
	.walker-photo-service-card__content,
	.walker-photo-service-card__title,
	.walker-photo-service-card__text{
		transition: none !important;
	}
}
