/* Event layout - lijevi sticky info stupac, desni sekvencijalni sadržaj. */

.event-layout {
	display: flex;
	align-items: flex-start;
	gap: var(--s5);
	padding-top: var(--s3);
}

.event-info {
	flex: 0 0 280px;
	position: sticky;
	top: var(--s3);
	text-align: left;
}

.event-info-fields { margin-top: var(--s2); }
.event-info-field { font-size: .9rem; color: var(--color-text); margin-bottom: .4em; }
.event-info-field--dates { font-weight: 600; color: var(--color-primary); }

.event-nav { margin-top: var(--s3); }
.event-nav-header { display: none; }
.event-nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: var(--s1); }
.event-nav ul { display: flex; flex-direction: column; gap: var(--s1); }
.event-nav a {
	display: block;
	padding: var(--s1) 0;
	border-bottom: 1px solid var(--color-border);
	color: var(--color-primary);
	text-decoration: none;
	font-family: var(--font-head);
	font-weight: 600;
	font-size: 1.25em;
	text-transform: uppercase;
	letter-spacing: .5px;
}
.event-nav a:hover { color: var(--color-accent); }
.event-nav a.is-active { color: var(--color-accent); border-color: var(--color-accent); }

.event-partners {
	margin-top: var(--s4);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--s2);
	align-items: center;
}
.event-partners img { max-width: 100px; max-height: 50px; width: auto; height: auto; object-fit: contain; }

.event-main { flex: 1 1 0%; min-width: 0; }

.event-section { scroll-margin-top: var(--s3); }
.event-section + .event-section {
	margin-top: var(--s5);
	padding-top: var(--s5);
	border-top: 1px solid var(--color-border);
}
.event-section .art-title { border-top: 0; padding-top: 0; font-size: var(--step-3); }

/* Bez JS-a (klasa .js-panels se ne doda): sve sekcije vidljive, jedna ispod druge (gore). */
/* S JS-om: samo .is-active sekcija vidljiva, ostale skrivene - pravi tabovi. */
.event-main.js-panels .event-section { display: none; margin-top: 0; padding-top: 0; border-top: 0; }
.event-main.js-panels .event-section.is-active { display: block; }

/* Program - grupirano po danu */
.event-program-day + .event-program-day { margin-top: var(--s4); }
.event-program-day-title { font-size: var(--step-1); margin-bottom: var(--s2); }
.event-program-list { display: flex; flex-direction: column; gap: var(--s2); }
.event-program-item {
	display: flex;
	gap: var(--s2);
	padding-bottom: var(--s2);
	border-bottom: 1px solid var(--color-border);
}
.event-program-time { flex: 0 0 110px; font-weight: 600; color: var(--color-primary); }
.event-program-body { flex: 1 1 0%; }
.event-program-type {
	display: inline-block;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--color-accent);
}
.event-program-location, .event-program-note { display: block; font-size: .85rem; color: var(--color-text); }

/* Predavači / Umjetnici / Lokacije - kartice u gridu */
.event-people-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--s4);
}
.event-person-photo { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; margin-bottom: var(--s1); }
.event-person-name { margin: 0 0 .2em; font-size: var(--step-1); }
.event-person-title { margin: 0 0 .5em; font-size: .85rem; color: var(--color-accent); text-transform: uppercase; letter-spacing: .03em; }
.event-person-card p { font-size: .9rem; }
.event-location-address { color: var(--color-text); }

/* Predavači / Umjetnici - jedan ispod drugog preko cijele širine, razdvojeno linijom. */
.event-people-list { display: flex; flex-direction: column; min-width: 0; }
.event-people-list .event-person-card {
	min-width: 0;
	padding: var(--s3) 0;
	border-bottom: 1px solid var(--color-border);
}
.event-people-list .event-person-card p { overflow-wrap: break-word; }
.event-people-list .event-person-card:first-child { padding-top: 0; }
.event-people-list .event-person-card:last-child { border-bottom: 0; }
.event-people-list .event-person-photo { width: 140px; margin-bottom: var(--s2); }

/* Dodatno (npr. Smještaj) - popisi unutar slobodnog teksta: isti princip kao
   Predavači/Umjetnici - jedan ispod drugog, razdvojeno linijom, bez bulleta. */
#kongres .entry-content ul li,
#dodatno .entry-content ul li {
	padding-left: 0;
	padding: var(--s1) 0;
	border-bottom: 1px solid var(--color-border);
}
#kongres .entry-content ul li::before,
#dodatno .entry-content ul li::before {
	content: none;
}
#kongres .entry-content ul li:last-child,
#dodatno .entry-content ul li:last-child {
	border-bottom: 0;
}

/* Mobitel - info stupac ide iznad sadržaja; sub-nav se skuplja iza hamburgera
   (lijevo naslov "Sadržaj", desno hamburger) - isti vizual kao glavni meni. */
@media (max-width: 768px) {
	.event-layout { flex-direction: column; gap: var(--s3); }
	.event-info { position: static; flex-basis: auto; width: 100%; }
	.event-partners { justify-content: flex-start; }

	.event-nav-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		cursor: pointer;
	}
	.event-nav-label {
		font-family: var(--font-head);
		font-weight: 600;
		font-size: 1.25em;
		text-transform: uppercase;
		letter-spacing: .5px;
		color: var(--color-primary);
	}
	.event-nav-toggle { display: block; }

	.event-nav:not(.is-open) #event-nav-list { display: none; }
	.event-nav.is-open #event-nav-list { margin-top: var(--s2); }

	.event-nav.is-open .event-nav-toggle .hamburger { background: transparent; }
	.event-nav.is-open .event-nav-toggle .hamburger::before { transform: translateY(7px) rotate(45deg); }
	.event-nav.is-open .event-nav-toggle .hamburger::after { transform: translateY(-7px) rotate(-45deg); }
}
