/**
 * sl-category-cards widget stilleri. Bağımlılık: eloria-tokens.
 */

.sl-cat-cards__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sl-gap-card);
}

.sl-cat-card {
	position: relative;
	display: block;
	color: var(--sl-base);
	text-decoration: none;
}

/*
 * Kartın metni fotoğrafın üstünde durduğu için hover'da da beyaz kalmalı.
 * Genel `a:hover { color: var(--sl-ink) }` kuralı (0,1,1) tek sınıflık
 * `.sl-cat-card` bildirimini eziyor, başlık da `color: inherit` ile onu
 * izlediği için yazı koyu perdenin üstünde siyaha dönüp kayboluyordu.
 */
.sl-cat-card:hover,
.sl-cat-card:focus,
.sl-cat-card:focus-visible {
	color: var(--sl-base);
}

.sl-cat-card .sl-media {
	position: relative;
}

/*
 * Alttan yukarı açılan perde.
 *
 * Eskiden kadrajın tamamına %18'lik düz bir kararma vardı: fotoğrafı
 * soldurmasına rağmen yazının okunmasına yetmiyordu — açık zeminli
 * kadrajlarda beyaz metnin kontrastı 1.5:1'de kalıyordu. Perde artık
 * yalnızca metnin durduğu banda ağırlık veriyor, üst yarı temiz kalıyor.
 * Alt %25'te alfa 0.62'nin altına inmiyor; bembeyaz bir fotoğrafta bile
 * beyaz metin 4.7:1 ile AA sınırının üstünde.
 */
.sl-cat-card .sl-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(
		to top,
		rgba(25, 22, 20, 0.82) 0%,
		rgba(25, 22, 20, 0.62) 25%,
		rgba(25, 22, 20, 0.24) 50%,
		rgba(25, 22, 20, 0) 75%
	);
	transition: opacity var(--sl-image-duration) ease-out;
}

/*
 * Hover'da perdeyi koyulaştırmak yerine ikinci bir katman açılıyor: gradient
 * geçişleri tarayıcıda animasyonlanamıyor, opacity animasyonlanıyor.
 */
.sl-cat-card .sl-media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: rgba(25, 22, 20, 0.18);
	opacity: 0;
	transition: opacity var(--sl-image-duration) ease-out;
}

.sl-cat-card:hover .sl-media::before,
.sl-cat-card:focus-visible .sl-media::before {
	opacity: 1;
}

.sl-cat-card__body {
	position: absolute;
	inset-inline: var(--sl-space-2);
	bottom: var(--sl-space-3);
	/* Her iki perde katmanının da üstünde. */
	z-index: 2;
	text-align: center;
}

.sl-cat-card__title {
	font-size: 1.35rem;
	margin: 0 0 4px;
	color: inherit;
}

.sl-cat-card__count {
	font-family: var(--sl-font-body);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	opacity: 0.92;
}

/* Perdeye rağmen çok parlak bir kadraj denk gelirse ikinci güvence. */
.sl-cat-card__title,
.sl-cat-card__count {
	text-shadow: 0 1px 3px rgba(25, 22, 20, 0.45);
}


@media (max-width: 1024px) {
	.sl-cat-cards__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
