/* ═══════════════════════════════════════════════════════
   NUANSA RINDU — gallery.css
   ═══════════════════════════════════════════════════════ */

.gallery-page {
	background: var(--dark, #0a0502);
	padding-top: var(--nav-h);
	min-height: 100vh;
}

/* ── PAGE HERO ────────────────────────────────────────── */
.gallery-hero {
	padding: 80px 60px 64px;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid rgba(196, 163, 90, 0.1);
}
.gallery-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(
		ellipse at 70% 50%,
		rgba(196, 163, 90, 0.06) 0%,
		transparent 65%
	);
}
.gallery-hero .section-label {
	color: rgba(196, 163, 90, 0.6);
}
.gallery-hero .section-label::after {
	background: rgba(196, 163, 90, 0.35);
}
.gallery-hero-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 60px;
}
.gallery-hero-title {
	font-family: var(--font-display);
	font-size: clamp(2.4rem, 5vw, 4.5rem);
	font-weight: 300;
	color: #f5f0e8;
	line-height: 1.1;
	max-width: 580px;
	opacity: 0;
	animation: fadeUp 0.9s 0.2s forwards;
}
.gallery-hero-sub {
	font-size: 0.84rem;
	color: rgba(245, 240, 232, 0.4);
	max-width: 320px;
	line-height: 1.85;
	text-align: right;
	opacity: 0;
	animation: fadeUp 0.9s 0.38s forwards;
}

/* ── FILTER TABS ──────────────────────────────────────── */
.gallery-filter {
	padding: 36px 60px;
	display: flex;
	gap: 0;
	border-bottom: 1px solid rgba(196, 163, 90, 0.1);
}
.filter-tab {
	padding: 10px 28px;
	font-size: 0.64rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(245, 240, 232, 0.35);
	background: none;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	border-bottom: 1.5px solid transparent;
	margin-bottom: -1px;
}
.filter-tab:hover {
	color: rgba(245, 240, 232, 0.7);
}
.filter-tab.active {
	color: var(--gold, #c4a35a);
	border-bottom-color: var(--gold, #c4a35a);
}

/* ── LUXURY MASONRY GRID ──────────────────────────────── */
.luxury-gallery-container {
	padding: 60px;
	padding-bottom: 120px;
}

.luxury-masonry {
	column-count: 3;
	column-gap: 24px;
}

.luxury-item {
	break-inside: avoid;
	margin-bottom: 24px;
	position: relative;
	display: block;
	border-radius: 12px;
	overflow: hidden;
	background: #1a1008;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	transition:
		transform 0.4s cubic-bezier(0.25, 1, 0.5, 1),
		box-shadow 0.4s ease;
	cursor: pointer;
}

.luxury-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 16px 40px rgba(196, 163, 90, 0.15);
}

.luxury-img {
	width: 100%;
	display: block;
	object-fit: cover;
	transition: transform 0.7s ease;
}

.luxury-item:hover .luxury-img {
	transform: scale(1.06);
}

/* Overlay Gelap */
.luxury-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(10, 5, 2, 0.8) 0%,
		rgba(10, 5, 2, 0) 40%
	);
	transition: background 0.4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.luxury-item:hover .luxury-overlay {
	background: linear-gradient(
		to top,
		rgba(10, 5, 2, 0.9) 0%,
		rgba(10, 5, 2, 0.3) 100%
	);
}

/* Tombol Play Gold Mewah */
.luxury-play-btn {
	width: 64px;
	height: 64px;
	background: rgba(255, 255, 255, 0.1);
	border: 1.5px solid var(--gold, #c4a35a);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(4px);
	transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
	opacity: 0.9;
}

.luxury-item:hover .luxury-play-btn {
	background: var(--gold, #c4a35a);
	transform: scale(1.15);
	opacity: 1;
}

.luxury-play-btn svg {
	width: 22px;
	height: 22px;
	fill: #f5f0e8;
	margin-left: 4px;
	transition: fill 0.3s;
}

.luxury-item:hover .luxury-play-btn svg {
	fill: #1a1008;
}

/* Teks Judul Melayang di Bawah */
.luxury-title-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 24px;
	opacity: 0;
	transform: translateY(15px);
	transition: all 0.4s ease;
}

.luxury-item:hover .luxury-title-overlay {
	opacity: 1;
	transform: translateY(0);
}

.luxury-item-badge {
	display: inline-block;
	font-size: 0.55rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--gold, #c4a35a);
	margin-bottom: 6px;
	border: 1px solid var(--gold, #c4a35a);
	padding: 2px 8px;
	border-radius: 20px;
}

.luxury-item-title {
	font-family: var(--font-display, serif);
	font-size: 1.25rem;
	color: #f5f0e8;
	margin: 0;
	font-weight: 300;
}

/* ── KEYFRAMES ────────────────────────────────────────── */
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translateY(28px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 1024px) {
	.gallery-hero,
	.gallery-filter,
	.luxury-gallery-container {
		padding-left: 32px;
		padding-right: 32px;
	}
	.gallery-hero-inner {
		flex-direction: column;
		align-items: flex-start;
	}
	.gallery-hero-sub {
		text-align: left;
	}
	.luxury-masonry {
		column-count: 2;
	}
}

@media (max-width: 640px) {
	.gallery-hero {
		padding: 56px 20px 48px;
	}
	.gallery-filter {
		padding-left: 20px;
		padding-right: 20px;
		overflow-x: auto;
		white-space: nowrap;
	}
	.luxury-gallery-container {
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 40px;
	}
	.luxury-masonry {
		column-count: 1;
	}

	.luxury-title-overlay {
		opacity: 1;
		transform: none;
	}
}

/* ═══════════════════════════════════════════════════════
   GLIGHTBOX LUXURY CUSTOMIZATION (GLOBAL OVERRIDE)
   ═══════════════════════════════════════════════════════ */

/* Latar belakang gelap & blur mewah */
.goverlay {
	background: rgba(10, 5, 2, 0.94) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

/* Menghilangkan kotak putih kasar bawaan & meratakan teks di tengah */
.glightbox-clean .gslide-description {
	background: transparent !important;
	text-align: center;
	padding: 24px 0 !important;
}

/* Tipografi Judul Elegan (Menyala tanpa background) */
.glightbox-clean .gslide-title {
	color: #f5f0e8 !important;
	font-family: var(--font-display, serif) !important;
	font-size: 2rem !important;
	font-weight: 300 !important;
	margin: 0 !important;
	line-height: 1.3 !important;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5); /* Supaya tetap terbaca di gambar terang */
}

/* Bungkus Media (Foto/Video) dengan Shadow halus & rounded corner */
.glightbox-clean .gslide-media {
	box-shadow: 0 12px 50px rgba(0, 0, 0, 0.6);
	border-radius: 8px;
	overflow: hidden;
	background: transparent !important;
}

/* Memastikan wrapper iframe video tidak berlatar belakang putih */
.gvideo-wrapper {
	background: transparent !important;
}

/* Tombol Kontrol (Close, Prev, Next) Dibuat Elegan Bulat */
.gbtn {
	background: rgba(255, 255, 255, 0.08) !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	border-radius: 50% !important;
	transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.gbtn:hover {
	background: rgba(196, 163, 90, 0.3) !important;
	border-color: rgba(196, 163, 90, 0.8) !important;
	transform: scale(1.15) !important;
}

.gbtn svg {
	fill: #f5f0e8 !important;
}

/* Memposisikan tombol Exit dengan rapi di sudut atas */
.gclose {
	top: 24px !important;
	right: 32px !important;
	width: 44px !important;
	height: 44px !important;
	opacity: 0.8 !important;
}

/* Memposisikan Panah Kiri & Kanan sedikit lebih jauh ke tepi layar */
.gnext,
.gprev {
	width: 54px !important;
	height: 54px !important;
	top: 50% !important;
	opacity: 0.8 !important;
}

@media (min-width: 769px) {
	.gnext {
		right: 40px !important;
	}
	.gprev {
		left: 40px !important;
	}
}

@media (max-width: 640px) {
	.glightbox-clean .gslide-title {
		font-size: 1.4rem !important;
	}
	.gclose {
		top: 16px !important;
		right: 16px !important;
		width: 38px !important;
		height: 38px !important;
	}
}
