/*
 * GS Salon - Luxury Profile Cards & Grid
 */

.gs-archive-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}

.gs-archive-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border-radius: 30px;
	overflow: hidden;
	isolation: isolate;
	transform-style: preserve-3d;
	will-change: transform;
}

.gs-archive-card__cover {
	position: relative;
	display: block;
	min-height: 156px;
	background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,248,240,.82));
	text-decoration: none;
	overflow: hidden;
}

.gs-archive-card__cover::before,
.gs-archive-card__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.gs-archive-card.has-cover .gs-archive-card__cover::before {
	background-image: var(--gs-card-cover-image);
	background-size: cover;
	background-position: center top;
	filter: blur(1px) saturate(1.05) contrast(.92);
	opacity: .46;
	transform: scale(1.08);
}

.gs-archive-card.has-cover .gs-archive-card__cover::after {
	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.05) 0%,
			rgba(248,239,228,.18) 30%,
			rgba(252,246,239,.56) 58%,
			rgba(255,251,246,.95) 100%
		),
		radial-gradient(circle at 82% 16%, rgba(191,156,96,.18), transparent 18%),
		linear-gradient(135deg, rgba(255,255,255,.08), transparent 34%, rgba(215,186,131,.12) 68%, transparent 100%);
}

.gs-archive-card.has-pattern .gs-archive-card__cover::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center top;
	opacity: .98;
	transform: scale(1.03);
}

.gs-archive-card.has-pattern .gs-archive-card__cover::after {
	background:
		linear-gradient(
			180deg,
			rgba(255,255,255,.00) 0%,
			rgba(252,246,239,.08) 22%,
			rgba(252,246,239,.30) 46%,
			rgba(255,250,245,.72) 70%,
			rgba(255,251,246,.96) 100%
		),
		radial-gradient(circle at 78% 14%, rgba(191,156,96,.16), transparent 18%);
}

/* Background Patterns */
.gs-pattern-1 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-1.webp'); }
.gs-pattern-2 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-2.webp'); }
.gs-pattern-3 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-3.webp'); }
.gs-pattern-4 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-4.webp'); }
.gs-pattern-5 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-5.webp'); }
.gs-pattern-6 .gs-archive-card__cover::before { background-image: url('../../images/salon/patterns/pattern-6.webp'); }

.gs-pattern-1 .gs-archive-card__cover::after,
.gs-pattern-2 .gs-archive-card__cover::after,
.gs-pattern-3 .gs-archive-card__cover::after,
.gs-pattern-4 .gs-archive-card__cover::after,
.gs-pattern-5 .gs-archive-card__cover::after,
.gs-pattern-6 .gs-archive-card__cover::after {
	box-shadow: inset 0 -36px 52px rgba(255,251,246,.90);
}

.gs-archive-card__badge {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 6px 10px;
	border-radius: 999px;
	color: #fffdf7;
	font-weight: 900;
	font-size: .76rem;
	letter-spacing: .04em;
	background: linear-gradient(135deg, #efd08b 0%, #c89b46 45%, #a8772e 100%);
	box-shadow:
		0 10px 22px rgba(159, 124, 68, .28),
		inset 0 1px 0 rgba(255, 246, 219, .42);
}

.gs-archive-card__body {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1 1 auto;
	padding: 0 18px 18px;
	min-height: 154px;
}

.gs-archive-card__avatar-link {
	display: flex;
	justify-content: center;
	text-decoration: none;
	position: relative;
	z-index: 4;
}

.gs-archive-card__top-offset {
	margin-top: -126px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 1 1 auto;
	gap: 10px;
}

.gs-archive-card__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.gs-archive-card__avatar-frame {
	position: relative;
	display: grid;
	place-items: center;
	width: 166px;
	height: 166px;
	border-radius: 50%;
	padding: 6px;
	background: linear-gradient(135deg, #d4af37 0%, #fcf6ba 45%, #b8860b 100%);
	box-shadow:
		0 12px 25px rgba(0, 0, 0, 0.15),
		0 0 0 1px rgba(255, 245, 214, .74),
		inset 0 2px 8px rgba(255, 251, 239, .40);
}

.gs-archive-card__avatar-frame::before {
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: 50%;
	background:
		conic-gradient(
			from 0deg,
			rgba(255, 255, 255, .35),
			rgba(255, 255, 255, .03),
			rgba(255, 236, 198, .28),
			rgba(255, 255, 255, .08),
			rgba(255, 255, 255, .35)
		);
	mix-blend-mode: screen;
	pointer-events: none;
}

.gs-archive-card__avatar-frame::after {
	content: "";
	position: absolute;
	inset: 10px;
	border-radius: 50%;
	border: 1px solid rgba(255, 244, 216, .44);
	pointer-events: none;
}

.gs-archive-card__avatar-frame-inner {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	padding: 4px;
	background: linear-gradient(180deg, rgba(255, 251, 246, .98), rgba(244, 233, 216, .95));
	box-shadow: inset 0 2px 6px rgba(255, 255, 255, .46);
}

.gs-archive-card__avatar,
.gs-archive-card__avatar-fallback {
	width: 100%;
	height: 100%;
	border-radius: 50%;
}

.gs-archive-card__avatar {
	display: block;
	object-fit: cover !important;
	object-position: center center;
	aspect-ratio: 1 / 1 !important;
	max-width: none !important;
	background: #efe5d6;
}

.gs-archive-card__avatar-fallback {
	display: grid;
	place-items: center;
	background: linear-gradient(135deg, #201911, #43311d);
	color: #f7e5bf;
	font-weight: 900;
	font-size: 2.15rem;
}

.gs-archive-card__title {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	font-weight: 900;
	max-width: 100%;
}

.gs-archive-card__title a {
	color: var(--gs-primary);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gs-archive-card__title a:hover {
	color: var(--gs-accent-strong);
}

.gs-archive-card__meta-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 7px 13px;
	min-height: 36px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(247, 240, 230, .68));
	border: 1px solid rgba(191, 156, 96, .18);
	color: var(--gs-text-muted);
	font-size: .84rem;
	font-weight: 800;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8);
}

.gs-archive-card__footer {
	margin-top: auto;
	padding-top: 14px;
}

.gs-archive-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	width: 100%;
	border-radius: 16px;
	text-decoration: none;
	font-weight: 800;
	color: #fffdf9;
	background: linear-gradient(135deg, var(--gs-primary), #4b3621);
	box-shadow: 0 12px 24px rgba(59, 41, 22, .14);
}

.gs-archive-card__cta:hover {
	background: linear-gradient(135deg, var(--gs-accent), var(--gs-accent-strong));
}

/* Hover FX */
@media (hover: hover) and (pointer: fine) {
	.gs-archive-card {
		transition:
			transform .38s cubic-bezier(.2, .75, .2, 1),
			box-shadow .38s cubic-bezier(.2, .75, .2, 1);
	}

	.gs-archive-card:hover {
		transform: translateY(-8px) rotate(-.5deg);
		box-shadow:
			0 24px 48px rgba(56, 39, 19, .12),
			inset 0 1px 0 rgba(255, 255, 255, .68);
	}

	.gs-archive-card:hover .gs-archive-card__cover::before {
		transform: scale(1.08);
	}

	.gs-archive-card:nth-child(2n):hover {
		transform: translateY(-8px) rotate(.5deg);
	}

	.gs-archive-card:hover .gs-archive-card__avatar-frame {
		transform: translateY(-2px) scale(1.02);
	}

	.gs-archive-card__avatar-frame {
		transition: transform .36s ease;
	}
}
