/**
 * Arhive govornika i partnera (PLAN.md §5) — hero sa filterom po godini,
 * grid kartica. Kartice (speaker-card, partner-logo) stilizuje home.css;
 * sve vrednosti iz tokens.css. Breakpointi: 768/1024/1280.
 */

.cpt-archive__hero {
	padding-block: var(--sp-14) var(--sp-8);
	background: var(--c-bg);
}

.cpt-archive__hero .section-title { margin-top: var(--sp-4); }

.year-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-3);
	margin-top: var(--sp-8);
}
  
.year-tabs__tab,
.year-tabs__tab:visited {
	padding: var(--sp-2) var(--sp-4);
	border: 1px solid var(--c-border-heavy);
	color: var(--c-text-body);
	font-size: var(--fs-btn);
	font-weight: var(--fw-medium);
	letter-spacing: var(--ls-btn);
}

.year-tabs__tab:hover { 
	border-color: var(--c-accent);
	color: var(--c-accent);
}

.year-tabs__tab.is-active {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: var(--c-on-accent);
}

.cpt-archive__body {
	padding-block: var(--sp-14) var(--sp-section);
	background: var(--c-bg);
}

.cpt-archive__empty {
	color: var(--c-text-muted);
	font-size: var(--fs-body-lg);
}

/* ---------- Grids ---------- */
.archive-grid--speakers {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-10) var(--sp-6);
}

.archive-grid--logos {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--sp-3);
}

.archive-grid--institutional { grid-template-columns: repeat(5, 1fr); }
.archive-grid--media { grid-template-columns: repeat(4, 1fr); }

.archive-group { margin-bottom: var(--sp-14); }

.archive-group .overline {
	display: block;
	margin-bottom: var(--sp-4);
}

.cpt-archive .partner-wall__cta { margin-top: var(--sp-8); }

/* ---------- Konferencije (page-templates/konferencije.php) ---------- */
.conference-section {
	padding-block: var(--sp-14) var(--sp-section);
	background: var(--c-bg);
} 

.conference-section__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--sp-6);
	margin-bottom: var(--sp-10);
}

.conference-section__header .section-title {
	margin: 0;
}

.conference-section .archive-group:last-child {
	margin-bottom: 0;
}

.conference-gallery-event + .conference-gallery-event {
	margin-top: var(--sp-14);
}

.gallery-event {
	max-width: 60rem;
	margin-bottom: var(--sp-8);
}

.gallery-event__title {
	margin: 0;
	color: var(--c-text);
	font-size: clamp(1.25rem, 2vw, 2rem);
}

.gallery-event__date {
	margin: var(--sp-2) 0 0;
	color: var(--c-accent);
	font-size: var(--fs-body-sm);
}

/* ---------- Galerija (page-templates/galerija.php) ---------- */
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--sp-3);
}

/* Dugme ka celoj galeriji na spoljnom sajtu — prikazuje se samo kada je
   link popunjen u tom redu galerije. */
.gallery-external {
	display: flex;
	justify-content: center;
	margin-top: var(--sp-8);
}

.gallery-grid__item {
	display: block;
	overflow: hidden;
	background: var(--c-surface);
	border: 1px solid var(--c-border-subtle);
}

.gallery-grid__img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform var(--dur-base) var(--ease), opacity var(--dur-base) var(--ease);
}

.gallery-grid__item:hover .gallery-grid__img {
	transform: scale(1.03);
	opacity: 0.9;
}
 
body.gallery-lightbox-open {
	overflow: hidden;
}

.gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1100;
	display: grid;
	place-items: center;
	padding: var(--sp-6);
}

.gallery-lightbox[hidden] {
	display: none;
}

.gallery-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 7, 10, 0.94);
	cursor: zoom-out;
}

.gallery-lightbox__dialog {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	width: min(100%, 90rem);
	max-height: calc(100vh - var(--sp-12));
	outline: 0;
}

.gallery-lightbox__figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	margin: 0;
}

.gallery-lightbox__image {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 9rem);
	object-fit: contain;
}

.gallery-lightbox__meta {
	display: flex;
	justify-content: space-between;
	gap: var(--sp-6);
	width: 100%;
	padding-top: var(--sp-3);
	color: var(--c-text-body);
	font-size: var(--fs-body-sm);
}

.gallery-lightbox__counter {
	flex: 0 0 auto;
	color: var(--c-accent);
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	padding: 0;
	border: 1px solid var(--c-border-heavy);
	background: rgba(14, 17, 23, 0.78);
	color: var(--c-text);
	cursor: pointer;
}

.gallery-lightbox__close:hover,
.gallery-lightbox__close:focus,
.gallery-lightbox__nav:hover,
.gallery-lightbox__nav:focus {
	border-color: var(--c-accent);
	background: var(--c-accent);
	color: var(--c-on-accent);
}

.gallery-lightbox__close {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	font-size: 1.5rem;
}

.gallery-lightbox__nav {
	margin-inline: var(--sp-4);
	font-size: 1.25rem;
}

.gallery-lightbox__nav[hidden] {
	display: none;
}

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
	.gallery-grid { grid-template-columns: repeat(3, 1fr); }

	.archive-grid--speakers { grid-template-columns: repeat(3, 1fr); }

	.archive-grid--logos,
	.archive-grid--institutional { grid-template-columns: repeat(3, 1fr); }

	.archive-grid--media { grid-template-columns: repeat(2, 1fr); }

	.cpt-archive__body { padding-block: var(--sp-8) var(--sp-14); }
}

@media (max-width: 767px) {
	.gallery-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-2); }

	.conference-section__header {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: var(--sp-8);
	}

	.gallery-lightbox {
		padding: var(--sp-2);
	}

	.gallery-lightbox__dialog {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"figure figure"
			"prev next";
		gap: var(--sp-3);
		max-height: calc(100vh - var(--sp-4));
	}

	.gallery-lightbox__figure {
		grid-area: figure;
	}

	.gallery-lightbox__image {
		max-height: calc(100vh - 10rem);
	}

	.gallery-lightbox__nav {
		width: 100%;
		margin: 0;
	}

	.gallery-lightbox__nav--prev {
		grid-area: prev;
	}

	.gallery-lightbox__nav--next {
		grid-area: next;
	}

	.gallery-lightbox__meta {
		gap: var(--sp-3);
	}

	.archive-grid--speakers { grid-template-columns: repeat(2, 1fr); gap: var(--sp-6) var(--sp-4); }

	.archive-grid--logos,
	.archive-grid--institutional,
	.archive-grid--media { grid-template-columns: repeat(2, 1fr); }
}
