/*
 * RANGO Training — oblikovni sistem za usposabljanja.
 * Kontrasti (WCAG 2.2 AA) preverjeni za:
 *   besedilo na #0b0b0d/#17181b: #f3f4f6, #b9bcc3, poudarki --acc-text (>= 6:1)
 *   belo besedilo na polnilih --acc-fill (>= 5.5:1)
 */

:root {
	--rb-black: #0b0b0d;
	--rb-graphite: #17181b;
	--rb-graphite-2: #202226;
	--rb-line: #33363d;
	--rb-text: #f3f4f6;
	--rb-muted: #b9bcc3;
	--rb-paper: #ffffff;
	--rb-paper-2: #f3f3f4;
	--rb-ink: #1b1c1f;
	--rb-ink-muted: #474a52;
	--rb-field: #7d828b;
	--rb-radius: 4px;
	--rb-gap: clamp(16px, 2.4vw, 28px);
	--rb-pad: clamp(56px, 7vw, 104px);
	--rb-font: "Poppins", "Helvetica Neue", Arial, sans-serif;
	--acc-text: #ff6b73;
	--acc-fill: #c62832;
	--acc-line: #ef3f49;
}

.rb-accent--police { --acc-text: #6ea3e8; --acc-fill: #24589a; --acc-line: #2f6db5; }
.rb-accent--military { --acc-text: #b4c26a; --acc-fill: #55602a; --acc-line: #7c8a3e; }
.rb-accent--fire { --acc-text: #ff8a5c; --acc-fill: #b8401c; --acc-line: #e8552b; }
.rb-accent--brand { --acc-text: #ff6b73; --acc-fill: #c62832; --acc-line: #ef3f49; }

/* ---------------------------------------------------------------- osnova */

.rb-hero, .rb-benefits, .rb-section, .rb-units, .rb-program, .rb-inquiry {
	font-family: var(--rb-font);
	-webkit-font-smoothing: antialiased;
	box-sizing: border-box;
}
.rb-hero *, .rb-benefits *, .rb-section *, .rb-units *, .rb-program *, .rb-inquiry * { box-sizing: border-box; }

body .rb-hero ul, body .rb-benefits ul, body .rb-section ul, body .rb-units ul, body .rb-program ul, body .rb-program ol,
body .rb-program dl, body .rb-section dl {
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: inherit;
}
body :where(.rb-hero, .rb-section, .rb-units, .rb-program, .rb-inquiry) p { padding: 0; }
body .rb-hero h1, body .rb-section h2, body .rb-section h3, body .rb-section h4, body .rb-units h3, body .rb-units h4,
body .rb-program h1, body .rb-program h2 {
	padding: 0;
	font-family: var(--rb-font);
	letter-spacing: 0;
}

.rb-container { width: min(100% - 32px, 1200px); margin-inline: auto; }
.rb-container--narrow { width: min(100% - 32px, 860px); }

.rb-section { padding-block: var(--rb-pad); background: var(--rb-black); color: var(--rb-text); }
.rb-section--dark { background: var(--rb-graphite); }

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

.rb-icon { width: 1.5em; height: 1.5em; flex: none; }

.rb-h2 {
	margin: 0 0 clamp(24px, 3vw, 40px);
	color: #fff;
	font-size: clamp(1.5rem, 1.05rem + 1.7vw, 2.375rem);
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
}
.rb-h2::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 16px;
	background: var(--acc-line);
}
.rb-h2--center { text-align: center; }
.rb-h2--center::after { margin-inline: auto; }
.rb-h3 { margin: 0 0 14px; color: #fff; font-size: 1.125rem; font-weight: 700; line-height: 1.3; text-transform: uppercase; }

.rb-lead { margin: 0 0 1.5em; color: var(--rb-muted); font-size: clamp(1rem, .95rem + .3vw, 1.175rem); line-height: 1.7; }
.rb-lead--center { text-align: center; max-width: 720px; margin-inline: auto; }

.rb-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	color: var(--acc-text);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.rb-eyebrow__bar { display: inline-block; width: 28px; height: 3px; background: var(--acc-line); }

.rb-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.6em;
	padding: .2em .45em;
	background: var(--acc-fill);
	color: #fff;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .02em;
	border-radius: 2px;
}
.rb-code--xl { min-width: 0; padding: 0; background: none; font-size: clamp(2.75rem, 2rem + 3vw, 4.5rem); }

.rb-chip {
	display: inline-block;
	margin: 4px 6px 4px 0;
	padding: 4px 12px;
	border: 1px solid var(--acc-line);
	border-radius: 999px;
	color: #fff;
	font-size: .8125rem;
	font-weight: 600;
	text-decoration: none;
	line-height: 1.5;
}

.rb-note {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	margin: 0;
	padding: 16px 20px;
	border-left: 4px solid var(--acc-line);
	background: var(--rb-graphite-2);
	color: var(--rb-text);
	line-height: 1.6;
}
.rb-note .rb-icon { color: var(--acc-text); margin-top: 1px; }
.rb-note a { color: #fff; text-decoration: underline; }
.rb-note--large { font-size: 1.0625rem; padding: 24px 28px; }
.rb-eligibility .rb-lead { color: var(--rb-text); }
.rb-eligibility--note { padding-block: 0 clamp(40px, 5vw, 64px); }
.rb-inquiry__eligibility { margin-bottom: 20px !important; }

/* ---------------------------------------------------------------- gumbi */

.rb-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.rb-actions--center { justify-content: center; }

body .rb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 26px;
	border: 2px solid var(--acc-fill);
	border-radius: var(--rb-radius);
	background: var(--acc-fill);
	color: #fff;
	font-family: var(--rb-font);
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .08em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
body .rb-btn:hover { background: #fff; border-color: #fff; color: var(--rb-ink); }
body .rb-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
body .rb-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--rb-ink); }

.rb-hero a:focus-visible, .rb-section a:focus-visible, .rb-units a:focus-visible, .rb-program a:focus-visible,
.rb-inquiry a:focus-visible, .rb-btn:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px var(--rb-black);
}

/* ---------------------------------------------------------------- hero */

.rb-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(520px, 78vh, 760px);
	padding-block: clamp(64px, 9vw, 120px);
	overflow: hidden;
	background: var(--rb-black);
	color: var(--rb-text);
	isolation: isolate;
}
.rb-hero--compact { min-height: 0; padding-block: clamp(56px, 7vw, 96px); background: linear-gradient(135deg, var(--rb-black) 55%, var(--rb-graphite) 100%); }
.rb-hero__media { position: absolute; inset: 0 0 0 42%; z-index: -2; }
body .rb-hero__media img, body .rb-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; }
.rb-hero--has-media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, var(--rb-black) 0%, var(--rb-black) 40%, rgba(11, 11, 13, .55) 62%, rgba(11, 11, 13, .1) 100%);
}
.rb-hero__inner { position: relative; }
.rb-hero__inner > * { max-width: 640px; }
.rb-hero__title {
	margin: 0;
	color: #fff;
	font-size: clamp(2.125rem, 1.3rem + 3.6vw, 4rem);
	font-weight: 800;
	line-height: 1.04;
	text-transform: uppercase;
}
.rb-hero__accent { display: block; margin-top: .3em; color: var(--acc-text); font-size: .52em; font-weight: 600; letter-spacing: .04em; line-height: 1.2; }
.rb-hero__title::after { content: ""; display: block; width: 64px; height: 4px; margin-top: 24px; background: var(--acc-line); }
.rb-hero__lead { margin: 24px 0 0; color: var(--rb-text); font-size: clamp(1rem, .95rem + .35vw, 1.1875rem); line-height: 1.7; }
.rb-hero__back { margin: 0 0 24px; }
.rb-hero__back a { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; color: var(--rb-muted); font-size: .875rem; font-weight: 500; text-decoration: none; }
.rb-hero__back a:hover { color: #fff; }
.rb-hero__back .rb-icon { width: 1.1em; height: 1.1em; transform: scaleX(-1); }

/* ---------------------------------------------------------------- prednosti */

.rb-benefits { background: var(--rb-graphite); color: var(--rb-text); border-block: 1px solid var(--rb-line); }
.rb-benefits__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rb-benefits__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 26px 18px;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.35;
	text-transform: uppercase;
}
.rb-benefits__item + .rb-benefits__item { border-left: 1px solid var(--rb-line); }
.rb-benefits__item .rb-icon { width: 30px; height: 30px; color: var(--acc-text); }

/* ---------------------------------------------------------------- enote (kartice) */

.rb-units__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--rb-gap); }
.rb-unit__card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--rb-line);
	border-top: 4px solid var(--acc-line);
	border-radius: var(--rb-radius);
	background: var(--rb-graphite);
	color: var(--rb-text);
}
.rb-unit__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--rb-black); }
body .rb-unit__media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; }
.rb-unit__body { display: flex; flex: 1; flex-direction: column; padding: 26px 26px 28px; }
.rb-unit__eyebrow { margin: 0 0 8px; color: var(--acc-text); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
/* rezerva za dve vrstici (Gasilci) z izrecno višino vrstice — sicer podeduje ~1,7 iz Divi in 3em ne zadošča */
@media (min-width: 981px) { .rb-unit__eyebrow { line-height: 1.5; min-height: 3em; } }
.rb-unit__title { margin: 0 0 12px; font-size: 1.375rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.rb-unit__title a { color: #fff; text-decoration: none; }
.rb-unit__desc { margin: 0 0 16px; color: var(--rb-muted); line-height: 1.6; }
.rb-unit__meta { margin: auto 0 16px; color: var(--rb-text); font-size: .875rem; font-weight: 600; }
.rb-unit__cta, .rb-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.rb-unit__cta .rb-icon, .rb-card__cta .rb-icon { width: 1.25em; height: 1.25em; color: var(--acc-text); }
.rb-unit__card:hover { border-color: var(--acc-line); }
.rb-unit__card:focus-within, .rb-card__inner:focus-within { outline: 3px solid #fff; outline-offset: 3px; }
.rb-unit__card:focus-within a:focus-visible, .rb-card__inner:focus-within a:focus-visible { outline: none; box-shadow: none; }

.rb-stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }

.rb-units-section { background: var(--rb-black); }
.rb-home-units .rb-units { margin-top: 8px; }

/* ---------------------------------------------------------------- programi */

.rb-module + .rb-module { margin-top: clamp(40px, 5vw, 64px); }
.rb-module__title { display: flex; align-items: center; gap: 18px; margin: 0 0 22px; }
.rb-module__letter {
	display: grid;
	place-items: center;
	flex: none;
	width: 64px;
	height: 64px;
	background: var(--acc-fill);
	color: #fff;
	font-size: 2.25rem;
	font-weight: 800;
	line-height: 1;
}
.rb-module__name { display: flex; flex-direction: column; color: #fff; font-size: 1.375rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.rb-module__sub { margin-top: 4px; color: var(--acc-text); font-size: .875rem; font-weight: 600; letter-spacing: .04em; }

.rb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--rb-gap); }
.rb-card__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 26px 24px 24px;
	border: 1px solid var(--rb-line);
	border-left: 4px solid var(--acc-line);
	border-radius: var(--rb-radius);
	background: var(--rb-graphite);
	color: var(--rb-text);
}
.rb-card__inner:hover { border-color: var(--acc-line); background: var(--rb-graphite-2); }
.rb-card__title { margin: 0 0 14px; font-size: 1.125rem; font-weight: 700; line-height: 1.3; text-transform: uppercase; }
.rb-card__title a { display: flex; align-items: flex-start; gap: 12px; color: #fff; text-decoration: none; }
.rb-card__title .rb-code { font-size: .9375rem; }
.rb-card__teaser { margin: 0 0 18px; color: var(--rb-muted); font-size: .9375rem; line-height: 1.6; }
.rb-card__teaser--pending { font-style: italic; }
.rb-card__cta { margin-top: auto; padding-top: 6px; }

.rb-meta { display: grid; gap: 8px; font-size: .875rem; line-height: 1.45; }
body .rb-section .rb-meta { margin: 0 0 18px; }
.rb-meta__row { display: grid; grid-template-columns: 18px max-content minmax(0, 1fr); align-items: start; gap: 0 8px; }
.rb-meta__row .rb-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--acc-text); }
.rb-meta dt { color: var(--rb-muted); font-weight: 500; }
.rb-meta dt::after { content: ":"; }
.rb-meta dd { margin: 0; color: var(--rb-text); font-weight: 600; }

/* ---------------------------------------------------------------- cilji */

.rb-goals__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 72px); align-items: center; }
.rb-goals__grid--single { grid-template-columns: minmax(0, 1fr); }
.rb-goals__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 32px; }
.rb-goals__grid--single .rb-goals__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rb-goals__list li, .rb-list li { display: flex; align-items: flex-start; gap: 12px; color: var(--rb-text); line-height: 1.5; }
.rb-goals__list li span::first-letter, .rb-list li span::first-letter { text-transform: uppercase; }
.rb-goals__list .rb-icon, .rb-list .rb-icon { width: 22px; height: 22px; color: var(--acc-text); margin-top: 1px; }
.rb-goals__facts { display: grid; gap: 14px; }
.rb-goals__facts li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid var(--rb-line);
	border-left: 4px solid var(--acc-line);
	background: var(--rb-black);
	color: #fff;
	font-size: .875rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.rb-goals__facts .rb-icon { width: 28px; height: 28px; color: var(--acc-text); }

/* ---------------------------------------------------------------- CTA trak */

.rb-cta-band { background: linear-gradient(100deg, var(--acc-fill) 0%, #3a0c10 55%, var(--rb-black) 100%); }
.rb-accent--police.rb-cta-band { background: linear-gradient(100deg, var(--acc-fill) 0%, #0f2440 55%, var(--rb-black) 100%); }
.rb-accent--military.rb-cta-band { background: linear-gradient(100deg, var(--acc-fill) 0%, #23280f 55%, var(--rb-black) 100%); }
.rb-accent--fire.rb-cta-band { background: linear-gradient(100deg, var(--acc-fill) 0%, #43170a 55%, var(--rb-black) 100%); }
.rb-cta-band__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.rb-cta-band .rb-h2 { margin-bottom: 10px; }
.rb-cta-band .rb-h2::after { background: #fff; }
.rb-cta-band__text { margin: 18px 0 0; color: #fff; font-size: 1.0625rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.rb-cta-band .rb-actions { margin-top: 0; flex: none; }
.rb-cta-band .rb-btn { background: #fff; border-color: #fff; color: var(--rb-ink); }
.rb-cta-band .rb-btn:hover { background: transparent; color: #fff; }

/* ---------------------------------------------------------------- podrobnost programa */

.rb-program { background: var(--rb-black); color: var(--rb-text); }
.rb-breadcrumbs { background: var(--rb-graphite); border-bottom: 1px solid var(--rb-line); font-size: .8125rem; }
.rb-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; padding: 14px 0 !important; }
.rb-breadcrumbs li { color: var(--rb-muted); }
.rb-breadcrumbs li:not(:last-child)::after { content: "/"; margin: 0 10px; color: var(--rb-field); }
.rb-breadcrumbs a { display: inline-block; padding-block: 4px; color: var(--rb-text); text-decoration: underline; text-underline-offset: 3px; }
.rb-breadcrumbs li { display: inline-flex; align-items: center; min-height: 28px; white-space: nowrap; }
.rb-breadcrumbs [aria-current] { color: #fff; font-weight: 600; }

.rb-program__head { padding-block: clamp(48px, 6vw, 88px); background: radial-gradient(120% 140% at 0% 0%, var(--rb-graphite-2) 0%, var(--rb-black) 60%); border-bottom: 1px solid var(--rb-line); }
.rb-program__head-inner { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.rb-program__badge {
	display: grid;
	place-items: center;
	width: clamp(104px, 12vw, 160px);
	aspect-ratio: 1;
	background: var(--acc-fill);
}
.rb-program__badge .rb-code { color: #fff; }
.rb-program__title { margin: 0; color: #fff; font-size: clamp(1.875rem, 1.2rem + 2.6vw, 3.25rem); font-weight: 800; line-height: 1.1; text-transform: uppercase; }
.rb-program__lead { margin: 20px 0 0; max-width: 720px; color: var(--rb-text); font-size: 1.0625rem; line-height: 1.7; }
body .rb-program .rb-program__meta { display: flex; flex-wrap: wrap; gap: 12px 32px; margin: 24px 0 0; font-size: .9375rem; }
.rb-program__units { margin: 18px 0 0; color: var(--rb-muted); font-size: .875rem; }
.rb-program__units-label { margin-right: 6px; font-weight: 600; }
.rb-program__units .rb-chip:hover { background: var(--acc-fill); border-color: var(--acc-fill); }

.rb-sections { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: var(--rb-gap); }
.rb-sections__item { padding: 28px; border: 1px solid var(--rb-line); border-top: 4px solid var(--acc-line); border-radius: var(--rb-radius); background: var(--rb-graphite); }
.rb-sections__item p { margin: 0; line-height: 1.7; }
.rb-list { display: grid; gap: 12px; }
.rb-sections__item:only-child .rb-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); column-gap: 40px; }

.rb-program__foot { padding-top: 0; }
.rb-program__foot-grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: var(--rb-gap); align-items: start; }
.rb-panel { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--rb-line); border-radius: var(--rb-radius); background: var(--rb-graphite); }
.rb-panel p { margin: 0; color: var(--rb-muted); line-height: 1.6; }
.rb-panel .rb-actions { margin-top: 24px; }
.rb-panel--cta { border-left: 4px solid var(--acc-line); }
.rb-next a { display: flex; align-items: center; gap: 12px; color: #fff; font-size: 1.0625rem; font-weight: 700; line-height: 1.35; text-decoration: none; text-transform: uppercase; }
.rb-next a:hover span:not(.rb-code) { text-decoration: underline; text-underline-offset: 4px; }
.rb-next .rb-icon { color: var(--acc-text); margin-left: auto; }

/* ---------------------------------------------------------------- povpraševanje */

.rb-inquiry { padding-block: clamp(40px, 6vw, 80px); background: var(--rb-paper-2); color: var(--rb-ink); }
.rb-inquiry__context { margin-bottom: 28px; padding: 18px 22px; border-left: 4px solid var(--acc-fill); background: var(--rb-paper); }
.rb-inquiry__context-label { margin: 0 0 6px; color: var(--rb-ink-muted); font-size: .75rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.rb-inquiry__context-value { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; color: var(--rb-ink); font-size: 1.0625rem; font-weight: 700; }
.rb-eligibility__subtitle { margin-top: -12px; }
.rb-inquiry .rb-chip { margin: 0; border-color: var(--acc-fill); background: var(--acc-fill); color: #fff; }
.rb-inquiry .rb-note { background: var(--rb-paper); color: var(--rb-ink); }
.rb-inquiry .rb-note a { color: var(--rb-ink); }
.rb-inquiry__form { padding: clamp(20px, 4vw, 44px); background: var(--rb-paper); border-top: 4px solid var(--acc-fill); }

.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-label,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label p {
	color: var(--rb-ink) !important;
	font-family: var(--rb-font);
	font-size: .9375rem;
	font-weight: 600;
}
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-input,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-textarea,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] select.forminator-select2,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection--single {
	min-height: 48px;
	border: 1px solid var(--rb-field) !important;
	border-radius: var(--rb-radius);
	background: #fff !important;
	color: var(--rb-ink) !important;
	font-family: var(--rb-font);
	font-size: 1rem;
}
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-input:focus,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-textarea:focus,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-container--focus .select2-selection--single,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-container--open .select2-selection--single {
	border-color: var(--rb-ink) !important;
	outline: 3px solid var(--acc-fill) !important;
	outline-offset: 1px;
	box-shadow: none;
}
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection__placeholder,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection__rendered { color: #4f535b !important; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection--single .select2-selection__rendered { line-height: 46px; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-input::placeholder,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-textarea::placeholder { color: #6b6f77 !important; opacity: 1; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit {
	min-height: 52px;
	padding: 14px 32px;
	border: 2px solid var(--acc-fill) !important;
	border-radius: var(--rb-radius);
	background: var(--acc-fill) !important;
	color: #fff !important;
	font-family: var(--rb-font);
	font-size: .9375rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:hover { background: var(--rb-ink) !important; border-color: var(--rb-ink) !important; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit:focus-visible { outline: 3px solid var(--rb-ink) !important; outline-offset: 3px; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-error-message,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-error { color: #a1141c !important; background: #fde8ea !important; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-response-message.forminator-success { color: #0f4d22 !important; background: #e3f4e8 !important; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label a { color: var(--rb-ink) !important; text-decoration: underline; }

/* Glava (ploščice enot, napis v navigaciji): rango-training-site.css */

/* ---------------------------------------------------------------- odzivnost */

@media (max-width: 1100px) {
	.rb-benefits__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rb-benefits__item:nth-child(4) { border-left: 0; }
	.rb-benefits__item:nth-child(n+4) { border-top: 1px solid var(--rb-line); }
}

@media (max-width: 980px) {
	.rb-units__list { grid-template-columns: minmax(0, 1fr); }
	.rb-unit__card { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.rb-unit__media { aspect-ratio: auto; height: 100%; }
	.rb-goals__grid { grid-template-columns: minmax(0, 1fr); }
	.rb-goals__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rb-goals__grid--single .rb-goals__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-cta-band__inner { flex-direction: column; align-items: flex-start; }
	.rb-program__foot-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
	.rb-hero { min-height: 0; align-items: flex-end; padding-top: clamp(200px, 60vw, 300px); padding-bottom: 48px; }
	.rb-hero--compact { padding-top: 48px; }
	.rb-hero__media { inset: 0; }
	.rb-hero--has-media::before { background: linear-gradient(180deg, rgba(11, 11, 13, .25) 0%, rgba(11, 11, 13, .7) 32%, var(--rb-black) 58%); }
	.rb-actions { flex-direction: column; align-items: stretch; }
	.rb-cta-band .rb-actions { width: 100%; }
	.rb-benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-benefits__item { padding: 18px 12px; font-size: .8125rem; }
	.rb-benefits__item + .rb-benefits__item { border-left: 0; }
	.rb-benefits__item:nth-child(n) { border-top: 1px solid var(--rb-line); }
	.rb-benefits__item:nth-child(-n+2) { border-top: 0; }
	.rb-benefits__item:nth-child(even) { border-left: 1px solid var(--rb-line); }
	.rb-benefits__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.rb-unit__card { display: flex; }
	.rb-unit__media { aspect-ratio: 16 / 9; height: auto; }
	.rb-goals__list, .rb-goals__grid--single .rb-goals__list, .rb-goals__facts { grid-template-columns: minmax(0, 1fr); }
	.rb-module__letter { width: 52px; height: 52px; font-size: 1.75rem; }
	.rb-module__name { font-size: 1.125rem; }
	.rb-program__head-inner { grid-template-columns: minmax(0, 1fr); }
	.rb-program__badge { width: 88px; }
	.rb-program__badge .rb-code--xl { font-size: 2.5rem; }
	.rb-sections__item { padding: 22px 20px; }
}

@media (max-width: 480px) {
	.rb-card__inner { padding: 22px 18px 20px; }
	.rb-inquiry__form { padding: 18px 14px; }
}

@media (prefers-reduced-motion: no-preference) {
	body .rb-btn, .rb-unit__card, .rb-card__inner, .rb-chip, .rb-hero__back a { transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
	.rb-unit__media img { transition: transform .4s ease; }
	.rb-unit__card:hover .rb-unit__media img { transform: scale(1.03); }
}

@media (forced-colors: active) {
	.rb-code, .rb-module__letter, .rb-program__badge { border: 2px solid CanvasText; }
	.rb-unit__card, .rb-card__inner { border: 1px solid CanvasText; }
}

/* ---------------------------------------------------------------- faza 2.1 */

/* Brez lomljenja sredi besede v novih komponentah (Divi drugje uporablja break-word). */
.rb-hero, .rb-benefits, .rb-section, .rb-units, .rb-program, .rb-inquiry { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.rb-hero__title, .rb-program__title, .rb-h2, .rb-h3, .rb-card__title, .rb-unit__title, .rb-module__name { text-wrap: balance; }

/* Kontekst programa (npr. »Rušilni vstop«) — B1, C1 in D1 imajo enak naziv. */
.rb-card__context { display: block; margin-top: 4px; color: var(--acc-text); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; }
.rb-program__context { margin: 10px 0 0; color: var(--acc-text); font-size: clamp(1rem, .9rem + .5vw, 1.25rem); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }

/* Pisava obrazca enaka kot v sekciji (Forminator ima lastno, z ID-selektorjem). */
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-input,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-textarea,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] select,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection__rendered,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-description,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-error-message,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-button-submit,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-response-message,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox-label,
.select2-container .forminator-select-dropdown .select2-results__option { font-family: var(--rb-font) !important; }

/* Hero pregleda: kolaž treh potrjenih fotografij enot v desni polovici (namizje, od 981 px). */
.rb-hero__collage { display: none; }
@media (min-width: 981px) {
	.rb-hero--has-collage { --rb-collage-left: max(688px, calc(50vw + 72px)); min-height: 460px; }
	.rb-hero__collage {
		position: absolute;
		/* levi rob vedno 32 px desno od besedilnega stolpca (vsebnik max 1200 px, stolpec max 640 px) */
		inset: 0 0 0 var(--rb-collage-left);
		z-index: -2;
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
		padding: 36px 32px 36px 0;
	}
	.rb-hero__panel { position: relative; overflow: hidden; border-top: 4px solid var(--acc-line); background: var(--rb-graphite); }
	.rb-hero__panel:nth-child(2) { margin-top: 28px; margin-bottom: -28px; }
	body .rb-hero__panel img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; display: block; filter: saturate(.85) brightness(.8); }
	.rb-hero--has-collage::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: -1;
		pointer-events: none;
		/* prehod se začne tik pred levim robom kolaža (isti izraz kot inset spodaj), ne pri fiksnih odstotkih */
		background: linear-gradient(90deg, var(--rb-black) 0, var(--rb-black) calc(var(--rb-collage-left) - 72px), rgba(11, 11, 13, .35) calc(var(--rb-collage-left) + 24px), rgba(11, 11, 13, .15) 100%);
	}
}

/* ---------------------------------------------------------------- faza 2.1, krog 2 */

/* Drobtine — namizje: trenutna postavka se ne premakne v novo vrstico (osnova 0) in se lomi znotraj sebe,
   zato nobena vrstica ne konča z osamljenim »/«. */
.rb-breadcrumbs li[aria-current] { flex: 1 1 0; min-width: 12ch; white-space: normal; }
/* Drobtine — do 980 px: samo povratna povezava na nadrejeno stran, brez ločil. Skrite povezave so display:none
   (vizualno skrita povezava bi ostala dosegljiva s tipko Tab brez vidnega fokusa); trenutna stran (ni povezava)
   ostane bralnikom zaslona. */
@media (max-width: 980px) {
	.rb-breadcrumbs li:not(:nth-last-child(2)):not([aria-current]) { display: none; }
	.rb-breadcrumbs li[aria-current] { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; min-width: 0; flex: none; }
	.rb-breadcrumbs li:not(:last-child)::after { content: none; }
	.rb-breadcrumbs li:nth-last-child(2)::before { content: "←"; content: "←" / ""; margin-right: 10px; color: var(--acc-text); font-size: 1.125rem; line-height: 1; }
}

/* Naslednji program: kontekst v svoji vrstici (B1, C1, D1 imajo enak naziv). */
.rb-next__name { display: block; text-wrap: balance; }
.rb-next__context { display: block; margin-top: 4px; color: var(--acc-text); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; }

/* Obrazec: vse besedilo v pisavi sekcije — Forminator nalepke in zvezdice nastavi z ID-selektorjem (Roboto). */
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-label,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-label *,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-required,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-legend,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-checkbox__label p,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-description span,
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection__placeholder { font-family: var(--rb-font) !important; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .forminator-label { font-weight: 600 !important; }
/* Izbrana dolga možnost programa se prelomi namesto odreza s tropičjem. */
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection--single { height: auto !important; min-height: 48px; }
.rb-inquiry .forminator-ui.forminator-custom-form[data-design] .select2-selection--single .select2-selection__rendered { padding-top: 12px !important; padding-bottom: 12px !important; padding-right: 40px !important; line-height: 1.45 !important; white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }

/* Ozki zasloni (≤ 360 px): naslov hero sekcije ne sme seči čez rob vsebine. */
@media (max-width: 360px) {
	.rb-hero__title { font-size: 1.75rem; }
}

/* ---------------------------------------------------------------- faza 2.1, krog 3 */

/* Kolaž pri 981–1199 px: ožji besedilni stolpec in manjši H1, da so tri plošče dovolj široke. */
@media (min-width: 981px) and (max-width: 1199px) {
	.rb-hero--has-collage .rb-hero__inner > * { max-width: 460px; }
	.rb-hero--has-collage .rb-hero__title { font-size: 2.75rem; }
	.rb-hero--has-collage { --rb-collage-left: calc(16px + 460px + 32px); }
}

/* Kolaž: glava policista (~70 % širine fotografije) in gasilca (~83 %) ostaneta v ozki plošči. */
@media (min-width: 981px) {
	body .rb-hero__panel.rb-unit--policija img { object-position: 80% 30%; }
	body .rb-hero__panel.rb-unit--gasilci img { object-position: 95% 30%; }
}

/* Kartica enote vojska: pokončni izrez letaka v ležečem okvirju — obdrži glavo vodilnega vojaka. */
body .rb-unit--vojska .rb-unit__media img { object-position: 50% 6%; }

/* Mreža sekcij programa: brez osamljene zadnje plošče. */
/* 6 stolpcev, plošča zavzame 2; zadnja vrstica z 2 ploščama -> 3 + 3, z 1 ploščo -> čez celo širino; 4 sekcije -> 2 × 2. */
@media (min-width: 981px) {
	.rb-sections { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.rb-sections > .rb-sections__item { grid-column: span 2; }
	.rb-sections > .rb-sections__item:nth-last-child(2):nth-child(3n+1),
	.rb-sections > .rb-sections__item:last-child:nth-child(3n+2) { grid-column: span 3; }
	.rb-sections > .rb-sections__item:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
	.rb-sections > .rb-sections__item:last-child:nth-child(3n+1) .rb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
	.rb-sections:has(> .rb-sections__item:nth-child(4):last-child) > .rb-sections__item { grid-column: span 3; }
	.rb-sections:has(> .rb-sections__item:nth-child(4):last-child) > .rb-sections__item:last-child .rb-list { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 768px) and (max-width: 980px) {
	.rb-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rb-sections > .rb-sections__item:last-child:nth-child(2n+1) { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.rb-sections { grid-template-columns: minmax(0, 1fr); }
}
