/* ==========================================================================
   ZDSDS – glavni slogi
   Brez zunanjih pisav in virov (zasebnost). Barve in razmiki so žetoni spodaj.
   ========================================================================== */

:root {
	/* Barve po logotipu ZDSDS (sivomodra in opečnata). Prejšnja shema: git oznaka pred-prenovo-barv. */
	--c-primary: #3e5b60;
	--c-primary-dark: #2c4448;
	--c-primary-tint: #e9f0ef;
	--c-accent: #c9604f;        /* samo okras: črte, ikone (kontrast z belo 4,0) */
	--c-accent-strong: #a9493a; /* besedilo in gumbi z belim napisom (5,7) */
	--c-accent-tint: #f7e8e3;
	--c-text: #1f2b2d;
	--c-muted: #566467;
	--c-border: #dde3e2;
	--c-surface: #e9f0ef;
	--c-paper: #f5f2ec;
	--c-bg: #ffffff;
	--c-focus: #e8a33d;
	--shadow-sm: 0 1px 2px rgba(44, 68, 72, 0.06), 0 2px 8px rgba(44, 68, 72, 0.06);
	--shadow-md: 0 6px 24px rgba(44, 68, 72, 0.12);

	--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--fs-sm: 0.875rem;
	--fs-base: 1rem;
	--fs-lg: 1.125rem;
	--fs-h3: 1.25rem;
	--fs-h2: clamp(1.4rem, 1.2rem + 0.8vw, 1.75rem);
	--fs-h1: clamp(1.75rem, 1.4rem + 1.4vw, 2.375rem);

	--space-1: 0.25rem;
	--space-2: 0.5rem;
	--space-3: 0.75rem;
	--space-4: 1rem;
	--space-5: 1.5rem;
	--space-6: 2rem;
	--space-7: 3rem;
	--space-8: 4rem;

	--container: 1160px;
	--gutter: 1.25rem;
	--radius: 4px;
}

/* --- Osnova ------------------------------------------------------------- */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-text);
	font-family: var(--font);
	font-size: var(--fs-base);
	line-height: 1.6;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

img, svg, video { max-width: 100%; height: auto; }

a { color: var(--c-primary); text-underline-offset: 0.15em; }
a:hover { color: var(--c-primary-dark); }

:focus-visible {
	outline: 3px solid var(--c-focus);
	outline-offset: 2px;
}

h1, h2, h3, h4 {
	line-height: 1.25;
	margin: 0 0 var(--space-4);
	font-weight: 700;
	color: var(--c-text);
}
h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }

p { margin: 0 0 var(--space-4); }

.container {
	width: 100%;
	max-width: calc(var(--container) + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	left: var(--space-4);
	top: -100px;
	z-index: 100;
	background: var(--c-bg);
	padding: var(--space-2) var(--space-4);
	font-weight: 600;
}
.skip-link:focus { top: var(--space-4); }

.site-main { flex: 1 0 auto; }
.site-main:focus { outline: none; }

/* --- Glava -------------------------------------------------------------- */

/* Glava je samo temni pas z menijem; hišica na začetku vodi na začetno stran. */
.main-nav__bar {
	display: flex;
	align-items: stretch;
}

.main-nav .nav-home {
	display: flex;
	align-items: center;
	padding: 0 var(--space-3);
	margin-left: calc(-1 * var(--space-3));
}
.main-nav .nav-home svg { display: block; }

/* Gumb za meni (samo mobilno) */
.nav-toggle {
	display: none;
	align-items: center;
	align-self: center;
	gap: var(--space-2);
	margin-left: auto;
	padding: var(--space-2) var(--space-3);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: var(--radius);
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.nav-toggle__icon,
.nav-toggle__icon::before,
.nav-toggle__icon::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	position: relative;
	transition: transform 0.2s;
}
.nav-toggle__icon::before,
.nav-toggle__icon::after { content: ""; position: absolute; left: 0; }
.nav-toggle__icon::before { top: -6px; }
.nav-toggle__icon::after { top: 6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after { transform: translateY(-6px) rotate(-45deg); }

/* --- Glavni meni -------------------------------------------------------- */

.main-nav {
	background: var(--c-primary);
	color: #fff;
}

.main-nav__menu,
.main-nav__menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-nav__menu {
	display: flex;
	flex-wrap: wrap;
	flex: 1;
	gap: 0 var(--space-1);
	margin-right: calc(-1 * var(--space-3));
}

.main-nav__menu > li { position: relative; display: flex; align-items: center; }

.main-nav a {
	display: block;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	padding: 0.95rem var(--space-3);
}
.main-nav a:hover,
.main-nav .current-menu-item > a,
.main-nav .current-menu-ancestor > a,
.main-nav .current_page_item > a,
.main-nav .current_page_ancestor > a {
	background: var(--c-primary-dark);
	color: #fff;
}
.main-nav .current-menu-item > a,
.main-nav .current_page_item > a { box-shadow: inset 0 -3px 0 #fff; }

.main-nav .menu-item-has-children > a { padding-right: 0.25rem; }

.submenu-toggle {
	display: flex;
	align-items: center;
	align-self: stretch;
	padding: 0 var(--space-3) 0 0.15rem;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font: inherit;
}
.submenu-toggle::after {
	content: "";
	width: 0; height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 0.15s;
}
.submenu-toggle[aria-expanded="true"]::after { transform: rotate(180deg); }

/* Podmeni – namizno */
.main-nav .sub-menu,
.main-nav .children {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	min-width: 16rem;
	background: #fff;
	border: 1px solid var(--c-border);
	border-top: 3px solid var(--c-primary);
	box-shadow: var(--shadow-md);
	padding: var(--space-2) 0;
	display: none;
}
.main-nav .sub-menu a,
.main-nav .children a {
	color: var(--c-text);
	font-weight: 500;
	padding: var(--space-2) var(--space-4);
	box-shadow: none;
}
.main-nav .sub-menu a:hover,
.main-nav .children a:hover,
.main-nav .sub-menu .current-menu-item > a,
.main-nav .children .current_page_item > a {
	background: var(--c-primary-tint);
	color: var(--c-primary);
	box-shadow: none;
}

.main-nav li.is-open > .sub-menu,
.main-nav li.is-open > .children { display: block; }

@media (hover: hover) and (min-width: 960px) {
	.main-nav li:hover > .sub-menu,
	.main-nav li:hover > .children,
	.main-nav li:focus-within > .sub-menu,
	.main-nav li:focus-within > .children { display: block; }
}

/* Mobilni meni */
@media (max-width: 959px) {
	.nav-toggle { display: inline-flex; }

	.main-nav__bar { flex-wrap: wrap; min-height: 3.25rem; }
	.main-nav .nav-home { margin-left: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }

	.js .main-nav__menu { display: none; }
	.js .main-nav.is-open .main-nav__menu { display: flex; }

	.main-nav__menu {
		flex-basis: 100%;
		flex-direction: column;
		border-top: 1px solid rgba(255, 255, 255, 0.15);
		margin-inline: calc(-1 * var(--gutter));
		padding-block: var(--space-2);
	}
	.main-nav__menu > li { flex-wrap: wrap; }
	.main-nav__menu > li > a { flex: 1; padding-inline: var(--gutter); }
	.main-nav .current-menu-item > a,
	.main-nav .current_page_item > a { box-shadow: inset 4px 0 0 #fff; }

	.submenu-toggle { padding: 0 var(--gutter); }

	.main-nav .sub-menu,
	.main-nav .children {
		position: static;
		flex-basis: 100%;
		min-width: 0;
		border: 0;
		box-shadow: none;
		background: var(--c-primary-dark);
		padding: 0;
	}
	.main-nav .sub-menu a,
	.main-nav .children a {
		color: #fff;
		padding-left: calc(var(--gutter) + var(--space-4));
	}
	.main-nav .sub-menu a:hover,
	.main-nav .children a:hover,
	.main-nav .sub-menu .current-menu-item > a,
	.main-nav .children .current_page_item > a {
		background: rgba(255, 255, 255, 0.1);
		color: #fff;
	}
}

/* --- Gumbi in povezave -------------------------------------------------- */

.button,
.wp-element-button,
.wp-block-button__link {
	display: inline-block;
	background: var(--c-primary);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	padding: 0.75rem 1.25rem;
	font: inherit;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	cursor: pointer;
}
.button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover { background: var(--c-primary-dark); color: #fff; }

.arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--c-text);
	text-decoration: none;
}
.arrow-link:hover { color: var(--c-primary); text-decoration: underline; }

/* --- Razdelki začetne strani ------------------------------------------- */

.home-intro { padding-top: var(--space-6); }

.home-section { padding-block: var(--space-6); }
.home-news { padding-top: var(--space-6); }

.section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-4);
	margin-bottom: var(--space-5);
}
.section-head__title { margin: 0; }

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: var(--space-5);
}

.card {
	position: relative;
	display: flex;
	flex-direction: column;
	border: 1px solid var(--c-border);
	background: var(--c-bg);
	padding: var(--space-5);
	transition: border-color 0.15s, box-shadow 0.15s;
}
.card:hover,
.card:focus-within {
	border-color: var(--c-primary);
	box-shadow: var(--shadow-md);
}

.card__label {
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 600;
	color: var(--c-muted);
	margin-bottom: var(--space-4);
}
.card__title { font-size: var(--fs-h3); margin-bottom: var(--space-3); }
.card__link { color: var(--c-text); text-decoration: none; }
.card__link::after { content: ""; position: absolute; inset: 0; }
.card__link:focus-visible { outline: none; }
.card:has(.card__link:focus-visible) { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.card__excerpt { color: var(--c-muted); font-size: 0.95rem; flex: 1; }
.card__excerpt p:last-child { margin-bottom: var(--space-5); }
.card__more { font-size: 0.9rem; font-weight: 600; margin: 0; }
.card:hover .card__more { color: var(--c-primary); }

.home-lower__grid {
	display: grid;
	gap: var(--space-6);
}
@media (min-width: 860px) {
	.home-lower--split .home-lower__grid {
		grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
		align-items: start;
	}
}

/* Dogodki */
.home-events .section-head__title { margin-bottom: var(--space-5); }

.event-list {
	list-style: none;
	margin: 0 0 var(--space-5);
	padding: 0;
	border-top: 1px solid var(--c-border);
}
.event-list__item {
	display: flex;
	gap: var(--space-5);
	padding-block: var(--space-5);
	border-bottom: 1px solid var(--c-border);
}
.event-date {
	flex: 0 0 3.5rem;
	text-align: center;
	margin: 0;
	line-height: 1.1;
}
.event-date__day { display: block; font-size: 1.75rem; font-weight: 700; }
.event-date__month { display: block; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); }
.event-list__title { font-size: var(--fs-lg); margin-bottom: var(--space-1); }
.event-list__title a { color: var(--c-text); text-decoration: none; }
.event-list__title a:hover { color: var(--c-primary); text-decoration: underline; }
.event-list__meta { color: var(--c-muted); font-size: var(--fs-sm); margin: 0; }

/* Postani član */
.join-box {
	background: var(--c-surface);
	padding: var(--space-6);
}
.join-box__title { color: var(--c-primary); margin-bottom: var(--space-3); }
.join-box__text { color: var(--c-muted); margin-bottom: var(--space-5); }

.empty-note {
	color: var(--c-muted);
	padding: var(--space-5);
	border: 1px dashed var(--c-border);
	margin-bottom: var(--space-5);
}

/* --- Strani in prispevki ----------------------------------------------- */

.page-wrap { padding-block: var(--space-6) var(--space-7); }
.page-wrap--narrow { max-width: calc(800px + 2 * var(--gutter)); }

.page-wrap.has-sidebar {
	display: grid;
	gap: var(--space-6);
}
@media (min-width: 860px) {
	.page-wrap.has-sidebar {
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: var(--space-7);
	}
}

.page-header { margin-bottom: var(--space-5); }
.page-title { margin-bottom: var(--space-3); }
.page-header__desc { color: var(--c-muted); }

.meta {
	font-size: var(--fs-sm);
	color: var(--c-muted);
	margin-bottom: var(--space-2);
}
.meta__label { text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; font-size: 0.78rem; }

.entry-lead { font-size: var(--fs-lg); color: var(--c-muted); }
.entry-image { margin: 0 0 var(--space-5); }
.entry-image img { display: block; width: 100%; }

.entry-content { max-width: 75ch; }
.entry-content > * + h2,
.entry-content > * + h3 { margin-top: var(--space-6); }
.entry-content ul,
.entry-content ol { padding-left: 1.25rem; margin: 0 0 var(--space-4); }
.entry-content table { border-collapse: collapse; width: 100%; margin-bottom: var(--space-5); font-size: 0.95rem; }
.entry-content th,
.entry-content td { border-bottom: 1px solid var(--c-border); padding: var(--space-2) var(--space-3); text-align: left; vertical-align: top; }
.entry-content th { background: var(--c-surface); }
.entry-content blockquote { border-left: 4px solid var(--c-primary); margin: 0 0 var(--space-4); padding: var(--space-2) var(--space-5); color: var(--c-muted); }
.entry-content figure { margin: 0 0 var(--space-5); }
.entry-content figcaption { font-size: var(--fs-sm); color: var(--c-muted); }

.entry-back { margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--c-border); }

/* Stranski meni */
.sidebar { align-self: start; }
.section-nav {
	background: var(--c-surface);
	padding: var(--space-5);
}
.section-nav__title { margin: 0 0 var(--space-3); font-weight: 700; }
.section-nav__title a { color: var(--c-text); text-decoration: none; }
.section-nav ul { list-style: none; margin: 0; padding: 0; }
.section-nav ul ul { padding-left: var(--space-4); }
.section-nav li a {
	display: block;
	padding: var(--space-2) var(--space-3);
	margin-inline: calc(-1 * var(--space-3));
	color: var(--c-text);
	text-decoration: none;
	border-left: 3px solid transparent;
}
.section-nav li a:hover { color: var(--c-primary); background: rgba(255, 255, 255, 0.6); }
.section-nav .current_page_item > a,
.section-nav__title.current_page_item a { color: var(--c-primary); font-weight: 600; border-left-color: var(--c-primary); }

/* Seznam objav */
.post-list { border-top: 1px solid var(--c-border); }
.list-item { padding-block: var(--space-5); border-bottom: 1px solid var(--c-border); }
.list-item__title { font-size: var(--fs-h3); margin-bottom: var(--space-2); }
.list-item__title a { color: var(--c-text); text-decoration: none; }
.list-item__title a:hover { color: var(--c-primary); text-decoration: underline; }
.list-item__excerpt { color: var(--c-muted); }
.list-item__excerpt p { margin: 0; }

.pagination { margin-top: var(--space-6); }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pagination .page-numbers {
	display: inline-block;
	min-width: 2.5rem;
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--c-border);
	text-align: center;
	text-decoration: none;
	color: var(--c-text);
}
.pagination .page-numbers.current { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.pagination a.page-numbers:hover { border-color: var(--c-primary); color: var(--c-primary); }

/* Iskalnik */
.search-form { display: flex; gap: var(--space-2); margin-bottom: var(--space-5); max-width: 28rem; }
.search-form label { flex: 1; }
.search-field { width: 100%; padding: 0.7rem; border: 1px solid var(--c-border); font: inherit; }
.search-submit { background: var(--c-primary); color: #fff; border: 0; padding: 0 1rem; font: inherit; font-weight: 600; cursor: pointer; }

/* --- Noga --------------------------------------------------------------- */

.site-footer {
	border-top: 1px solid var(--c-border);
	margin-top: var(--space-6);
	font-size: 0.95rem;
}
.site-footer__grid {
	display: grid;
	gap: var(--space-5);
	padding-block: var(--space-6);
}
@media (min-width: 760px) {
	.site-footer__grid { grid-template-columns: 1.3fr 1fr 1fr; }
}
.site-footer__name { font-weight: 700; font-size: var(--fs-lg); margin-bottom: var(--space-3); }
.site-footer address { font-style: normal; color: var(--c-text); }
.site-footer__col p { margin-bottom: var(--space-2); }
.site-footer a { color: var(--c-text); text-decoration: none; }
.site-footer a:hover { color: var(--c-primary); text-decoration: underline; }

.social-links { list-style: none; margin: 0 0 var(--space-4); padding: 0; }
.social-links li + li { margin-top: var(--space-2); }
.social-links a { display: inline-flex; align-items: center; gap: var(--space-3); }
.social-links__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px; height: 30px;
	background: var(--c-primary);
	color: #fff;
	font-weight: 700;
	font-size: 1.1rem;
	border-radius: var(--radius);
}
.social-links__icon--yt { font-size: 0.75rem; }
.social-links .ext { font-size: 0.8em; color: var(--c-muted); }
.site-footer__join { margin-top: var(--space-2); }

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-3);
	padding-block: var(--space-5);
	border-top: 1px solid var(--c-border);
	font-size: var(--fs-sm);
	color: var(--c-muted);
}
.site-footer__bottom p { margin: 0; }
.footer-menu { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-5); margin: 0; padding: 0; }

/* --- Bloki urejevalnika ------------------------------------------------- */

.alignwide { max-width: none; }
.has-primarna-color { color: var(--c-primary); }
.has-primarna-background-color { background-color: var(--c-primary); }
.has-svetla-background-color { background-color: var(--c-surface); }
.has-besedilo-color { color: var(--c-text); }
.has-bela-color { color: #fff; }
.has-bela-background-color { background-color: #fff; }

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

@media print {
	.site-header .nav-toggle,
	.main-nav,
	.site-footer__grid .social-links,
	.sidebar { display: none !important; }
}

/* ==========================================================================
   Faza 2: drobtine, filtri, dogodki, priloge, zemljevid, deljenje, značke
   ========================================================================== */

.breadcrumbs { font-size: var(--fs-sm); color: var(--c-muted); padding-top: var(--space-3); }
.breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.breadcrumbs li + li::before { content: "/"; margin: 0 0.45em; color: var(--c-border); }
.breadcrumbs a { color: var(--c-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--c-primary); text-decoration: underline; }
.container:has(.breadcrumbs) + .page-wrap { padding-top: var(--space-5); }

.content { min-width: 0; }

/* Filtri Aktualno */
.filters { margin-bottom: var(--space-5); }
.filters ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.filters__btn {
	display: inline-block;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--c-border);
	border-radius: var(--radius);
	color: var(--c-primary);
	font-size: 0.92rem;
	text-decoration: none;
	background: var(--c-bg);
}
.filters__btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.filters__btn.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }

.list-item__more { margin: var(--space-3) 0 0; font-size: 0.92rem; }
.list-item__more a { text-decoration: none; }
.list-item__more a:hover { text-decoration: underline; }

.button--upper { text-transform: uppercase; letter-spacing: 0.04em; }
.button--ghost { background: transparent; color: var(--c-primary); border: 1px solid var(--c-primary); }
.button--ghost:hover { background: var(--c-primary-tint); color: var(--c-primary); }
.arrow-link--small { font-size: var(--fs-sm); }

.entry-image figcaption { font-size: var(--fs-sm); color: var(--c-muted); margin-top: var(--space-2); }

/* Seznam dogodkov po mesecih */
.month-title {
	font-size: var(--fs-h3);
	margin: var(--space-6) 0 0;
	padding-bottom: var(--space-3);
	border-bottom: 1px solid var(--c-border);
}
.page-header + .month-title { margin-top: var(--space-4); }
.event-list--full { border-top: 0; }
.event-date--box {
	flex-basis: 4.5rem;
	align-self: flex-start;
	background: var(--c-surface);
	padding: var(--space-3) var(--space-2);
}
.event-list__body { min-width: 0; }
.event-list__body .meta { margin-bottom: var(--space-1); font-size: 0.8rem; }
.event-list__excerpt { color: var(--c-muted); margin: var(--space-2) 0; font-size: 0.95rem; }
.event-list--compact .event-list__item { padding-block: var(--space-4); gap: var(--space-4); }
.event-list--compact .event-list__title { font-size: var(--fs-base); }

/* Posamezen dogodek */
.notice-past { display: inline-block; background: var(--c-surface); color: var(--c-muted); font-size: var(--fs-sm); padding: var(--space-1) var(--space-3); margin: 0; }
.event-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: var(--space-5);
	padding-block: var(--space-5);
	margin-bottom: var(--space-5);
	border-top: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
}
.event-facts__title { font-size: var(--fs-lg); margin-bottom: var(--space-2); }
.event-facts p { margin: 0; }

.signup { background: var(--c-surface); padding: var(--space-5) var(--space-6); margin: var(--space-6) 0; }
.signup__title { font-size: var(--fs-h3); margin-bottom: var(--space-3); }

.location,
.contact,
.attachments { margin-top: var(--space-6); }
.location h2,
.contact h2,
.attachments__title { font-size: var(--fs-h3); margin-bottom: var(--space-4); }

/* Zemljevid */
.map { margin: 0; }
.map__link { position: relative; display: block; border: 1px solid var(--c-border); background: var(--c-surface); overflow: hidden; text-decoration: none; color: var(--c-text); }
.map__img { display: block; width: 100%; height: auto; aspect-ratio: 960 / 400; object-fit: cover; }
.map__placeholder {
	display: block;
	aspect-ratio: 960 / 400;
	background:
		linear-gradient(115deg, transparent 46%, #fff 46%, #fff 50%, transparent 50%),
		linear-gradient(20deg, transparent 60%, #fff 60%, #fff 63%, transparent 63%),
		linear-gradient(170deg, transparent 72%, #fff 72%, #fff 74%, transparent 74%),
		var(--c-surface);
}
.map__label {
	position: absolute;
	left: var(--space-4);
	bottom: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: 2px;
	background: rgba(255, 255, 255, 0.95);
	padding: var(--space-3) var(--space-4);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
	font-size: 0.92rem;
	max-width: calc(100% - 2 * var(--space-4));
}
.map__open { color: var(--c-primary); font-weight: 600; font-size: var(--fs-sm); margin-top: 2px; }
.map__link:hover .map__open { text-decoration: underline; }
.map__credit { font-size: 0.75rem; color: var(--c-muted); margin-top: var(--space-1); text-align: right; }
@media (max-width: 559px) {
	.map__label { position: static; max-width: none; box-shadow: none; }
}

/* Priloge */
.attachments__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--c-border); }
.attachments__item {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--space-2) var(--space-5);
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--c-border);
}
.attachments__name { font-weight: 500; }
.attachments__link { white-space: nowrap; text-decoration: none; font-weight: 600; }
.attachments__link:hover { text-decoration: underline; }
.attachments__size { color: var(--c-muted); font-weight: 400; font-size: var(--fs-sm); margin-left: 0.35em; }

/* Deljenje */
.share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
	margin-top: var(--space-6);
	padding-top: var(--space-5);
	border-top: 1px solid var(--c-border);
}
.share__title { font-weight: 700; margin: 0; font-size: 0.95rem; }
.share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.share__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	padding: var(--space-1) 0;
	background: none;
	border: 0;
	font: inherit;
	font-size: 0.92rem;
	color: var(--c-primary);
	text-decoration: none;
	cursor: pointer;
}
.share__btn:hover { text-decoration: underline; }
.share__btn:disabled { opacity: 0.5; cursor: progress; }
.share__btn svg { flex: none; }

.share-dialog {
	border: 0;
	padding: 0;
	width: min(920px, calc(100% - 2rem));
	max-height: calc(100vh - 2rem);
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	color: var(--c-text);
}
.share-dialog::backdrop { background: rgba(44, 68, 72, 0.65); }
.share-dialog__inner { padding: var(--space-5); }
.share-dialog__head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); margin-bottom: var(--space-4); }
.share-dialog__title { font-size: var(--fs-h3); margin: 0; }
.share-dialog__close { background: none; border: 0; font-size: 2rem; line-height: 1; cursor: pointer; color: var(--c-muted); padding: 0 var(--space-2); }
.share-dialog__close:hover { color: var(--c-text); }
.share-dialog__body { display: grid; gap: var(--space-5); }
@media (min-width: 700px) {
	.share-dialog__body { grid-template-columns: 300px 1fr; }
}
.share-dialog__preview { width: 100%; height: auto; border: 1px solid var(--c-border); display: block; }
.share-dialog__side p { font-size: 0.95rem; }
.share-dialog__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.share-dialog__label { display: block; font-weight: 600; font-size: var(--fs-sm); margin-bottom: var(--space-1); }
.share-dialog__caption { width: 100%; font: inherit; font-size: var(--fs-sm); padding: var(--space-2); border: 1px solid var(--c-border); margin-bottom: var(--space-2); resize: vertical; }

/* Blok »Novice in dogodki te strani« */
.tag-block { margin-top: var(--space-7); padding-top: var(--space-5); border-top: 3px solid var(--c-primary); }
.tag-block__title { margin-bottom: var(--space-5); }
.tag-block__grid { display: grid; gap: var(--space-6); }
@media (min-width: 700px) {
	.tag-block__grid--split { grid-template-columns: 1fr 1fr; }
}
.tag-block__subtitle { font-size: var(--fs-base); text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-muted); margin-bottom: var(--space-3); }
.tag-block__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--c-border); }
.tag-block__list li { padding-block: var(--space-3); border-bottom: 1px solid var(--c-border); }
.tag-block__list .meta { display: block; margin-bottom: 2px; }
.tag-block__list a { color: var(--c-text); font-weight: 600; text-decoration: none; }
.tag-block__list a:hover { color: var(--c-primary); text-decoration: underline; }
.tag-block__more { margin-top: var(--space-5); }

/* Logotip v nogi. */
.site-brand { display: inline-block; margin-top: var(--space-4); text-decoration: none; }
.site-footer .site-brand:hover { text-decoration: none; }
.site-brand__logo { display: block; max-height: 64px; width: auto; }
.site-brand__placeholder {
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1;
}
