/**
 * Sekcije predstavitvene strani gradiva.
 *
 * Vsaka sekcija dobi svoje spremenljivke iz vgrajenega <style>; tukaj so
 * samo privzetki, zato sekcija brez nastavitev ni nikoli nevidna.
 *
 * Razmerja slik so navedena s tremi razredi (0,3,0), ker tema z
 * `.elementor img { height: auto }` (0,1,1) sicer razbije okvir z
 * object-fit in slika pade iz razmerja.
 */

.bmg-sec {
	--bmg-s-head:   #002740;
	--bmg-s-text:   #4a5a66;
	--bmg-s-accent: #0046ff;
	--bmg-s-card:   #ffffff;
	--bmg-s-gap:    24px;
	--bmg-s-pad-t:  90px;
	--bmg-s-pad-b:  90px;
	--bmg-s-speed:  13s;

	position: relative;
	padding: var(--bmg-s-pad-t) 24px var(--bmg-s-pad-b);
	color: var(--bmg-s-text);
	overflow: hidden;
}

.bmg-sec__inner {
	max-width: 1180px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--bmg-s-gap);
}

.bmg-sec--w-wide .bmg-sec__inner { max-width: 1440px; }
.bmg-sec--w-full .bmg-sec__inner { max-width: none; }

.bmg-sec--a-center { text-align: center; }

/* Seznam se bere slabo, ce je besedilo centrirano, zato ostane poravnan
   levo — a kot blok stoji na sredini, sicer bi v centrirani sekciji visel
   ob levem robu. */
.bmg-sec--a-center .bmg-list,
.bmg-b--center .bmg-list {
	text-align: left;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
}

/* Sekcija se dotika roba zaslona: slika teče do konca, besedilo dobi svoj
   odmik, sicer bi se prilepilo na rob. */
.bmg-sec--flush { padding-left: 0; padding-right: 0; }
.bmg-sec--flush .bmg-row--split { gap: 0; }
.bmg-sec--flush .bmg-col { padding: clamp(40px, 6vw, 80px) clamp(24px, 5vw, 80px); }
.bmg-sec--flush .bmg-col:has(> .bmg-b--image:only-child) { padding: 0; }

/* ------------------------------------------------------------------ */
/*  Prelivanje ozadja                                                  */
/* ------------------------------------------------------------------ */

@keyframes bmg-gradient {
	0%   { background-position: 0% 20%; }
	25%  { background-position: 100% 50%; }
	50%  { background-position: 50% 70%; }
	100% { background-position: 0% 20%; }
}

.bmg-sec--moving { animation: bmg-gradient var(--bmg-s-speed) ease infinite; }

@media (prefers-reduced-motion: reduce) {
	.bmg-sec--moving { animation: none; }
}

/* ------------------------------------------------------------------ */
/*  Video v ozadju                                                     */
/* ------------------------------------------------------------------ */

/* Video in tancica lezita pod vsebino; slika do zacetka je ozadje sekcije.
   Trije razredi, ker tema <video> sicer raztegne po svoje. */
.bmg-sec--video > .bmg-sec__inner { position: relative; z-index: 1; }

.bmg-sec__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

.bmg-sec .bmg-sec__media .bmg-sec__video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	opacity: 0;
	transition: opacity .8s ease;
}

/* Prikaze se sele, ko res tece — do takrat ostane vidna slika. */
.bmg-sec .bmg-sec__media .bmg-sec__video.is-on { opacity: 1; }

.bmg-sec__veil {
	position: absolute;
	inset: 0;
	background: var(--bmg-s-veil, transparent);
}

@media (prefers-reduced-motion: reduce) {
	.bmg-sec .bmg-sec__media .bmg-sec__video { display: none; }
}

/* ------------------------------------------------------------------ */
/*  Vrstice                                                            */
/* ------------------------------------------------------------------ */

.bmg-row { min-width: 0; }

/* Bloki v isti vrstici so enako visoki, da se kartice, znacke in stevci
   poravnajo tudi pri razlicno dolgih besedilih. Vsebina znotraj bloka
   ostane pri vrhu. */
.bmg-row--grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--bmg-s-gap);
	align-items: stretch;
}

.bmg-b--span12 { grid-column: span 12; }
.bmg-b--span8  { grid-column: span 8; }
.bmg-b--span6  { grid-column: span 6; }
.bmg-b--span4  { grid-column: span 4; }
.bmg-b--span3  { grid-column: span 3; }
.bmg-b--span2  { grid-column: span 2; }

/* 1/5: 12 ni deljivo s 5, zato petine stojijo v svoji vrstici s petimi
   stolpci (rows() v class-bmg-sections.php). Razmik je isti kot v mrezi. */
.bmg-row--fifths { grid-template-columns: repeat(5, 1fr); }
.bmg-row--fifths > .bmg-b--span2-4 { grid-column: span 1; }

/* Razmik med stolpcema je privzeto velikodusnejsi od razmika med bloki,
   ker gre za zracni jarek sredi strani. Ko urednik nastavi "Space between
   blocks", velja tudi tukaj — sicer nastavitev na deljeni vrstici, ki je
   najpogostejsa, ne bi naredila nicesar. */
.bmg-row--split {
	display: grid;
	gap: var(--bmg-s-gap-x, clamp(24px, 4vw, 60px));
	align-items: center;
}

.bmg-row--50-50 { grid-template-columns: 1fr 1fr; }
.bmg-row--60-40 { grid-template-columns: 3fr 2fr; }
.bmg-row--40-60 { grid-template-columns: 2fr 3fr; }
.bmg-row--33-67 { grid-template-columns: 1fr 2fr; }
.bmg-row--67-33 { grid-template-columns: 2fr 1fr; }

.bmg-col {
	display: flex;
	flex-direction: column;
	gap: var(--bmg-s-gap);
	min-width: 0;
}

/* ------------------------------------------------------------------ */
/*  Bloki — skupno                                                     */
/* ------------------------------------------------------------------ */

.bmg-b { min-width: 0; }
.bmg-b--left   { text-align: left; }
.bmg-b--center { text-align: center; }
.bmg-b--right  { text-align: right; }

.bmg-b--boxed {
	background: var(--bmg-s-card);
	border-radius: 20px;
	padding: 30px;
	box-shadow: 0 1px 3px rgba(0, 39, 64, .08);
	height: 100%;
}

.bmg-b > *:first-child { margin-top: 0; }
.bmg-b > *:last-child  { margin-bottom: 0; }

.bmg-eyebrow {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bmg-s-accent);
}

.bmg-h {
	margin: 0;
	color: var(--bmg-s-head);
	font-size: clamp(28px, 3.4vw, 48px);
	font-weight: 700;
	line-height: 1.12;
}

.bmg-b--span6 .bmg-h,
.bmg-b--span4 .bmg-h,
.bmg-b--span3 .bmg-h { font-size: clamp(24px, 2.4vw, 34px); }

.bmg-b--span2-4 .bmg-h,
.bmg-b--span2 .bmg-h { font-size: clamp(24px, 2.4vw, 34px); }

/* 1/5 in 1/6 sta na namizju ozka (~180-215 px): manjsi odmik kartice,
   stevilka, naslovi in besedilo, da vsebina ne pade cez rob. Na tablici
   in telefonu sta sirsa, zato tam veljajo obicajne mere. */
@media (min-width: 1025px) {
	.bmg-b--span2-4,
	.bmg-b--span2 { overflow-wrap: break-word; }

	.bmg-b--span2-4.bmg-b--boxed,
	.bmg-b--span2.bmg-b--boxed { padding: 22px 18px; }

	.bmg-b--span2-4 .bmg-h,
	.bmg-b--span2 .bmg-h { font-size: clamp(20px, 1.8vw, 26px); }

	.bmg-b--span2-4 .bmg-stat__num { font-size: clamp(32px, 3vw, 44px); }
	.bmg-b--span2 .bmg-stat__num   { font-size: clamp(28px, 2.6vw, 38px); }

	.bmg-b--span2-4 .bmg-badge__title,
	.bmg-b--span2-4 .bmg-tile__title,
	.bmg-b--span2 .bmg-badge__title,
	.bmg-b--span2 .bmg-tile__title { font-size: 17px; }

	.bmg-b--span2-4 .bmg-badge__text,
	.bmg-b--span2-4 .bmg-tile__text,
	.bmg-b--span2-4 .bmg-stat__text,
	.bmg-b--span2 .bmg-badge__text,
	.bmg-b--span2 .bmg-tile__text,
	.bmg-b--span2 .bmg-stat__text { font-size: 14px; }
}

.bmg-accent { color: var(--bmg-s-accent); }

.bmg-sub {
	margin: 0;
	color: var(--bmg-s-head);
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 600;
	line-height: 1.35;
}

.bmg-text { font-size: 16px; line-height: 1.6; }
.bmg-text p { margin: 0 0 .8em; }
.bmg-text p:last-child { margin-bottom: 0; }
.bmg-text a { color: var(--bmg-s-accent); }

.bmg-spacer { width: 100%; }

.bmg-note {
	margin: 0;
	padding: 10px 14px;
	border-left: 3px solid #d63638;
	background: rgba(214, 54, 56, .07);
	font-size: 13px;
	color: #8a2424;
}

/* ------------------------------------------------------------------ */
/*  Slika, logo, video                                                 */
/* ------------------------------------------------------------------ */

.bmg-figure { margin: 0; }
.bmg-figure .bmg-img { display: block; width: 100%; border-radius: inherit; }

/* Kam gleda slika, ko jo okvir obreze. Privzeto proti sredini; blok zapise
   --bmg-b-pos, kadar je treba pokazati drug del fotografije — pri posnetkih
   izdelkov je sredina pogosto prazno ozadje. */
.bmg-sec .bmg-figure .bmg-img,
.bmg-sec .bmg-tile__media .bmg-tile__img { object-position: var(--bmg-b-pos, center); }

.bmg-sec .bmg-figure--1-1  .bmg-img { aspect-ratio: 1 / 1;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-figure--4-3  .bmg-img { aspect-ratio: 4 / 3;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-figure--3-2  .bmg-img { aspect-ratio: 3 / 2;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-figure--16-9 .bmg-img { aspect-ratio: 16 / 9; height: 100%; object-fit: cover; }
.bmg-sec .bmg-figure--3-4  .bmg-img { aspect-ratio: 3 / 4;  height: 100%; object-fit: cover; }

/* Slika napolni vso višino vrstice.

   Slika stoji v stolpcu sama in je vzeta iz toka, sicer bi njena naravna
   višina določala višino cele vrstice namesto obratno — visoka slika je
   sekcijo raztegnila na dvakratno višino besedila ob njej. Višino vrstice
   tako določi stolpec z besedilom, slika pa se mu prilagodi. */
.bmg-row--split .bmg-col:has(> .bmg-b--image:only-child > .bmg-figure--fill) {
	position: relative;
	align-self: stretch;
	min-height: 340px;
	padding: 0;
}

.bmg-row--split .bmg-col:has(> .bmg-b--image:only-child > .bmg-figure--fill) > .bmg-b--image {
	position: absolute;
	inset: 0;
}

.bmg-figure--fill { height: 100%; }
.bmg-sec .bmg-figure--fill .bmg-img { width: 100%; height: 100%; object-fit: cover; }

.bmg-caption {
	margin: 8px 0 0;
	font-size: 13px;
	opacity: .75;
}

.bmg-logo { margin: 0; }
.bmg-logo .bmg-logo__img { display: block; width: 100%; height: auto; }
.bmg-b--center .bmg-logo, .bmg-sec--a-center .bmg-logo { margin-inline: auto; }

/* Video se nalozi sele ob kliku, zato je do takrat viden samo poster z
   gumbom. Trije razredi pri posterju so nujni: tema z `.elementor img
   { height: auto }` bi sicer razbila object-fit in slika bi padla iz okvira. */
.bmg-video { position: relative; width: 100%; background: #0b1620; overflow: hidden; }
.bmg-video--16-9 { aspect-ratio: 16 / 9; }
.bmg-video--4-3  { aspect-ratio: 4 / 3; }
.bmg-video--1-1  { aspect-ratio: 1 / 1; }
.bmg-video--3-2  { aspect-ratio: 3 / 2; }
.bmg-video--3-4  { aspect-ratio: 3 / 4; }

.bmg-video iframe,
.bmg-video .bmg-video__el {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.bmg-sec .bmg-video .bmg-video__poster {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bmg-video__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 74px;
	height: 74px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--bmg-b-accent, var(--bmg-s-accent));
	box-shadow: 0 6px 24px rgba(0, 0, 0, .28);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .18s;
}

.bmg-video__play:hover,
.bmg-video__play:focus-visible { transform: scale(1.07); }

.bmg-video__triangle {
	width: 0;
	height: 0;
	margin-left: 5px;
	border-left: 19px solid #fff;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
}

.bmg-video__fallback {
	position: absolute;
	inset: auto 0 16px;
	text-align: center;
	color: #fff;
	font-size: 14px;
}

/* ------------------------------------------------------------------ */
/*  Gumb                                                               */
/* ------------------------------------------------------------------ */

.bmg-btn-wrap { margin: 0; }

.bmg-btn {
	display: inline-block;
	padding: 14px 30px;
	border: 1px solid var(--bmg-s-accent);
	border-radius: 999px;
	background: var(--bmg-s-accent);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: normal;
	transition: background-color .2s, color .2s;
}

.bmg-btn:hover, .bmg-btn:focus-visible { background: transparent; color: var(--bmg-s-accent); }

.bmg-btn--ghost { background: transparent; color: var(--bmg-s-accent); }
.bmg-btn--ghost:hover, .bmg-btn--ghost:focus-visible { background: var(--bmg-s-accent); color: #fff; }

.bmg-btn--link {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--bmg-s-accent);
	text-transform: none;
	letter-spacing: 0;
	font-size: 16px;
}
.bmg-btn--link:hover, .bmg-btn--link:focus-visible { background: none; text-decoration: underline; }
.bmg-btn__arrow { display: inline-block; transition: transform .2s; }
.bmg-btn--link:hover .bmg-btn__arrow { transform: translateX(4px); }

/* ------------------------------------------------------------------ */
/*  Seznam z ikonami                                                   */
/* ------------------------------------------------------------------ */

.bmg-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }

.bmg-list__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
}

.bmg-icon {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--bmg-b-accent, var(--bmg-s-accent));
}

.bmg-list__body { display: block; min-width: 0; }
.bmg-list__title { display: block; font-weight: 600; color: var(--bmg-s-head); line-height: 1.4; }
.bmg-list__text  { display: block; margin-top: 2px; font-size: 15px; line-height: 1.5; }

/* Seznam brez opisov naj ne izgleda kot seznam naslovov. */
.bmg-list__item:not(:has(.bmg-list__text)) .bmg-list__title { font-weight: 400; color: inherit; }

/* ------------------------------------------------------------------ */
/*  Kartica, števec, značka                                            */
/* ------------------------------------------------------------------ */

/* Kartica. Ime je bmg-tile in ne bmg-card, ker .bmg-card ze nosi belo
   kartico obrazca in bi se slogova prekrivala. */
.bmg-tile {
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
}

.bmg-tile__media { border-radius: 16px; overflow: hidden; }
.bmg-sec .bmg-tile__media .bmg-tile__img { display: block; width: 100%; height: auto; }

/* Priblizevanje slike ob prehodu miske. Casovnica in mera sta iz
   iskra-app-grid, da se kartici na strani gibljeta enako. */
.bmg-tile__img { transition: transform .35s cubic-bezier(.4, 0, .2, 1); }

.bmg-sec .bmg-tile__media--1-1  .bmg-tile__img { aspect-ratio: 1 / 1;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-tile__media--4-3  .bmg-tile__img { aspect-ratio: 4 / 3;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-tile__media--3-2  .bmg-tile__img { aspect-ratio: 3 / 2;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-tile__media--16-9 .bmg-tile__img { aspect-ratio: 16 / 9; height: 100%; object-fit: cover; }
.bmg-sec .bmg-tile__media--3-4  .bmg-tile__img { aspect-ratio: 3 / 4;  height: 100%; object-fit: cover; }
.bmg-sec .bmg-tile__media--fill .bmg-tile__img { aspect-ratio: 1 / 1;  height: 100%; object-fit: cover; }

.bmg-tile__title { margin: 0; color: var(--bmg-s-head); font-size: 19px; font-weight: 700; line-height: 1.3; }
.bmg-tile__text { font-size: 15px; line-height: 1.55; }
.bmg-tile__text p { margin: 0 0 .6em; }
.bmg-tile__text p:last-child { margin-bottom: 0; }
.bmg-tile__more { margin: auto 0 0; }
.bmg-tile__more a { color: var(--bmg-s-accent); font-weight: 600; text-decoration: none; }
.bmg-tile__more a:hover { text-decoration: underline; }

.bmg-stat { text-align: center; }
/* Velikost nosi ovoj, ne stevilka: enota je .45em in se mora meriti od
   velike stevilke, sicer se meri od podedovane velikosti odstavka in je
   komaj vidna. */
.bmg-stat__num {
	margin: 0 0 10px;
	line-height: 1;
	color: var(--bmg-b-accent, var(--bmg-s-accent));
	font-size: clamp(38px, 4.4vw, 56px);
	font-weight: 700;
	letter-spacing: -.02em;
}
.bmg-stat__value { font-size: inherit; }
.bmg-stat__unit  { font-size: .45em; margin-left: 2px; vertical-align: baseline; }
.bmg-stat__text { font-size: 15px; line-height: 1.5; }
.bmg-stat__text p { margin: 0 0 .5em; }
.bmg-stat__text p:last-child { margin-bottom: 0; }
.bmg-stat__note { margin: 10px 0 0; font-size: 12px; font-style: italic; opacity: .7; }

.bmg-badge { text-align: center; }
.bmg-badge__title { margin: 0; color: var(--bmg-s-head); font-size: 19px; font-weight: 700; }
.bmg-badge__text  { margin: 4px 0 0; font-size: 14px; line-height: 1.45; }

/* --- odziv znacke in kartice na prehod miske ---

   Znacka in kartica se odzoveta enako, tudi po imenih razredov, da ima
   stran eno samo gibanje. Kadar stojita na kartici bloka, se dvigne ta —
   je vidni predmet, vsebina je samo njena vsebina.

   Pravila za misko so v @media (hover: hover): na dotik bi dotik pustil
   kartico dvignjeno, dokler obiskovalec ne tapne drugam. Odziv na fokus
   ostane zunaj, ker tipkovnico lahko uporablja tudi naprava brez miske. */

.bmg-badge,
.bmg-tile,
.bmg-b--boxed:has(.bmg-badge--h-lift),
.bmg-b--boxed:has(.bmg-badge--h-both),
.bmg-b--boxed:has(.bmg-tile--h-lift),
.bmg-b--boxed:has(.bmg-tile--h-both) {
	transition: transform .22s ease, box-shadow .22s ease;
}

.bmg-badge__rule,
.bmg-tile__rule {
	display: block;
	width: 0;
	height: 2px;
	background: var(--bmg-s-accent);
	transition: width .26s ease;
}

.bmg-badge__rule { margin: 9px auto 0; }
.bmg-tile__rule  { margin: 9px 0 0; }

.bmg-sec--a-center .bmg-tile__rule,
.bmg-b--center .bmg-tile__rule { margin-inline: auto; }

@media (hover: hover) {

	.bmg-b--boxed:has(.bmg-badge--h-lift):hover,
	.bmg-b--boxed:has(.bmg-badge--h-both):hover,
	.bmg-b--boxed:has(.bmg-tile--h-lift):hover,
	.bmg-b--boxed:has(.bmg-tile--h-both):hover {
		transform: translateY(-3px);
		box-shadow: 0 10px 26px rgba(0, 39, 64, .14);
	}

	/* Brez kartice bloka se dvigne vsebina sama. */
	.bmg-b:not(.bmg-b--boxed) .bmg-badge--h-lift:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-badge--h-both:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-lift:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-both:hover { transform: translateY(-3px); }

	/* Slika se malenkost priblizi. Okvir jo odreze, ker ima overflow: hidden. */
	.bmg-b--boxed:has(.bmg-tile--h-lift):hover .bmg-tile__img,
	.bmg-b--boxed:has(.bmg-tile--h-both):hover .bmg-tile__img,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-lift:hover .bmg-tile__img,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-both:hover .bmg-tile__img { transform: scale(1.04); }

	.bmg-badge--h-accent:hover .bmg-badge__rule,
	.bmg-badge--h-both:hover .bmg-badge__rule,
	.bmg-tile--h-accent:hover .bmg-tile__rule,
	.bmg-tile--h-both:hover .bmg-tile__rule,
	.bmg-b--boxed:has(.bmg-badge--h-accent):hover .bmg-badge__rule,
	.bmg-b--boxed:has(.bmg-badge--h-both):hover .bmg-badge__rule,
	.bmg-b--boxed:has(.bmg-tile--h-accent):hover .bmg-tile__rule,
	.bmg-b--boxed:has(.bmg-tile--h-both):hover .bmg-tile__rule { width: 36px; }
}

/* Tipkovnica: povezavo v kartici dosezemo s tabulatorjem. */
.bmg-b--boxed:has(.bmg-badge--h-lift):focus-within,
.bmg-b--boxed:has(.bmg-badge--h-both):focus-within,
.bmg-b--boxed:has(.bmg-tile--h-lift):focus-within,
.bmg-b--boxed:has(.bmg-tile--h-both):focus-within { transform: translateY(-3px); }

.bmg-b--boxed:has(.bmg-tile--h-accent):focus-within .bmg-tile__rule,
.bmg-b--boxed:has(.bmg-tile--h-both):focus-within .bmg-tile__rule { width: 36px; }

@media (prefers-reduced-motion: reduce) {
	.bmg-badge,
	.bmg-tile,
	.bmg-tile__img,
	.bmg-badge__rule,
	.bmg-tile__rule,
	.bmg-b--boxed:has(.bmg-badge),
	.bmg-b--boxed:has(.bmg-tile) { transition: none; }

	.bmg-b--boxed:has(.bmg-badge--h-lift):hover,
	.bmg-b--boxed:has(.bmg-badge--h-both):hover,
	.bmg-b--boxed:has(.bmg-tile--h-lift):hover,
	.bmg-b--boxed:has(.bmg-tile--h-both):hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-badge--h-lift:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-badge--h-both:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-lift:hover,
	.bmg-b:not(.bmg-b--boxed) .bmg-tile--h-both:hover { transform: none; }

	.bmg-b--boxed:has(.bmg-tile--h-lift):hover .bmg-tile__img,
	.bmg-b--boxed:has(.bmg-tile--h-both):hover .bmg-tile__img { transform: none; }
}

/* ------------------------------------------------------------------ */
/*  Vprašanja in odgovori                                              */
/* ------------------------------------------------------------------ */

.bmg-faq { display: grid; gap: 12px; text-align: left; }

.bmg-faq__item {
	background: var(--bmg-s-card);
	border-radius: 14px;
	padding: 4px 22px;
}

.bmg-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0;
	cursor: pointer;
	list-style: none;
	color: var(--bmg-s-head);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.4;
}

.bmg-faq__q::-webkit-details-marker { display: none; }

.bmg-faq__sign {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}
.bmg-faq__sign::before,
.bmg-faq__sign::after {
	content: "";
	position: absolute;
	inset: 50% 0 auto 0;
	height: 2px;
	background: var(--bmg-s-accent);
	transform: translateY(-50%);
	transition: transform .2s;
}
.bmg-faq__sign::after { transform: translateY(-50%) rotate(90deg); }
.bmg-faq__item[open] .bmg-faq__sign::after { transform: translateY(-50%) rotate(0deg); }

.bmg-faq__a { padding: 0 0 20px; font-size: 15px; line-height: 1.6; }
.bmg-faq__a p { margin: 0 0 .7em; }
.bmg-faq__a p:last-child { margin-bottom: 0; }

/* ------------------------------------------------------------------ */
/*  Trak z drsečim napisom                                             */
/* ------------------------------------------------------------------ */

.bmg-marquee {
	--bmg-marquee-speed: 30s;
	width: 100%;
	overflow: hidden;
	background: var(--bmg-b-accent, var(--bmg-s-accent));
	color: #fff;
	padding: 14px 0;
}

.bmg-marquee__track {
	display: flex;
	width: max-content;
	animation: bmg-marquee var(--bmg-marquee-speed) linear infinite;
}

.bmg-marquee__copy { display: flex; }

.bmg-marquee__item {
	padding: 0 28px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}

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

@media (prefers-reduced-motion: reduce) {
	.bmg-marquee__track { animation: none; }
	.bmg-marquee__copy  { display: none; }
}

/* Trak v celotni širini sekcije, tudi kadar je sekcija zamejena. */
.bmg-b--marquee { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); width: 100vw; }

/* ------------------------------------------------------------------ */
/*  Obrazec v sekciji                                                  */
/* ------------------------------------------------------------------ */

.bmg-sec .bmg-panel { width: 100%; }
.bmg-sec .bmg-panel .bmg-card { margin: 0; }

/* ------------------------------------------------------------------ */
/*  Tablica in telefon                                                 */
/* ------------------------------------------------------------------ */

@media (max-width: 1024px) {
	.bmg-sec { --bmg-s-pad-t: 64px; --bmg-s-pad-b: 64px; }
	.bmg-b--span3 { grid-column: span 6; }
	.bmg-b--span8 { grid-column: span 12; }

	/* 1/5 in 1/6: tri v vrsti. */
	.bmg-b--span2 { grid-column: span 4; }
	.bmg-row--fifths { grid-template-columns: repeat(6, 1fr); }
	.bmg-row--fifths > .bmg-b--span2-4 { grid-column: span 2; }
}

@media (max-width: 767px) {
	.bmg-sec { --bmg-s-pad-t: 48px; --bmg-s-pad-b: 48px; padding-left: 20px; padding-right: 20px; }
	.bmg-sec--flush { padding-left: 0; padding-right: 0; }
	.bmg-sec--flush .bmg-col { padding: 0 20px; }

	.bmg-row--grid > .bmg-b { grid-column: span 12; }
	.bmg-row--fifths { grid-template-columns: repeat(12, 1fr); }

	.bmg-row--split { grid-template-columns: 1fr; }

	/* Stolpca se zlozita v zapisanem vrstnem redu — najprej levi, nato desni.
	   Slike desno ne dvigujemo nad besedilo: v hero sekciji bi tako velika
	   slika potisnila logotip in naslov pod prvi zaslon. */

	/* Ozek zaslon ima en stolpec, zato se slika vrne v tok — absolutna bi
	   prekrila besedilo pod sabo. */
	.bmg-row--split .bmg-col:has(> .bmg-b--image:only-child > .bmg-figure--fill) {
		position: static;
		min-height: 0;
	}
	.bmg-row--split .bmg-col:has(> .bmg-b--image:only-child > .bmg-figure--fill) > .bmg-b--image {
		position: static;
	}
	.bmg-sec .bmg-figure--fill .bmg-img { height: 260px; }
	.bmg-b--boxed { padding: 22px; }
	.bmg-faq__item { padding: 2px 18px; }
}

/* ------------------------------------------------------------------ */
/*  Ločilna črta                                                       */
/* ------------------------------------------------------------------ */

/* Brez izbrane barve je črta zbledelo besedilo sekcije, zato se ujame s
   katerimkoli ozadjem — svetlim ali temnim. Izbrana barva velja v polni moči. */
.bmg-divider {
	height: 1px;
	width: 100%;
	margin: 0;
	border: 0;
	background: var(--bmg-b-accent, currentColor);
	opacity: var(--bmg-b-fade, .28);
}

.bmg-b--center .bmg-divider { margin-inline: auto; }
.bmg-b--right .bmg-divider  { margin-inline: auto 0; }
.bmg-sec--a-center .bmg-b:not(.bmg-b--left):not(.bmg-b--right) .bmg-divider { margin-inline: auto; }
