/**
 * Vinkara Serileri — fotoğraflı seri kartları
 * Tüm sınıflar .vnk- ön ekiyle; tema ve Elementor stilleriyle çakışmaz.
 */

.vnk-series {
	--vnk-gap: 18px;
	--vnk-radius: 0px;
	--vnk-ratio-tall: 3/4;
	--vnk-ratio-wide: 16/10;
	--vnk-scrim: 0.88;
	--vnk-zoom: 1.09;
	--vnk-focus: #cf4d2d;
	--vnk-serif: "Marcellus", Georgia, serif;
	--vnk-sans: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* ---------------- Bölüm başlığı ---------------- */
.vnk-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px 30px;
	margin-bottom: 34px;
}

.vnk-kicker {
	margin: 0 0 12px;
	font-family: var(--vnk-sans);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	line-height: 1.4;
}

.vnk-heading {
	margin: 0;
	font-family: var(--vnk-serif);
	font-weight: 400;
	font-size: clamp(27px, 3.2vw, 38px);
	line-height: 1.16;
	max-width: 16ch;
	text-wrap: balance;
}

.vnk-all {
	font-family: var(--vnk-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
	transition: color 0.25s ease, border-color 0.25s ease;
}

/* ---------------- Izgara ---------------- */
.vnk-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--vnk-gap);
}

/* ---------------- Kart ---------------- */
.vnk-card {
	position: relative;
	display: block;
	overflow: hidden;
	isolation: isolate;
	grid-column: span 2;
	aspect-ratio: var(--vnk-ratio-tall);
	border-radius: var(--vnk-radius);
	background-color: #3e1020;
	text-decoration: none;
	color: #fff;
}

.vnk-card--wide {
	grid-column: span 3;
	aspect-ratio: var(--vnk-ratio-wide);
}

.vnk-card:hover,
.vnk-card:focus {
	text-decoration: none;
}

/* Görsel */
.vnk-media {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
}

.vnk-media .vnk-img,
.vnk-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transform: scale(1.02);
	filter: saturate(0.86);
	transition: transform 0.85s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.85s ease;
}

/* Karartma */
.vnk-scrim {
	position: absolute;
	inset: 0;
	display: block;
	background: linear-gradient(
		178deg,
		rgba(30, 8, 16, 0) 22%,
		rgba(38, 10, 20, calc(var(--vnk-scrim) * 0.5)) 55%,
		rgba(30, 7, 14, var(--vnk-scrim)) 100%
	);
	pointer-events: none;
}

/* Metin */
.vnk-body {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 24px 22px 22px;
	z-index: 2;
}

.vnk-tag {
	font-family: var(--vnk-sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	line-height: 1.5;
}

.vnk-name {
	font-family: var(--vnk-serif);
	font-size: 27px;
	line-height: 1.1;
}

.vnk-desc {
	font-family: var(--vnk-sans);
	font-size: 13px;
	line-height: 1.6;
	max-width: 40ch;
	opacity: 0;
	max-height: 0;
	overflow: hidden;
	transition: opacity 0.45s ease, max-height 0.55s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.vnk-cta {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding-top: 4px;
	font-family: var(--vnk-sans);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.vnk-cta__line {
	display: block;
	width: 20px;
	height: 1px;
	background-color: currentColor;
	transition: width 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* Sağ üst ok halkası */
.vnk-corner {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	color: #fff;
	opacity: 0;
	transform: translate(-4px, 4px);
	transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1),
		background-color 0.4s ease;
}

.vnk-corner svg {
	display: block;
}

/* ---------------- Etkileşim ---------------- */
.vnk-card:hover .vnk-media img,
.vnk-card:focus-visible .vnk-media img {
	transform: scale(var(--vnk-zoom));
	filter: saturate(1);
}

.vnk-card:hover .vnk-desc,
.vnk-card:focus-visible .vnk-desc {
	opacity: 1;
	max-height: 140px;
}

.vnk-card:hover .vnk-cta__line,
.vnk-card:focus-visible .vnk-cta__line {
	width: 40px;
}

.vnk-card:hover .vnk-corner,
.vnk-card:focus-visible .vnk-corner {
	opacity: 1;
	transform: none;
	background-color: rgba(255, 255, 255, 0.12);
}

.vnk-card:focus-visible,
.vnk-all:focus-visible {
	outline: 2px solid var(--vnk-focus);
	outline-offset: 3px;
}

/* ---------------- Duyarlı ---------------- */
@media (max-width: 1024px) {
	.vnk-name {
		font-size: 24px;
	}
}

/* Dokunmatik: "üzerine gelme" yok, açıklama her zaman görünür. */
@media (max-width: 900px) {
	.vnk-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.vnk-card,
	.vnk-card--wide {
		grid-column: span 1;
		aspect-ratio: var(--vnk-ratio-tall);
	}

	.vnk-desc {
		opacity: 1;
		max-height: 140px;
	}

	.vnk-heading {
		max-width: none;
	}
}

@media (max-width: 560px) {
	.vnk-grid {
		grid-template-columns: 1fr;
	}

	.vnk-card,
	.vnk-card--wide {
		aspect-ratio: 4/3;
	}

	.vnk-body {
		padding: 20px 18px 18px;
	}

	.vnk-desc {
		font-size: 12.5px;
	}
}

/* Hover'ı desteklemeyen cihazlarda açıklama ve ok her zaman açık. */
@media (hover: none) {
	.vnk-desc {
		opacity: 1;
		max-height: 140px;
	}

	.vnk-corner {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.vnk-series *,
	.vnk-series *::before,
	.vnk-series *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
