/* =====================================================================
   NK Kranj — glavni slogovni list
   Slog: sodoben, premium, športen (referenca: FC Bayern)
   ===================================================================== */

/* ---------- Tokeni ---------- */
:root {
	--c-red: #d4031e; /* rdeča iz klubskega grba (vzorčeno) */
	--c-red-dark: #a50217; /* temnejši odtenek grbove rdeče (hover, konec preliva) */
	--c-ink: #0b0c10;
	--c-ink-soft: #15171f;
	--c-white: #ffffff;
	--c-gray-50: #f7f7f8;
	--c-gray-100: #eef0f2;
	--c-gray-200: #dcdee3;
	--c-gray-500: #82868f; /* dostopnost: 5.36:1 na temni podlagi (WCAG AA) */
	--c-red-text: #ff2a3d; /* svetlejša rdeča za majhno besedilo na temni podlagi (5.26:1) */
	--c-gray-700: #3a3d45;

	--font-head: "Oswald", "Arial Narrow", system-ui, sans-serif;
	--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	/* Samo za velike hero naslove. Oswald Bold ne doseže ultra-kondenzirano
	   črnega videza, ki ga imajo vrhunski klubi; Anton ga. Namenoma NE za vse
	   naslove — Anton ima eno samo težo in je pri manjših velikostih pretežak. */
	--font-display: "Anton", "Oswald", "Arial Narrow", sans-serif;
	/* Za števce in rezultate: Teko ima jasne, ozke številke. */
	--font-num: "Teko", "Oswald", sans-serif;

	--container: 1280px;
	--gutter: clamp(1rem, 4vw, 2.5rem);
	/* Lestvica robov — poimenovane obstoječe vrednosti za sistemsko doslednost. */
	--radius-xs: 2px;
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--radius-xl: 14px;
	--radius: 4px; /* privzeto = --radius-sm (ohranjeno za nazaj) */
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
	--shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.22);
	--ease: cubic-bezier(0.16, 1, 0.3, 1);
	--header-h: 76px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
/* Sidra ne pristanejo pod fiksno glavo. */
:target, #main, #novice, #obrazec { scroll-margin-top: calc(var(--header-h) + 1rem); }
body {
	margin: 0;
	font-family: var(--font-body);
	color: #e7e8ec;
	background: var(--c-ink);
	line-height: 1.6;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
/* Hitri zaporedni dotiki (npr. listanje tekem na domači strani) ne smejo
   sprožiti dvojni-tap povečave na iOS — tudi ko tap pristane tik ob gumbu,
   na kartici ali med njima. Ščipanje z dvema prstoma za zoom ostane. */
body, a, button, input, select, textarea, label, summary,
.match-carousel, .match-carousel *, .hero-carousel, .hero-carousel * { touch-action: manipulation; }
::selection { background: var(--c-red); color: #fff; }

/* Vidno fokusno stanje za tipkovnico (dostopnost) */
:focus-visible { outline: 3px solid var(--c-red); outline-offset: 3px; border-radius: 2px; }
.btn:focus-visible { outline-offset: 4px; }
.site-nav__list a:focus-visible, .news-card__link:focus-visible, .team-card:focus-visible, .sponsor-logo:focus-visible { outline-offset: 2px; }
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 700; line-height: 1.04; margin: 0 0 0.4em; text-transform: uppercase; letter-spacing: 0.01em; color: #fff; }

.container { width: 100%; max-width: var(--container); 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:focus {
	position: fixed; top: 12px; left: 12px; z-index: 999; width: auto; height: auto; clip: auto;
	background: var(--c-white); color: var(--c-red); padding: 10px 16px; border-radius: var(--radius);
}

/* ---------- Tipografski pripomočki ---------- */
.eyebrow {
	display: inline-block; font-family: var(--font-head); font-weight: 600;
	text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.8rem;
	color: var(--c-red-text); margin-bottom: 0.75rem;
}
.eyebrow--light { color: var(--c-white); opacity: 0.85; }

/* ---------- Gumbi ---------- */
.btn {
	display: inline-flex; align-items: center; gap: 0.5em;
	font-family: var(--font-head); font-weight: 600; text-transform: uppercase;
	letter-spacing: 0.06em; font-size: 0.95rem;
	padding: 0.85em 1.6em; border: 2px solid transparent; border-radius: var(--radius);
	cursor: pointer; transition: transform 0.25s var(--ease), background 0.25s var(--ease), color 0.25s var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(0.97); }
.btn--primary { background: var(--c-red); color: var(--c-white); }
.btn--primary:hover { background: var(--c-red-dark); }
.btn--ghost { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.55); color: #fff; backdrop-filter: blur(2px); }
.btn--ghost:hover { background: #fff; border-color: #fff; color: var(--c-ink); }
.btn--lg { font-size: 1.05rem; padding: 1em 2em; }
.btn--block { display: flex; justify-content: center; width: 100%; }

/* =====================================================================
   GLAVA
   ===================================================================== */
.site-header {
	position: fixed; inset: 0 0 auto 0; z-index: 100; height: var(--header-h);
	display: flex; align-items: center;
	transition: background 0.3s var(--ease), box-shadow 0.3s var(--ease), height 0.3s var(--ease);
	background: linear-gradient(to bottom, rgba(0,0,0,0.55), rgba(0,0,0,0));
	/* Tanka klubska rdeča linija na vrhu — diskreten rdeč poudarek na vsaki strani. */
	border-top: 3px solid var(--c-red);
}
.site-header.is-stuck {
	height: 62px;
	background: var(--c-ink);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.25);
}
/* Glava se ob drsenju elegantno skrči. */
.custom-logo, .site-logo--text { transition: height 0.3s var(--ease), font-size 0.3s var(--ease); }
.site-header.is-stuck .custom-logo { height: 40px; }
.site-header.is-stuck .site-logo--text { font-size: 1.2rem; }
.site-header__inner {
	display: flex; align-items: center; gap: 2rem; width: 100%; max-width: var(--container);
	margin-inline: auto; padding-inline: var(--gutter);
}
.site-header__brand { flex: 0 0 auto; }
.custom-logo { height: 48px; width: auto; }
.site-logo--text { font-family: var(--font-head); font-weight: 700; font-size: 1.4rem; text-transform: uppercase; color: var(--c-white); }
.site-logo--text span { color: var(--c-red); }

.site-nav { margin-left: auto; }
.site-nav__list { display: flex; gap: 1.6rem; list-style: none; margin: 0; padding: 0; }
.site-nav__list a {
	font-family: var(--font-head); font-weight: 500; text-transform: uppercase;
	letter-spacing: 0.04em; font-size: 0.95rem; color: var(--c-white);
	padding: 0.4em 0; position: relative;
}
.site-nav__list a::after {
	content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 3px;
	background: var(--c-red); transform: scaleX(0); transform-origin: left; transition: transform 0.3s var(--ease);
}
.site-nav__list a:hover::after { transform: scaleX(1); }
/* Aktivna stran: podčrtaj ostane, povezava bela — orientacija + premium občutek. */
.site-nav__list .current-menu-item > a::after,
.site-nav__list .current-menu-ancestor > a::after { transform: scaleX(1); }
.site-nav__list .current-menu-item > a,
.site-nav__list .current-menu-ancestor > a { color: #fff; }
.site-header__cta { flex: 0 0 auto; }

/* Mobilni preklop */
.nav-toggle { display: none; flex-direction: column; gap: 5px; width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; cursor: pointer; }
.nav-toggle__bar { display: block; height: 2px; background: var(--c-white); transition: transform 0.3s var(--ease), opacity 0.3s var(--ease); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobilni meni v podobi grba (klubska želja): rdeča ploskev z belo diagonalo
   — kot bela sredina grba — in belimi napisi. */
.mobile-nav {
	position: fixed; inset: var(--header-h) 0 0 0; z-index: 99;
	background: linear-gradient(168deg, #d4031e 0%, #a50217 55%, #7d0110 100%);
	padding: 2rem var(--gutter); display: flex; flex-direction: column; gap: 1rem; overflow-y: auto;
}
.mobile-nav::before {
	content: ""; position: fixed; inset: var(--header-h) 0 0 0; pointer-events: none;
	background: linear-gradient(115deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
	clip-path: polygon(52% 0, 78% 0, 48% 100%, 22% 100%);
}
.mobile-nav[hidden] { display: none; }
.mobile-nav__list { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; position: relative; }
.mobile-nav__list a {
	display: block; font-family: var(--font-head); text-transform: uppercase; font-size: 1.3rem;
	color: var(--c-white); padding: 0.7rem 0; border-bottom: 1px solid rgba(255,255,255,0.28);
}
.mobile-nav__list a:active { transform: translateX(0.4rem); transition: transform 0.15s var(--ease); }

/* =====================================================================
   HERO VRTILJAK NOVIC (slog FC Bayern)
   ===================================================================== */
.hero-carousel { position: relative; display: flex; flex-direction: column; background: var(--c-ink); min-height: 92vh; }
.hero-carousel__stage { position: relative; flex: 1 1 auto; min-height: 68vh; overflow: hidden; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.8s var(--ease); display: flex; align-items: flex-end; }
.hero-slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.hero-slide__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; transform: scale(1.04); filter: brightness(1.08); }
/* Znamčni hero (LCP): WebP (119 KB) z JPEG fallbackom (307 KB). Dva zapisa —
   brskalniki brez image-set() vzamejo prvega (jpg), ostali WebP. */
.hero-slide--branded .hero-slide__media { background-image: url('../img/hero.jpg'); background-image: image-set(url('../img/hero.webp') type('image/webp'), url('../img/hero.jpg') type('image/jpeg')); }
/* Telefoni: pokončen 640×768 izrez (46 KB) namesto polnih 1376 px (119 KB) — hitrejši LCP.
   Ista meja (640px) kot pogojni preload v inc/enqueue.php — spreminjaj oboje skupaj. */
@media (max-width: 640px) {
	.hero-slide--branded .hero-slide__media { background-image: url('../img/hero-mobile.jpg'); background-image: image-set(url('../img/hero-mobile.webp') type('image/webp'), url('../img/hero-mobile.jpg') type('image/jpeg')); }
}
/* Živi hero: video čez statično ozadje (ozadje ostane kot poster/fallback).
   Ob prefers-reduced-motion ga JS ustavi, CSS pa skrije — vidna je fotografija. */
.hero-slide__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Video slide BREZ heroZoom: počasno skaliranje čez video daje občutek
   plavanja/tresenja; fotografije novic zoom obdržijo. */
.hero-slide--branded .hero-slide__media,
.hero-slide--branded.is-active .hero-slide__media { animation: none; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.hero-slide__video { display: none; }
}
.hero-slide.is-active .hero-slide__media { animation: heroZoom 8s var(--ease) forwards; }
/* Senca pod besedilom. Fotografije klubu prispevajo prostovoljci in besedilo
   pogosto pade čez glave — senca je zato varovalo za berljivost, ne okras.
   Poleg navpične dodamo še stransko, na tisti strani, kjer stoji besedilo;
   stran določi inc/focus.php ob nalaganju slike. */
/* Prevleka je svetlejša (klubska želja: fotografija naj bo svetlejša). Spodnji
   gradient še vedno drži berljivost naslova, a slika je vidno bolj odprta. */
.hero-slide__overlay {
	position: absolute; inset: 0;
	background:
		linear-gradient(to right, rgba(0,0,0,0.58) 0%, rgba(0,0,0,0.2) 42%, rgba(0,0,0,0) 68%),
		linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.22) 100%);
}
.hero-slide--text-right .hero-slide__overlay {
	background:
		linear-gradient(to left, rgba(0,0,0,0.58) 0%, rgba(0,0,0,0.2) 42%, rgba(0,0,0,0) 68%),
		linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.12) 50%, rgba(0,0,0,0.22) 100%);
}
/* Motiv čez vso širino → prazne strani ni. Takrat senca besedilo reši, zato je
   nekoliko močnejša — a še vedno svetlejša kot prej. Velja za 71 % fotografij. */
.hero-slide--busy .hero-slide__overlay {
	background:
		linear-gradient(to right, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.42) 45%, rgba(0,0,0,0.08) 75%),
		linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 55%, rgba(0,0,0,0.28) 100%);
}
.hero-slide--busy.hero-slide--text-right .hero-slide__overlay {
	background:
		linear-gradient(to left, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.42) 45%, rgba(0,0,0,0.08) 75%),
		linear-gradient(to top, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0.3) 55%, rgba(0,0,0,0.28) 100%);
}
/* Besedilo se umakne na mirnejšo stran. Blok ostane levo poravnan — desno
   poravnan naslov bi bral kot napaka, ne kot odločitev. */
@media (min-width: 861px) {
	.hero-slide--text-right .hero-slide__content { margin-inline: auto 0; }
}
.hero-slide__content { position: relative; z-index: 1; padding-block: 3rem 3.5rem; max-width: 820px; }
.hero-slide__eyebrow { display: inline-flex; align-items: center; gap: 0.5rem; }
.hero-slide__eyebrow::before { content: "▶"; font-size: 0.7em; }
/* Anton je že sam po sebi zelo ozek, zato mu ne jemljemo razmika med črkami;
   večji je lahko, ker pri isti širini pove več. */
.hero-slide__title {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 3.4vw, 3rem);
	letter-spacing: 0.005em;
	line-height: 1.06;
	margin: 0 0 1.2rem; text-wrap: balance;
}
/* Novični naslovi v heroju: največ 2 vrstici (daljši dobijo …, kot spodnji
   zavihki) — 3+ vrstic prekrije preveč fotografije, običajno ravno obraze. */
.hero-slide__title a { color: #fff; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
/* Znamčni slide: naslov v klubski rdeči ploskvi (slog FC Bayern — bel uppercase
   v rdečih pasovih, vrstica za vrstico). Ena odločna poteza, samo tukaj —
   na novičnih slidih bi ploskev prekrila fotografije. Ploskve nosi inline span
   (box-decoration-break), h1 ostane blok zaradi entrance animacije. */
.hero-slide--branded .hero-slide__title {
	font-size: clamp(2.2rem, 5vw, 4.4rem);
	line-height: 1.18;
	margin-left: -0.22em;
	margin-top: 0.3em;
}
/* Čist bel naslov z močno senco — brez rdeče ploskve (klubska želja). Fotografija
   ostane v ospredju, naslov je berljiv zaradi sence + spodnjega scrima heroja. */
.hero-slide__title-box {
	color: var(--c-white);
	text-shadow: 0 1px 3px rgba(0,0,0,0.72), 0 4px 22px rgba(0,0,0,0.55);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.hero-slide__excerpt { font-size: clamp(1rem, 1.6vw, 1.2rem); opacity: 0.92; max-width: 52ch; margin: 0 0 1.6rem; text-wrap: pretty; }
.hero-slide.is-active .hero-slide__content > * { opacity: 0; transform: translateY(20px); animation: heroSlideIn 0.7s var(--ease) forwards; }
.hero-slide.is-active .hero-slide__content > *:nth-child(1) { animation-delay: 0.15s; }
.hero-slide.is-active .hero-slide__content > *:nth-child(2) { animation-delay: 0.28s; }
.hero-slide.is-active .hero-slide__content > *:nth-child(3) { animation-delay: 0.42s; }
@keyframes heroSlideIn { to { opacity: 1; transform: none; } }

/* Zavihki (kartice novic) z animiranim napredkom */
.hero-carousel__tabs { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; padding: 1.4rem 0 1.8rem; }
/* WCAG 2.2.2: viden gumb za zaustavitev samodejnega menjavanja (v odru, desno spodaj,
   nad vsebino slida — z-index 3 > z-index 1 vsebine). */
.hero-carousel__pause {
	position: absolute; right: max(var(--gutter, 20px), 16px); bottom: 18px; z-index: 3;
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,0.35); border-radius: 50%;
	background: rgba(10,10,10,0.45); cursor: pointer;
	transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
}
.hero-carousel__pause:hover { background: rgba(10,10,10,0.7); border-color: rgba(255,255,255,0.6); }
.hero-carousel__pause-ikona { position: relative; width: 12px; height: 14px; }
.hero-carousel__pause-ikona::before, .hero-carousel__pause-ikona::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 4px; background: #fff; border-radius: 1px;
}
.hero-carousel__pause-ikona::before { left: 0; }
.hero-carousel__pause-ikona::after { right: 0; }
/* Ustavljeno stanje: ikona postane trikotnik (predvajaj). */
.hero-carousel__pause.is-paused .hero-carousel__pause-ikona::before {
	left: 1px; width: 0; background: transparent; border-radius: 0;
	border-left: 11px solid #fff; border-top: 7px solid transparent; border-bottom: 7px solid transparent;
}
.hero-carousel__pause.is-paused .hero-carousel__pause-ikona::after { display: none; }
.hero-tab { position: relative; display: flex; align-items: center; gap: 0.85rem; padding: 0.9rem 1rem; text-align: left; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; cursor: pointer; transition: border-color 0.3s var(--ease), background 0.3s var(--ease); }
.hero-tab:hover { background: #1c1f29; }
.hero-tab.is-active { border-color: rgba(212,3,30,0.35); }
/* Napredek: rdeča črta, ki teče OKOLI celotne zaobljene kartice. */
.hero-tab__ring { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
/* Odštevalna črta (slog FCB): prazni se simetrično iz obeh konic, zaobljeni
   konici pa žarita prek spodnje razmazane svetlejše plasti (.ring-glow). */
.hero-tab__ring rect { x: 1px; y: 1px; width: calc(100% - 2px); height: calc(100% - 2px); fill: none; stroke: var(--c-red); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 0 100; }
.hero-tab__ring .ring-glow { stroke: #ff4a5c; stroke-width: 5.5; opacity: 0.55; filter: blur(3px); }
/* Aktivni obroč privzeto POLN (brez praznega utripa pred WAAPI); JS ga nato prazni (odštevalnik). */
.hero-tab.is-active .hero-tab__ring rect { stroke-dasharray: 100 0; stroke-dashoffset: -14; }
/* Napredek poganja JS (Web Animations API) za zanesljiv samodejni zagon. */
.hero-tab__thumb { flex: 0 0 auto; width: 52px; height: 52px; border-radius: 4px; background-size: cover; background-position: center; }
.hero-tab__title { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; font-size: 0.82rem; line-height: 1.25; color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 900px) { .hero-carousel__tabs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) {
	.hero-carousel { min-height: auto; }
	.hero-carousel__stage { min-height: 60vh; }
	/* Novice pod bannerjem: vodoraven, swipe-able trak. Namesto težkih škatel
	   (76 % širine) zračni zavihki v naravni širini — vidnih je več napovedi
	   hkrati; aktivni izstopa s polno vidnostjo in rdečim obrisom (odštevanje),
	   neaktivni so pritajeni. */
	.hero-carousel__tabs { display: flex; grid-template-columns: none; gap: 0.35rem; padding: 0.7rem 0 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.hero-carousel__tabs::-webkit-scrollbar { display: none; }
	.hero-tab { flex: 0 0 auto; max-width: 72%; scroll-snap-align: start; background: transparent; border-color: transparent; padding: 0.45rem 0.6rem; gap: 0.55rem; opacity: 0.55; transition: opacity 0.25s var(--ease); }
	.hero-tab.is-active { opacity: 1; }
	.hero-tab__thumb { width: 44px; height: 44px; border-radius: 6px; }
	.hero-tab__title { font-size: 0.78rem; }
}
@media (prefers-reduced-motion: reduce) {
	.hero-slide { transition: none; }
	.hero-slide.is-active .hero-slide__media { animation: none; transform: none; }
	.hero-slide.is-active .hero-slide__content > * { animation: none; opacity: 1; transform: none; }
	.hero-tab__ring rect { animation: none !important; }
	.hero-tab.is-active .hero-tab__ring rect { stroke-dasharray: 100 0; stroke-dashoffset: -14; }
}

/* =====================================================================
   HERO
   ===================================================================== */
.hero { position: relative; min-height: 88vh; display: flex; align-items: flex-end; color: var(--c-white); overflow: hidden; }
.hero__media { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.05); animation: heroZoom 12s var(--ease) forwards; }
.hero__media--placeholder, .news-card--placeholder .news-card__media, .team-card--placeholder .team-card__media {
	background: linear-gradient(135deg, var(--c-ink) 0%, var(--c-red-dark) 120%);
}
@keyframes heroZoom { to { transform: scale(1); } }
.hero__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.25) 45%, rgba(0,0,0,0.35) 100%); }
.hero__content { position: relative; padding-block: 4rem 5.5rem; max-width: 760px; }
.hero__title { font-family: var(--font-display); font-size: clamp(2.6rem, 6vw, 5rem); letter-spacing: 0.005em; line-height: 0.98; margin-bottom: 0.5rem; }
.hero__excerpt { font-size: clamp(1rem, 1.6vw, 1.25rem); opacity: 0.92; max-width: 52ch; margin-bottom: 1.8rem; text-wrap: pretty; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.9rem; }

/* =====================================================================
   MATCH CENTER
   ===================================================================== */
/* Rdeč pas (slog FC Bayern): rdeča prevleka čez medlo fotografijo igrišča —
   globina, ne plosko rdeče (isti prijem kot pas nogometne šole). */
.match-center {
	background:
		linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%),
		url('../img/stadium-1.jpg');
	background-image:
		linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%),
		image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg'));
	background-size: cover; background-position: center;
	color: var(--c-white); position: relative; margin-top: -1px; padding: clamp(2.4rem, 5vw, 3.6rem) 0;
}
/* Elementi, ki so bili rdeči, bi na rdeči podlagi izginili → beli. Kartice ostanejo
   temne (črno na rdeči = klubski kontrast). */
.match-center .eyebrow { color: var(--c-white); opacity: 0.9; }
.match-center .section__link { color: var(--c-white); }
.match-center .section__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.match-center .section__title::before { background: var(--c-white); }
.match-center .countdown__label { color: var(--c-white); opacity: 0.92; }
.match-center .countdown__label::before { background: var(--c-white); }
.match-center .countdown__lbl { color: rgba(255,255,255,0.82); }
.match-center .countdown__sep { color: var(--c-white); }
/* Polna bela: rgba(255,255,255,.8) je na svetlem delu rdečega gradienta padla pod AA (≈3,8:1). */
.match-center .match-center__note { color: var(--c-white); }
.match-center .match-carousel__arrow { background: var(--c-white); color: var(--c-red); }
.match-center .match-carousel__arrow:hover { background: var(--c-ink); color: var(--c-white); }
.match-center__head { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
@keyframes nkkPulse { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(212,3,30,0.5); } 50% { opacity: 0.6; box-shadow: 0 0 0 5px rgba(212,3,30,0); } }

/* Odštevalnik */
.countdown { display: flex; flex-direction: column; gap: 0.8rem; }
.countdown__label { position: relative; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.14em; font-size: 0.78rem; color: var(--c-red-text); padding-left: 1.1em; }
.countdown__label::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 8px; height: 8px; border-radius: 50%; background: var(--c-red); animation: nkkPulse 2s var(--ease) infinite; }
.countdown__clock { display: flex; align-items: baseline; gap: 0.6rem; }
.countdown__unit { display: flex; flex-direction: column; align-items: center; min-width: 2.6ch; }
.countdown__num { display: inline-block; min-width: 1.9em; text-align: center; font-family: var(--font-num); font-size: clamp(2.4rem, 6.4vw, 3.8rem); line-height: 1; color: var(--c-white); font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }
.countdown__lbl { margin-top: 0.45rem; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-gray-500); }
.countdown__sep { font-family: var(--font-num); font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1; color: var(--c-red); align-self: flex-start; margin-top: 0.15em; }

/* Vrtiljak tekem */
.match-carousel { position: relative; }
.match-carousel__track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 0.25rem; }
/* Desni rob zbledi, da zadnja (delna) kartica ni ostro odrezana — bere kot
   "več, podrsaj", ne kot napaka (velja tudi na mobilnem swipu). Puščica (›) je
   zunaj traku, torej ostane ostra. */
.match-carousel__track { -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%); mask-image: linear-gradient(90deg, #000 0%, #000 88%, transparent 100%); }
.match-carousel__track::-webkit-scrollbar { display: none; }
.fixture-card { scroll-snap-align: start; flex: 0 0 clamp(280px, 32%, 360px); display: flex; gap: 1rem; align-items: stretch; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl); overflow: hidden; box-shadow: 0 1px 2px rgba(0,0,0,0.25); transition: border-color 0.25s var(--ease), transform 0.25s var(--ease), box-shadow 0.35s var(--ease); }
.fixture-card:hover { border-color: rgba(212,3,30,0.55); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(0,0,0,0.4); }
/* Navpičen pas "DOMA / V GOSTEH" namesto prejšnje generične žoge: navijača
   najprej zanima, ali gre lahko gledat. Domača tekma je rdeča (naša), gostujoča
   pridušena — razlika je vidna v hipu, brez branja. */
.fixture-card__kje {
	flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
	width: 34px; font-family: var(--font-head); text-transform: uppercase;
	font-size: 0.62rem; letter-spacing: 0.14em; white-space: nowrap;
	writing-mode: vertical-rl; transform: rotate(180deg);
	background: rgba(255,255,255,0.07); color: rgba(255,255,255,0.65);
}
.fixture-card--doma .fixture-card__kje { background: var(--c-red); color: var(--c-white); }
/* flex:1 je nujen: brez njega se blok skrči na širino vsebine in stolpca z
   imeni sta v vsaki kartici drugače široka → isto ime se enkrat lomi, drugič ne. */
.fixture-card__main { display: flex; flex-direction: column; gap: 0.55rem; padding: 1.1rem 1.2rem; min-width: 0; flex: 1 1 auto; }
.fixture-card__comp { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.68rem; color: var(--c-red-text); }
/* Grb NAD imenom, ne ob njem. Ob njem sta si grb in ime kradla širino in
   imena so se odrezala v neuporabno "NK …"; navpično imata oba dovolj prostora
   tudi na 280 px kartici. */
.fixture-card__teams { display: flex; align-items: center; gap: 0.5rem; font-family: var(--font-head); text-transform: uppercase; font-size: 0.8rem; line-height: 1.15; }
.fixture-card__team { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; min-width: 0; flex: 1 1 0; text-align: center; }
/* Rezervirani 2 vrstici tudi za enovrstična imena — grbi in imena so v vseh
   karticah na isti višini, ne glede na dolžino imena nasprotnika. */
.fixture-card__ime { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.3em; }
.fixture-card__crest { width: 38px; height: 38px; object-fit: contain; flex: 0 0 auto; transition: transform 0.25s var(--ease); }
.fixture-card:hover .fixture-card__crest { transform: scale(1.12); }
.fixture-card__sep { color: var(--c-red); font-size: 1.1rem; flex: 0 0 auto; min-width: 2.4em; text-align: center; }
/* Datum je razlog, zakaj kdo sploh gleda razpored — ne sme biti drobna siva
   opomba. Prej: 0.85rem sive barve. */
.fixture-card__when { font-family: var(--font-head); font-size: 0.9rem; color: rgba(255,255,255,0.9); letter-spacing: 0.02em; }
@media (prefers-reduced-motion: reduce) {
	.fixture-card__crest, .fixture-card { transition: none; }
	.fixture-card:hover .fixture-card__crest { transform: none; }
}
.match-carousel__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 50%; background: var(--c-red); color: var(--c-white); font-size: 1.6rem; line-height: 1; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,0.35); transition: background 0.2s var(--ease), opacity 0.2s var(--ease); }
.match-carousel__arrow:hover { background: var(--c-red-dark, #b80016); }
.match-carousel__arrow:disabled { opacity: 0.35; cursor: default; }
.match-carousel__arrow--prev { left: -10px; }
.match-carousel__arrow--next { right: -10px; }
.match-center__note { margin-top: 1rem; font-size: 0.82rem; color: var(--c-gray-500); }
@media (max-width: 640px) {
	/* Puščici ostaneta vidni: na telefonu je vidna ena kartica in golo drsenje
	   ni očitno; 44px = minimalna tapljiva površina. */
	.match-carousel__arrow { width: 44px; height: 44px; }
	.match-carousel__arrow--prev { left: 2px; }
	.match-carousel__arrow--next { right: 2px; }
	.fixture-card { flex-basis: 86%; }
}

/* =====================================================================
   SEKCIJE (splošno)
   ===================================================================== */
.section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.section--dark, .section--gray { background: var(--c-ink-soft); color: var(--c-white); }
.section--alt { background: var(--c-ink-soft); }
.section__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.5rem; margin-bottom: 2.5rem; }
.section__head--center { flex-direction: column; align-items: center; text-align: center; }
.section__title { font-size: clamp(2rem, 4vw, 3.2rem); margin: 0; }
.section__link { margin-left: auto; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.05em; color: var(--c-red-text); font-weight: 600; }
.section__head--light .eyebrow { color: var(--c-red-text); }

/* =====================================================================
   KOLEDAR TEKEM
   Odgovori na vprašanje, na katero seznam slabo odgovarja: "ali ta konec
   tedna igramo?". Brez JavaScripta — mesec se menja s povezavo, ker klub
   skripte ne bo popravljal, koledar pa mora delati vedno.
   ===================================================================== */
.koledar { --koledar-doma: var(--c-red); --koledar-gost: rgba(255,255,255,0.4); }
.koledar__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.7rem; }
.koledar__mesec { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.9rem; }
.koledar__nav {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px; border-radius: 50%; text-decoration: none;
	color: var(--c-white); background: rgba(255,255,255,0.08); font-size: 1.1rem; line-height: 1;
	transition: background 0.2s var(--ease);
}
.koledar__nav:hover { background: var(--c-red); }
.koledar__nav:focus-visible { outline: 2px solid var(--c-red); outline-offset: 2px; }
/* Onemogočena puščica ostane vidna, da se glava koledarja ne premika. */
.koledar__nav--brez { opacity: 0.25; background: transparent; cursor: default; }
.koledar__mreza { width: 100%; border-collapse: collapse; table-layout: fixed; }
.koledar__mreza th {
	font-family: var(--font-head); font-size: 0.62rem; font-weight: 600;
	/* 0.6 alfa ≈ 7:1 na temni podlagi (prej 0.45 ≈ pod AA za majhno besedilo). */
	color: rgba(255,255,255,0.6); padding-bottom: 0.35rem; text-transform: uppercase;
}
.koledar__mreza td { text-align: center; padding: 1px; }
.koledar__stevilka {
	display: flex; align-items: center; justify-content: center;
	width: 100%; aspect-ratio: 1; border-radius: 50%;
	font-size: 0.78rem; color: rgba(255,255,255,0.6);
}
.koledar__dan a { text-decoration: none; display: block; }
/* Dan s tekmo: poln krog. Doma rdeč (naša), v gosteh obrobljen. */
.koledar__dan--doma .koledar__stevilka { background: var(--koledar-doma); color: #fff; font-weight: 700; }
.koledar__dan--gost .koledar__stevilka { box-shadow: inset 0 0 0 1.5px var(--koledar-gost); color: #fff; font-weight: 700; }
.koledar__dan--danes .koledar__stevilka { outline: 1.5px dashed rgba(255,255,255,0.5); outline-offset: -1px; }
.koledar__dan a:hover .koledar__stevilka { transform: scale(1.12); }
.koledar__dan a:focus-visible .koledar__stevilka { outline: 2px solid var(--c-red); }
.koledar__legenda { display: flex; align-items: center; gap: 0.4rem; margin: 0.7rem 0 0; font-size: 0.7rem; color: rgba(255,255,255,0.5); }
.koledar__kljuc { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.koledar__kljuc--doma { background: var(--koledar-doma); }
.koledar__kljuc--gost { box-shadow: inset 0 0 0 1.5px var(--koledar-gost); }
.koledar__kljuc--gost + span { margin-left: 0.2rem; }
.koledar--noga { max-width: 260px; }
/* Na strani tekem je koledar glavni pripomoček, ne stranski — večji in bolj
   berljiv, a še vedno omejen: koledar čez vso širino je le prazen prostor. */
.koledar--velik { max-width: 460px; }
.koledar--velik .koledar__mesec { font-size: 1.1rem; }
.koledar--velik .koledar__stevilka { font-size: 0.95rem; }
.koledar--velik .koledar__mreza th { font-size: 0.7rem; }
/* TEMNO z VIDNIM nočnim stadionom + rahel rdeč sij (razbije črnino, ni rdeč blok). */
.section--koledar {
	background:
		radial-gradient(120% 100% at 50% -12%, rgba(212,3,30,0.20), transparent 55%),
		linear-gradient(180deg, rgba(11,12,16,0.74) 0%, rgba(11,12,16,0.91) 100%),
		url('../img/zarica-stadion.jpg');
	background-size: cover; background-position: center;
	color: var(--c-white); padding-block: clamp(2rem, 4vw, 3.5rem);
}
.section--koledar .section__title { font-size: clamp(1.4rem, 2.5vw, 2rem); margin-bottom: 1.2rem; }
@media (prefers-reduced-motion: reduce) {
	.koledar__nav, .koledar__stevilka { transition: none; }
	.koledar__dan a:hover .koledar__stevilka { transform: none; }
}

/* =====================================================================
   0,5 % DOHODNINE
   Harmonika je nativni <details>: deluje brez JavaScripta, je dostopna s
   tipkovnico in je klub ne more pokvariti.
   ===================================================================== */
.section--donate { background: var(--c-ink-soft); color: var(--c-white); }
.donate { display: grid; gap: 2.5rem; align-items: start; }
@media (min-width: 900px) { .donate { grid-template-columns: 1.05fr 0.95fr; gap: 3.5rem; } }
.donate__lead { font-size: 1.1rem; color: rgba(255,255,255,0.85); max-width: 48ch; margin: 0.8rem 0 1.6rem; }
.donate__figure { margin: 2rem 0 0; }
.donate__figure img { width: 100%; height: auto; border-radius: var(--radius); display: block; }
.donate__caption { margin-top: 0.7rem; font-size: 0.85rem; color: rgba(255,255,255,0.6); }
.donate__faq-title { font-size: 1.3rem; margin: 0 0 1rem; }
.donate__q { border-top: 1px solid rgba(255,255,255,0.14); }
.donate__q:last-of-type { border-bottom: 1px solid rgba(255,255,255,0.14); }
.donate__q summary {
	list-style: none; cursor: pointer; padding: 1.1rem 2.2rem 1.1rem 0; position: relative;
	font-family: var(--font-head); text-transform: uppercase; font-size: 0.95rem; line-height: 1.3;
	transition: color 0.2s var(--ease);
}
.donate__q summary::-webkit-details-marker { display: none; }
.donate__q summary:hover { color: var(--c-red-text); }
.donate__q summary:focus-visible { outline: 2px solid var(--c-red); outline-offset: 2px; }
/* Križec iz dveh črt: vodoravna ostane, navpična ob odprtju izgine. */
.donate__q summary::before,
.donate__q summary::after {
	content: ""; position: absolute; right: 0.35rem; top: 50%; background: var(--c-red);
	transition: transform 0.25s var(--ease), opacity 0.25s var(--ease);
}
.donate__q summary::before { width: 14px; height: 2px; transform: translateY(-50%); }
/* Navpična črta mora biti SREDINSKO čez vodoravno, sicer ni plus, ampak "—|".
   Zato desni odmik + polovica širine vodoravne (7px) - polovica svoje (1px). */
.donate__q summary::after { width: 2px; height: 14px; right: calc(0.35rem + 6px); transform: translateY(-50%); }
.donate__q[open] summary::after { opacity: 0; transform: translateY(-50%) rotate(90deg); }
.donate__q[open] summary { color: var(--c-red-text); }
.donate__q p { margin: 0 0 1.2rem; color: rgba(255,255,255,0.78); max-width: 60ch; }
@media (prefers-reduced-motion: reduce) {
	.donate__q summary, .donate__q summary::before, .donate__q summary::after { transition: none; }
}

/* =====================================================================
   VAROVALA ZA VSEBINO, KI JO VNAŠA KLUB
   Klub ni vešč: prilepi lestvico iz Excela, vdela YouTube s fiksno širino
   1280, prilepi dolg URL. Izmerjeno pri oknu 375 px je stran drsela do
   1296 px. Prikaz mora zdržati običajen vnos brez posredovanja.
   ===================================================================== */

/* Tabela ostane cela in se podrsa znotraj svojega okvira, ne cele strani.
   Stiskanje lestvice z desetimi stolpci na 375 px ne pomaga — neberljiva je
   tako ali tako, zato raje ohranimo podatke in damo drsenje. */
.entry-content .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-block: 1.5rem; }
.entry-content .table-scroll:focus-visible { outline: 2px solid var(--c-red); outline-offset: 2px; }
.entry-content table { border-collapse: collapse; width: max-content; min-width: 100%; font-size: 0.95rem; }
.entry-content th, .entry-content td { padding: 0.55rem 0.8rem; border: 1px solid rgba(255,255,255,0.14); text-align: left; white-space: nowrap; }
.entry-content th { font-family: var(--font-head); text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.04em; color: #fff; background: rgba(255,255,255,0.05); }
/* Arhivske lestvice (zgodovina) berljivejše: zebra črte + poudarek vrstice. */
.entry-content tbody tr:nth-child(even) { background: rgba(255,255,255,0.025); }
.entry-content tbody tr:hover { background: rgba(212,3,30,0.07); }

/* Vdelave (YouTube ...) — okvir določa mere, ne atributi iz urejevalnika. */
.entry-content .nkk-embed { position: relative; margin-block: 1.5rem; width: 100%; background: #000; border-radius: var(--radius); overflow: hidden; }
.entry-content .nkk-embed__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Dolge besede in URL-ji se lomijo namesto da raztegnejo stran. */
.entry-content { overflow-wrap: break-word; }
.entry-content pre { overflow-x: auto; padding: 1rem; background: rgba(255,255,255,0.05); border-radius: var(--radius); }
.entry-content pre, .entry-content code { white-space: pre; }

/* Naslovi: klub piše dolge naslove z vzkliki. Beseda, daljša od stolpca, ne
   sme štrleti čez kartico ali hero — a BREZ samodejnega deljenja (»GORENJ-
   SKEGA« sredi heroja je nesprejemljivo); break-word ostane le kot zasilni
   izhod za besedo, širšo od stolpca. */
.hero-slide__title, .news-card__title, .dont-miss__title, .entry-title, .page-title,
h1, h2, h3, h4 { overflow-wrap: break-word; hyphens: manual; }

/* =====================================================================
   NE PREZRITE
   Zavestno DRUGA oblika kot mozaik: dve enaki mreži kartic zapored naredita
   stran generično. Tu je besedilo OB sliki na trdni podlagi, ne čez njo, zato
   pri teh novicah ne more pasti čez obraze — kar je pri naših amaterskih
   fotografijah (67 % motiv čez vso širino) glavna težava.
   ===================================================================== */
/* Zaobljeni robovi (klubska pripomba 1. 8.): ovoj kot kartica, notranje celice reže spajajo. */
.dont-miss { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius-xl); overflow: hidden; }
@media (min-width: 760px) { .dont-miss { grid-template-columns: 1fr 1fr; } }
.dont-miss__item { background: var(--c-ink); }
.dont-miss__link {
	display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 1.1rem;
	padding: 1rem 1.1rem; height: 100%; color: var(--c-white); text-decoration: none;
	transition: background 0.25s var(--ease);
}
.dont-miss__link:hover { background: rgba(255,255,255,0.06); }
.dont-miss__thumb { position: relative; overflow: hidden; border-radius: var(--radius); aspect-ratio: 4 / 3; flex: 0 0 auto; }
.dont-miss__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s var(--ease); }
/* Grb/logo kot naslovna slika: prikaži CELEGA (contain), ne obreži spodaj. */
.dont-miss__thumb--logo { background: var(--c-ink-soft); }
.dont-miss__thumb--logo img { object-fit: contain; padding: 0.7rem; }
.dont-miss__link:hover .dont-miss__thumb--logo img { transform: none; }
.dont-miss__link:hover .dont-miss__thumb img { transform: scale(1.06); }
.dont-miss__text { display: flex; flex-direction: column; gap: 0.35rem; min-width: 0; }
.dont-miss__title { font-family: var(--font-head); text-transform: uppercase; font-size: 1rem; line-height: 1.2; text-wrap: balance; color: var(--c-white); }
.dont-miss__link:hover .dont-miss__title { color: var(--c-red-text); }
/* Datum je sekundaren, a mora ostati berljiv na temni podlagi (≥4.5:1). */
.dont-miss__date { font-size: 0.78rem; color: rgba(255,255,255,0.62); }
@media (prefers-reduced-motion: reduce) {
	.dont-miss__link, .dont-miss__thumb img { transition: none; }
	.dont-miss__link:hover .dont-miss__thumb img { transform: none; }
}

/* =====================================================================
   MOZAIK NOVIC
   ===================================================================== */
/* ---- Seznam novic (arhiv, iskanje): slika + datum LEVO, besedilo DESNO ----
   Besedilo stoji OB sliki, ne čez njo — amaterske fotografije brez težav z
   naslovom čez obraze. Po vzoru obstoječe nkkranj.si. */
.news-list { display: flex; flex-direction: column; gap: 1.1rem; }
.news-row { background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); overflow: hidden; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease); }
.news-row:hover { transform: translateY(-2px); border-color: rgba(212,3,30,0.4); }
.news-row__link { display: grid; grid-template-columns: clamp(200px, 34%, 340px) 1fr; gap: 0; align-items: stretch; color: inherit; }
.news-row__media { position: relative; overflow: hidden; }
.news-row__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease); }
/* Grb/logo kot naslovna slika kartice/vrstice: prikaži CELEGA (contain), da ni
   odrezan spodaj. Doda ga nkkranj_card_image(), ko je slika kvadratna/pokončna. */
img.is-logo { object-fit: contain !important; background: var(--c-ink-soft); padding: 0.7rem; }
.news-row:hover .news-row__img.is-logo, .news-card:hover .news-card__media.is-logo, .team-card:hover .team-card__media.is-logo { transform: none; }
.news-row:hover .news-row__img { transform: scale(1.05); }
/* Datumska značka v kotu slike (kot izvirnik). */
.news-row__badge { position: absolute; top: 0; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 3.2rem; padding: 0.45rem 0.5rem; background: rgba(11,12,16,0.9); color: #fff; }
.news-row__day { font-family: var(--font-num); font-size: 1.5rem; line-height: 0.9; }
.news-row__mon { font-family: var(--font-head); text-transform: uppercase; font-size: 0.68rem; letter-spacing: 0.06em; color: var(--c-red-text); }
.news-row__body { padding: 1.3rem 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; justify-content: center; min-width: 0; }
.news-row__title { margin: 0; font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.15; color: #fff; }
.news-row__rule { width: 42px; height: 3px; background: var(--c-red); border-radius: 2px; }
.news-row__excerpt { margin: 0; color: var(--c-gray-200); font-size: 0.98rem; line-height: 1.6; max-width: 62ch; }
.news-row__more { color: var(--c-gray-500); }
.news-row__cta { font-family: var(--font-head); text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.06em; color: var(--c-red-text); margin-top: 0.2rem; }
.news-row:hover .news-row__cta { color: #fff; }
@media (max-width: 640px) {
	/* Na telefonu slika zgoraj, besedilo spodaj. */
	.news-row__link { grid-template-columns: 1fr; }
	.news-row__media { aspect-ratio: 16 / 9; }
	.news-row__body { padding: 1.1rem 1.2rem; }
}
@media (min-width: 641px) {
	.news-row__media { min-height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
	.news-row, .news-row__img { transition: none; }
	.news-row:hover { transform: none; }
	.news-row:hover .news-row__img { transform: none; }
}

.news-mosaic { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
.news-card { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--c-ink); min-height: 240px; box-shadow: var(--shadow); transition: box-shadow 0.4s var(--ease); }
.news-card:hover { box-shadow: 0 22px 48px rgba(0,0,0,0.45); }
.news-card--feature { grid-column: span 2; grid-row: span 2; min-height: 500px; }
.news-card__link { display: block; height: 100%; }
.news-card__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 28%; background-size: cover; background-position: center 28%; transition: transform 0.6s var(--ease); }
.news-card:hover .news-card__media { transform: scale(1.07); }
/* Rahla senca čez vso kartico — daje globino, ne skrbi za berljivost. */
.news-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0) 60%); pointer-events: none; }
/* Senco za BERLJIVOST nosi besedilni blok sam, ne kartica.
   Zakaj: prej je bila senca pribita na kartico in je zbledela pri 60 % višine,
   besedilo pa raste navzgor — pri štirivrstičnem naslovu je datum pristal NAD
   koncem sence, na svetlem nebu, in postal neberljiv. Zdaj senca raste z
   besedilom, zato drži pri poljubni dolžini naslova. */
.news-card__body {
	position: absolute; inset: auto 0 0 0; z-index: 1;
	padding: 3.2rem 1.4rem 1.4rem; color: var(--c-white);
	background: linear-gradient(to top, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.78) 55%, rgba(0,0,0,0) 100%);
	transform: translateY(0); transition: transform 0.4s var(--ease);
}
/* Motiv čez vso širino (zazna inc/focus.php) → še močnejša senca.
   Omejena po VIŠINI, ne po deležu: na nizkih karticah (mobilni, zadnje novice)
   je preliv čez cel blok požrl celo fotografijo in kartica je bila skoraj črna. */
.news-card--busy .news-card__body {
	background: linear-gradient(to top, rgba(0,0,0,0.94) 0%, rgba(0,0,0,0.8) 3.5rem, rgba(0,0,0,0) 7.5rem);
}

/* Besedilo gre na kartici lahko tudi NA VRH — nad kartico ni navigacije, zato
   je vrh prost. Uporabimo ga, kadar ljudje stojijo v spodnji polovici (pri
   ekipnih fotografijah praviloma), da naslov ne leži čez obraze.
   Odloči nkkranj_card_text_pos() iz zaznanega žarišča. */
.news-card--text-top .news-card__body {
	inset: 0 0 auto 0;
	padding: 1.4rem 1.4rem 3.2rem;
	background: linear-gradient(to bottom, rgba(0,0,0,0.92) 0%, rgba(0,0,0,0.78) 55%, rgba(0,0,0,0) 100%);
}
.news-card--text-top.news-card--busy .news-card__body {
	background: linear-gradient(to bottom, rgba(0,0,0,0.94) 0%, rgba(0,0,0,0.8) 3.5rem, rgba(0,0,0,0) 7.5rem);
}
.news-card--text-top::after { background: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0) 60%); }
.news-card--text-top:hover .news-card__body { transform: translateY(4px); }
.news-card:hover .news-card__body { transform: translateY(-4px); }
/* Datum je bil rdeč: na svetlem nebu ima rdeča najnižji kontrast in prav zato
   je izginjala. Bela z rahlo senco drži čez katero koli fotografijo. */
.news-card__date { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.72rem; color: rgba(255,255,255,0.92); text-shadow: 0 1px 3px rgba(0,0,0,0.6); }
.news-card__title { font-size: 1.1rem; margin: 0.3rem 0 0; }
/* Manjši od prejšnjih 2.4rem: klub piše dolge naslove in pri večji stopnji so
   zrasli v štiri vrstice ter zlezli čez igralce. Dolžino sicer omejimo v PHP
   (nkkranj_card_title) — CSS vpetje z -webkit-line-clamp tu ne pride v poštev,
   ker zahteva display:-webkit-box, naslov pa je inline zaradi rdeče podčrte,
   ki ob prehodu z miško zraste (glej pravilo niže). */
.news-card--feature .news-card__title { font-size: clamp(1.5rem, 2.2vw, 2rem); }
.news-card--placeholder::after { opacity: 0.6; }

/* =====================================================================
   SELEKCIJE
   ===================================================================== */
.teams-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.team-card { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; display: flex; align-items: flex-end; box-shadow: 0 1px 2px rgba(0,0,0,0.25); transition: transform 0.3s var(--ease), box-shadow 0.35s var(--ease); }
.team-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0,0,0,0.42); }
.team-card__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; transition: transform 0.6s var(--ease); }
.team-card:hover .team-card__media { transform: scale(1.07); }
.team-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0) 65%); }
.team-card__name { position: relative; z-index: 1; padding: 1.3rem; font-family: var(--font-head); text-transform: uppercase; font-size: 1.5rem; color: var(--c-white); }
.team-card::before { content: ""; position: absolute; left: 0; bottom: 0; z-index: 1; width: 100%; height: 5px; background: var(--c-red); transform: scaleX(0); transform-origin: left; transition: transform 0.4s var(--ease); }
.team-card:hover::before { transform: scaleX(1); }
/* Ekipne fotografije NIKOLI kot logo (contain + paspartu) — vedno cover;
   zaznava logotipov je namenjena grbom v novicah, tu se je zmotila. */
.team-card__media.is-logo, .team-flag__media.is-logo { object-fit: cover !important; padding: 0 !important; background: none !important; }
.team-card__vec { position: relative; z-index: 1; padding: 0 1.3rem 1.1rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; color: var(--c-red-text); }
.team-card__name { padding-bottom: 0.35rem; }

/* Naslov skupine igralcev (Vratarji, Obramba …) — slog FCB pozicij. */
.roster__skupina { font-family: var(--font-head); text-transform: uppercase; font-size: 1.3rem; color: #fff; margin: 2.2rem 0 1rem; padding-left: 0.9rem; position: relative; }
.roster__skupina::before { content: ""; position: absolute; left: 0; top: 0.12em; bottom: 0.12em; width: 4px; background: var(--c-red); }
.roster__skupina:first-of-type { margin-top: 0; }

/* Kartice selekcij — slog FCB »Teams«: vse čez vso širino, ena pod drugo. */
.teams-stack { display: grid; gap: clamp(1.2rem, 2.5vw, 2rem); }
.team-flag { position: relative; aspect-ratio: 21 / 9; border-radius: var(--radius-xl); overflow: hidden; display: flex; align-items: flex-end; box-shadow: 0 14px 36px rgba(0,0,0,0.4); transition: transform 0.3s var(--ease), box-shadow 0.35s var(--ease); }
.team-flag:hover { transform: translateY(-3px); box-shadow: 0 20px 48px rgba(0,0,0,0.5); }
.team-flag__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center 30%; transition: transform 0.6s var(--ease); }
.team-flag:hover .team-flag__media { transform: scale(1.04); }
.team-flag__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.82), rgba(0,0,0,0.15) 55%, rgba(0,0,0,0.1)); }
.team-flag__body { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; padding: clamp(1.4rem, 3.5vw, 2.6rem); }
.team-flag__name { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; color: #fff; }
.team-flag__body .btn { margin-top: 0.4rem; }
@media (max-width: 640px) {
	.team-flag { aspect-ratio: 4 / 3; }
	/* Na malih karticah se napis maši čez fotografijo — ime in rdeča črta zadoščata. */
	.team-card__vec { display: none; }
	.team-card__name { padding-bottom: 1.1rem; }
}

/* =====================================================================
   CTA BAND (nogometna šola)
   ===================================================================== */
.cta-band { position: relative; color: var(--c-white); overflow: hidden; }
.cta-band__media { position: absolute; inset: 0; background-image: url('../img/stadium-1.jpg'); background-image: image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg')); background-size: cover; background-position: center; will-change: transform; animation: nkkHeroPan 24s ease-in-out infinite alternate; }
.cta-band__overlay { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(178,0,21,0.9) 0%, rgba(11,12,16,0.82) 100%); }
/* FCB-slog: diagonalni geometrijski rez na desnem robu rdečega pasu. */
.cta-band__overlay::before,
.cta-band__overlay::after { content: ""; position: absolute; top: 0; bottom: 0; pointer-events: none; }
.cta-band__overlay::before { right: 0; width: clamp(140px, 20vw, 320px); background: linear-gradient(300deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02)); clip-path: polygon(45% 0, 100% 0, 100% 100%, 85% 100%); }
.cta-band__overlay::after { right: clamp(90px, 13vw, 210px); width: clamp(60px, 8vw, 130px); background: rgba(212,3,30,0.35); clip-path: polygon(60% 0, 100% 0, 40% 100%, 0 100%); }
/* Vsebnik ostane poln .container, da se pas poravna z ostalimi razdelki.
   Širino omejimo besedilnemu stolpcu, NE vsebniku — .container ima
   margin-inline:auto, zato bi ožji vsebnik vsebino potisnil na sredino. */
.cta-band__content { position: relative; padding-block: clamp(3.5rem, 7vw, 6rem); }
.cta-band__content > * { max-width: 560px; }
.cta-band__title { font-size: clamp(1.8rem, 4vw, 3rem); }
.cta-band__text { font-size: 1.1rem; opacity: 0.95; margin-bottom: 1.4rem; }
/* Pomiritev za starša: kratka preverjena dejstva tik nad gumbom za prijavo. */

/* =====================================================================
   SPONZORJI
   ===================================================================== */
.sponsors-strip { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.5rem; align-items: center; }
/* Enotne bele ploščice — logotipi v polni barvi, jasno in profesionalno. */
.sponsor-logo {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.4rem;
	height: 88px; padding: 1.1rem 1.4rem; text-align: center;
	background: #fff; border-radius: 10px; border: 1px solid rgba(0,0,0,0.06);
	box-shadow: 0 6px 18px rgba(0,0,0,0.25);
	font-family: var(--font-head); color: var(--c-gray-700); letter-spacing: 0.1em;
	transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.sponsor-logo:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,0.35); }
.sponsor-logo__media { display: flex; align-items: center; justify-content: center; flex: 1; min-height: 0; width: 100%; }
.sponsor-logo img { max-height: 52px; width: auto; object-fit: contain; }
/* Svetli logotipi (npr. Carpolab, Royal) — temna ploščica, da se berejo. */
.sponsor-logo--dark { background: var(--c-ink-soft); border-color: rgba(255,255,255,0.1); }
.sponsor-logo--dark img { max-height: 56px; }
/* SVG logotipi brez intrinzične velikosti — prisili višino, da se izrišejo. */
.sponsor-logo img[src$=".svg"] { height: 52px; width: auto; max-height: none; }
a.sponsor-logo { cursor: pointer; }
/* Glavni sponzor — vizualno izpostavljen (brez napisa »glavni sponzor«):
   močnejša senca/rdeč sij, rdeč rob, večja ploščica in poudarjeno ime. */
.sponsor-logo--featured { height: auto; min-height: 96px; padding: 1rem 1.7rem 1.1rem; border: 2px solid var(--c-red); box-shadow: 0 14px 34px rgba(212,3,30,0.32), 0 0 0 1px rgba(212,3,30,0.25); transform: scale(1.04); }
.sponsor-logo--featured:hover { transform: scale(1.04) translateY(-4px); box-shadow: 0 20px 44px rgba(212,3,30,0.4); }
.sponsor-logo--featured.sponsor-logo--dark { background: linear-gradient(180deg, #23151a, var(--c-ink-soft)); }
.sponsor-logo--featured img { max-height: 60px; }
.sponsor-logo__name { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.86rem; font-weight: 600; color: #fff; }

/* =====================================================================
   SINGLE / PAGE
   ===================================================================== */
/* Pas na podstrani je uvod, ne predstava. Prej 60vh: na prenosniku je požrl
   skoraj cel zaslon, bralec pa je moral drsati, da je prišel do vsebine, po
   katero je prišel. Domača stran sme biti glasna, članek ne.
   clamp: na nizkih zaslonih ne stisne naslova, na visokih ne zraste čez mero. */
.single__hero, .page__hero { position: relative; min-height: clamp(280px, 42vh, 420px); display: flex; align-items: flex-end; color: var(--c-white); overflow: hidden; padding-top: var(--header-h); }
.single__media, .page__media { position: absolute; inset: 0; background-size: cover; background-position: center 32%; background-color: var(--c-ink); transform-origin: center 28%; will-change: transform; animation: nkkHeroPan 24s ease-in-out infinite alternate; filter: brightness(1.08); }
/* Novice/strani BREZ naslovne slike (brez inline background-image) niso več
   črna luknja: dobijo atmosfersko ozadje stadiona pod žarometi. Ko slika
   obstaja, jo tema izpiše kot inline style in ta pravilo ne velja. */
.single__media:not([style]), .page__media:not([style]) {
	background-image: linear-gradient(180deg, rgba(11,12,16,0.3), rgba(11,12,16,0.72)), url('../img/stadion-zarometi.jpg');
	background-image: linear-gradient(180deg, rgba(11,12,16,0.3), rgba(11,12,16,0.72)), image-set(url('../img/stadion-zarometi.webp') type('image/webp'), url('../img/stadion-zarometi.jpg') type('image/jpeg'));
	background-position: center 40%;
}
/* Pokončne slike (portret) v širokem hero pasu kadriramo k vrhu — glava/obraz ostane viden. */
.single__media.is-portrait, .page__media.is-portrait { background-position: center 8%; transform-origin: center 8%; }
/* Počasen, neprekinjen »tekoči« pomik slike (Ken Burns) — premium občutek na vseh podstraneh. */
@keyframes nkkHeroPan { from { transform: scale(1.04); } to { transform: scale(1.09); } }
/* Svetlejša prevleka (klubska želja: osvetli fotografijo posamezne novice). */
.single__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.74), rgba(0,0,0,0.26)); }
/* Motiv čez vso širino (zazna inc/focus.php) → močnejša senca. Velja za 67 %
   naših naslovnih fotografij; brez tega naslov leži na obrazih in ga senca
   0.2 na vrhu ne reši. Stranska senca gre na tisto stran, kjer stoji naslov. */
.single__media.is-busy ~ .single__overlay,
.page__media.is-busy ~ .single__overlay {
	background:
		linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.22) 45%, rgba(0,0,0,0) 72%),
		linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.32) 55%, rgba(0,0,0,0.22));
}
.single__media.is-busy.hero--text-right ~ .single__overlay,
.page__media.is-busy.hero--text-right ~ .single__overlay {
	background:
		linear-gradient(to left, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.22) 45%, rgba(0,0,0,0) 72%),
		linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0.32) 55%, rgba(0,0,0,0.22));
}
/* PODSTRANI (naslovna slika STRANI, ne novice): header banner naj bo TEMEN kot
   Cici gol — slika v ozadju, ne v ospredju. Svetlo nebo (O klubu, Zgodovina,
   Kontakt, Stadion …) se je prej preveč videlo. Novice (.single__media) ostanejo
   svetlejše (klubska želja); to velja LE za .page__media. */
.page__media ~ .single__overlay {
	background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.62) 45%, rgba(0,0,0,0.6) 100%);
}
.page__media.is-busy ~ .single__overlay,
.page__media.is-busy.hero--text-right ~ .single__overlay {
	background:
		linear-gradient(to right, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.2) 80%),
		linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.64) 50%, rgba(0,0,0,0.62) 100%);
}
/* CPT podstrani (ekipa, tekma, galerija) uporabljajo .single__media kot novice,
   a niso novice — njihov header banner naj bo prav tako TEMEN kot ostale podstrani.
   NOVICE (body.single-post) NAMENOMA izpustimo → ostanejo svetlejše (klubska želja). */
body.single-ekipa .single__media ~ .single__overlay,
body.single-tekma .single__media ~ .single__overlay,
body.single-galerija .single__media ~ .single__overlay {
	background:
		linear-gradient(to right, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.2) 80%),
		linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.64) 50%, rgba(0,0,0,0.62) 100%);
}
/* Naslov se umakne na mirnejšo stran (zazna inc/focus.php). Prej je vedno stal
   levo — tudi ko je bil človek levo, npr. portret Stojana Humarja. */
@media (min-width: 861px) {
	.single__media.hero--text-right ~ .single__head,
	.page__media.hero--text-right ~ .page__head--over {
		margin-inline: auto 0;
	}
}
.single__head, .page__head--over { position: relative; padding-block: 2rem 2.5rem; max-width: 880px; }
/* Naslov novice/strani manjši (kot hero na domači, po zgledu FC Bayern; prej do 4rem). */
.single__title, .page__title { font-size: clamp(1.7rem, 3.4vw, 2.7rem); line-height: 1.05; }
.entry-date { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.1em; color: var(--c-red-text); }
/* Vodoravni gutter OBVEZEN (prej 0): na mobilnem se je vsebina/obrazec dotikal roba
   zaslona in se odrezal. Na namizju je stolpec še vedno omejen na 800px + rob. */
.single__body, .page__body { max-width: calc(800px + 2 * var(--gutter)); padding: clamp(1.6rem, 3vw, 2.4rem) var(--gutter) clamp(2.5rem, 5vw, 4rem); }

/* ---------- Novica — slog FC Bayern članka (brez banerja) ---------- */
.clanek { padding-top: calc(var(--header-h) + clamp(1rem, 3vw, 2rem)); }
.clanek-figura {
	aspect-ratio: 2 / 1; border-radius: var(--radius-xl); overflow: hidden;
	background-size: cover; background-position: center 32%; background-color: var(--c-ink-soft);
	box-shadow: 0 18px 44px rgba(0,0,0,0.45);
}
.clanek-figura.is-portrait { background-position: center 8%; }
.clanek-figura:not([style]) { display: none; }
/* Kartica z naslovom prekriva spodnji rob fotografije (FCB). */
/* EN stolpec za ves članek: kartica naslova, besedilo, slike in podnapisi
   delijo isto širino in levo linijo. 72ch pri telesni pisavi ≈ 680 px —
   berljiva vrstica (65–75ch), slike pa dovolj velike. */
.clanek { --clanek-stolpec: min(680px, 100%); } /* ≈62ch telesne pisave — mera berljive vrstice */
.clanek-kartica__wrap {
	max-width: calc(800px + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
}
.clanek-kartica__wrap, .clanek .single__body { max-width: calc(var(--clanek-stolpec) + 2 * var(--gutter)); }
.clanek .prose { max-width: none; }
/* Mero vrstice zdaj drži stolpec sam — odstavki, slike in podnapisi so
   enako široki (poravnava po klubski želji). */
.clanek .entry-content > p,
.clanek .entry-content > ul,
.clanek .entry-content > ol,
.clanek .entry-content > blockquote { max-width: none; }
.clanek-kartica {
	position: relative; z-index: 2;
	/* Točno širina stolpca: kartica je s tem SREDINSKA glede na naslovno
	   fotografijo IN poravnana z besedilom pod njo (obe klubski želji).
	   Stolpec (680 px) je blizu dolžine naslova, zato praznine skoraj ni. */
	width: 100%;
	margin: clamp(-88px, -7vw, -44px) 0 0;
	/* Klubska odločitev (31. 7.): ČISTA enotna temna podlaga — brez preliva
	   in brez okraskov; rdeč rob + sij ter rdeč datum ostanejo. */
	background: var(--c-ink-soft);
	border: 1px solid rgba(212,3,30,0.6);
	border-radius: var(--radius-xl);
	box-shadow: 0 16px 40px rgba(0,0,0,0.5), 0 10px 34px rgba(212,3,30,0.22);
	padding: clamp(1.3rem, 3.2vw, 2.2rem) clamp(1.3rem, 3.5vw, 2.6rem);
}
/* Kartica ob odprtju članka mehko vstopi; brez animacije pri reduced-motion. */
@media (prefers-reduced-motion: no-preference) {
	.clanek-kartica { animation: karticaVstop 0.55s var(--ease) both; }
}
@keyframes karticaVstop {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}
.clanek-figura:not([style]) + .clanek-kartica__wrap .clanek-kartica { margin-top: 0; }
.clanek-kartica__meta { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 0.7rem; }
.clanek-kartica__cat { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem; color: var(--c-red-text); }
.clanek-kartica__meta time { font-size: 0.85rem; color: var(--c-red-text); }
.clanek-kartica__title { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.5rem, 3.2vw, 2.4rem); line-height: 1.12; color: #fff; margin: 0; text-wrap: balance; }
.clanek .single__body { margin-inline: auto; }
/* Noga članka: ločnica z grbom, teme in deljenje. */
.clanek-noga { margin-top: clamp(2rem, 5vw, 3.5rem); }
.clanek-noga__crta { display: flex; align-items: center; gap: 1.2rem; margin-bottom: 1.8rem; }
.clanek-noga__crta::before, .clanek-noga__crta::after { content: ""; flex: 1; height: 1px; background: rgba(212,3,30,0.5); }
.clanek-noga__crta img { width: 44px; height: 44px; object-fit: contain; }
/* Grb je povezava na domačo stran (klubska želja) — rahel dvig ob hoverju. */
.clanek-noga__grb { display: inline-flex; padding: 4px; border-radius: 50%; transition: transform 0.2s var(--ease); }
.clanek-noga__grb:hover { transform: translateY(-2px) scale(1.08); }
.clanek-noga__grid { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.5rem 3rem; }
.clanek-noga__label { display: block; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.8rem; color: #fff; margin-bottom: 0.7rem; }
.news-filtri--noga { margin: 0; }
.clanek-deli { display: flex; gap: 0.7rem; }
.clanek-deli__gumb {
	display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px;
	border: 1px solid rgba(255,255,255,0.22); border-radius: 50%; color: #fff;
	transition: border-color 0.2s var(--ease), background 0.2s var(--ease), transform 0.2s var(--ease);
}
.clanek-deli__gumb:hover { border-color: var(--c-red); background: var(--c-red); color: #fff; transform: translateY(-2px); }
@media (max-width: 560px) { .clanek-figura { aspect-ratio: 16 / 10; } }
.page__head:not(.page__head--over) { padding-top: calc(var(--header-h) + 2.5rem); }
.page__head:not(.page__head--over) .page__title { color: #fff; }
.entry-content { font-size: 1.08rem; }
.entry-content p { margin: 0 0 1.4rem; }
.entry-content h2, .entry-content h3 { margin-top: 2rem; }
.entry-content img { border-radius: var(--radius); margin-block: 1.5rem; }

/* Pri straneh brez hero slike potisni vsebino pod fiksno glavo */
.single .site-main, .page .site-main, .archive .site-main, .blog .site-main { padding-top: 0; }

/* Paginacija */
.pagination { margin-top: 3rem; }
.pagination .nav-links { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pagination a, .pagination .current {
	display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center;
	font-family: var(--font-head); border-radius: var(--radius); background: var(--c-ink-soft); color: #fff; padding-inline: 0.8rem;
	border: 1px solid rgba(255,255,255,0.1);
}
.pagination .current { background: var(--c-red); color: var(--c-white); border-color: var(--c-red); }

/* =====================================================================
   NOGA
   ===================================================================== */
/* Noga ni črna praznina: svoj pas z blagim gradientom, mehkim rdečim žarometnim
   sijem pri vrhu in medlim klubskim grbom kot teksturo. Vse zadržano. */
.site-footer { position: relative; overflow: hidden; color: var(--c-gray-200); background: linear-gradient(180deg, #0e1016 0%, var(--c-ink) 55%); border-top: 1px solid rgba(255,255,255,0.07); }
.site-footer::before { content: ""; position: absolute; top: 0; left: 50%; width: min(1100px, 92%); height: 340px; transform: translateX(-50%); background: radial-gradient(58% 100% at 50% 0%, rgba(212,3,30,0.16), transparent 70%); pointer-events: none; }
.site-footer::after { content: ""; position: absolute; right: -70px; top: 30px; width: 360px; height: 360px; background: url('../img/crest.png') no-repeat center / contain; opacity: 0.05; pointer-events: none; }
.site-footer__top, .site-footer__bottom { position: relative; z-index: 1; }
/* 4 stolpci (znamka | razdelki | kontakt | koledar), vsi poravnani na vrh, da
   kontakt ne pade v drugo vrstico in ne nastane vrzel pod znamko. */
.site-footer__top { display: grid; grid-template-columns: 1.5fr 0.9fr 1.1fr 1.3fr; gap: 2.6rem 3rem; align-items: start; padding-block: clamp(3rem, 6vw, 4.5rem); }
.site-footer__brand { max-width: 34ch; }
.site-footer .site-logo--text { color: var(--c-white); }
.site-footer__tagline { margin: 1rem 0; max-width: 38ch; color: var(--c-gray-500); }
.site-footer__social { display: flex; gap: 0.75rem; }
.site-footer__social a {
	display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center;
	border: 1px solid rgba(255,255,255,0.18); border-radius: 50%; font-family: var(--font-head); font-size: 0.8rem;
	transition: background 0.25s var(--ease), color 0.25s var(--ease);
}
.site-footer__social a:hover { background: var(--c-red); color: var(--c-white); border-color: var(--c-red); transform: translateY(-2px); }
.site-footer__social a svg { width: 20px; height: 20px; display: block; }
/* NZS / MNZG kot besedilni monogram v enakem krogu kot družbene ikone. */
.site-footer__social-txt span { font-family: var(--font-head); font-weight: 700; font-size: 0.6rem; letter-spacing: 0.02em; line-height: 1; }
.footer-widget__title { color: var(--c-white); font-size: 1.1rem; margin-bottom: 1rem; }
.site-footer__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.6rem; }
.site-footer__list a:hover { color: var(--c-white); }
.site-footer__contact address { font-style: normal; line-height: 1.8; }
.site-footer__contact a { color: var(--c-red-text); }
.site-footer__bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-block: 1.3rem; font-size: 0.85rem; color: var(--c-gray-500); }

/* =====================================================================
   ANIMACIJE (scroll reveal)
   ===================================================================== */
/* Skrijemo samo, če je JS aktiven (progresivno izboljšanje — brez JS vse ostane vidno). */
.js [data-reveal] { opacity: 0; transform: translateY(30px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* Zamaknjeno (staggered) odkrivanje otrok mreže — kartice "priplavajo" ena za drugo. */
.js [data-reveal] [data-stagger] > * { opacity: 0; transform: translateY(26px); transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); }
.js [data-reveal].is-visible [data-stagger] > * { opacity: 1; transform: none; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(1) { transition-delay: 0.06s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(2) { transition-delay: 0.14s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(3) { transition-delay: 0.22s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(4) { transition-delay: 0.30s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(5) { transition-delay: 0.38s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(6) { transition-delay: 0.46s; }
.js [data-reveal].is-visible [data-stagger] > *:nth-child(n+7) { transition-delay: 0.54s; }

/* Hero: vsebina se ob drsenju nežno dvigne in zbledi (parallax občutek). */
.js .hero__content { will-change: transform, opacity; }

@media (prefers-reduced-motion: reduce) {
	.js [data-reveal], .js [data-reveal] [data-stagger] > * { opacity: 1; transform: none; transition: none; }
	.js .hero__content .eyebrow, .js .hero__excerpt, .js .hero__actions,
	.js .hero__title .reveal-line { opacity: 1; transform: none; transition: none; }
	.hero__media, .single__media, .page__media, .cta-band__media { animation: none; transform: none; }
	html { scroll-behavior: auto; }
	/* Varovalo: brez zankastih in dolgih animacij/prehodov. */
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* =====================================================================
   ODZIVNOST
   ===================================================================== */
@media (max-width: 1024px) {
	.news-mosaic { grid-template-columns: repeat(2, 1fr); }
	.news-card--feature { grid-column: span 2; grid-row: span 1; min-height: 360px; }
	.teams-grid { grid-template-columns: repeat(2, 1fr); }
	.sponsors-strip { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 860px) {
	.site-nav, .site-header__cta { display: none; }
	.nav-toggle { display: flex; }
	/* Tablica: 2×2 mreža (znamka | razdelki / kontakt | koledar). */
	.site-footer__top { grid-template-columns: 1fr 1fr; gap: 2.4rem; }
}
@media (max-width: 560px) {
	.news-mosaic { grid-template-columns: 1fr; }
	.news-card--feature { grid-column: span 1; }
	.teams-grid { grid-template-columns: 1fr 1fr; }
	.sponsors-strip { grid-template-columns: repeat(2, 1fr); }
	.site-footer__top { grid-template-columns: 1fr; }
	.hero { min-height: 80vh; }
	/* Naslovi sekcij: eyebrow → naslov → povezava (namesto stisnjene vrstice). */
	.section__head:not(.section__head--center) { flex-direction: column; align-items: flex-start; gap: 0.15rem; margin-bottom: 1.8rem; }
	.section__head .eyebrow { margin-bottom: 0; }
	.section__link { margin-left: 0; margin-top: 0.6rem; }
	.section__title { font-size: clamp(1.8rem, 8vw, 2.4rem); }
}

/* =====================================================================
   PREMIUM ANIMACIJE (slog FC Bayern)
   ===================================================================== */

/* 1) Scroll progress — rdeča črta na vrhu */
.scroll-progress {
	position: fixed; top: 0; left: 0; z-index: 200; height: 3px; width: 100%;
	background: var(--c-red); transform: scaleX(0); transform-origin: left;
	transition: transform 0.1s linear; pointer-events: none;
	box-shadow: 0 0 8px rgba(212,3,30, 0.6);
}

/* 2) Hero naslov — "mask reveal" ob nalaganju */
.hero__title { overflow: hidden; }
.hero__title .reveal-line { display: inline-block; }
.js .hero__title .reveal-line { transform: translateY(110%); }
.js .hero.is-visible .hero__title .reveal-line {
	transform: translateY(0);
	transition: transform 0.9s var(--ease) 0.15s;
}
/* Koreografiran vstop heroja: eyebrow → excerpt → gumbi. */
.js .hero__content .eyebrow,
.js .hero__excerpt,
.js .hero__actions { opacity: 0; transform: translateY(18px); }
.js .hero.is-visible .hero__content .eyebrow,
.js .hero.is-visible .hero__excerpt,
.js .hero.is-visible .hero__actions { opacity: 1; transform: none; transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }
.js .hero.is-visible .hero__content .eyebrow { transition-delay: 0.35s; }
.js .hero.is-visible .hero__excerpt { transition-delay: 0.5s; }
.js .hero.is-visible .hero__actions { transition-delay: 0.65s; }

/* 3) Sheen na gumbih */
.btn { position: relative; overflow: hidden; }
.btn::before {
	content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%;
	background: linear-gradient(110deg, transparent, rgba(255,255,255,0.35), transparent);
	transform: skewX(-20deg); transition: left 0.6s var(--ease);
}
.btn:hover::before { left: 140%; }

/* 4) Novice — rdeča črta pod naslovom zraste + puščica */
.news-card__title { position: relative; display: inline; background-image: linear-gradient(var(--c-red), var(--c-red)); background-size: 0% 3px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: 4px; transition: background-size 0.4s var(--ease); }
.news-card:hover .news-card__title { background-size: 100% 3px; }
.news-card__body::after {
	content: "→"; position: absolute; right: 1.4rem; bottom: 1.4rem;
	font-family: var(--font-head); color: var(--c-red); font-size: 1.3rem;
	opacity: 0; transform: translateX(-8px); transition: opacity 0.35s var(--ease), transform 0.35s var(--ease);
}
.news-card:hover .news-card__body::after { opacity: 1; transform: translateX(0); }

/* 5) Neskončni marquee sponzorjev */
.sponsors-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.sponsors-track { display: flex; align-items: center; gap: 1.5rem; width: max-content; animation: marquee 32s linear infinite; }
.sponsors-marquee:hover .sponsors-track { animation-play-state: paused; }
.sponsors-track .sponsor-logo { flex: 0 0 auto; width: clamp(140px, 16vw, 200px); }
.sponsors-track .sponsor-logo--featured { width: clamp(200px, 22vw, 260px); }
@keyframes marquee { to { transform: translateX(-50%); } }

/* 6) Rdeča kljukica ob naslovih sekcij */
.section__title { position: relative; }
.section__head:not(.section__head--center) .section__title { padding-left: 1rem; }
.section__head:not(.section__head--center) .section__title::before {
	content: ""; position: absolute; left: 0; top: 0.1em; bottom: 0.1em; width: 5px;
	background: var(--c-red); transform-origin: top; transition: transform 0.6s var(--ease) 0.1s;
}
/* Z JS se kljukica "nariše" ob odkritju sekcije; brez JS je preprosto vidna. */
.js [data-reveal] .section__head:not(.section__head--center) .section__title::before { transform: scaleY(0); }
.js [data-reveal].is-visible .section__head:not(.section__head--center) .section__title::before { transform: scaleY(1); }

@media (prefers-reduced-motion: reduce) {
	.js .hero__title .reveal-line { transform: none; }
	.sponsors-track { animation: none; }
	.btn::before { display: none; }
}

/* Mobilni hero: manj gneče (klubska pripomba »nagužvano«).
   - Novični slidi: samo »Preberi več« (vpis je v CTA pasu in meniju).
   - Znamčni slide: samo rdeči »Vpis« — »Zadnje novice« so takoj pod herojem;
     odpade tudi napis NK ZARICA KRANJ nad naslovom (grb je tik nad njim).
   - Zavihki: manjše sličice, tesnejši, enovrstični — pol nižji pas. */
@media (max-width: 640px) {
	.hero__actions .btn--ghost { display: none; }
	.hero-slide--branded .eyebrow:first-child { display: none; }
	.hero-slide__excerpt { margin-bottom: 1.1rem; }
	.hero-tab__title { -webkit-line-clamp: 1; line-clamp: 1; }
}

/* =====================================================================
   TEMNA TEMA — popravki za vsebino na črni podlagi
   ===================================================================== */
/* Berljivost dolgih člankov.
   Izmerjeno prej: 720 px = 80 znakov na vrstico, najdaljši odstavek 1742
   znakov (~22 vrstic v enem kosu). Pri 80 znakih oko na koncu vrstice težko
   najde začetek naslednje, zato je bralcu "nabasano".
   Odstavkov ne delimo — vsebina je avtorjeva. Popravimo, kar je naše:
   - ožji stolpec (priporočeno 65–75 znakov),
   - vodilo 1.75 namesto 1.6, ker dolg blok potrebuje več zraka,
   - večji razmik med odstavki, da so vidni kot ločene misli,
   - text-wrap: pretty proti sirotam.

   POZOR na enoto ch: to je širina znaka "0", NE povprečnega znaka. Pri Interju
   je 1ch = 10,84 px, povprečen znak v besedilu pa ~9 px — zato je 68ch = 737 px
   (torej ŠIRŠE od 720 px vsebnika) in omejitev ni naredila ničesar. Izmerjeno.
   Za ~70 pravih znakov je treba 58ch. */
.entry-content { color: #cfd2da; font-size: 1.075rem; }
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > blockquote {
	max-width: 62ch;
	line-height: 1.8;
	text-wrap: pretty;
}
.entry-content > p { margin-block: 0 1.5rem; }
/* Vodilni (prvi) odstavek novice je večji in svetlejši — uvod, ne stena. */
/* Prvi odstavek: ENAKA velikost kot ostali (prej večji "lead" → videti kot napaka
   'različne velikosti pisave v isti novici'). Ohranimo le rahlo svetlejšo barvo in
   lepo začetnico (::first-letter). Besedilo članka je zdaj enotno. */
.single__body .entry-content > p:first-of-type { color: #eceef2; margin-bottom: 1.5rem; }
/* Lepa začetnica na prvi črki prvega odstavka (uredniški pridih). */
.single__body .entry-content > p:first-of-type::first-letter {
	float: left; font-family: var(--font-display); font-size: 3.6rem; line-height: 0.8;
	padding: 0.35rem 0.7rem 0 0; color: var(--c-red);
}

/* ---- Slike v vsebini novic: nikoli razvlečene, nikoli čez cel zaslon ---- */
.entry-content img { height: auto; } /* prepreči raztegovanje (napačni width/height atributi) */
/* Samostojne (necentrirane/neplavajoče) slike: sredinsko, z zgornjo mejo višine. */
.entry-content > img,
.entry-content > p > img,
.entry-content > figure:not(.alignleft):not(.alignright) img,
.entry-content > .wp-block-image img {
	display: block; margin-inline: auto; width: auto; max-width: 100%; max-height: 76vh; object-fit: contain;
}
.entry-content figure { margin: 2rem auto; }
.entry-content figcaption, .entry-content .wp-caption-text { margin-top: 0.5rem; font-size: 0.85rem; color: var(--c-gray-500); font-style: italic; text-align: center; }
/* Plavajoče sličice (alignleft/right): float NE — majhne, čudno postavljene ob
   besedilu (klubska pripomba). Vse slike v članku so sredinske in dostojne
   velikosti; pokončne omeji višina, ležeče širina stolpca. */
.entry-content .alignleft, .entry-content .wp-caption.alignleft,
.entry-content .alignright, .entry-content .wp-caption.alignright {
	float: none; width: auto !important; max-width: 100%; margin: 2rem auto; text-align: center;
}
.entry-content .aligncenter { display: block; margin-inline: auto; }
/* Zaporedne sličice iz starih novic (content-guards jih združi v .post-figs):
   čista odzivna mreža namesto majhnih plavajočih slik, ki so se kopičile. */
.entry-content .post-figs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 1.9rem 0; align-items: start; }
.entry-content .post-figs:first-child { margin-top: 0; }
.entry-content .post-figs figure, .entry-content .post-figs .wp-caption { float: none !important; max-width: none !important; width: auto !important; margin: 0 !important; text-align: center; }
/* Enotne ploščice (object-fit cover) → čist fotografski trak; center 25 % ohrani
   glave. Specifičnost mora premagati .prose .wp-caption img (zato figure/.wp-caption img). */
.entry-content .post-figs figure img, .entry-content .post-figs .wp-caption img {
	display: block; width: 100%; height: 280px; max-height: none; max-width: none;
	object-fit: cover; object-position: center 25%; border-radius: var(--radius);
	margin: 0; box-shadow: 0 10px 26px rgba(0,0,0,0.35);
}
.entry-content .post-figs figcaption, .entry-content .post-figs .wp-caption-text { margin-top: 0.55rem; }
@media (max-width: 520px) {
	.entry-content .post-figs { grid-template-columns: 1fr 1fr; gap: 0.7rem; }
	.entry-content .post-figs figure img, .entry-content .post-figs .wp-caption img { height: 180px; }
}
@media (max-width: 600px) {
	/* Na telefonu plavajoče slike raje čez celo širino kot stisnjene ob besedilu. */
	.entry-content .alignleft, .entry-content .alignright, .entry-content .wp-caption.alignleft, .entry-content .wp-caption.alignright {
		float: none; max-width: 100%; margin: 1.4rem auto;
	}
	.single__body .entry-content > p:first-of-type::first-letter { font-size: 3rem; }
}
.entry-content a { color: var(--c-red-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.entry-content a:hover { color: #fff; }
.entry-content strong { color: #fff; }
/* Vbrizgane fotografije v vsebinskih straneh — razbijejo steno besedila. */
.page-figure { margin: 2.4rem 0; }
.page-figure img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-lg); }
.entry-content blockquote { position: relative; background: rgba(212,3,30,0.06); border: 1px solid rgba(212,3,30,0.18); border-radius: var(--radius); padding: 1.6rem 1.6rem 1.6rem 3.4rem; margin-inline: 0; color: #fff; font-size: 1.12rem; }
.entry-content blockquote::before { content: "\201C"; position: absolute; left: 0.9rem; top: 0.3rem; font-family: var(--font-head); font-size: 3rem; line-height: 1; color: var(--c-red); }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.muted { color: var(--c-gray-500); }

/* Prose — berljiva vsebinska stran */
.prose { max-width: 72ch; }
.prose > .lead, .entry-content .lead { font-size: clamp(1.2rem, 2.2vw, 1.45rem); line-height: 1.5; color: #fff; margin-bottom: 1.8rem; text-wrap: pretty; }
.prose h2 { font-size: clamp(1.4rem, 3vw, 1.9rem); margin: 2.4rem 0 0.8rem; color: #fff; }
.prose h2::after { content: ""; display: block; width: 48px; height: 4px; background: var(--c-red); margin-top: 0.6rem; }
.prose h3 { font-size: 1.25rem; margin: 1.8rem 0 0.6rem; }
.prose p { margin: 0 0 1.2rem; text-wrap: pretty; }
.prose ul, .prose ol { margin: 0 0 1.4rem; padding-left: 0; list-style: none; }
.prose ul li { position: relative; padding-left: 1.6rem; margin-bottom: 0.6rem; }
.prose ul li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 7px; height: 7px; background: var(--c-red); border-radius: 1px; transform: rotate(45deg); }
.prose ol { counter-reset: nkk; }
.prose ol li { counter-increment: nkk; position: relative; padding-left: 2rem; margin-bottom: 0.6rem; }
.prose ol li::before { content: counter(nkk); position: absolute; left: 0; top: 0; font-family: var(--font-head); color: var(--c-red-text); font-weight: 700; }
.prose img { border-radius: var(--radius); }

/* Slike v člankih — urejeno, brez napihovanja (nevtralizira postrgani float/
   fiksne širine). Posamična slika: na sredini, največ do širine stolpca in
   nikoli povečana nad lastno ločljivost. Več zaporednih slik → enotna mreža. */
.prose figure,
.prose .wp-caption {
	float: none !important;
	width: auto !important;
	max-width: 100%;
	margin: 2rem auto;
	text-align: center;
}
.prose figure img,
.prose .wp-caption img,
.prose p > img,
.prose > img {
	display: block;
	/* width:auto (NE 100 %): pokončna slika pri width:100 % + max-height ni več
	   v razmerju — obrazi se raztegnejo. Naravna velikost do širine stolpca. */
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: min(72vh, 620px);
	margin: 1.8rem auto;
	border-radius: var(--radius);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.4);
}
.prose .wp-caption-text,
.prose figcaption {
	margin-top: 0.7rem;
	font-size: 0.85rem;
	color: var(--c-gray-500);
	font-style: italic;
	text-align: center;
}
/* Galerija zaporednih slik v članku → enotne ploščice v mreži. */
.prose-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; margin: 2rem 0; align-items: start; }
.prose-gallery figure, .prose-gallery .wp-caption { margin: 0 !important; width: auto !important; max-width: none; }
.prose-gallery img { width: 100%; height: 300px; max-height: none; object-fit: cover; margin: 0; }
@media (max-width: 480px) { .prose-gallery { grid-template-columns: repeat(2, 1fr); } .prose-gallery img { height: 220px; } }
/* Vgrajene WP galerije → urejena mreža namesto razmetanih sličic. */
.prose .gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.9rem; }
.prose .gallery br { display: none; }
.prose .gallery-item { margin: 0 !important; width: auto !important; }
.prose .gallery img { aspect-ratio: 4 / 3; object-fit: cover; border: 0 !important; }
/* Dve zaporedni poravnani sliki → urejen par v dveh stolpcih. */
.prose .alignleft, .prose .alignright { float: none; width: 100%; margin: 0; }

/* Video mreža (Vaja dela mojstra) */
.video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.25rem; margin: 2rem 0; }

/* Arhiv novic — slog FC Bayern news: čipi, izpostavljena kartica, mreža ploščic. */
.news-filtri { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: -1rem 0 2rem; }
.chip { display: inline-flex; align-items: center; padding: 0.42rem 1rem; background: transparent; border: 1px solid rgba(255,255,255,0.22); border-radius: 999px; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.78rem; color: #fff; cursor: pointer; transition: border-color 0.2s var(--ease), background 0.2s var(--ease), color 0.2s var(--ease); }
.chip:hover { border-color: rgba(212,3,30,0.7); color: #fff; }
.chip--active { background: var(--c-red); border-color: var(--c-red); }
/* Rdeč fokusni obroč na rdečem čipu bi izginil — beli obroč ostane viden. */
.chip--active:focus-visible { outline-color: #fff; }
/* Dotikalne tarče: na zaslonih na dotik čipi in gumbi za deljenje ≥ 44 px. */
@media (pointer: coarse) {
	.chip { padding: 0.65rem 1.15rem; }
	.clanek-deli__gumb { width: 44px; height: 44px; }
}
.news-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.news-feature { grid-column: 1 / -1; }
.news-feature__link { display: grid; grid-template-columns: 11fr 9fr; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl); overflow: hidden; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.35s var(--ease); }
.news-feature__link:hover { transform: translateY(-3px); border-color: rgba(212,3,30,0.55); box-shadow: 0 16px 34px rgba(0,0,0,0.4); }
.news-feature__media { min-height: 100%; }
.news-feature__img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; }
.news-feature__body { display: flex; flex-direction: column; justify-content: center; gap: 0.7rem; padding: clamp(1.4rem, 3vw, 2.6rem); }
.news-feature__title { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.4rem, 2.6vw, 2.1rem); line-height: 1.12; color: #fff; }
.news-feature__excerpt { color: var(--c-gray-200); line-height: 1.55; }
.news-feature__cta { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.85rem; color: var(--c-red-text); }
.news-tile { display: flex; }
.news-tile__link { display: flex; flex-direction: column; width: 100%; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl); overflow: hidden; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.35s var(--ease); }
.news-tile__link:hover { transform: translateY(-4px); border-color: rgba(212,3,30,0.55); box-shadow: 0 16px 34px rgba(0,0,0,0.4); }
.news-tile__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.news-tile__body { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.05rem 1.15rem 1.25rem; }
.news-tile__meta { display: flex; align-items: baseline; justify-content: space-between; gap: 0.8rem; }
.news-tile__cat { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.72rem; color: var(--c-red-text); }
.news-tile__date { font-size: 0.82rem; color: var(--c-gray-500); white-space: nowrap; }
.news-tile__title { font-family: var(--font-head); text-transform: uppercase; font-size: 1.02rem; line-height: 1.2; color: #fff; }
@media (max-width: 980px) { .news-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
	.news-tiles { grid-template-columns: 1fr; }
	.news-feature__link { grid-template-columns: 1fr; }
	.news-feature__img { height: auto; }
}

/* Domača Galerija: tonska izmenjava (klubska želja 1. 8.) — rahlo svetlejša
   temna podlaga z nežnim rdečim sijem od zgoraj loči sekcijo od črnega
   O klubu pod njo; ritem tonov kot pri FCB, brez novih elementov. */
.section--gallery {
	background:
		radial-gradient(120% 70% at 50% 0%, rgba(212,3,30,0.10), transparent 55%),
		linear-gradient(180deg, #17181d 0%, #121318 78%, var(--c-ink) 100%);
}

/* O klubu — 3 kartice (slog FC Bayern »Club«): fotografija + oznaka + naslov. */
.klub-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.klub-card { display: flex; flex-direction: column; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-xl); overflow: hidden; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.35s var(--ease); }
.klub-card:hover { transform: translateY(-4px); border-color: rgba(212,3,30,0.55); box-shadow: 0 16px 34px rgba(0,0,0,0.4); }
.klub-card__media { aspect-ratio: 16 / 10; width: 100%; object-fit: cover; }
.klub-card__body { display: flex; flex-direction: column; gap: 0.35rem; padding: 1.1rem 1.2rem 1.3rem; }
.klub-card__title { font-family: var(--font-head); text-transform: uppercase; font-size: 1.15rem; line-height: 1.15; color: #fff; }
@media (max-width: 860px) { .klub-cards { grid-template-columns: 1fr; } }
/* O klubu središče: 5 kartic → 2+3 razporeditev prek auto-fit. */
.klub-cards--oklubu { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
/* En stolpec za vso vsebino O klubu — uvod in odstavki sekcij delijo isti
   desni rob (klubska pripomba 1. 8.). */
.stran-oklubu .page__body { max-width: calc(min(680px, 100%) + 2 * var(--gutter)); margin-inline: auto; }
.stran-oklubu .prose { max-width: none; }
.stran-oklubu .entry-content > p,
.stran-oklubu .entry-content > ul,
.stran-oklubu .entry-content > ol { max-width: none; }

/* Klub TV (domača stran): 1 velik posnetek (2×2) + 3 mali + rdeča CTA ploščica.
   Pri 4 stolpcih je featured 2×2 spet ~16:9, zato ni popačenja. */
.klubtv-intro { max-width: 62ch; margin: -1.25rem 0 0; color: var(--c-gray-200); }
.video-grid--klubtv { grid-template-columns: repeat(4, 1fr); }
.video-grid--klubtv .video-lite--featured { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
.klubtv-cta {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.7rem;
	aspect-ratio: 16 / 9; border-radius: var(--radius); text-align: center; padding: 1rem;
	background: linear-gradient(160deg, var(--c-red), var(--c-red-dark)); color: #fff;
	font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600;
	box-shadow: 0 12px 30px rgba(212,3,30,0.28); transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.klubtv-cta:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(212,3,30,0.4); color: #fff; }
@media (max-width: 900px) {
	.video-grid--klubtv { grid-template-columns: repeat(2, 1fr); }
	/* Brez 2×2 raztega mora višino spet določati razmerje 16:9, sicer se ploščica sesede. */
	.video-grid--klubtv .video-lite--featured { grid-row: auto; aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
	.video-grid--klubtv { grid-template-columns: 1fr; }
	.video-grid--klubtv .video-lite--featured { grid-column: auto; }
}
.video-embed { margin: 0; }
.video-embed iframe { width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--radius); display: block; box-shadow: 0 12px 30px rgba(0,0,0,0.35); background: #000; }

/* Uvodni pas notranjih strani (arhivi + strani brez slike) — atmosferski stadion */
/* TEMNO, a črnina razbita: stadion VIDEN + rahel rdeč sij (ne rdeč blok). */
.page-lead { position: relative; padding-top: calc(var(--header-h) + clamp(2.5rem, 6vw, 4.5rem)); padding-bottom: clamp(1.5rem, 4vw, 3rem); background-image: radial-gradient(130% 95% at 72% 0%, rgba(212,3,30,0.22), transparent 55%), linear-gradient(180deg, rgba(11,12,16,0.72) 0%, rgba(11,12,16,0.90) 62%, var(--c-ink) 100%), url('../img/zarica-akcija.jpg'); background-size: cover; background-position: center 38%; }
.page-lead > .container { position: relative; }
.page-lead__title { font-size: clamp(2.2rem, 5vw, 3.6rem); margin: 0 0 0.4rem; }
.page-lead__text { color: var(--c-gray-500); max-width: 60ch; }

/* Roster igralcev */
.team-coach { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1.4rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.04em; color: #fff; font-size: 1.05rem; }
.team-coach__label { font-size: 0.7rem; letter-spacing: 0.14em; color: var(--c-red-text); border: 1px solid rgba(212,3,30,0.4); border-radius: 999px; padding: 0.25rem 0.7rem; }
.roster { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
/* Kartica igralca — slog FCB squad: siva teksturirana ploskev (ševron vzorec),
   številka/inicialke zgoraj levo, portret ali SILHUETA ob dnu, ime v kartici. */
.player-card {
	position: relative; aspect-ratio: 3 / 4; border-radius: var(--radius); overflow: hidden;
	transition: transform 0.3s var(--ease), box-shadow 0.35s var(--ease);
	background:
		repeating-linear-gradient(125deg, rgba(255,255,255,0.035) 0 12px, rgba(255,255,255,0) 12px 24px),
		repeating-linear-gradient(55deg, rgba(0,0,0,0.20) 0 12px, rgba(0,0,0,0) 12px 24px),
		linear-gradient(160deg, #3a3c43 0%, #232429 55%, #141519 100%);
}
.player-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,0.45); }
.player-card__num { position: absolute; top: 0.55rem; left: 0.75rem; z-index: 2; font-family: var(--font-head); font-weight: 800; font-size: 1.9rem; line-height: 1; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.player-card__media { position: absolute; inset: 0; background-size: cover; background-position: center top; }
/* Brez fotografije: srebrna silhueta igralca z nogo na žogi na črni podlagi
   (Higgsfield, klubska izbira) — polni cover, kot prava fotografija. */
.player-card--silhueta .player-card__media {
	background-image: url('../img/igralec-silhueta.jpg');
	background-image: image-set(url('../img/igralec-silhueta.webp') type('image/webp'), url('../img/igralec-silhueta.jpg') type('image/jpeg'));
	background-size: cover; background-position: center top;
}
/* Vratarji: silhueta z žogo v rokah (klubska želja). */
.player-card--silhueta.player-card--vratar .player-card__media {
	background-image: url('../img/vratar-silhueta.jpg');
	background-image: image-set(url('../img/vratar-silhueta.webp') type('image/webp'), url('../img/vratar-silhueta.jpg') type('image/jpeg'));
}
/* Trenerji: silhueta v trenirki s prekrižanimi rokami. */
.player-card--silhueta.player-card--trener .player-card__media {
	background-image: url('../img/trener-silhueta.jpg');
	background-image: image-set(url('../img/trener-silhueta.webp') type('image/webp'), url('../img/trener-silhueta.jpg') type('image/jpeg'));
}
.player-card__info { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 1.7rem 0.85rem 0.75rem; background: linear-gradient(to top, rgba(0,0,0,0.8), rgba(0,0,0,0)); }
.player-card__name { display: block; font-family: var(--font-head); text-transform: uppercase; color: #fff; font-size: 1.02rem; line-height: 1.15; }
.player-card__pos { font-size: 0.74rem; color: var(--c-red-text); text-transform: uppercase; letter-spacing: 0.08em; }

/* Glava strani selekcije — brez banerja (zgled FCB first-team). */
.ekipa-fcb { padding-top: calc(var(--header-h) + clamp(1.2rem, 3vw, 2rem)); }
.ekipa-glava { margin-bottom: 1.1rem; }
.ekipa-glava__naslov { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.02; color: #fff; margin: 0.15rem 0 0; }
.ekipa-fcb .clanek-figura { margin-bottom: clamp(1.6rem, 4vw, 2.6rem); }
.ekipa-glava__opis { color: var(--c-gray-200); margin: 0.6rem 0 0; max-width: 60ch; }

/* Kinematografski pas z žogo (Higgsfield klubska grafika) na straneh selekcij:
   polna širina, mehko zlit v črnino zgoraj in spodaj. */
.ekipa-zoga {
	height: clamp(240px, 36vw, 420px);
	background-image: url('../img/ekipa-zoga.jpg');
	background-image: image-set(url('../img/ekipa-zoga.webp') type('image/webp'), url('../img/ekipa-zoga.jpg') type('image/jpeg'));
	background-size: cover; background-position: center 62%;
	position: relative;
}
.ekipa-zoga::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(to bottom, var(--c-ink) 0%, rgba(10,10,12,0) 22%, rgba(10,10,12,0) 78%, var(--c-ink) 100%);
}

/* Tekme / semaforji */
.fixtures { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.fixture { display: flex; flex-direction: column; gap: 0.7rem; padding: 1.4rem 1.3rem; background: var(--c-ink-soft); border-radius: var(--radius); border: 1px solid rgba(255,255,255,0.09); transition: transform 0.25s var(--ease), background 0.25s var(--ease), border-color 0.25s var(--ease); }
.fixture:hover { transform: translateY(-3px); background: #1c1f29; border-color: rgba(212,3,30,0.4); }
.fixture__comp { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.72rem; color: var(--c-red-text); }
.fixture__teams { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; font-family: var(--font-head); text-transform: uppercase; color: #fff; }
.fixture__team { flex: 1; display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.fixture__ime { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.fixture__team .fixture-card__crest { width: 30px; height: 30px; object-fit: contain; flex: 0 0 auto; }
.fixture__teams .fixture__team:last-child { justify-content: flex-end; text-align: right; }
.fixture__score { font-size: 1.5rem; color: var(--c-red); font-family: var(--font-num); }
.fixture__when { font-size: 0.85rem; color: var(--c-gray-500); }

/* Lestvica lige (Merkur GNL, vir MNZ Gorenjska) */
.lestvica { background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.09); border-radius: var(--radius); overflow: hidden; }
.lestvica__glava { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1.1rem 1.3rem 0.9rem; border-bottom: 1px solid rgba(255,255,255,0.08); }
.lestvica__naslov { margin: 0; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.04em; font-size: 1.05rem; color: #fff; }
.lestvica__sezona { font-family: var(--font-num); font-size: 1.1rem; color: var(--c-red-text); }
.lestvica .table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.lestvica__tabela { width: 100%; border-collapse: collapse; font-size: 0.92rem; color: var(--c-gray-200); }
.lestvica__tabela th, .lestvica__tabela td { padding: 0.6rem 0.5rem; text-align: center; white-space: nowrap; }
.lestvica__tabela thead th { font-family: var(--font-head); text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.06em; color: var(--c-gray-500); font-weight: 600; }
.lestvica__mesto { width: 2.2rem; font-family: var(--font-num); font-size: 1.05rem; color: var(--c-gray-500); }
.lestvica__klub { text-align: left !important; display: flex; align-items: center; gap: 0.55rem; padding-left: 0.9rem !important; }
.lestvica__klub .fixture-card__crest { width: 24px; height: 24px; object-fit: contain; flex: 0 0 auto; }
.lestvica__ime { font-family: var(--font-head); text-transform: uppercase; font-size: 0.85rem; letter-spacing: 0.02em; color: #fff; }
.lestvica__goli { font-family: var(--font-num); }
.lestvica__tocke { font-family: var(--font-num); font-size: 1.15rem; color: #fff; padding-right: 0.9rem !important; }
.lestvica__tabela tbody tr { border-top: 1px solid rgba(255,255,255,0.05); }
.lestvica__tabela tbody tr:hover { background: rgba(255,255,255,0.03); }
/* Naša vrstica: rdeč pas ob levem robu + poudarek, kot na fcbayern.com. */
.lestvica__vrstica--nas { background: rgba(212,3,30,0.12); box-shadow: inset 3px 0 0 var(--c-red); }
.lestvica__vrstica--nas .lestvica__ime,
.lestvica__vrstica--nas .lestvica__mesto { color: #fff; }
.lestvica__vir { margin: 0; padding: 0.7rem 1.3rem 1rem; font-size: 0.78rem; color: var(--c-gray-500); }
.lestvica__vir a { color: var(--c-gray-500); text-decoration: underline; }

/* Mlajše selekcije: klik-kartice do rezultatov na MNZ Gorenjska (zunanja stran). */
.mlajse-uvod { max-width: 60ch; margin: -0.4rem 0 1.4rem; color: var(--c-gray-200); line-height: 1.6; }
.mlajse-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; }
.mlajse-card__ext { font-family: var(--font-num); }
.mlajse-card { position: relative; display: flex; flex-direction: column; gap: 0.5rem; padding: 1.4rem 1.4rem 1.2rem; min-height: 150px; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.09); border-radius: var(--radius-md); overflow: hidden; color: inherit; box-shadow: 0 1px 2px rgba(0,0,0,0.25); transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.35s var(--ease); }
/* Spodnja poudarna linija (namesto stranske črtice — čistejši, ne "side-stripe"). */
.mlajse-card::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--c-red); transform: scaleX(0); transform-origin: left; transition: transform 0.35s var(--ease); }
.mlajse-card:hover { transform: translateY(-4px); border-color: rgba(212,3,30,0.45); box-shadow: 0 18px 38px rgba(0,0,0,0.42); }
.mlajse-card:hover::after { transform: scaleX(1); }
.mlajse-card__ime { font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.4rem); line-height: 0.95; color: #fff; letter-spacing: 0.01em; }
.mlajse-card__cta { font-family: var(--font-head); text-transform: uppercase; font-size: 0.78rem; letter-spacing: 0.05em; color: var(--c-red-text); margin-top: auto; }
.mlajse-card:hover .mlajse-card__cta { color: #fff; }
.mlajse-card__ext { transition: transform 0.25s var(--ease); }
.mlajse-card:hover .mlajse-card__ext { transform: translate(2px, -2px); }
@media (prefers-reduced-motion: reduce) { .mlajse-card, .mlajse-card::after, .mlajse-card__ext { transition: none; } .mlajse-card:hover { transform: none; } .mlajse-card:hover::after { transform: scaleX(1); } .mlajse-card:hover .mlajse-card__ext { transform: none; } }

/* Podstran mlajših selekcij (/tekme/mlajse-selekcije/) — večje kartice s starostjo. */
.page-lead--mlajse { background-position: center 42%; }
.drobtine { display: flex; align-items: center; gap: 0.55rem; font-family: var(--font-head); text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.06em; color: var(--c-gray-200); margin-bottom: 0.9rem; }
.drobtine a { color: var(--c-gray-200); transition: color 0.2s var(--ease); }
.drobtine a:hover { color: #fff; }
.drobtine span[aria-hidden] { color: rgba(255,255,255,0.35); }
.drobtine [aria-current] { color: var(--c-red-text); }
.mlajse-grid--velik { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.4rem; }
.mlajse-grid--velik .mlajse-card { min-height: 220px; padding: 2rem 1.8rem 1.7rem; gap: 0.45rem; }
.mlajse-grid--velik .mlajse-card__ime { font-family: var(--font-num); font-weight: 600; font-size: clamp(2.8rem, 6vw, 3.6rem); letter-spacing: 0; }
.mlajse-card__opis { font-family: var(--font-head); text-transform: uppercase; font-size: 0.74rem; letter-spacing: 0.08em; color: var(--c-gray-200); }
.mlajse-vir-opomba { margin-top: 1.4rem; font-size: 0.86rem; color: var(--c-gray-500); max-width: 60ch; }

/* Kompaktni CTA pas na /tekme/ → podstran. */
.mlajse-cta { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.2rem; padding: clamp(1.4rem, 3vw, 2rem); background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.09); border-radius: var(--radius-lg); overflow: hidden; color: inherit; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease); }
.mlajse-cta::after { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 140% at 100% 0%, rgba(212,3,30,0.14), transparent 55%); pointer-events: none; }
.mlajse-cta:hover { transform: translateY(-2px); border-color: rgba(212,3,30,0.45); }
.mlajse-cta__glava { position: relative; display: flex; flex-direction: column; gap: 0.25rem; }
.mlajse-cta__naslov { font-family: var(--font-display); font-size: clamp(1.6rem, 4vw, 2.2rem); color: #fff; line-height: 1; }
.mlajse-cta__pod { color: var(--c-gray-200); font-size: 0.92rem; }
.mlajse-cta__gumb { position: relative; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.9rem; color: var(--c-red-text); white-space: nowrap; }
.mlajse-cta:hover .mlajse-cta__gumb { color: #fff; }
.mlajse-cta__gumb span { display: inline-block; transition: transform 0.25s var(--ease); }
.mlajse-cta:hover .mlajse-cta__gumb span { transform: translateX(4px); }

/* Vpisni blok na dnu podstrani. */
.mlajse-vpis { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.mlajse-vpis__naslov { margin: 0 0 0.4rem; font-size: clamp(1.5rem, 3.5vw, 2rem); }
.mlajse-vpis__besedilo p { margin: 0; color: var(--c-gray-200); max-width: 46ch; }
@media (prefers-reduced-motion: reduce) { .mlajse-cta, .mlajse-cta__gumb span { transition: none; } .mlajse-cta:hover { transform: none; } .mlajse-cta:hover .mlajse-cta__gumb span { transform: none; } }
/* MOBILNIK: lestvica brez drsenja levo-desno. Statistične stolpce (T Z N P Goli)
   skrijemo, pustimo #, Klub in Točke — bistvo razvrstitve. Ime kluba se prelomi. */
@media (max-width: 620px) {
	.lestvica .table-scroll { overflow-x: visible; }
	.lestvica__tabela th:nth-child(n+3):nth-child(-n+7),
	.lestvica__tabela td:nth-child(n+3):nth-child(-n+7) { display: none; }
	.lestvica__tabela th, .lestvica__tabela td { padding: 0.6rem 0.4rem; white-space: normal; }
	.lestvica__klub { padding-left: 0.5rem !important; }
	.lestvica__ime { white-space: normal; font-size: 0.82rem; line-height: 1.15; }
	.lestvica__tocke { padding-right: 0.6rem !important; }
	.lestvica__glava { padding-inline: 0.9rem; }
}
.lestvica__vir a:hover { color: var(--c-red-text); }
/* Strnjena različica (noga / stranski stolpec): brez statistike, le mesto-klub-točke. */
.lestvica--strnjeno .lestvica__ime { font-size: 0.8rem; }

/* Galerija — slike iz vsebine v mrežo + preprost lightbox */
.gallery-content { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); grid-auto-rows: 1fr; gap: 0.9rem; }
.gallery-content img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); margin: 0; cursor: zoom-in; transition: transform 0.4s var(--ease), filter 0.3s var(--ease); }
.gallery-content img:hover { transform: scale(1.03); filter: brightness(1.08); }
.gallery-content p { margin: 0; display: contents; }
/* wpautop vrine <br> med slike — v grid mreži bi postal prazen element; izničimo ga. */
.gallery-content br { display: none; }
/* inc/webp.php ovije slike v <picture>, zato je mrežna ploščica lahko <picture>
   ALI gola <img> (starejše galerije brez WebP dvojnika). Razmerje in višino v tem
   primeru nosi ovoj, slika znotraj pa ga le zapolni. */
.gallery-content picture { display: block; height: 100%; aspect-ratio: 4 / 3; }
.gallery-content picture > img { aspect-ratio: auto; }
/* Prva slika kot poudarjen "feature" tile (2×2) na širših zaslonih — uredniški ritem.
   Selektorji so vezani na neposredne otroke (p je display:contents), da :first-of-type
   ne ujame vsake slike posebej znotraj njenega <picture> ovoja. */
@media (min-width: 760px) {
	.gallery-content > picture:first-of-type,
	.gallery-content > p > picture:first-of-type,
	.gallery-content > img:first-of-type,
	.gallery-content > p > img:first-of-type { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }
}
.lightbox { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,0.92); display: flex; align-items: center; justify-content: center; padding: 4vw; opacity: 0; pointer-events: none; transition: opacity 0.3s var(--ease); }
.lightbox.is-open { opacity: 1; pointer-events: auto; }
.lightbox img { max-width: 100%; max-height: 90vh; border-radius: var(--radius); box-shadow: var(--shadow-lg); transform: scale(0.96); opacity: 0; transition: transform 0.35s var(--ease), opacity 0.35s var(--ease); }
.lightbox.is-open img { transform: scale(1); opacity: 1; }
.lightbox__close { position: absolute; top: 1.2rem; right: 1.5rem; font-size: 2.4rem; color: #fff; background: none; border: 0; cursor: pointer; line-height: 1; }
.lightbox__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; font-size: 2.4rem; color: #fff; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2); border-radius: 50%; cursor: pointer; transition: background 0.2s var(--ease), transform 0.2s var(--ease); }
.lightbox__nav:hover { background: var(--c-red); border-color: var(--c-red); }
.lightbox__nav--prev { left: clamp(0.6rem, 3vw, 2rem); }
.lightbox__nav--next { right: clamp(0.6rem, 3vw, 2rem); }
.lightbox__nav--prev:active { transform: translateY(-50%) scale(0.92); }
.lightbox__nav--next:active { transform: translateY(-50%) scale(0.92); }
.lightbox__counter { position: absolute; bottom: 1.4rem; left: 50%; transform: translateX(-50%); font-family: var(--font-head); letter-spacing: 0.1em; font-size: 0.85rem; color: rgba(255,255,255,0.8); }

/* Semafor posamezne tekme */
.match-hero { padding-top: calc(var(--header-h) + clamp(3rem, 7vw, 5rem)); padding-bottom: clamp(2.5rem, 5vw, 4rem); background: linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%), url('../img/stadium-1.jpg'); background-image: linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%), image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg')); background-size: cover; background-position: center; text-align: center; }
.match-hero__board { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 5vw, 3rem); margin-top: 1rem; }
.match-hero__team { display: flex; flex-direction: column; align-items: center; gap: 0.7rem; font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.4rem, 4vw, 2.6rem); color: #fff; flex: 1; }
.match-hero__team .fixture-card__crest { width: clamp(52px, 9vw, 84px); height: clamp(52px, 9vw, 84px); object-fit: contain; filter: drop-shadow(0 4px 12px rgba(0,0,0,0.35)); }
.match-hero__score { font-family: var(--font-head); font-size: clamp(2.5rem, 7vw, 4.5rem); color: #fff; }
.match-hero__when { margin-top: 1rem; color: rgba(255,255,255,0.8); }

/* 404 */
.error-404 { position: relative; min-height: 80vh; display: flex; align-items: center; text-align: center; padding-top: var(--header-h); background-image: linear-gradient(rgba(11,12,16,0.8), rgba(11,12,16,0.92)), url('../img/stadium-1.jpg'); background-image: linear-gradient(rgba(11,12,16,0.8), rgba(11,12,16,0.92)), image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg')); background-size: cover; background-position: center; }
.error-404 .container { width: 100%; }
.error-404__code { font-family: var(--font-head); font-size: clamp(5rem, 18vw, 12rem); color: var(--c-red); line-height: 1; display: block; }
.error-404__title { font-size: clamp(1.6rem, 4vw, 2.6rem); }
.error-404__text { color: var(--c-gray-500); max-width: 46ch; margin: 0 auto 2rem; }

@media (max-width: 1024px) {
	.roster { grid-template-columns: repeat(3, 1fr); }
	.fixtures { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.roster { grid-template-columns: repeat(2, 1fr); }
	.fixtures { grid-template-columns: 1fr; }
}

/* ---------- Obrazci (vpis / kontakt) ---------- */
.form-wrap { max-width: 760px; }
.nkkranj-form { display: grid; gap: 1.1rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.form-field { display: grid; gap: 0.4rem; }
.form-label { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.74rem; color: var(--c-gray-200); }
.nkkranj-form input,
.nkkranj-form select,
.nkkranj-form textarea {
	width: 100%;
	font-family: var(--font-body);
	font-size: 1rem;
	color: #fff;
	background: var(--c-ink-soft);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--radius);
	padding: 0.7rem 0.85rem;
	transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.nkkranj-form textarea { resize: vertical; min-height: 110px; }
.nkkranj-form input:focus,
.nkkranj-form select:focus,
.nkkranj-form textarea:focus {
	outline: none;
	border-color: var(--c-red);
	box-shadow: 0 0 0 3px rgba(212,3,30,0.18);
}
.nkkranj-form select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--c-gray-200) 50%), linear-gradient(135deg, var(--c-gray-200) 50%, transparent 50%); background-position: calc(100% - 18px) 1.15rem, calc(100% - 13px) 1.15rem; background-size: 5px 5px; background-repeat: no-repeat; padding-right: 2.5rem; }
.nkkranj-form button { justify-self: start; margin-top: 0.3rem; cursor: pointer; border: none; }
.form-fineprint { margin: 0; font-size: 0.82rem; color: var(--c-gray-500); }
/* GDPR privolitev: checkbox in besedilo poravnana, tapljiv cilj, berljivo. */
.form-consent { display: flex; align-items: flex-start; gap: 0.6rem; margin: 0.2rem 0 0.4rem; font-size: 0.88rem; line-height: 1.5; color: var(--c-gray-200); cursor: pointer; }
.form-consent input[type="checkbox"] { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin-top: 0.15rem; accent-color: var(--c-red); cursor: pointer; }
.form-consent a { color: var(--c-red-text); text-decoration: underline; }
.form-consent a:hover { color: #fff; }

/* Pogosta vprašanja (nogometna šola) — zložljivi odgovori, brez JS. */
.sola-faq { margin-block: 3rem 1rem; }
.sola-faq h2 { margin-bottom: 1.2rem; }
.sola-faq__seznam { display: flex; flex-direction: column; gap: 0.6rem; }
.sola-faq__vprasanje { border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius); background: var(--c-ink-soft); overflow: hidden; }
.sola-faq__vprasanje summary { cursor: pointer; padding: 1rem 1.2rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; font-size: 1rem; color: #fff; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.sola-faq__vprasanje summary::-webkit-details-marker { display: none; }
.sola-faq__vprasanje summary::after { content: "+"; font-family: var(--font-num); font-size: 1.5rem; color: var(--c-red); line-height: 1; flex: 0 0 auto; transition: transform 0.25s var(--ease); }
.sola-faq__vprasanje[open] summary::after { transform: rotate(45deg); }
.sola-faq__vprasanje p { margin: 0; padding: 0 1.2rem 1.1rem; color: var(--c-gray-200); line-height: 1.65; max-width: 65ch; }
@media (prefers-reduced-motion: reduce) { .sola-faq__vprasanje summary::after { transition: none; } }
/* Klic je enakovredna pot do vpisa, ne drobni tisk — zato vidnejši od
   fineprinta in s tapljivo številko (44px cilj na telefonu). */
.form-poklici { margin: 0.9rem 0 0.6rem; font-size: 0.95rem; color: var(--c-gray-500); }
.form-poklici a {
	font-family: var(--font-head); font-size: 1.1rem; color: var(--c-red-text);
	text-decoration: none; padding: 0.3rem 0; display: inline-block; min-height: 44px;
	line-height: 38px;
}
.form-poklici a:hover { text-decoration: underline; }
/* Splošna številka je drugotna: na strani vpisa je 041 tista, ki jo starš rabi. */
.form-poklici__drugi { font-size: 0.95rem; color: var(--c-gray-500); }
/* Honeypot – skrito pred ljudmi, dostopno botom */
.nkkranj-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-notice { padding: 0.9rem 1.1rem; border-radius: var(--radius); margin-bottom: 1.4rem; font-size: 0.95rem; border: 1px solid transparent; }
.form-notice--ok { background: rgba(34,160,90,0.12); border-color: rgba(34,160,90,0.5); color: #8ff0bb; }
.form-notice--err { background: rgba(212,3,30,0.1); border-color: rgba(212,3,30,0.5); color: #ff9ba6; }
@media (max-width: 560px) {
	.form-row { grid-template-columns: 1fr; }
}

/* ---------- Noga: pravne povezave ---------- */
.site-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: 0.9rem 1.5rem; align-items: center; justify-content: space-between; }
.site-footer__avtorstvo { margin: 0; }
.site-footer__legal { display: flex; gap: 1.2rem; }
.site-footer__legal a { color: var(--c-gray-500); font-size: 0.85rem; transition: color 0.2s var(--ease); }
.site-footer__legal a:hover { color: #fff; }
/* Podpis izdelovalca: značka z logotipom v jeziku čipov teme. Logo je krožen
   znak na beli podlagi — border-radius ga izreže v čisto belo kolajnico. */
.site-footer__credit { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.42rem 0.95rem; border: 1px solid rgba(255,255,255,0.14); border-radius: 999px; font-size: 0.85rem; color: var(--c-gray-500); transition: border-color 0.2s var(--ease), background 0.2s var(--ease); }
.site-footer__credit-logo { width: 18px; height: 18px; border-radius: 50%; }
.site-footer__credit-ime { color: var(--c-gray-200); font-weight: 600; letter-spacing: 0.02em; transition: color 0.2s var(--ease); }
.site-footer__credit:hover { border-color: rgba(212,3,30,0.65); background: rgba(212,3,30,0.08); }
.site-footer__credit:hover .site-footer__credit-ime { color: var(--c-red-text); }
/* Telefon: elementi se ne raztepejo — sredinski stolpec s podpisom na koncu. */
@media (max-width: 640px) {
	.site-footer__bottom-inner { flex-direction: column; justify-content: center; text-align: center; gap: 0.8rem; }
	.site-footer__credit { margin-top: 0.2rem; }
}

/* ---------- Obvestilo o piškotkih ---------- */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; z-index: 180; padding: 1rem clamp(1rem, 4vw, 2rem); background: rgba(11,12,16,0.97); border-top: 2px solid var(--c-red); backdrop-filter: blur(6px); transform: translateY(100%); transition: transform 0.4s var(--ease); }
.cookie-banner.is-visible { transform: translateY(0); }
.cookie-banner__inner { max-width: var(--container); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; }
.cookie-banner__text { margin: 0; font-size: 0.92rem; color: #d4d6dd; max-width: 70ch; }
.cookie-banner__text a { color: var(--c-red-text); text-decoration: underline; text-underline-offset: 2px; }
.cookie-banner__text a:hover { color: #fff; }
.cookie-banner__actions { flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) { .cookie-banner { transition: none; } }

/* ---------- Vgrajen zemljevid (kontakt) ---------- */
.map-embed { margin: 0 0 1rem; border-radius: 12px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); box-shadow: var(--shadow); }
.map-embed iframe { display: block; width: 100%; height: 380px; border: 0; filter: saturate(0.9); }

/* ---------- Prazna stanja (vsebina še ni vnesena) ---------- */
.empty-state { text-align: center; max-width: 540px; margin: 0 auto; padding: 3rem 1.6rem; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; }
.empty-state__icon { width: 56px; height: 56px; margin: 0 auto 1rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(212,3,30,0.12); color: var(--c-red); }
.empty-state__icon svg { width: 28px; height: 28px; }
.empty-state__title { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.05em; color: #fff; font-size: 1.15rem; margin: 0 0 0.4rem; }
.empty-state p { margin: 0; color: var(--c-gray-500); }

/* ---------- Video facade (Vaja dela mojstra) ---------- */
.video-lite { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; margin: 0; padding: 0; border: 0; border-radius: var(--radius); overflow: hidden; cursor: pointer; background: #000; box-shadow: 0 12px 30px rgba(0,0,0,0.35); }
.video-lite__media { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform 0.5s var(--ease), filter 0.4s var(--ease); filter: brightness(0.82); }
.video-lite:hover .video-lite__media { transform: scale(1.05); filter: brightness(0.95); }
.video-lite__play { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--c-red); color: #fff; box-shadow: 0 8px 26px rgba(0,0,0,0.45); transition: transform 0.25s var(--ease), background 0.25s var(--ease); padding-left: 3px; }
.video-lite:hover .video-lite__play { transform: translate(-50%, -50%) scale(1.1); background: var(--c-red-dark); }
.video-lite__title { position: absolute; left: 0; right: 0; bottom: 0; padding: 1.4rem 1rem 0.85rem; text-align: left; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; font-size: 0.98rem; line-height: 1.15; color: #fff; background: linear-gradient(to top, rgba(0,0,0,0.82), rgba(0,0,0,0)); }
.video-lite--featured .video-lite__title { font-size: 1.3rem; padding: 2rem 1.4rem 1.2rem; }
.video-lite.is-playing .video-lite__media, .video-lite.is-playing .video-lite__play, .video-lite.is-playing .video-lite__title { display: none; }
.video-lite.is-playing iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-lite:focus-visible { outline: 3px solid var(--c-red); outline-offset: 3px; }

.video-feature { display: grid; grid-template-columns: 1.7fr 1fr; gap: 1.1rem; align-items: stretch; }
.video-feature__side { display: grid; grid-template-rows: repeat(3, 1fr); gap: 1.1rem; }
.video-feature__side .video-lite { aspect-ratio: auto; min-height: 0; }
@media (max-width: 860px) {
	.video-feature { grid-template-columns: 1fr; }
	.video-feature__side { grid-template-columns: repeat(3, 1fr); grid-template-rows: none; }
	.video-feature__side .video-lite { aspect-ratio: 16 / 9; }
}
@media (max-width: 540px) {
	.video-feature__side { grid-template-columns: 1fr; }
}

/* ---------- Galerija (preview na domači) ---------- */
.gallery-preview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.gallery-tile { position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius); overflow: hidden; display: flex; align-items: flex-end; }
.gallery-tile__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.gallery-tile:hover .gallery-tile__media { transform: scale(1.07); }
.gallery-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.82), rgba(0,0,0,0) 62%); }
.gallery-tile__name { position: relative; z-index: 1; padding: 0.9rem 1rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; color: #fff; font-size: 1rem; }
@media (max-width: 860px) { .gallery-preview { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .gallery-preview { grid-template-columns: 1fr; } }

/* ---------- Posnetki vaj (Vaja dela mojstra) ---------- */
.vaje-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.2rem; }
.vaje-grid--preview { grid-template-columns: repeat(4, 1fr); }
.vaja-clip { margin: 0; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.07); border-radius: var(--radius); overflow: hidden; }
.vaja-clip__video { display: block; width: 100%; aspect-ratio: 9 / 16; max-height: 460px; object-fit: cover; background: #000; }
.vaja-clip__title { padding: 0.7rem 0.9rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; font-size: 0.92rem; color: #fff; }
@media (max-width: 980px) { .vaje-grid--preview { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .vaje-grid, .vaje-grid--preview { grid-template-columns: 1fr; } }

/* ---------- O klubu: osebna izkaznica + navigacija ---------- */
.club-id { display: grid; grid-template-columns: auto 1fr; gap: clamp(1.2rem, 4vw, 2.6rem); align-items: center; margin: 2.4rem 0; padding: clamp(1.4rem, 4vw, 2.2rem); background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); }
.club-id__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; width: clamp(110px, 28vw, 150px); aspect-ratio: 1; border-radius: 50%; background: linear-gradient(150deg, var(--c-red), var(--c-red-dark)); box-shadow: 0 10px 30px rgba(212,3,30,0.25); }
.club-id__year { font-family: var(--font-head); font-weight: 800; font-size: clamp(2rem, 6vw, 2.8rem); color: #fff; line-height: 1; }
.club-id__label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(255,255,255,0.85); margin-top: 0.3rem; }
.club-id__facts { margin: 0; display: grid; gap: 0; }
.club-id__row { display: grid; grid-template-columns: minmax(120px, 0.5fr) 1fr; gap: 1rem; padding: 0.7rem 0; border-bottom: 1px solid rgba(255,255,255,0.07); }
.club-id__row:last-child { border-bottom: 0; }
.club-id__row dt { margin: 0; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--c-red-text); font-weight: 700; align-self: center; }
.club-id__row dd { margin: 0; color: #fff; font-size: 1.02rem; }
@media (max-width: 560px) { .club-id { grid-template-columns: 1fr; justify-items: center; text-align: center; } .club-id__row { grid-template-columns: 1fr; gap: 0.1rem; text-align: left; } }

.subpage-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 2.4rem 0 1rem; }
.subpage-card { position: relative; display: flex; flex-direction: column; gap: 0.3rem; padding: 1.3rem 1.4rem; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); text-decoration: none; transition: transform 0.3s var(--ease), border-color 0.3s var(--ease); overflow: hidden; }
.subpage-card::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--c-red); transform: scaleX(0); transform-origin: left; transition: transform 0.3s var(--ease); }
.subpage-card:hover { transform: translateY(-3px); border-color: rgba(212,3,30,0.4); }
.subpage-card:hover::before { transform: scaleX(1); }
.subpage-card__title { font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.02em; color: #fff; font-size: 1.1rem; }
.subpage-card__desc { color: var(--c-gray-500); font-size: 0.9rem; }
.subpage-card__arrow { position: absolute; right: 1.2rem; top: 1.2rem; color: var(--c-red); font-size: 1.2rem; opacity: 0; transition: opacity 0.3s var(--ease), transform 0.3s var(--ease); }
.subpage-card:hover .subpage-card__arrow { opacity: 1; transform: translateX(3px); }

/* ---------- Spustni podmeni (O klubu) ---------- */
.site-nav__list .menu-item-has-children { position: relative; }
.site-nav__list > .menu-item-has-children > a::after { content: "\25BE"; margin-left: 0.35em; font-size: 0.78em; opacity: 0.75; }
.site-nav__list .sub-menu { list-style: none; margin: 0; padding: 0.4rem 0; position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(10px); min-width: 230px; background: var(--c-ink); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; box-shadow: var(--shadow-lg); opacity: 0; visibility: hidden; transition: opacity 0.25s var(--ease), transform 0.25s var(--ease); z-index: 90; }
.site-nav__list .menu-item-has-children:hover > .sub-menu,
.site-nav__list .menu-item-has-children:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.site-nav__list .sub-menu li { display: block; }
.site-nav__list .sub-menu a { display: block; padding: 0.55rem 1.2rem; white-space: nowrap; color: rgba(255,255,255,0.82); font-size: 0.92rem; }
.site-nav__list .sub-menu a:hover { background: rgba(255,255,255,0.07); color: #fff; }
/* Mobilni podmeni — vdolben seznam */
.mobile-nav__list .sub-menu { list-style: none; margin: 0.2rem 0 0.5rem 1rem; padding: 0 0 0 0.9rem; border-left: 2px solid rgba(255,255,255,0.45); }
.mobile-nav__list .sub-menu a { font-size: 0.95rem; opacity: 0.92; border-bottom-color: rgba(255,255,255,0.18); }

/* ---------- Prenosi dokumentov (PDF) ---------- */
.doc-downloads { display: grid; gap: 0.7rem; margin: 1.5rem 0 2.4rem; }
.doc-download { display: flex; align-items: center; gap: 1rem; padding: 0.95rem 1.2rem; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); text-decoration: none; transition: transform 0.25s var(--ease), border-color 0.25s var(--ease); }
.doc-download:hover { transform: translateY(-2px); border-color: rgba(212,3,30,0.4); }
.doc-download__icon { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 8px; background: var(--c-red); color: #fff; font-family: var(--font-head); font-size: 0.72rem; letter-spacing: 0.05em; }
.doc-download__title { flex: 1; color: #fff; font-weight: 600; }
.doc-download__arrow { color: var(--c-red); font-size: 1.3rem; transition: transform 0.25s var(--ease); }
.doc-download:hover .doc-download__arrow { transform: translateY(3px); }

/* ---------- Časovnica zgodovine ---------- */
.history-timeline { position: relative; padding-left: 2.4rem; }
.history-timeline::before { content: ""; position: absolute; left: 6px; top: 0.6rem; bottom: 0.6rem; width: 2px; background: linear-gradient(to bottom, var(--c-red), rgba(212,3,30,0.15)); }
.history-timeline h2, .history-timeline h3 { position: relative; margin-top: 2.6rem; }
.history-timeline h2::before, .history-timeline h3::before { content: ""; position: absolute; left: calc(-2.4rem + 1px); top: 0.35em; width: 13px; height: 13px; border-radius: 50%; background: var(--c-red); box-shadow: 0 0 0 4px var(--c-ink), 0 0 0 6px rgba(212,3,30,0.25); }
.history-timeline > *:first-child { margin-top: 0; }
@media (max-width: 560px) { .history-timeline { padding-left: 1.8rem; } .history-timeline h2::before, .history-timeline h3::before { left: calc(-1.8rem + 1px); } }

/* ---------- Razširljivo branje (npr. statut) ---------- */
.readmore { margin: 1.5rem 0; border: 1px solid rgba(255,255,255,0.1); border-radius: var(--radius); overflow: hidden; background: var(--c-ink-soft); }
.readmore__toggle { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 0.7rem; padding: 1.1rem 1.4rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.03em; color: #fff; font-size: 1.05rem; transition: background 0.2s var(--ease); }
.readmore__toggle::-webkit-details-marker { display: none; }
.readmore__toggle::after { content: "\25BE"; margin-left: auto; color: var(--c-red); transition: transform 0.3s var(--ease); }
.readmore[open] .readmore__toggle::after { transform: rotate(180deg); }
.readmore__toggle:hover { background: rgba(255,255,255,0.04); }
.readmore__icon { font-size: 1.2rem; }
.readmore__content { padding: 0.4rem 1.4rem 1.6rem; border-top: 1px solid rgba(255,255,255,0.08); max-height: 70vh; overflow-y: auto; }
.readmore__content h3 { margin-top: 1.6rem; }

/* ---------- Zgodovina kluba: bogatejši videz (grb v ozadju, žareča os) ----------
   Besedilo ostane nedotaknjeno (avtorsko). Dodamo le vizualno atmosfero, da
   časovnica ni suhoparna: velik medel klubski grb v ozadju + žareča rdeča os. */
.page-id-55 .page__body { position: relative; }
.page-id-55 .page__body::before {
	content: ""; position: absolute; top: clamp(1rem, 4vw, 3rem); right: min(-6vw, -2rem);
	width: min(52vw, 640px); aspect-ratio: 900 / 913;
	background: url('../img/crest.png') no-repeat center / contain;
	opacity: 0.05; pointer-events: none; z-index: 0;
}
/* drugi, manjši grb nižje, da ozadje diha po vsej dolžini časovnice */
.page-id-55 .page__body::after {
	content: ""; position: absolute; bottom: 8%; left: min(-8vw, -3rem);
	width: min(40vw, 460px); aspect-ratio: 900 / 913;
	background: url('../img/crest.png') no-repeat center / contain;
	opacity: 0.035; pointer-events: none; z-index: 0; transform: rotate(-8deg);
}
.page-id-55 .entry-content { position: relative; z-index: 1; }
/* žareča rdeča os in mejniki */
.page-id-55 .history-timeline::before { box-shadow: 0 0 18px rgba(212,3,30,0.45); }
.page-id-55 .history-timeline h2::before,
.page-id-55 .history-timeline h3::before {
	box-shadow: 0 0 0 4px var(--c-ink), 0 0 0 6px rgba(212,3,30,0.3), 0 0 16px rgba(212,3,30,0.6);
}
/* uvodni podnaslov ("Z VAMI ŽE OD LETA 1973") kot žig kluba */
.page-id-55 .history-timeline > h2:first-of-type,
.page-id-55 .history-timeline > h3:first-of-type { color: #fff; }
@media (prefers-reduced-motion: no-preference) {
	.page-id-55 .history-timeline h2::before,
	.page-id-55 .history-timeline h3::before { animation: nkkPulse 3s var(--ease) infinite; }
}
@keyframes nkkPulse {
	0%, 100% { box-shadow: 0 0 0 4px var(--c-ink), 0 0 0 6px rgba(212,3,30,0.3), 0 0 12px rgba(212,3,30,0.5); }
	50% { box-shadow: 0 0 0 4px var(--c-ink), 0 0 0 6px rgba(212,3,30,0.45), 0 0 20px rgba(212,3,30,0.8); }
}

/* ---------- Arhiv lestvic po sezonah ---------- */
.season-archive { display: grid; gap: 0.6rem; margin: 1.2rem 0; }
.season-archive .readmore { margin: 0; }
.season-archive .readmore__toggle { font-size: 0.98rem; padding: 0.9rem 1.2rem; }
.season-archive .readmore__content { max-height: 60vh; }

/* ---------- Velik odštevalnik na arhivu tekem ---------- */
.match-countdown-hero { position: relative; padding: clamp(2.4rem, 6vw, 4.5rem) 0; text-align: center; overflow: hidden; background: linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%), url('../img/stadium-1.jpg'); background-image: linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%), image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg')); background-size: cover; background-position: center; border-block: 1px solid rgba(255,255,255,0.12); }
.match-countdown-hero__bg { position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 0%, rgba(255,255,255,0.12), transparent 60%); }
/* FCB-slog: diagonalna geometrijska reza ob robovih pasu — ritem brez dodatne svetlobe. */
.match-countdown-hero::before,
.match-countdown-hero::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: clamp(120px, 16vw, 260px); pointer-events: none;
}
.match-countdown-hero::before { left: 0; background: linear-gradient(120deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02)); clip-path: polygon(0 0, 62% 0, 20% 100%, 0 100%); }
.match-countdown-hero::after { right: 0; background: linear-gradient(300deg, rgba(0,0,0,0.30), rgba(0,0,0,0.06)); clip-path: polygon(38% 0, 100% 0, 100% 100%, 80% 100%); }
/* Rdeč pas: rdeči/sivi elementi odštevalnika bi izginili → beli. */
.match-countdown-hero .countdown__label, .match-countdown-hero .countdown__sep { color: var(--c-white); }
.match-countdown-hero .countdown__label::before { background: var(--c-white); }
.match-countdown-hero .countdown__lbl { color: rgba(255,255,255,0.82); }
.match-countdown-hero__inner { position: relative; }
.match-countdown-hero__teams { display: flex; align-items: center; justify-content: center; gap: clamp(0.9rem, 4vw, 3rem); flex-wrap: wrap; margin: 0.7rem 0 0.4rem; font-family: var(--font-head); text-transform: uppercase; color: #fff; font-size: clamp(1.5rem, 5vw, 3rem); line-height: 1; }
.match-countdown-hero__vs { color: var(--c-white); font-size: 0.7em; }
.match-countdown-hero__meta { color: rgba(255,255,255,0.8); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.85rem; margin: 0 0 0.4rem; }
.countdown--big { display: inline-block; margin-top: 1.4rem; }
.countdown--big .countdown__clock { justify-content: center; gap: clamp(0.4rem, 2vw, 1.2rem); }
.countdown--big .countdown__num { font-size: clamp(2.4rem, 8vw, 4.6rem); }
.countdown--big .countdown__lbl { font-size: 0.7rem; letter-spacing: 0.12em; }
.countdown--big .countdown__sep { font-size: clamp(1.6rem, 5vw, 3rem); }
/* Odštevalnik na domači strani: grbi + imena ekip (slog FC Bayern). */
.match-countdown-hero__teams--crests { align-items: flex-start; gap: clamp(1.2rem, 6vw, 4rem); }
.mch-team { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; max-width: 42%; }
.mch-team .fixture-card__crest { width: clamp(52px, 9vw, 76px); height: clamp(52px, 9vw, 76px); object-fit: contain; }
.mch-team__ime { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(0.95rem, 2.4vw, 1.5rem); line-height: 1.05; text-align: center; color: #fff; letter-spacing: 0.01em; }
.match-countdown-hero__teams--crests .match-countdown-hero__vs { align-self: center; margin-top: clamp(1rem, 3.5vw, 1.8rem); }
.match-countdown-hero__cta { display: flex; gap: 0.8rem; justify-content: center; flex-wrap: wrap; margin-top: 1.7rem; }

/* ---------- Grb na CTA pasu (nogometna šola) ----------
   Prej: maska, zapolnjena z belo pri opacity .07 — maska zbriše vse notranje
   podrobnosti, zato se je videla le silhueta. Zdaj kažemo pravo sliko grba,
   da so barve, trak "NK KRANJ" in letnica 1973 razpoznavni. */
.cta-band { position: relative; overflow: hidden; }
.cta-band::after {
	content: ""; position: absolute; z-index: 0;
	top: 50%; right: clamp(-40px, 2vw, 40px); transform: translateY(-50%);
	width: clamp(240px, 29vw, 400px); aspect-ratio: 900 / 913;
	background: url('../img/crest.png') no-repeat center / contain;
	opacity: 0.9;
	/* Rahla senca loči grb od temnega dela preliva. */
	filter: drop-shadow(0 8px 28px rgba(0, 0, 0, 0.45));
	pointer-events: none;
}
.cta-band__content { position: relative; z-index: 1; }
/* Na ozkih zaslonih grb zdrsne za besedilo — tam ostane diskreten vodni žig,
   sicer bi tekmoval z naslovom in gumbom. */
@media (max-width: 860px) {
	.cta-band::after {
		right: 50%; transform: translate(50%, -50%);
		opacity: 0.12; filter: none;
	}
}

/* ---------- Uprava: organi kluba ---------- */
.org-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin: 1.4rem 0 2rem; }
.org-card { padding: 1.3rem 1.4rem; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); }
.org-card h3 { margin: 0 0 0.5rem; font-size: 1.1rem; color: var(--c-red-text); }
.org-card p { margin: 0; color: #cfd2da; font-size: 0.95rem; }
.readmore-note { margin: 1rem 0; padding: 0.9rem 1.1rem; background: rgba(255,255,255,0.04); border-radius: 10px; color: var(--c-gray-500); }

/* ---------- Hero ekipe: favoriziraj vrh slike (glave niso odrezane) ---------- */
body.single-ekipa .single__media { background-position: center 18%; }

/* ---------- Prazna postava ekipe (namerno, ne golo) ----------
   Brez fotografije (figura je že na vrhu strani) — samo sporočilo + gumb. */
.team-empty { background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius); overflow: hidden; }
.team-empty__text { padding: clamp(1.4rem, 4vw, 2.4rem) clamp(1.4rem, 4vw, 2.2rem); }
.team-empty__text h3 { margin: 0 0 0.6rem; font-size: clamp(1.2rem, 3vw, 1.6rem); color: #fff; text-transform: uppercase; }
.team-empty__text p { color: var(--c-gray-500); margin: 0 0 1.2rem; max-width: 60ch; }

/* =====================================================================
   GLOBINA V ČRNINI
   Da temne sekcije niso ploske: rahel ambientni sij čez vso stran,
   tonski ritem sekcij, medel klubski grb kot tekstura, mehki robovi
   kartic. Vse zadržano — črno-rdeč značaj ostane.
   ===================================================================== */

/* 1) Ambientni sij (fiksen — črnina "diha" ob drsenju). Rahla rdeča iz grba
   zgoraj desno, hladen odsev levo. Pokaže se v prosojnih (črnih) sekcijah. */
body {
	background-image:
		radial-gradient(1200px 560px at 82% -12%, rgba(212,3,30,0.09), transparent 60%),
		radial-gradient(1000px 620px at 6% 10%, rgba(150,160,200,0.045), transparent 56%);
	background-attachment: fixed;
	background-repeat: no-repeat;
}

/* 2) Tonski ritem: temne sekcije dobijo navpičen preliv + tanko svetlo linijo
   na vrhu (občutek osvetljenosti od zgoraj). */
.section--dark, .section--gray {
	background: linear-gradient(180deg, #191b25 0%, #0e1017 100%);
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

/* 3) Tanka žareča ločnica med sekcijami (razmeji bloke v črnini). */
.section { position: relative; }
.section + .section::before,
.section--news::before {
	content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: min(1100px, 88%); height: 1px; pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
}

/* 4) Medel klubski grb kot tekstura v dveh večjih sekcijah. */
.section--teams, .section--donate { overflow: hidden; }
.section--teams > .container, .section--donate > .container { position: relative; z-index: 1; }
.section--teams::after, .section--donate::after {
	content: ""; position: absolute; pointer-events: none; z-index: 0;
	width: min(560px, 48vw); aspect-ratio: 900 / 913;
	background: url('../img/crest.png') no-repeat center / contain;
	opacity: 0.05;
}
.section--teams::after { right: -7%; top: -10%; transform: rotate(5deg); }
.section--donate::after { left: -9%; bottom: -14%; transform: rotate(-7deg); }

/* 5) Kartice na temnem: rahel svetlejši rob zgoraj → osvetljene od zgoraj,
   ne ploske. Skupaj z obstoječimi sencami. */
.news-row, .fixture, .player-card, .mlajse-card, .lestvica, .sola-faq__vprasanje,
.doc-download, .subpage-card, .org-card, .club-id, .readmore, .vaja-clip,
.empty-state, .mlajse-cta, .team-empty {
	box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 2px 10px rgba(0,0,0,0.28);
}

/* 6) Velik naslov sekcije dobi topel rdeč pod-sij (globina, ne obroba). */
.section__head:not(.section__head--center) .section__title {
	text-shadow: 0 0 34px rgba(212,3,30,0.16);
}

@media (prefers-reduced-motion: reduce) {
	body { background-attachment: scroll; }
}

/* Umik odvečne rdeče: donate, sponzorji in lestvica ostanejo ČRNI (preveč
   rdečih pasov skupaj). Rdeča ostane le pri "tekma/športnih" trenutkih. */

/* =====================================================================
   RDEČ PAS: NE PREZRITE
   Poudarek pomembnih novic — temne vrstice na rdeči (kot rezultati).
   Da ritem v zgornjem delu ni ves črn: rezultati(rdeč)–novice(črno)–
   NE PREZRITE(rdeč)–selekcije(črno)–nog. šola(rdeč).
   ===================================================================== */
.section--dont-miss {
	background:
		linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%),
		url('../img/stadium-1.jpg');
	background-image:
		linear-gradient(150deg, rgba(212,3,30,0.80) 0%, rgba(140,2,20,0.86) 100%),
		image-set(url('../img/stadium-1.webp') type('image/webp'), url('../img/stadium-1.jpg') type('image/jpeg'));
	background-size: cover; background-position: center;
	color: var(--c-white);
}
.section--dont-miss .eyebrow { color: var(--c-white); opacity: 0.9; }
/* Višja specifičnost od osnovnega pravila za rdečo črtico, sicer ostane rdeča na rdeči. */
.section--dont-miss .section__head:not(.section__head--center) .section__title::before { background: var(--c-white); }
.section--dont-miss .section__head:not(.section__head--center) .section__title { text-shadow: none; }
/* Rdeč pas NE PREZRITE naj tesno objame svoje vrstice (ne previsok prazen pas). */
.section--dont-miss { padding-block: clamp(2.6rem, 5vw, 4rem); }

/* =====================================================================
   BOLDER HERO: klubski grb kot vodni žig + rdeč diagonalni rez v pas rezultatov
   Športna energija (rez dresa), a foto ostane glavna. Velja za znamčni slide.
   ===================================================================== */
/* Vodni žig grba v heroju ODSTRANJEN (na željo kluba) — fotografija ostane sama. */
.hero-slide--branded .hero-slide__content { position: relative; z-index: 1; }

/* (Diagonalni rez odstranjen — deloval je kot napaka; rdeči pas ima raven rob.) */

/* =====================================================================
   RAZBITJE ČRNINE NA TEKMAH: medlo igrišče pod temno prevleko
   Lestvica (in koledar zgoraj) dobita atmosfero stadiona pod žarometi —
   niso več plosko črno/sivo. Temna kartica lestvice ostane berljiva.
   ===================================================================== */
/* Lestvica je MIRNA (brez tretje fotografije): temno + rahel rdeč sij z vrha —
   podatki so v ospredju, stran ni "reflektorji povsod". */
/* TEMNO z VIDNIM stadionom + rahel rdeč sij; temna tabela lestvice se bere čez. */
.section--lestvica {
	background:
		radial-gradient(120% 100% at 50% -12%, rgba(212,3,30,0.20), transparent 55%),
		linear-gradient(180deg, rgba(11,12,16,0.74) 0%, rgba(11,12,16,0.91) 100%),
		url('../img/zarica-akcija.jpg');
	background-size: cover; background-position: center;
	color: var(--c-white);
}

/* ---------- Letak / vabilo k vpisu (Nogometna šola) ---------- */
.entry-content .letak, .prose .letak { max-width: 440px; margin: 2rem auto 2.4rem; }
.entry-content .letak img, .prose .letak img { width: 100%; height: auto; border-radius: var(--radius); box-shadow: 0 18px 44px rgba(0,0,0,0.5); display: block; }

/* ---------- Gumb do MNZ Gorenjska (članski rezultati) pod lestvico ---------- */
.lestvica__mnz-btn { display: inline-flex; align-items: center; gap: 0.5rem; margin: 1rem 1.3rem 0.2rem; padding: 0.72rem 1.3rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.82rem; color: var(--c-white); background: var(--c-red); border-radius: var(--radius); transition: background 0.2s var(--ease), transform 0.2s var(--ease); }
.lestvica__mnz-btn:hover { background: var(--c-red-dark); transform: translateY(-1px); }
.lestvica__mnz-btn span { transition: transform 0.2s var(--ease); }
.lestvica__mnz-btn:hover span { transform: translateX(4px); }

/* ---------- Lepši CTA gumb v glavi (Cici gol) ---------- */
.site-header__cta .btn--primary {
	background: linear-gradient(135deg, #ef1a30 0%, var(--c-red) 48%, var(--c-red-dark) 100%);
	box-shadow: 0 6px 18px rgba(212,3,30,0.42), inset 0 1px 0 rgba(255,255,255,0.28);
	letter-spacing: 0.09em; font-weight: 700;
}
.site-header__cta .btn--primary:hover {
	background: linear-gradient(135deg, #ff2038 0%, var(--c-red) 48%, var(--c-red-dark) 100%);
	box-shadow: 0 9px 26px rgba(212,3,30,0.58), inset 0 1px 0 rgba(255,255,255,0.32);
	transform: translateY(-2px);
}
/* V rdečem mobilnem meniju rdeč gumb izgine — obrnjen: bel z rdečim napisom. */
.mobile-nav .btn--primary { background: #fff; color: var(--c-red); box-shadow: 0 8px 22px rgba(0,0,0,0.28); letter-spacing: 0.09em; font-weight: 700; }
.mobile-nav .btn--primary:hover { background: #fff; color: var(--c-red-dark); box-shadow: 0 10px 26px rgba(0,0,0,0.34); transform: translateY(-2px); }
/* Drobna žoga pred napisom — prijazno za otroški program, a zadržano. */
.site-header__cta .btn--primary::after { content: "⚽"; font-size: 0.9em; margin-left: 0.15em; filter: grayscale(0.1); }


/* ---------- Tekme — match center v slogu FCB (čista temna, brez ozadja) ----------
   Stadionska fotografija v ozadju ZAVRNJENA 31. 7.; brez banerja, zavihki
   Razpored | Rezultati | Lestvica, vrstice tekem z datumsko letvijo. */
.mc-pills { margin: 0 0 1.8rem; }
/* Odštevalnik kot prvi element strani brez banerja: prostor za fiksno glavo.
   Pas NIZEK (klubska pripomba: za presekati črnino dovolj polovica). */
.match-countdown-hero--vrh { padding-top: calc(var(--header-h) + clamp(0.5rem, 1.2vw, 0.9rem)); padding-bottom: clamp(0.7rem, 1.6vw, 1.1rem); }
.mc-naslov { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1; color: #fff; margin: 0.25rem 0 0.3rem; }
.mc-mesec { font-family: var(--font-head); text-transform: uppercase; font-size: 1.15rem; color: #fff; margin: 2rem 0 0.9rem; padding-left: 0.9rem; position: relative; }
.mc-mesec::before { content: ""; position: absolute; left: 0; top: 0.12em; bottom: 0.12em; width: 4px; background: var(--c-red); }
.mc-mesec:first-child { margin-top: 0; }
.mc-vrstica { margin-bottom: 1rem; }
.mc-datum {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-bottom: 0;
	border-radius: var(--radius) var(--radius) 0 0; padding: 0.5rem 1.1rem;
	font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.82rem; color: var(--c-gray-200);
}
.mc-datum__ura { color: #fff; }
.mc-tekma {
	position: relative; display: block; text-align: center;
	background: #14151a; border: 1px solid rgba(255,255,255,0.08);
	border-radius: 0 0 var(--radius) var(--radius); padding: 1.2rem 1.1rem 1.3rem;
	transition: border-color 0.25s var(--ease), transform 0.25s var(--ease), box-shadow 0.35s var(--ease);
}
.mc-vrstica > a.mc-tekma:only-child { border-radius: var(--radius); }
.mc-tekma:hover { border-color: rgba(212,3,30,0.55); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,0.4); }
.mc-tekma__znacka {
	position: absolute; top: -0.7em; left: 50%; transform: translateX(-50%);
	background: var(--c-red); color: #fff; font-family: var(--font-head); text-transform: uppercase;
	letter-spacing: 0.08em; font-size: 0.7rem; padding: 0.25em 0.9em; border-radius: 999px; white-space: nowrap;
}
.mc-tekma--naslednja { border-color: rgba(212,3,30,0.7); box-shadow: 0 0 0 1px rgba(212,3,30,0.25), 0 10px 30px rgba(212,3,30,0.18); }
.mc-tekma__comp { display: block; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.72rem; color: var(--c-red-text); margin-bottom: 0.8rem; }
.mc-tekma__teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; }
.mc-tekma__team { display: flex; align-items: center; justify-content: flex-start; gap: 0.7rem; min-width: 0; }
.mc-tekma__team--domaci { justify-content: flex-end; }
.mc-tekma__team .fixture-card__crest { width: 44px; height: 44px; object-fit: contain; flex: 0 0 auto; }
.mc-tekma__ime { font-family: var(--font-head); text-transform: uppercase; font-size: clamp(0.95rem, 1.6vw, 1.25rem); color: #fff; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mc-tekma__sredina { font-family: var(--font-num, var(--font-head)); font-size: clamp(1.1rem, 2vw, 1.5rem); color: var(--c-red-text); min-width: 3.2em; }
@media (max-width: 640px) {
	.mc-tekma__teams { gap: 0.5rem; }
	.mc-tekma__team { flex-direction: column; gap: 0.35rem; }
	.mc-tekma__team--domaci { flex-direction: column; }
	.mc-tekma__ime { white-space: normal; font-size: 0.82rem; text-align: center; }
	.mc-tekma__team .fixture-card__crest { width: 38px; height: 38px; }
}

/* ---------- Zgodovina kluba (»1973«) — FCB časovnica ---------- */
/* Brez backdrop-filter: zamegljevanje na lepljivem elementu se ob drsenju
   64.000 px visoke strani neprestano preriše — neprosojna podlaga je enaka
   na pogled in bistveno cenejša (zlasti na telefonu). */
.zgod-nav { position: sticky; top: var(--header-h); z-index: 40; background: #0b0b0e; border-block: 1px solid rgba(255,255,255,0.08); }
/* Enovrstični drsni trak na vseh zaslonih — na namizju ga odklepata puščici
   in vlečenje z miško (JS), na dotik pa naravni poteg. */
.zgod-nav__trak { display: flex; align-items: center; gap: 0.45rem; padding-block: 0.7rem; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-behavior: smooth;
	/* Tančica na robovih: namig, da se trak z 50+ letnicami drsa. */
	-webkit-mask-image: linear-gradient(to right, transparent, #000 2.2rem, #000 calc(100% - 2.2rem), transparent);
	mask-image: linear-gradient(to right, transparent, #000 2.2rem, #000 calc(100% - 2.2rem), transparent); }
.zgod-nav__trak::-webkit-scrollbar { display: none; }
.zgod-nav .chip { flex: 0 0 auto; scroll-snap-align: center; }
/* Med vlečenjem z miško: brez gladkega drsenja (sledi kazalcu) in brez izbire besedila. */
.zgod-nav__trak.se-vlece { scroll-behavior: auto; cursor: grabbing; user-select: none; }
/* Prvo leto desetletja = sidro skupine: rdeče obrobljeno, izstopa med belimi. */
.zgod-nav__deka { border-color: rgba(212,3,30,0.65); color: var(--c-red-text); margin-left: 0.55rem; position: relative; }
.zgod-nav__deka::before { content: ""; position: absolute; left: -0.55rem; top: 50%; transform: translateY(-50%); width: 2px; height: 1.15rem; border-radius: 1px; background: linear-gradient(180deg, rgba(212,3,30,0.7), rgba(212,3,30,0.25)); }
/* Aktivno leto (scrollspy): poln rdeč čip, berljiv tudi na deka varianti. */
.zgod-nav .chip--active { background: var(--c-red); border-color: var(--c-red); color: #fff; }
/* Puščici: krogca na robovih lepljivega traku (samo kazalec/miška). */
.zgod-nav__smer { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,0.25); border-radius: 50%; background: #15171f; color: #fff; font-size: 1.25rem; line-height: 1; cursor: pointer; transition: background 0.2s var(--ease), border-color 0.2s var(--ease); }
.zgod-nav__smer:hover { background: var(--c-red); border-color: var(--c-red); }
.zgod-nav__smer--prev { left: 0.6rem; }
.zgod-nav__smer--next { right: 0.6rem; }
@media (pointer: coarse) { .zgod-nav__smer { display: none; } }
@media (prefers-reduced-motion: reduce) { .zgod-nav__trak { scroll-behavior: auto; } }
/* OPOMBA (1. 8. 2026): content-visibility:auto na razdelkih časovnice je bil
   preizkušen in UMAKNJEN — ocenjene višine 53 razdelkov so skoke po letnicah
   zgrešile za več deset tisoč px in poravnava ni konvergirala. Če bo stran
   kdaj prepočasna, je pravi pristop razrez po desetletjih, ne CSS. */

/* Obojestranska poravnava odstavkov (klubska želja 1. 8.). Deljenje besed je
   OBVEZNO, sicer nastanejo »reke« praznin; deluje prek lang="sl-SI" na <html>.
   Mera 72ch je že v .prose. Podnapisov in seznamov ne poravnavamo. */
.stran-zgod .entry-content p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.stran-zgod .entry-content figcaption { text-align: left; hyphens: none; }

/* Velika rdeča letnica — FCB slog; scroll-margin zaradi lepljive glave+traku. */
.stran-zgod .zgod-leto {
	font-family: var(--font-num, var(--font-head)); font-weight: 800;
	font-size: clamp(2.6rem, 6vw, 4rem); line-height: 1; color: var(--c-red-text);
	margin: 2.6rem 0 1rem; scroll-margin-top: calc(var(--header-h) + 92px);
	display: flex; align-items: center; gap: 0.6rem;
}
.stran-zgod .zgod-leto::after { content: ""; flex: 1; height: 2px; background: linear-gradient(to right, rgba(212,3,30,0.55), transparent); }
/* Fotografija leta: polna širina stolpca, zaobljena, s podnapisom. */
.stran-zgod .zgod-foto { margin: 1.2rem 0 1.6rem; }
.stran-zgod .zgod-foto img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; object-position: center 30%; border-radius: var(--radius-md); box-shadow: 0 16px 38px rgba(0,0,0,0.45); margin: 0; }
.stran-zgod .zgod-foto figcaption { margin-top: 0.55rem; font-size: 0.85rem; color: var(--c-gray-500); font-style: italic; }
/* Ključne številke kluba pod naslovno fotografijo. */
.zgod-stat { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; margin: clamp(1.4rem, 3vw, 2.2rem) 0 0.6rem; }
.zgod-stat__enota { text-align: center; padding: 1.1rem 0.8rem 1.2rem; background: var(--c-ink-soft); border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-md); }
.zgod-stat__st { display: block; font-family: var(--font-num, var(--font-head)); font-weight: 800; font-size: clamp(1.8rem, 4vw, 2.8rem); line-height: 1; color: var(--c-red-text); }
.zgod-stat__opis { display: block; margin-top: 0.4rem; font-family: var(--font-head); text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.74rem; color: var(--c-gray-200); }
@media (max-width: 640px) { .zgod-stat { grid-template-columns: repeat(2, 1fr); gap: 0.7rem; } }
/* Iz klubskega arhiva: tri stare fotografije — mrežo naredi content-guards
   (.post-figs ovoj okoli zaporednih figur), tu le poudarki. */
.stran-zgod .zgod-arhiv { margin: 1.2rem 0 2rem; }
.stran-zgod .zgod-arhiv .post-figs { grid-template-columns: repeat(3, 1fr); }
.stran-zgod .zgod-arhiv .post-figs figure img { transition: transform 0.3s var(--ease); }
.stran-zgod .zgod-arhiv .post-figs figure:hover img { transform: scale(1.03); }
.stran-zgod .zgod-arhiv figcaption { font-size: 0.82rem; color: var(--c-gray-500); font-style: italic; }
@media (max-width: 640px) { .stran-zgod .zgod-arhiv .post-figs { grid-template-columns: 1fr; } }

/* ---------- Nogometna šola — FCB čista (baner in foto ozadje zavrnjena 31. 7.) ----------
   Vsebino ureja klub v enem stolpcu; kartice in rdeč vpis naredi CSS:
   - seznam pod »Kaj ponujamo« (prvi ul) → mreža kartic
   - vpisni obrazec → rdeč poudarjen panel z diagonalnim rezom */
.stran-sola .entry-content > ul:first-of-type { list-style: none; padding: 0; margin: 1.4rem 0 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.1rem; max-width: none; }
.stran-sola .entry-content > ul:first-of-type li {
	margin: 0; padding: 1.4rem 1.4rem 1.5rem; background: var(--c-ink-soft);
	border: 1px solid rgba(255,255,255,0.09); border-radius: var(--radius-md);
	font-weight: 600; color: #fff; line-height: 1.5;
	display: flex; flex-direction: column; gap: 0.85rem;
	transition: transform 0.25s var(--ease), border-color 0.25s var(--ease);
}
.stran-sola .entry-content > ul:first-of-type li:hover { transform: translateY(-3px); border-color: rgba(212,3,30,0.45); }
.stran-sola .entry-content > ul:first-of-type li::marker { content: ""; }
/* Rdeča klubska ikona na vsaki kartici (vrstni red sledi klubovemu seznamu:
   treningi, tekme, igrišče, razvoj). */
.stran-sola .entry-content > ul:first-of-type li::before {
	content: ""; width: 48px; height: 48px; border-radius: 12px; flex: 0 0 auto;
	/* Prevlada nad .prose rombom: statično, brez rotacije. */
	position: static; transform: none;
	background-color: var(--c-red);
	background-repeat: no-repeat; background-position: center; background-size: 26px 26px;
	box-shadow: 0 6px 16px rgba(212,3,30,0.35);
}
.stran-sola .entry-content > ul:first-of-type li { padding-left: 1.4rem; }
.stran-sola .entry-content > ul:first-of-type li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M10 7h4M10 11h4M10 15h2'/%3E%3C/svg%3E"); }
.stran-sola .entry-content > ul:first-of-type li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0z'/%3E%3Cpath d='M7 6H4v2a3 3 0 0 0 3 3M17 6h3v2a3 3 0 0 1-3 3'/%3E%3C/svg%3E"); }
.stran-sola .entry-content > ul:first-of-type li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9h16v11'/%3E%3Cpath d='M2 20h20M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.stran-sola .entry-content > ul:first-of-type li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21C7 16.5 3 13.2 3 9.3 3 6.4 5.2 4 8 4c1.6 0 3.1.8 4 2 .9-1.2 2.4-2 4-2 2.8 0 5 2.4 5 5.3 0 3.9-4 7.2-9 11.7z'/%3E%3C/svg%3E"); }
/* Telefoni: »Kaj ponujamo« (prvi h2 + kartice) IZPUSTIMO — klubska želja 1. 8.:
   navpičen stolpec štirih kartic je na ozkem zaslonu deloval čudno. Bistvo
   (vpis, kontakt) ostane; kartice so vidne od 641 px naprej. */
@media (max-width: 640px) {
	.stran-sola .entry-content > h2:first-of-type,
	.stran-sola .entry-content > ul:first-of-type { display: none; }
}

/* Vpisni obrazec: rdeč panel — glavni cilj strani izskoči (FCB diagonala). */
.stran-sola .nkkranj-form {
	position: relative; overflow: hidden;
	background: linear-gradient(160deg, #c00420 0%, #8f0212 100%);
	border-radius: var(--radius-xl); padding: clamp(1.4rem, 3.5vw, 2.4rem);
	box-shadow: 0 18px 44px rgba(212,3,30,0.25);
}
.stran-sola .nkkranj-form::before { content: ""; position: absolute; inset: 0 0 0 auto; width: clamp(90px, 16%, 180px); background: linear-gradient(300deg, rgba(255,255,255,0.10), rgba(255,255,255,0.02)); clip-path: polygon(50% 0, 100% 0, 100% 100%, 80% 100%); pointer-events: none; }
.stran-sola .nkkranj-form > * { position: relative; }
.stran-sola .nkkranj-form label { color: #fff; }
.stran-sola .nkkranj-form input,
.stran-sola .nkkranj-form select,
.stran-sola .nkkranj-form textarea { background-color: rgba(0,0,0,0.28); border-color: rgba(255,255,255,0.3); color: #fff; }
/* Program: NEZGREŠLJIV spustni meni — velik bel šebron na sredini desnega
   roba (klub prijavlja tudi mladince, izbira mora biti očitna). */
.stran-sola .nkkranj-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 7 8 7-8'/%3E%3C/svg%3E");
	background-position: right 16px center;
	background-size: 18px 18px;
	background-repeat: no-repeat;
	padding-right: 3rem;
	cursor: pointer;
}
.stran-sola .nkkranj-form input:focus,
.stran-sola .nkkranj-form select:focus,
.stran-sola .nkkranj-form textarea:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,0.22); }
.stran-sola .nkkranj-form button { background: #fff; color: var(--c-red); font-weight: 700; }
.stran-sola .nkkranj-form button:hover { color: var(--c-red-dark); }
.stran-sola .nkkranj-form a { color: #fff; text-decoration: underline; }
.stran-sola .nkkranj-form .form-fineprint { color: rgba(255,255,255,0.85); }

/* Cici gol: ikone točk (ura, beležka, srce) — prevlada nad šolskimi. */
.stran-cici .entry-content > ul:first-of-type li:nth-child(1)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 3'/%3E%3C/svg%3E"); }
.stran-cici .entry-content > ul:first-of-type li:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='3' width='10' height='18' rx='2'/%3E%3Cpath d='M10 7h4M10 11h4M10 15h2'/%3E%3C/svg%3E"); }
.stran-cici .entry-content > ul:first-of-type li:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21C7 16.5 3 13.2 3 9.3 3 6.4 5.2 4 8 4c1.6 0 3.1.8 4 2 .9-1.2 2.4-2 4-2 2.8 0 5 2.4 5 5.3 0 3.9-4 7.2-9 11.7z'/%3E%3C/svg%3E"); }
/* Cici gol: 4. kartica (žoga — od 4. leta) za polno mrežo 2×2. */
.stran-cici .entry-content > ul:first-of-type li:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7.2 8.2 10l1.4 4.5h4.8L15.8 10z'/%3E%3Cpath d='M12 3v4.2M8.2 10 4 8.6M9.6 14.5 6.6 18M14.4 14.5l3 3.5M15.8 10 20 8.6'/%3E%3C/svg%3E"); }
/* Mobilno/tablica: sekcijo Kdaj in kje treniramo skrijemo (klubska želja
   1. 8.; meja 900px, ker se je pri ~750–900px še vedno prikazovala). */
@media (max-width: 900px) {
	.stran-cici .entry-content > ul:first-of-type,
	.stran-cici .entry-content > h2:nth-of-type(2) { display: none; }
}
