/**
 * JKT Temnica — slogi, ki jih theme.json ne pokrije.
 * Naloženo na strani in v urejevalniku (add_editor_style).
 */

:root {
	--jkt-hairline: rgba( 244, 242, 234, 0.12 );
	--jkt-hairline-strong: rgba( 244, 242, 234, 0.24 );
	--jkt-base: #090705;
	--jkt-primary: #ffd331;
	--jkt-surface: #14110d;
	--jkt-line: #2c2822;
	--jkt-muted-text: #989285;
}

/* ---------------------------------------------------------------
   1. Osnove
   --------------------------------------------------------------- */

/*
 * `overflow-x: clip` in ne `hidden`: `hidden` iz telesa naredi drsni vsebnik,
 * v katerem `position: sticky` v glavi neha delovati in glava ob drsenju odplava.
 * `clip` odreže enako, drsnega vsebnika pa ne ustvari.
 */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-image:
		radial-gradient( ellipse 80% 50% at 50% -10%, rgba( 255, 211, 49, 0.08 ), transparent 60% ),
		radial-gradient( ellipse 60% 40% at 100% 100%, rgba( 239, 133, 46, 0.06 ), transparent 70% );
	background-attachment: fixed;
	overflow-x: clip;
}

/* Sidro v naslovu ne sme pristati pod lepljivo glavo. */
html {
	scroll-padding-top: 6rem;
}

h1, h2, h3, h4 {
	text-wrap: balance;
	/* Naslovi so na telefonu zelo veliki — dolga beseda se raje prelomi kot pobegne čez rob. */
	overflow-wrap: break-word;
}

::selection {
	background: var( --jkt-primary );
	color: var( --jkt-base );
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var( --jkt-primary );
	outline-offset: 3px;
}

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

/* ---------------------------------------------------------------
   2. Ponavljajoči se slogi besedila
   --------------------------------------------------------------- */

.jkt-eyebrow,
.is-style-jkt-eyebrow {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.4em;
	color: var( --jkt-primary );
}

.jkt-eyebrow--rule::before {
	content: "";
	display: inline-block;
	width: 3rem;
	height: 1px;
	margin-right: 1.15rem;
	vertical-align: middle;
	background: currentColor;
}

.jkt-label,
.is-style-jkt-label {
	font-size: 0.625rem;
	line-height: 1.7;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var( --jkt-muted-text );
}

.jkt-display,
.is-style-jkt-display {
	font-family: var( --wp--preset--font-family--display );
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.01em;
}

.jkt-glow,
.is-style-jkt-glow {
	text-shadow: 0 0 28px rgba( 255, 211, 49, 0.4 );
}

.jkt-measure {
	max-width: 38rem;
}

.jkt-measure-lg {
	max-width: 46rem;
}

/*
 * Omejena širina mora ostati na levem robu VSEBINSKEGA STOLPCA — ne zaslona.
 * Postavitev "constrained" bi blok sicer centrirala, `margin-left: 0` pa ga je
 * v polnoširinskem cover bloku potisnilo na sam rob okna, ker je
 * `.wp-block-cover__inner-container` širok čez cel zaslon.
 * Odmik je natanko polovica razlike med vsebnikom in vsebinskim stolpcem;
 * kjer je vsebnik že ožji od stolpca (kartice, telefon), se sesede na 0.
 */
.jkt-measure,
.jkt-measure-lg,
.jkt-start {
	margin-left: max( 0px, ( 100% - var( --wp--style--global--content-size, 80rem ) ) / 2 ) !important;
	margin-right: auto !important;
}

@media ( max-width: 600px ) {
	.jkt-eyebrow,
	.is-style-jkt-eyebrow {
		letter-spacing: 0.28em;
	}

	.jkt-eyebrow--rule::before {
		width: 1.75rem;
		margin-right: 0.75rem;
	}
}

/* ---------------------------------------------------------------
   3. Tanke črte in okviri
   --------------------------------------------------------------- */

.jkt-hairline-top {
	border-top: 1px solid var( --jkt-hairline );
}

.jkt-hairline-bottom {
	border-bottom: 1px solid var( --jkt-hairline );
}

.jkt-box {
	border: 2px solid var( --jkt-line );
	padding: clamp( 2rem, 5vw, 4rem );
}

/* ---------------------------------------------------------------
   4. Glava
   --------------------------------------------------------------- */

/*
 * Jedro glavo zavije v <div class="wp-block-template-part">. `position: sticky`
 * se lahko premika samo znotraj starševskega okvira, ta ovoj pa je visok natanko
 * toliko kot glava — zato se glava ni imela kam prilepiti in je ob drsenju
 * odplavala. Lepljiv je zato ovoj, glava v njem pa je navadna.
 */
.wp-site-blocks > .wp-block-template-part:first-child {
	position: sticky;
	top: 0;
	z-index: 500;
}

.admin-bar .wp-site-blocks > .wp-block-template-part:first-child {
	top: 32px;
}

@media ( max-width: 782px ) {
	.admin-bar .wp-site-blocks > .wp-block-template-part:first-child {
		top: 46px;
	}
}

/* Prekrivni meni mora čez vse — dvigniti je treba ovoj, ker sklad določa on. */
html.has-modal-open .wp-site-blocks > .wp-block-template-part:first-child {
	z-index: 100000;
}

.jkt-header {
	position: relative;
	background: rgba( 9, 7, 5, 0.82 );
	-webkit-backdrop-filter: blur( 20px );
	backdrop-filter: blur( 20px );
	border-bottom: 1px solid var( --jkt-hairline );
	/* Senca odlepi glavo od vsebine, ki se pomika pod njo. */
	box-shadow: 0 14px 34px rgba( 0, 0, 0, 0.55 );
}

/*
 * `backdrop-filter` naredi glavo za vsebnik fiksno postavljenih potomcev.
 * Prekrivni meni je `position: fixed; inset: 0`, zato se je razpel le čez
 * glavo (~4rem) namesto čez zaslon — meni se je prikazal samo delno.
 * Ob odprtem meniju filter izklopimo; ozadje takrat riše meni sam.
 * Razred `has-modal-open` postavi jedro na element <html>.
 */
html.has-modal-open .jkt-header {
	z-index: 100000;
	background: transparent;
	border-bottom-color: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.jkt-header__inner {
	min-height: 4rem;
}

.jkt-brand {
	gap: 0.75rem !important;
}

.jkt-brand img {
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba( 255, 211, 49, 0.4 );
	transition: box-shadow 0.2s ease;
}

.jkt-brand:hover img {
	box-shadow: 0 0 0 1px var( --jkt-primary );
}

.jkt-brand__name {
	margin: 0;
	font-family: var( --wp--preset--font-family--display );
	font-size: 1.375rem;
	line-height: 1;
	letter-spacing: 0.06em;
	color: var( --wp--preset--color--contrast );
}

.jkt-brand__sub {
	margin: 0.3rem 0 0;
	font-size: 0.625rem;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	color: var( --jkt-muted-text );
}

/* Navigacija */
.jkt-nav .wp-block-navigation-item__content {
	padding: 0.5rem 1rem;
	color: var( --jkt-muted-text );
	transition: color 0.2s ease;
}

.jkt-nav .wp-block-navigation-item__content:hover,
.jkt-nav .wp-block-navigation-item__content:focus {
	color: var( --wp--preset--color--contrast );
}

.jkt-nav .current-menu-item > .wp-block-navigation-item__content,
.jkt-nav .current_page_item > .wp-block-navigation-item__content {
	color: var( --wp--preset--color--contrast );
}

.jkt-nav .wp-block-navigation__responsive-container-open,
.jkt-nav .wp-block-navigation__responsive-container-close {
	color: var( --wp--preset--color--contrast );
}

.jkt-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var( --jkt-base ) !important;
	padding: 5rem 1.5rem 3rem;
}

.jkt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 0.5rem 0;
	font-family: var( --wp--preset--font-family--display );
	font-size: clamp( 1.875rem, 8vw, 2.75rem );
	line-height: 1.1;
	letter-spacing: 0.02em;
	color: var( --wp--preset--color--contrast );
}

.jkt-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	color: var( --jkt-primary );
}

/* Gumb v glavi */
.jkt-header .wp-block-button__link {
	padding: 0.75rem 1.15rem;
	font-size: 0.6875rem;
	letter-spacing: 0.16em;
}

@media ( max-width: 781px ) {
	.jkt-header .jkt-header__cta {
		display: none;
	}
}

/* ---------------------------------------------------------------
   5. Zrnatost in naslovnica
   --------------------------------------------------------------- */

.jkt-grain {
	position: relative;
}

.jkt-grain::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0.08;
	mix-blend-mode: overlay;
	background-image: url( "data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.5'/></svg>" );
}

/*
 * Slika sama je bila zatemnjena tukaj, zato drsnik "Prekrivna prosojnost"
 * v urejevalniku ni imel učinka — tudi pri 0 % je čez sliko ostal ta CSS.
 * Zdaj je slika skoraj polna, zatemnitev pa nadzoruje drsnik + spodnji preliv.
 */
.jkt-hero.wp-block-cover .wp-block-cover__image-background {
	opacity: 0.9;
}

/* Preliv v levo skrbi le za berljivost besedila, ne zatemnjuje več do črnega. */
.jkt-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient( 90deg, rgba( 9, 7, 5, 0.8 ) 0%, rgba( 9, 7, 5, 0.35 ) 50%, rgba( 9, 7, 5, 0 ) 100% );
}

.jkt-hero > .wp-block-cover__inner-container,
.jkt-grain > .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

/* Sij samo na rumenem delu naslova. */
.jkt-hero__title .has-primary-color {
	text-shadow: 0 0 28px rgba( 255, 211, 49, 0.4 );
}

/* ---------------------------------------------------------------
   6. Tekoči napis
   --------------------------------------------------------------- */

.jkt-marquee {
	overflow: hidden;
	border-top: 1px solid var( --jkt-hairline );
	border-bottom: 1px solid var( --jkt-hairline );
	background: rgba( 9, 7, 5, 0.8 );
	-webkit-backdrop-filter: blur( 8px );
	backdrop-filter: blur( 8px );
}

/*
 * Trak drsi iz desne proti levi. V skupini sta dva enaka odstavka, zato je
 * pomik za -50 % natanko ena kopija — prehod nazaj na začetek je nevideno
 * brezšiven. Hitrost uravnavaj samo s spremenljivko: večja vrednost = počasneje.
 */
.jkt-marquee {
	--jkt-marquee-duration: 80s;
}

.jkt-marquee__track {
	display: flex;
	flex-wrap: nowrap !important;
	width: max-content;
	gap: 0 !important;
	animation: jkt-marquee var( --jkt-marquee-duration ) linear infinite;
	/* Animacija teče v svoji plasti — brez tega besedilo med drsenjem podrhtava. */
	will-change: transform;
}

/* Ob prehodu z miško se trak ustavi, da je napis mogoče v miru prebrati. */
.jkt-marquee:hover .jkt-marquee__track {
	animation-play-state: paused;
}

.jkt-marquee__track > p {
	margin: 0;
	padding: 1.15rem 3rem 1.15rem 0;
	white-space: nowrap;
	font-family: var( --wp--preset--font-family--display );
	font-size: clamp( 1.25rem, 3.5vw, 1.5rem );
	line-height: 1.4;
	letter-spacing: 0.12em;
	color: var( --jkt-muted-text );
}

/* Zvezdica je ločilo med napisi — razmik dela ona, ne presledki v besedilu. */
.jkt-marquee mark {
	margin: 0 1.75rem;
	background: transparent;
	color: var( --jkt-primary );
}

@keyframes jkt-marquee {
	from {
		transform: translateX( 0 );
	}
	to {
		transform: translateX( -50% );
	}
}

/*
 * Trak se vrti stalno, tudi ob sistemski nastavitvi "zmanjšano gibanje".
 * Tako je po želji naročnika: napis je nosilni element naslovnice in brez
 * gibanja ostane le odrezan kos besedila.
 */

/* ---------------------------------------------------------------
   7. Mreže s tankimi črtami (števci, dejstva, slike)
   --------------------------------------------------------------- */

.jkt-hairline-grid.wp-block-columns,
.is-style-jkt-hairline-grid.wp-block-columns {
	gap: 1px !important;
	background: var( --jkt-line );
}

.jkt-hairline-grid.wp-block-columns > .wp-block-column,
.is-style-jkt-hairline-grid.wp-block-columns > .wp-block-column {
	background: var( --jkt-base );
	transition: background-color 0.2s ease;
}

.jkt-hairline-grid.wp-block-columns > .wp-block-column:hover {
	background: var( --jkt-surface );
}

/*
 * Števci ostanejo dvostolpčni tudi na telefonu (kot na referenčni strani).
 * Slikovne kartice se zložijo ena pod drugo — to je privzeto vedenje stolpcev.
 */
@media ( max-width: 781px ) {
	/*
	 * Štirje razredi namenoma: jedrno pravilo
	 * `.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column`
	 * ima enako specifičnost (0,3,0) in se naloži za to datoteko, zato bi
	 * pri treh razredih zmagalo ono in stolpci bi ostali 100 %.
	 */
	.wp-block-columns.jkt-hairline-grid.jkt-stats-grid > .wp-block-column {
		/* Stolpec je privzeto content-box — brez tega bi ga notranji odmik razširil čez polovico. */
		box-sizing: border-box;
		flex-basis: calc( 50% - 1px ) !important;
		flex-grow: 1;
		/* Brez tega se stolpec ne skrči pod širino velike številke in se prelomi. */
		min-width: 0;
		padding-left: 1.25rem !important;
		padding-right: 1.25rem !important;
	}
}

@media ( max-width: 340px ) {
	.wp-block-columns.jkt-hairline-grid.jkt-stats-grid > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* ---------------------------------------------------------------
   8. Vrstice (kazalo jam na naslovnici)
   --------------------------------------------------------------- */

.jkt-rows {
	border-top: 1px solid var( --jkt-hairline );
}

.jkt-row {
	border-bottom: 1px solid var( --jkt-hairline );
	padding: 1.5rem 0.5rem;
	transition: background-color 0.2s ease;
}

.jkt-row:hover {
	background: rgba( 20, 17, 13, 0.6 );
}

.jkt-row > * {
	margin: 0;
}

.jkt-row__name {
	transition: color 0.2s ease;
}

.jkt-row:hover .jkt-row__name {
	color: var( --jkt-primary );
}

@media ( min-width: 782px ) {
	.jkt-row {
		display: grid;
		grid-template-columns: 4fr 5fr 3fr;
		gap: 1.5rem;
		align-items: baseline;
	}

	.jkt-row > *:last-child {
		text-align: right;
	}
}

/* Prepiše !important iz razreda prednastavljene velikosti pisave. */
.jkt-row > *:last-child {
	font-size: clamp( 1.25rem, 2.4vw, 1.5rem ) !important;
}

@media ( max-width: 781px ) {
	.jkt-row > * + * {
		margin-top: 0.5rem;
	}
}

/* ---------------------------------------------------------------
   9. Dejstva (stran O klubu)
   --------------------------------------------------------------- */

.jkt-facts {
	display: grid;
	gap: 1px;
	background: var( --jkt-line );
}

.jkt-facts > * {
	margin: 0;
}

.jkt-fact {
	background: var( --jkt-base );
	padding: 2rem 0.5rem;
	transition: background-color 0.2s ease;
}

.jkt-fact:hover {
	background: var( --jkt-surface );
}

.jkt-fact > * {
	margin: 0;
}

@media ( min-width: 782px ) {
	.jkt-fact {
		display: grid;
		grid-template-columns: 4fr 8fr;
		gap: 1.5rem;
		align-items: center;
	}
}

@media ( max-width: 781px ) {
	.jkt-fact > * + * {
		margin-top: 0.75rem;
	}
}

/* ---------------------------------------------------------------
   10. Slikovne kartice
   --------------------------------------------------------------- */

.jkt-figure.wp-block-cover {
	min-height: 0;
	aspect-ratio: 4 / 5;
	padding: clamp( 1.5rem, 4vw, 2rem );
	overflow: hidden;
}

.jkt-figure.wp-block-cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient( 0deg, var( --jkt-base ) 0%, rgba( 9, 7, 5, 0.5 ) 42%, rgba( 9, 7, 5, 0 ) 100% );
}

.jkt-figure > .wp-block-cover__inner-container {
	position: relative;
	z-index: 3;
}

.jkt-figure .wp-block-cover__image-background {
	transition: transform 0.7s ease;
}

.jkt-figure:hover .wp-block-cover__image-background {
	transform: scale( 1.05 );
}

/*
 * Portret na strani O klubu je navaden blok Slika, ne Naslovnica, zato nima
 * lastnega prekrivnega sloja. Zatemnitev je enaka kot pri slikovnih karticah,
 * da se fotografija ujame s temno stranjo namesto da z nje "skoči".
 */
.jkt-portrait {
	position: relative;
	overflow: hidden;
}

.jkt-portrait img {
	display: block;
	transition: transform 0.7s ease;
}

.jkt-portrait::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-color: rgba( 9, 7, 5, 0.3 );
	background-image: linear-gradient( 0deg, var( --jkt-base ) 0%, rgba( 9, 7, 5, 0.5 ) 42%, rgba( 9, 7, 5, 0 ) 100% );
}

.jkt-portrait:hover img {
	transform: scale( 1.05 );
}

/*
 * Ležeči posnetki (muzej 1. svetovne vojne na strani O klubu). Za razliko od
 * portreta nosijo tanek okvir in le rahlo zatemnitev — fotografije so temne že
 * same po sebi, močan preliv bi jim pojedel podrobnosti v vitrini.
 */
.jkt-shot {
	position: relative;
	overflow: hidden;
	border: 1px solid var( --jkt-line );
}

.jkt-shot img {
	display: block;
	transition: transform 0.7s ease;
}

.jkt-shot::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-color: rgba( 9, 7, 5, 0.15 );
}

.jkt-shot:hover img {
	transform: scale( 1.05 );
}

/* ---------------------------------------------------------------
   11. Jame (stran Jame)
   --------------------------------------------------------------- */

.jkt-cave-list {
	display: grid;
	gap: 1px;
	background: var( --jkt-line );
}

.jkt-cave-list > * {
	margin: 0;
}

.jkt-cave.wp-block-columns {
	background: var( --jkt-base );
	gap: 0 !important;
	margin: 0;
}

.jkt-cave .jkt-cave__media {
	overflow: hidden;
}

.jkt-cave .jkt-cave__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	transition: transform 0.7s ease;
}

.jkt-cave:hover .jkt-cave__media img {
	transform: scale( 1.05 );
}

.jkt-cave .jkt-cave__body {
	padding: clamp( 2rem, 5vw, 3rem );
	display: flex;
	flex-direction: column;
	justify-content: center;
}

@media ( min-width: 782px ) {
	.jkt-cave--alt {
		flex-direction: row-reverse;
	}

	/* Slika naj zapolni celotno višino celice. */
	.jkt-cave .jkt-cave__media .wp-block-image,
	.jkt-cave .jkt-cave__media .wp-block-image img {
		height: 100% !important;
		aspect-ratio: auto !important;
	}

	.jkt-cave .jkt-cave__media .wp-block-image {
		display: block;
		min-height: 100%;
	}
}

.jkt-rule {
	display: inline-block;
	width: 2rem;
	height: 1px;
	background: var( --jkt-line );
	vertical-align: middle;
}

/* ---------------------------------------------------------------
   12. Kontakt
   --------------------------------------------------------------- */

.jkt-contact-grid.wp-block-columns {
	gap: 1px !important;
	background: var( --jkt-line );
	margin: 0;
}

.jkt-contact-grid.wp-block-columns > .wp-block-column {
	background: var( --jkt-base );
	padding: clamp( 2rem, 5vw, 4rem );
}

.jkt-contact-grid.wp-block-columns > .jkt-contact-panel {
	background: var( --jkt-surface );
	padding: clamp( 2rem, 4vw, 3rem );
}

/* Ozek stolpec — naslov in e-pošta se ne smeta lomiti sredi besede. */
.jkt-contact-panel .jkt-display {
	font-size: clamp( 1.25rem, 2.2vw, 1.5rem ) !important;
	overflow-wrap: break-word;
}

@media ( max-width: 781px ) {
	.jkt-contact-grid.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
	}
}

.jkt-form {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	position: relative;
}

.jkt-field {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}

/*
 * Polja so bila prosojna in le s tanko črto spodaj — na črni strani jih je
 * bilo težko prepoznati kot polja za vpis. Zdaj imajo svetlejše ozadje in
 * viden okvir, oznake nad njimi pa so večje, ožje razprte in v polni barvi.
 */
.jkt-field__label {
	font-size: 0.75rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	color: var( --wp--preset--color--contrast );
}

.jkt-field__input {
	width: 100%;
	box-sizing: border-box;
	padding: 0.9rem 1rem;
	font: inherit;
	font-size: 1.0625rem;
	color: var( --wp--preset--color--contrast );
	background: var( --jkt-line );
	border: 1px solid rgba( 244, 242, 234, 0.32 );
	border-radius: 0;
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.jkt-field__input::placeholder {
	color: var( --jkt-muted-text );
}

.jkt-field__input:hover {
	border-color: rgba( 244, 242, 234, 0.4 );
}

/* Ob vpisovanju je jasno vidno, v katerem polju stojiš. */
.jkt-field__input:focus {
	outline: none;
	background: #3a352d;
	border-color: var( --jkt-primary );
	box-shadow: 0 0 0 3px rgba( 255, 211, 49, 0.22 );
}

select.jkt-field__input {
	cursor: pointer;
}

textarea.jkt-field__input {
	min-height: 9rem;
	line-height: 1.55;
}

textarea.jkt-field__input {
	resize: vertical;
}

/* Sistemski deli obrazcev (spustni seznam, drsniki) naj bodo temni. */
html {
	color-scheme: dark;
}

.jkt-field--trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.jkt-form__submit {
	align-self: flex-start;
	padding: 1.05rem 2rem;
	font-family: var( --wp--preset--font-family--body );
	font-size: 0.6875rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var( --jkt-base );
	background: var( --jkt-primary );
	border: 0;
	border-radius: 0;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.jkt-form__submit:hover {
	background: #e8c02c;
}

.jkt-form__notice {
	margin: 0;
	padding: 1rem 1.25rem;
	font-size: 0.875rem;
	border-left: 3px solid var( --jkt-primary );
	background: var( --jkt-surface );
}

.jkt-form__notice--error {
	border-left-color: #ef852e;
}

/* ---------------------------------------------------------------
   13. Gumbi
   --------------------------------------------------------------- */

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var( --wp--preset--color--contrast );
	border: 1px solid var( --jkt-hairline-strong );
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus {
	background: transparent;
	color: var( --jkt-primary );
	border-color: var( --jkt-primary );
}

.jkt-textlink {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.3em;
	color: var( --jkt-muted-text );
}

.jkt-textlink a:hover {
	color: var( --jkt-primary );
}

/* ---------------------------------------------------------------
   14. Noga
   --------------------------------------------------------------- */

.jkt-partners {
	border-top: 1px solid var( --jkt-hairline );
}

.jkt-partners__row {
	gap: clamp( 2rem, 5vw, 3.5rem ) !important;
}

.jkt-partner {
	margin: 0;
}

/*
 * Logotipi partnerjev so tuji in različno svetli. Na črnem jih zadržimo
 * pridušene, ob prehodu z miško pa v polni moči — poravnani so po višini,
 * ne po širini, ker gre za tri različna razmerja (grb, znak, napis).
 */
.jkt-partner img {
	display: block;
	width: auto;
	height: 3.25rem;
	opacity: 0.8;
	transition: opacity 0.25s ease;
}

.jkt-partner a:hover img,
.jkt-partner a:focus-visible img {
	opacity: 1;
}

/* Pokončen ščit potrebuje več višine, da je enako opazen kot napisa ob njem. */
.jkt-partner--jzs img {
	height: 4.5rem;
}

@media ( max-width: 600px ) {
	.jkt-partner img {
		height: 2.5rem;
	}

	.jkt-partner--jzs img {
		height: 3.5rem;
	}
}


.jkt-footer {
	border-top: 1px solid var( --jkt-hairline );
}

.jkt-footer__cols {
	gap: 3rem !important;
}

.jkt-footer__bottom {
	border-top: 1px solid var( --jkt-hairline );
	font-size: 0.75rem;
	color: var( --jkt-muted-text );
}

.jkt-footer .wp-block-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.jkt-footer .wp-block-list li {
	margin-bottom: 0.55rem;
	font-size: 0.875rem;
}

/* ---------------------------------------------------------------
   16. Aktivnosti (prispevki)
   --------------------------------------------------------------- */

/*
 * Jedro mrežo razporedi z »auto-fill«, kar pri manj kot polni vrsti pusti
 * prazne stolpce — zato število stolpcev določimo sami.
 */
.jkt-news.wp-block-post-template {
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media ( max-width: 1023px ) {
	.jkt-news.wp-block-post-template {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}
}

/* `minmax( 0, … )` je nujen: brez njega je najmanjša širina stolpca enaka
   naravni širini slike (800px) in mreža pobegne čez rob telefona. */
@media ( max-width: 640px ) {
	.jkt-news.wp-block-post-template {
		grid-template-columns: minmax( 0, 1fr ) !important;
	}
}

/*
 * Črta med karticami je 1px senca okoli vsake — v 1px reži se senci sosedov
 * prekrivata, zato ostane ena sama tanka črta tudi pri nepopolni vrsti.
 */
.jkt-news > li.wp-block-post {
	background: var( --jkt-base );
	box-shadow: 0 0 0 1px var( --jkt-line );
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	margin: 0;
	/* Element mreže se brez tega ne skrči pod naravno širino svoje slike. */
	min-width: 0;
	transition: background-color 0.35s ease;
}

.jkt-news > li.wp-block-post:hover {
	background: var( --jkt-surface );
}

.jkt-news .jkt-news__media {
	margin: 0;
	overflow: hidden;
}

.jkt-news .jkt-news__media img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform 0.7s ease;
}

.jkt-news > li.wp-block-post:hover .jkt-news__media img {
	transform: scale( 1.05 );
}

/* Prispevek brez prikazne slike ne sme pustiti prazne luknje v mreži. */
.jkt-news .jkt-news__media:empty {
	display: none;
}

.jkt-news .jkt-news__body {
	padding: clamp( 1.75rem, 3vw, 2.25rem );
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}

.jkt-news .jkt-news__title a {
	transition: color 0.2s ease;
}

.jkt-news > li.wp-block-post:hover .jkt-news__title a {
	color: var( --jkt-primary );
}

.jkt-news .jkt-news__excerpt p {
	margin: 0;
}

/*
 * »Preberi« se drži dna kartice, da so puščice v vrsti poravnane
 * tudi takrat, ko so povzetki različno dolgi.
 */
.jkt-news .jkt-news__more {
	display: inline-block;
	margin-top: auto;
	padding-top: 1.5rem;
	color: var( --jkt-muted-text );
}

.jkt-news .jkt-news__more:hover,
.jkt-news > li.wp-block-post:hover .jkt-news__more {
	color: var( --jkt-primary );
}

/* Vrstica nad naslovom: oznaka kategorije in datum */
.jkt-news .jkt-news__meta {
	gap: 0.75rem !important;
}

.jkt-news__cat {
	margin: 0;
	font-size: 0.625rem;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.18em;
}

/* Oznaka, ne povezava — po kategorijah se brska prek filtra na strani Naše aktivnosti. */
.jkt-news__cat span {
	display: inline-block;
	padding: 0.4rem 0.55rem;
	border: 1px solid var( --jkt-hairline-strong );
	color: var( --jkt-muted-text );
}

/*
 * Pred datumom vedno piše, za kateri datum gre — pridušeno, da rumeno
 * ostane sam datum.
 */
.jkt-date__label {
	color: var( --jkt-muted-text );
}

.jkt-date__label::after {
	content: " ·";
}

/* Filter po kategorijah */
.jkt-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: var( --wp--preset--spacing--50 );
}

.jkt-filter__item {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45rem;
	padding: 0.75rem 1.1rem;
	border: 1px solid var( --jkt-hairline );
	color: var( --jkt-muted-text );
	font-size: 0.6875rem;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.jkt-filter__item:hover,
.jkt-filter__item:focus-visible {
	color: var( --jkt-contrast, #f4f2ea );
	border-color: var( --jkt-hairline-strong );
}

.jkt-filter__item.is-active,
.jkt-filter__item.is-active:hover {
	background: var( --jkt-primary );
	border-color: var( --jkt-primary );
	color: var( --jkt-base );
}

.jkt-filter__count {
	font-size: 0.625rem;
	opacity: 0.65;
}

/* Oštevilčenje strani */
.jkt-pagination {
	border-top: 1px solid var( --jkt-hairline );
	padding-top: var( --wp--preset--spacing--30 );
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

.jkt-pagination .page-numbers {
	color: var( --jkt-muted-text );
	padding: 0 0.4rem;
}

.jkt-pagination .page-numbers.current {
	color: var( --jkt-primary );
}

/* Posamezen prispevek */

/*
 * Besedilo prispevka teče v berljivem stolpcu, poravnanem na levi rob
 * vsebinskega stolpca — enako kot uvodni odstavki z razredom .jkt-measure,
 * da robovi po celi strani ostanejo v isti navpičnici.
 */
.jkt-article > p:not( .jkt-measure ),
.jkt-article > .wp-block-heading,
.jkt-article > .wp-block-list,
.jkt-article > .wp-block-quote {
	max-width: 46rem;
}

.jkt-article > p,
.jkt-article > .wp-block-heading,
.jkt-article > .wp-block-list,
.jkt-article > .wp-block-quote {
	margin-left: max( 0px, ( 100% - var( --wp--style--global--content-size, 80rem ) ) / 2 ) !important;
	margin-right: auto !important;
}

.jkt-article > .wp-block-list {
	padding-left: 1.25rem;
}

.jkt-post__media {
	margin: 0;
}

.jkt-post__media img {
	width: 100%;
	height: auto;
}

/* ---------------------------------------------------------------
   15. Urejevalnik
   --------------------------------------------------------------- */

.editor-styles-wrapper .jkt-header {
	position: static;
}

.editor-styles-wrapper .jkt-marquee__track {
	animation: none;
}
