/* =========================================================
   Galeri Post Grid — style kartu ala video referensi
   Warna aksen diatur lewat variabel --gpg-accent (bisa diubah
   di Pengaturan > Galeri Post Grid, tanpa edit file ini).
   ========================================================= */
:root {
	--gpg-accent: #DAAB5B;
}

.gpg-grid {
	display: grid;
	grid-template-columns: repeat(var(--gpg-columns, 2), 1fr);
	gap: 24px;
	margin: 24px 0;
}

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

.gpg-card {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	border-radius: 18px;
	overflow: hidden;
	background-size: cover;
	background-position: center;
	text-decoration: none;
	isolation: isolate;
}

.gpg-card-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.78) 0%,
		rgba(0, 0, 0, 0.25) 45%,
		rgba(0, 0, 0, 0) 70%
	);
}

.gpg-card-body {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 26px 28px 24px;
	display: block;
}

.gpg-card-title {
	display: block;
	color: #fff;
	font-size: clamp(16px, 1.6vw, 21px);
	font-weight: 700;
	line-height: 1.32;
	margin: 0 0 10px;
	max-width: 34ch;
	transition: transform 0.3s ease;
}

.gpg-card:hover .gpg-card-title,
.gpg-card:focus-visible .gpg-card-title {
	transform: translateY(-6px);
}

@media (prefers-reduced-motion: reduce) {
	.gpg-card-title {
		transition: none;
	}
}

.gpg-card-underline {
	display: block;
	height: 3px;
	width: 46px;
	background: var(--gpg-accent);
	border-radius: 2px;
	transition: width 0.3s ease;
}

.gpg-card:hover .gpg-card-underline,
.gpg-card:focus-visible .gpg-card-underline {
	width: 90px;
}

.gpg-card:focus-visible {
	outline: 3px solid var(--gpg-accent);
	outline-offset: 3px;
}

.gpg-empty {
	color: #6b7280;
	font-style: italic;
}

/* ---------------------------------------------------------
   Layout "featured": 1 kartu besar (kiri) + grid 2x2 kecil
   (kanan). Kartu di dalamnya memakai class .gpg-card yang
   sama, jadi featured image, judul, dan garis aksen otomatis
   konsisten dengan layout grid biasa.
   --------------------------------------------------------- */
.gpg-featured {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 24px 0;
	align-items: stretch;
}

.gpg-featured .gpg-card--hero {
	aspect-ratio: auto;
	height: 100%;
	min-height: 320px;
}

.gpg-featured-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: 1fr;
	gap: 24px;
}

.gpg-featured-grid .gpg-card--small {
	aspect-ratio: 4 / 3;
}

/*
  Di foto contoh, badge ("ON SITE") ada di kiri BAWAH karena fotonya
  polos tanpa judul. Kartu di plugin ini selalu menampilkan judul +
  garis aksen di area bawah, jadi badge kategori ditaruh di kiri ATAS
  supaya keduanya tidak bertabrakan.
*/
.gpg-card-badge {
	position: absolute;
	z-index: 2;
	left: 20px;
	top: 20px;
	background: rgba(255, 255, 255, 0.94);
	color: #1a1a1a;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	padding: 8px 16px;
	border-radius: 999px;
}

@media (max-width: 780px) {
	.gpg-featured {
		grid-template-columns: 1fr;
	}
	.gpg-featured .gpg-card--hero {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 0;
	}
	.gpg-featured-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 480px) {
	.gpg-featured-grid {
		grid-template-columns: 1fr;
	}
}
