		.step {
      background: #fff;
      color: #000;
      position: relative;
      height: auto;
      display: flex;
      flex-direction: column;
      padding: 2rem;
      overflow: hidden;
      border: 1px solid rgba(14, 26, 45, .08);
      box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    }

    .step h3 {
      font-weight: bold;
      font-size: 1.5rem;
      margin-bottom: 0.5rem;
		z-index: 2;
    }

    .step p {
      font-size: 1rem;
      font-weight: 400;
      margin: 0;
		z-index: 2;
    }

    .step-number {
      position: absolute;
      bottom: -50px;
      right: -30px;
      font-size: 15rem;
      font-weight: 900;
      line-height: 1;
      color: rgba(14, 26, 45, .06);
      opacity: 1;
		z-index: 1;
    }
				@media (max-width: 1600px) {
  .step {
    height: auto; /* alebo menej, podľa potreby */
    padding: 2rem;
  }
					
					}
		
		@media (max-width: 1200px) {
  .step {
    height: auto; /* alebo menej, podľa potreby */
    padding: 2rem;
  }

  .step h3 {
    font-size: 1.2rem;
  }

  .step p {
    font-size: 0.9rem;
  }

  .step-number {
    font-size: 12rem;
    bottom: -30px;
    right: -20px;
  }
}

.courses-process-section .row.g-4 > [class*="col-"] {
	display: flex;
}

.courses-process-section .step {
	width: 100%;
	height: 100%;
	flex: 1 1 auto;
}
@media (max-width: 991.98px) {
	.courses-process-section .step {
		min-height: 170px;
		padding-top: 2.35rem;
		padding-bottom: 2.35rem;
	}
}
@media (max-width: 575.98px) {
	.courses-process-section .step {
		min-height: 170px;
	}
}


.form-group > label.error {
			display: block !important;
			text-transform: none;
			font-weight: 400 !important;
	color: #d21404;
		}

		.form-group input.valid ~ label.error,
		.form-group input[type="text"] ~ label.error,
		.form-group input[type="email"] ~ label.error,
		.form-group input[type="number"] ~ label.error,
		.form-group select ~ label.error { display: none !important; }

::selection {
  background: #c8defc;
	color: #000
}

.termsfeed-com---palette-dark .cc-nb-okagree {
	background: #928F7E !important;
   color: white !important;
}

.termsfeed-com---palette-dark .cc-nb-reject {
   background: #B9B7A6 !important;
   color: black !important;
}

.termsfeed-com---palette-dark .cc-cp-foot-save {
   background: #928F7E !important;
   color: white !important;
}

.termsfeed-com---palette-dark .cc-cp-foot-byline {
   opacity: 0;
}

.termsfeed-com---palette-dark .cc-pc-head-close {
   border: solid 1px #B9B7A6 ;
}

.termsfeed-com---palette-dark .cc-pc-head-close:focus {
	border: 2px solid #B9B7A6 !important;
}

.cnvs-hamburger {
  --cnvs-hamburger-size: 1.4rem;
	}

.pas {
	background: #f4f7f5;
border-top: 1px solid rgba(47, 154, 70, .14);
border-bottom: 1px solid rgba(47, 154, 70, .10);
}

.pas .oc-item a:hover img {
  filter: brightness(0) saturate(100%) invert(42%) sepia(41%) saturate(864%) hue-rotate(84deg) brightness(91%) contrast(88%); opacity: .8;
}


.test-section .lead {
	max-width: 620px;
}

.test-section {
	background: #0e1a2d url('../images/signs2.png') left top / auto repeat;
}

.znacky {
	background: var(--cnvs-contrast-bg-offset) url('../images/signs3.png') left top / auto repeat;
}

.modra2 {
	color: #0e1a2d !important;
}

.modra2bg {
	background: #0e1a2d !important;
}

.text-whatsapp {
  color: rgba(var(--cnvs-color-whatsapp-rgb), 1) !important;
}

.text-flickr {
  color: rgba(var(--cnvs-color-flickr-rgb), 1) !important;
}

.text-facebook {
  color: rgba(var(--cnvs-color-facebook-rgb), 1) !important;
}

.test-kicker {
	display: inline-flex;
	margin-bottom: .85rem;
	color: var(--zaraja-green-dark);
	font-size: .85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.test-points {
	display: grid;
	gap: .65rem;
	margin-bottom: 1.5rem;
	color: #45534b;
	font-weight: 600;
}

.test-points div {
	display: flex;
	align-items: center;
	gap: .65rem;
}

.test-points i {
	display: grid;
	place-items: center;
	width: 1.45rem;
	height: 1.45rem;
	border-radius: 50%;
	background: rgba(47, 154, 70, .1);
	color: #0e1a2d;
	font-size: .7rem;
	flex: 0 0 auto;
}



.about-values-section .heading-block span.mx-auto {
	max-width: 760px;
}

.about-value {
	height: 100%;
	text-align: center;
}

.about-value-icon {
	display: grid;
	place-items: center;
	width: 5rem;
	height: 5rem;
	margin: 0 auto 1.35rem;
	border: 1px solid rgba(14, 26, 45, .18);
	border-radius: 50%;
	background: rgba(14, 26, 45, .07);
	color: #0e1a2d;
	font-size: 2.1rem;
}

.about-value .heading-block h4 {
	margin-bottom: 0;
}

.about-value p {
	margin-bottom: 0;
	color: #4b5a52;
}

.featured-courses-section {
	background: #fff;
}

.featured-courses-section .heading-block span:not(.before-heading) {
	max-width: 680px;
}

.course-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(17, 24, 20, .08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(17, 24, 20, .06);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.course-card:hover {
	transform: translateY(-6px);
	border-color: rgba(47, 154, 70, .18);
	box-shadow: 0 18px 45px rgba(17, 24, 20, .14);
}

.course-card-group {
	padding: 1rem 1.15rem;
	background: #edeffd;
	color: #0e1a2d;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
	transition: background-color .22s ease;
}

.course-card:hover .course-card-group {
	background: var(--zaraja-green);
	color: #fff;
}

.course-card-media {
	position: relative;
	display: block;
	min-height: 148px;
	overflow: hidden;
	background: #f4f7f5;
}

.course-card-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform .35s ease;
}

.course-card:hover .course-card-media img {
	transform: scale(1.06);
}

.course-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.35rem 1.35rem 1.25rem;
}

.course-label {
	display: inline-flex;
	align-self: flex-start;
	margin-bottom: .8rem;
	padding: .3rem .65rem;
	border-radius: 999px;
	background: rgba(47, 154, 70, .09);
	color: var(--zaraja-green-dark);
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.course-card h3 {
	margin-bottom: .75rem;
	font-size: 1.2rem;
}

.course-card p {
	color: #4b5a52;
	font-size: .95rem;
	line-height: 1.65;
}

.course-card .button {
	align-self: center;
}

.course-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	margin-top: auto;
	padding: .8rem 1rem;
	border-radius: 6px;
	background: var(--zaraja-green);
	color: #fff;
	font-weight: 800;
}

.course-link:hover {
	background: var(--zaraja-green-dark);
	color: #fff;
}

.fancy-title::before, .fancy-title::after {
  content: "";
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
  height: 0;
  border-top: calc(var(--cnvs-fancy-title-border-size) * 0.5) solid rgba(var(--cnvs-contrast-rgb), 0.2);
}

:root {
	--cnvs-themecolor: #0b9633;
	--cnvs-themecolor-rgb: 11,150,51;

	--cnvs-body-font: "Montserrat", sans-serif;
	--cnvs-primary-font: "Montserrat", sans-serif;
	 --cnvs-secondary-font:	"Montserrat", sans-serif;

	--cnvs-header-height:	80px;
	--cnvs-header-height-md:	80px;
	
	--zaraja-green: #2f9a46;
	--zaraja-green-dark: #1f6f35;
	--zaraja-ink: #111814;
	--zaraja-road: #eef4ef;
	
	--cnvs-contrast-bg-offset:	#f8f9fa;
	
}

.button {
	
	--cnvs-btn-color-dark: #0e1a2d
	
	}

.dark {
	--cnvs-header-bg: #596c76;
	--cnvs-header-sticky-bg: #596c76;
	--cnvs-footer-bg: #596c76;
	--cnvs-primary-menu-submenu-bg: #596c76;
}

#header {
	--cnvs-primary-menu-font: var(--cnvs-body-font);
	--cnvs-primary-menu-font-weight: 600;
	--cnvs-primary-menu-color: var(--cnvs-contrast-800);
	--cnvs-primary-menu-hover-color: #0b9633;
	--cnvs-primary-menu-tt:	uppercase;
	--cnvs-primary-menu-ls:	0;
	--cnvs-primary-menu-font-size: 0.8rem;
	--cnvs-header-misc-icons-size: 1.5rem;
	--cnvs-header-border-color:	#0b9633;
}

  #header .forge-cta {
    background: #e8440a;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 10px 22px;
    border-radius: 3px;
    transition: background 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease;
    box-shadow: 0 0 0 0 rgba(232, 68, 10, 0);
    position: relative;
    overflow: hidden;
  }

  #header .forge-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, transparent 60%);
    pointer-events: none;
  }

  #header .forge-cta:hover {
    background: #ff5217;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(232, 68, 10, 0.45);
    color: #fff !important;
  }

  #header .forge-cta:active {
    transform: translateY(0);
  }

  #header.sticky-header:not(.dark) .forge-cta {
    background: #e8440a;
    color: #fff !important;
  }

  /* Subtle separator before CTA */
  #header .header-misc {
    display: flex;
    align-items: center;
    gap: 18px;
  }

  #header .forge-header-tagline {
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, 0.35);
    border-left: 1px solid rgba(0, 0, 0, 0.12);
    padding-left: 18px;
    line-height: 1.3;
    display: none;
  }

  @media (min-width: 1200px) {
    #header .forge-header-tagline {
      display: block;
    }
  }

#hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 65vh;
	background-image:
		repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,0.012) 2px, rgba(255,255,255,0.012) 4px),
		linear-gradient(to top, rgba(14,26,45,0.6) 0%, transparent 100%),
		linear-gradient(135deg, rgba(14,26,45,0.82) 0%, rgba(14,26,45,0.55) 60%, rgba(14,26,45,0.72) 100%),
		url("../images/test.webp");
	background-position: left top, left bottom, left top, 90% center;
	background-size: auto, 100% 120px, auto, cover;
	background-repeat: repeat, no-repeat, no-repeat, no-repeat;
}

#hero > .container {
	position: relative;
	z-index: 3;
}

#hero h1 {
	font-size: clamp(3rem, 5vw, 4.5rem);
	line-height: 1;
	font-weight: 700;
}

.hero-accent {
	display: inline-block;
	width: 48px;
	height: 3px;
	margin-bottom: 1.5rem;
	background: var(--cnvs-themecolor);
}

.hero-description {
	max-width: 540px;
	margin-bottom: 2.5rem;
	color: rgba(255,255,255,0.68);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.65;
	letter-spacing: 0.04em;
	text-transform: none;
}

.hero-stats {
	gap: 0;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255,255,255,0.12);
}

.hero-stat {
	padding-right: 2rem;
}

.hero-stat-divider {
	flex-shrink: 0;
	width: 1px;
	height: 28px;
	margin-right: 2rem;
	background: rgba(255,255,255,0.2);
}

.hero-stats span {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: rgba(255,255,255,0.55);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.hero-stats span i {
	font-size: 1.15rem;
	line-height: 1;
}

.contact-info-line {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
}

.contact-info-icon {
	flex: 0 0 1.65rem;
	width: 1.65rem;
	padding-top: .15em;
	font-size: 1.35rem;
	line-height: 1;
	text-align: center;
}

.contact-info-icon.bi-geo-alt {
	font-size: 1.55rem;
}


.location-map {
			display: block;
			width: 100%;
			height: 340px;
			border: 0;
			border-radius: 4px;
		}

		@media (max-width: 991.98px) {
			.location-map {
				height: 280px;
			}
		}
		
		/* .button-reveal */
		.button.button-reveal i {
			opacity: 0;
			left: auto !important;
			right: 20px !important;
			background-color: transparent;
			transition: all .3s ease !important;
		}

		.button.text-end.button-reveal i {
			left: 20px !important;
			right: auto !important;
		}

		.button:not(.text-end).button-reveal i {
			left: auto !important;
			right: 20px !important;
		}

		.button:hover.button-reveal i {
			opacity: 1;
			right: 0 !important;
			transform: translateX(-7px);
		}

		.button.button-reveal:not(.text-end):hover span { left: -10% !important; }

		.button.button-reveal.text-end:hover span { left: 10% !important; }
		
		.hero-title-lock {
			position: relative;
			display: block;
			width: 100%;
			max-width: 25rem;
			padding-top: 4.7rem;
		}

		.stamp {
			--ink: #0b9633;
			--size: 124px;
			--stamp-x: 0;
			--stamp-y: 0;
			--stamp-rotate: 5deg;
			position: absolute;
			top: 0;
			right: 0;
			z-index: 5;
			width: var(--size);
			height: var(--size);
			aspect-ratio: 1 / 1;
			border: 4px solid currentColor;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			padding: .55rem;
			background: rgba(255,255,255,0.16);
			color: var(--ink);
			line-height: 1.1;
			text-align: center;
			text-transform: uppercase;
			opacity: 0;
			transform: translate(var(--stamp-x), var(--stamp-y)) scale(2.5) rotate(-10deg);
			transform-origin: center;
			will-change: transform, opacity;
			animation: stamp-in 650ms cubic-bezier(.18,.9,.2,1.08) 250ms forwards;
		}

		@keyframes stamp-in {
			0% {
				opacity: 0;
				transform: translate(var(--stamp-x), var(--stamp-y)) scale(2.5) rotate(-10deg);
			}
			70% {
				opacity: 1;
				transform: translate(var(--stamp-x), var(--stamp-y)) scale(.92) rotate(calc(var(--stamp-rotate) - 5deg));
			}
			100% {
				opacity: 1;
				transform: translate(var(--stamp-x), var(--stamp-y)) scale(1) rotate(var(--stamp-rotate));
			}
		}

		#stamp *{ margin:0; }
		#stamp .body{ line-height:1.5; margin-bottom: 0; font-size: .65rem;}

		#hero h1 {
			font-size: clamp(2.55rem, 11vw, 4.5rem);
			max-width: 9.5ch;
		}

			@media (max-width: 991.98px) {
					#hero h1 span {
						display: inline-block;
						margin-top: .18em;
						text-shadow:
							0 2px 8px rgba(0, 0, 0, .75),
							0 0 2px rgba(255, 255, 255, .45);
					}

				.stamp {
					top: 18%;
					right: -7rem;
				}
			}

		@media (max-width: 575.98px) {
			.stamp {
				top: 15%;
				right: 1.3rem;
			}
		}

		.page-title-contact-cars {
			position: relative;
			min-height: 0;
			overflow: hidden;
			background:
				radial-gradient(ellipse at 14% 82%, rgba(89, 108, 118, .09), rgba(89, 108, 118, 0) 34%),
				radial-gradient(ellipse at 86% 82%, rgba(89, 108, 118, .1), rgba(89, 108, 118, 0) 34%),
				linear-gradient(115deg, rgba(232, 237, 240, .92), rgba(232, 237, 240, 0) 28%),
				linear-gradient(245deg, rgba(232, 237, 240, .92), rgba(232, 237, 240, 0) 28%),
				linear-gradient(180deg, #fff 0%, #fbfcfd 58%, #eef1f3 100%);
			isolation: isolate;
		}

		.page-title-contact-cars .container {
			position: relative;
			z-index: 3;
		}

		.page-title-contact-cars::before,
		.page-title-contact-cars::after {
			content: "";
			display: none;
			position: absolute;
			border-radius: 50%;
			background: radial-gradient(circle,
				transparent 0 52%,
				rgba(89, 108, 118, .026) 57%,
				transparent 58%,
				transparent 66%,
				rgba(14, 26, 45, .016) 71%,
				transparent 72%,
				transparent 80%,
				rgba(89, 108, 118, .034) 84%,
				rgba(89, 108, 118, .012) 91%,
				rgba(89, 108, 118, 0) 100%);
			pointer-events: none;
			z-index: 1;
		}

		.page-title-car {
			position: absolute;
			bottom: clamp(.15rem, .8vw, .65rem);
			z-index: 2;
			width: clamp(135px, 21vw, 340px);
			height: auto;
			opacity: 0;
			pointer-events: none;
			will-change: transform, opacity;
		}

		.page-title-car-left {
			left: clamp(.75rem, 5vw, 7rem);
			transform: translate(-120%, 0) scaleX(-1);
			animation: page-title-car-left-in 900ms cubic-bezier(.22,.78,.28,1) 160ms forwards;
		}

		.page-title-car-right {
			right: clamp(.75rem, 5vw, 7rem);
			transform: translate(120%, 0);
			animation: page-title-car-right-in 900ms cubic-bezier(.22,.78,.28,1) 160ms forwards;
		}

		@keyframes page-title-car-left-in {
			from {
				opacity: 0;
				transform: translate(-120%, 0) scaleX(-1);
			}

			to {
				opacity: 1;
				transform: translate(0, 0) scaleX(-1);
			}
		}

		@keyframes page-title-car-right-in {
			from {
				opacity: 0;
				transform: translate(120%, 0);
			}

			to {
				opacity: 1;
				transform: translate(0, 0);
			}
		}

		@media (min-width: 1400px) {
			.page-title-contact-cars::before,
			.page-title-contact-cars::after {
				display: block;
				top: -28%;
				width: min(62vw, 1180px);
				height: min(62vw, 1180px);
			}

			.page-title-contact-cars::before {
				left: -27%;
			}

			.page-title-contact-cars::after {
				right: -27%;
			}
		}

		@media (max-width: 991.98px) {
			.page-title-contact-cars {
				background:
					radial-gradient(ellipse at 18% 82%, rgba(89, 108, 118, .075), rgba(89, 108, 118, 0) 38%),
					radial-gradient(ellipse at 82% 82%, rgba(89, 108, 118, .08), rgba(89, 108, 118, 0) 38%),
					linear-gradient(180deg, #fff 0%, #fbfcfd 60%, #eef1f3 100%);
			}

			.page-title-contact-cars .center {
				margin-top: 0 !important;
			}

			.page-title-car {
				width: clamp(120px, 33vw, 240px);
			}
		}

		@media (max-width: 575.98px) {
			.page-title-contact-cars {
				padding-bottom: 3.25rem !important;
			}

			.page-title-contact-cars .center {
				transform: translateY(-1rem);
			}

			.page-title-contact-cars + #content .content-wrap {
				padding-top: 2.5rem;
			}

			.page-title-car {
				width: min(39vw, 155px);
				bottom: .35rem;
			}

			.page-title-car-left {
				left: .75rem;
			}

			.page-title-car-right {
				right: .75rem;
			}
		}

		@media (min-width: 992px) {
			.hero-title-lock {
				display: inline-block;
				width: auto;
				max-width: none;
				padding-top: 0;
			}

				.stamp {
					--size: 150px;
					--stamp-y: -50%;
					top: 35%;
						left: calc(100% + 32px);
					right: auto;
					padding: .8rem;
				}

			#stamp .body{ font-size: 0.8rem; }

			#hero h1 {
				max-width: none;
			}
			
			#hero {
	min-height: 80vh;
				
		}
			}

			@media (min-width: 1200px) {
				.stamp {
					--size: 180px;
					top: 35%;
						left: calc(100% + 54px);
				}

			#stamp .body{ font-size: .9rem; line-height: 1.4 }
		}


.tlaciva-title {
	margin-bottom: 1.2rem;
	color: #0e1a2d;
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 800;
	line-height: 1.04;
	text-transform: none;
}

.tlaciva {
	background: #fff url('../images/exclamation.svg') calc(100% + 40px) calc(100% + 5px);
	background-size: auto 420px;
	background-repeat: no-repeat;
}

.document-download {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1rem;
	margin-top: 1.35rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(47, 154, 70, .34);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .18);
	color: #0e1a2d;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.portfolio-desc .document-download,
.portfolio-desc .document-download:hover {
	color: #0e1a2d;
}

.document-download:hover {
	transform: translateY(-3px);
	border-color: var(--zaraja-green);
	box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
	color: #0e1a2d;
}

.document-download-icon,
.document-download-action {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	border-radius: 50%;
}

.document-download-icon {
	width: 3rem;
	height: 3rem;
	background: rgba(211, 47, 47, .1);
	color: #d32f2f;
	font-size: 1.45rem;
}

.document-download-icon i,
.document-download-action i {
	display: block;
	line-height: 1;
}

.document-download-action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: auto;
	height: 2.35rem;
	padding: 0 .9rem;
	border-radius: 999px;
	background: var(--zaraja-green);
	color: #fff;
	font-size: .8rem;
	font-weight: 800;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background-color .22s ease, transform .22s ease;
}

.document-download:hover .document-download-action {
	background: var(--zaraja-green-dark);
	transform: translateY(2px);
}

.document-download-content {
	display: grid;
	gap: .25rem;
	min-width: 0;
}

.document-download-label,
.document-download-note {
	font-size: .75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.document-download-label {
	color: var(--zaraja-green-dark) !important;
}

.portfolio-desc .document-download-icon {
	display: grid;
	place-items: center;
	color: #d32f2f;
}

.portfolio-desc .document-download-action {
	display: inline-flex;
	color: #fff;
}

.document-download strong {
	color: #0e1a2d;
	font-size: 1rem;
	line-height: 1.28;
}

.document-download-note {
	color: #637067 !important;
}

@media (max-width: 1399.98px) {
	.document-download {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
	}

	.document-download-icon {
		grid-row: 1 / 3;
	}

	.document-download-action {
		grid-column: 2;
		justify-self: start;
		margin-top: .35rem;
	}
}

@media (max-width: 575.98px) {
	.document-download {
		grid-template-columns: auto minmax(0, 1fr);
		padding: .95rem;
	}

	.document-download-action {
		grid-column: 1 / -1;
		width: 100%;
		height: 2.55rem;
		border-radius: 6px;
	}
}

.fw-extrabold {
  font-weight: 800 !important;
}

/* Courses page */
.courses-page-wrap {
	background: #fff;
}

.courses-intro-section {
	background:
		linear-gradient(180deg, #f8fbf8 0%, #fff 78%),
		url('../images/signs.png') left top / auto repeat;
}

.courses-intro-section .lead {
	max-width: 620px;
	color: #4b5a52;
	line-height: 1.7;
}

.courses-highlight-list {
	display: grid;
	gap: .75rem;
	color: #25342b;
	font-weight: 700;
}

.courses-highlight-list div {
	display: flex;
	align-items: center;
	gap: .7rem;
}

.courses-highlight-list i {
	display: grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: 50%;
	background: rgba(47, 154, 70, .1);
	color: var(--zaraja-green-dark);
	font-size: 1rem;
	flex: 0 0 auto;
}

.courses-photo-panel {
	position: relative;
	overflow: hidden;
	border-radius: 8px;
	background: #0e1a2d;
	box-shadow: 0 24px 70px rgba(14, 26, 45, .18);
}

.courses-main-photo {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	opacity: .92;
}

.courses-photo-note {
	position: absolute;
	left: 1.25rem;
	right: 1.25rem;
	bottom: 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: 8px;
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 12px 35px rgba(14, 26, 45, .16);
}

.courses-photo-note span {
	display: block;
	margin-bottom: .1rem;
	color: var(--zaraja-green-dark);
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.courses-photo-note strong {
	color: #0e1a2d;
	font-size: 1rem;
}

.courses-groups-strip {
	position: sticky;
	top: var(--cnvs-header-height);
	z-index: 20;
	background: rgba(14, 26, 45, .96);
	box-shadow: 0 12px 30px rgba(14, 26, 45, .12);
}

.courses-strip-label {
	color: rgba(255, 255, 255, .55);
	font-size: .8rem;
	font-weight: 800;
	text-transform: uppercase;
}

.courses-groups-strip a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: .45rem .9rem;
	border: 1px solid var(--zaraja-green);
	border-radius: 999px;
	color: #fff;
	font-size: .86rem;
	font-weight: 800;
}

.courses-groups-strip a:hover {
	border-color: var(--zaraja-green);
	background: var(--zaraja-green);
	color: #fff;
}

.courses-catalog-section {
	background: #fff;
}

.courses-catalog-section .heading-block span.mx-auto {
	max-width: 760px;
}

.course-detail-card,
.course-mini-card,
.course-wide-card,
.course-advice-card,
.course-step {
	border: 1px solid rgba(17, 24, 20, .08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 10px 32px rgba(17, 24, 20, .06);
}

.course-detail-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 1.5rem;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.course-detail-card:hover {
	transform: translateY(-5px);
	border-color: rgba(47, 154, 70, .22);
	box-shadow: 0 18px 48px rgba(17, 24, 20, .12);
}

.course-detail-card-featured {
	border-color: rgba(47, 154, 70, .28);
	background: linear-gradient(180deg, rgba(47, 154, 70, .07), #fff 34%);
}

.course-detail-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	color: var(--zaraja-green);
	font-weight: 800;
}

.course-detail-top span {
	font-size: 1.5rem;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.course-detail-top i {
	font-size: 1.35rem;
	color: var(--zaraja-green);
}

.course-detail-icon {
	width: 72px;
	height: 72px;
	margin-bottom: 1.15rem;
	object-fit: contain;
}

.courses-list {
	align-items: stretch;
}

.courses-list > [id^="kurz-"] {
	scroll-margin-top: 150px;
}

@media (max-width: 991.98px) {
	.courses-list > [id^="kurz-"] {
		scroll-margin-top: 120px;
	}
}

.course-detail-main {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.25rem;
}

.course-detail-content {
	min-width: 0;
}

.course-law-text {
	display: grid;
	gap: .75rem;
	margin-top: 1.15rem;
}

.course-law-text p {
	margin: 0;
	color: #4b5a52;
	font-size: .95rem;
	line-height: 1.72;
}

.course-law-text strong {
	color: #0e1a2d;
	font-weight: 900;
}

.course-note {
	padding: .9rem 1rem;
	border-radius: 8px;
	background: rgba(47, 154, 70, .08);
	font-weight: 700;
}

.course-detail-footer {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.25rem;
}

.course-detail-card h3,
.course-mini-card h3,
.course-wide-card h3,
.course-advice-card h3,
.course-step h3 {
	font-size: 1.22rem;
	line-height: 1.25;
	margin-bottom: .75rem;
}

.course-detail-card p,
.course-mini-card p,
.course-wide-card p,
.course-advice-card p,
.course-step p {
	color: #4b5a52;
	line-height: 1.62;
}

.course-meta-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .65rem;
	margin-top: 1rem;
	padding-top: 0;
}

.course-meta-grid div {
	padding: .8rem;
	border-radius: 8px;
	background: #f4f7f5;
}

.course-meta-grid small {
	display: block;
	margin-bottom: .1rem;
	color: #6f7b74;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
}

.course-meta-grid strong {
	color: #0e1a2d;
	font-size: .96rem;
}

.course-detail-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	margin-top: 0;
	padding: .75rem 2.5rem;
	border-radius: 999px;
	background: #0e1a2d;
	color: #fff;
	font-weight: 700;
}

.course-detail-link:hover {
	background: var(--zaraja-green);
	color: #fff;
}

.courses-family-heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
	padding: 1.25rem 1.35rem;
	border-radius: 8px;
	background: #eef4ef;
}

.courses-family-heading i {
	display: grid;
	place-items: center;
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 50%;
	background: #fff;
	color: var(--zaraja-green-dark);
	font-size: 1.45rem;
	flex: 0 0 auto;
}

.courses-family-heading span,
.course-wide-kicker {
	display: block;
	margin-bottom: .15rem;
	color: var(--zaraja-green-dark);
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.courses-family-heading h3 {
	margin: 0;
	color: #0e1a2d;
	font-size: 1.35rem;
}

.courses-family-heading-dark {
	background: #0e1a2d;
}

.courses-family-heading-dark h3 {
	color: #fff;
}

.courses-family-heading-dark span {
	color: rgba(255, 255, 255, .62);
}

.course-mini-card {
	height: 100%;
	padding: 1.25rem;
}

.course-mini-card img {
	width: 58px;
	height: 58px;
	margin-bottom: 1rem;
	object-fit: contain;
}

.course-mini-card p {
	min-height: 4.8rem;
	margin-bottom: 1rem;
}

.course-mini-card div {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
}

.course-mini-card div span {
	display: inline-flex;
	padding: .38rem .62rem;
	border-radius: 999px;
	background: rgba(47, 154, 70, .1);
	color: #1f6f35;
	font-size: .78rem;
	font-weight: 900;
}

.course-mini-card-dark {
	background: #f8f9fa;
}

.course-wide-card {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1.5rem;
	height: 100%;
	padding: 1.5rem;
	background: linear-gradient(135deg, #eef4ef, #fff 68%);
}

.course-wide-card img {
	width: 88px;
	height: 88px;
	object-fit: contain;
}

.course-wide-meta {
	display: flex;
	flex-wrap: wrap;
	grid-column: 1 / -1;
	gap: .55rem;
}

.course-wide-meta span {
	padding: .46rem .72rem;
	border-radius: 999px;
	background: #fff;
	color: #0e1a2d;
	font-size: .8rem;
	font-weight: 900;
}

.course-advice-card {
	height: 100%;
	padding: 1.5rem;
	background: #0e1a2d;
	color: #fff;
}

.course-advice-card i {
	font-size: 2rem;
	color: var(--zaraja-green);
}

.course-advice-card h3 {
	margin-top: 1rem;
	color: #fff;
}

.course-advice-card p {
	color: rgba(255, 255, 255, .7);
}

.course-advice-card a {
	display: inline-flex;
	margin-top: .35rem;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 700;
}

.courses-process-section {
	background:
		linear-gradient(180deg, #f8f9fa, #fff),
		url('../images/grid.png') center / auto repeat;
}

.course-step {
	height: 100%;
	padding: 1.35rem;
}

.course-step span {
	display: inline-flex;
	margin-bottom: 1rem;
	color: var(--zaraja-green-dark);
	font-size: .85rem;
	font-weight: 900;
}

.courses-cta-section {
	background: #0e1a2d url('../images/signs2.png') left top / auto repeat;
}

@media (max-width: 991.98px) {
	.courses-groups-strip {
		position: static;
	}

	.course-mini-card p {
		min-height: 0;
	}
}

@media (max-width: 575.98px) {
	.courses-photo-note {
		position: static;
		border-radius: 0;
	}

	.course-meta-grid {
		grid-template-columns: 1fr;
	}

	.courses-family-heading,
	.course-wide-card {
		grid-template-columns: 1fr;
	}

	.course-wide-card img {
		width: 72px;
		height: 72px;
	}
}


.course-forms-section {
	padding: 4.5rem 0 0;
	background: #fff;
}

.course-forms-hero {
	position: relative;
	padding: 2rem;
	border: 1px solid rgba(14, 26, 45, .08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 20px 65px rgba(17, 24, 20, .08);
}

.course-forms-warning-title {
	margin-bottom: 1.2rem;
	color: #0e1a2d;
	font-size: clamp(2rem, 4vw, 3.4rem);
	font-weight: 800;
	line-height: 1.04;
	text-transform: none;
}

.course-forms-intro {
	margin-bottom: 1.25rem;
	color: #4b5a52;
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.7;
}

.course-forms-hero-note {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	padding: 1rem;
	border-radius: 8px;
	background: rgba(47, 154, 70, .1);
	color: #1f3428;
	font-weight: 700;
	line-height: 1.45;
}

.course-forms-hero-note i {
	color: var(--zaraja-green-dark);
	font-size: 1.35rem;
	line-height: 1;
}

.course-forms-rules-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .8rem;
}

.course-form-rule {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .75rem;
	padding: 1rem;
	border: 1px solid rgba(17, 24, 20, .08);
	border-radius: 8px;
	background: #f8f9fa;
}

.course-form-rule span {
	display: grid;
	place-items: center;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: #0e1a2d;
	color: #fff;
	font-size: .78rem;
	font-weight: 900;
}

.course-form-rule p {
	margin: 0;
	color: #243027;
	font-size: .92rem;
	font-weight: 600;
	line-height: 1.52;
}

.course-form-rule strong {
	font-weight: 900;
}

.course-forms-bullets {
	gap: .9rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.course-forms-bullets li {
	position: relative;
	padding-left: 1.55rem;
	color: #253027;
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.9;
}

.course-forms-bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: .45rem;
	height: .45rem;
	border-radius: 50%;
	background: var(--zaraja-green);
	box-shadow: 0 0 0 5px rgba(47, 154, 70, .1);
}

.course-forms-bullets strong {
	color: var(--zaraja-green-dark);
	font-weight: 700;
}


.course-forms-samples {
	margin-top: 4.5rem;
	padding: 4.5rem 0;
}

.course-forms-samples h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
}

.course-forms-samples .col-lg-4 p {
	color: #4b5a52;
	font-weight: 600;
	line-height: 1.6;
}

.course-form-sample-card {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: 1.25rem;
	height: 100%;
	overflow: hidden;
	border: 1px solid rgba(14, 26, 45, .08);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 14px 45px rgba(17, 24, 20, .08);
}

.course-form-sample-content {
	display: flex;
	flex-direction: column;
	padding: 1.35rem;
}

.course-form-sample-labels {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-bottom: 1rem;
}

.course-form-sample-labels span {
	display: inline-flex;
	padding: .35rem .6rem;
	border-radius: 999px;
	background: rgba(47, 154, 70, .1);
	color: var(--zaraja-green-dark);
	font-size: .75rem;
	font-weight: 900;
}

.course-form-sample-card h3 {
	margin-bottom: .75rem;
	font-size: 1.24rem;
	line-height: 1.25;
}

.course-form-sample-card p {
	margin-top: auto;
	margin-bottom: .75rem;
	color: #4b5a52;
	font-size: .9rem;
	font-weight: 700;
}

.course-form-sample-link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: var(--zaraja-green);
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.course-form-sample-link:hover {
	color: var(--zaraja-green-dark);
}

.course-form-sample-image {
	display: block;
	min-height: 320px;
	background: #dfe4e0;
	transition: filter .22s ease;
}

.course-form-sample-image:hover {
	filter: brightness(1.04);
}

.course-form-sample-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

@media (max-width: 1199.98px) {
	.course-form-sample-card {
		grid-template-columns: 1fr;
	}

	.course-form-sample-image {
		min-height: 0;
	}

	.course-form-sample-image img {
		height: auto;
	}
}

@media (max-width: 767.98px) {
	.course-forms-section {
		padding-top: 2.5rem;
	}

	.course-forms-hero {
		padding: 1.25rem;
	}

	.course-forms-rules-grid,
	.course-forms-bullets {
		grid-template-columns: 1fr;
	}

	.course-forms-samples {
		margin-top: 2.5rem;
		padding: 3rem 0;
	}
}


.forms-page-next-section {
	background: #fff;
	border-top: 1px solid rgba(14, 26, 45, .08);
}

.forms-page-next-section p {
	color: #4b5a52;
	font-weight: 600;
}


.course-advice-card-inline {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.25rem;
}

.course-advice-card-inline h3 {
	margin-top: 0;
}

@media (max-width: 991.98px) {
	.course-meta-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.course-advice-card-inline {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.course-advice-card-inline a {
		grid-column: 2;
	}
}

@media (max-width: 575.98px) {
	.course-detail-main {
		grid-template-columns: 1fr;
	}

	.course-detail-icon {
		margin-bottom: 0;
	}

	.course-meta-grid {
		grid-template-columns: 1fr;
	}

	.course-detail-footer {
		justify-content: flex-start;
	}
}


/* Full-width course cards */
.course-detail-card {
	position: relative;
	padding: 2rem 2.1rem;
	overflow: hidden;
}

.course-detail-card-featured {
	background: #fff;
}

.course-detail-top {
	padding-right: 5.25rem;
	margin-bottom: 1.15rem;
}

.course-detail-top i {
	display: none;
}

.course-detail-icon {
	position: absolute;
	top: 1.85rem;
	right: 2rem;
	width: 72px;
	height: 72px;
	margin: 0;
	object-fit: contain;
	opacity: .58;
	filter: grayscale(1) saturate(0) opacity(.86);
}

.course-detail-main {
	display: block;
}

.course-detail-content {
	width: 100%;
	padding-right: 0;
}

.course-detail-card h3 {
	max-width: calc(100% - 5.5rem);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.course-meta-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .85rem;
	margin-top: 1.35rem;
}

.course-meta-grid div {
	padding: 1rem 1.05rem;
}

.course-law-text {
	margin-top: 1.55rem;
	gap: .9rem;
}

.course-law-text p {
	font-size: 1rem;
	line-height: 1.75;
}

.course-law-text p:has(> strong:only-child) {
	margin-bottom: -.45rem !important;
}

.course-detail-footer {
	justify-content: flex-end;
	margin-top: 1.55rem;
}

.course-detail-link {
	min-width: 12rem;
	padding: .95rem 2.25rem;
	font-size: 1rem;
}

@media (max-width: 991.98px) {
	.course-detail-icon {
		width: 62px;
		height: 62px;
	}

	.course-meta-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.course-detail-card {
		padding: 1.35rem;
	}

	.course-detail-top,
	.course-detail-card h3 {
		max-width: none;
		padding-right: 4.8rem;
	}

	.course-detail-icon {
		top: 1.3rem;
		right: 1.25rem;
		width: 54px;
		height: 54px;
	}

	.course-meta-grid {
		grid-template-columns: 1fr;
	}

	.course-detail-footer {
		justify-content: flex-start;
	}
}


/* Mobile polish for course quick navigation and cards */
.course-detail-top {
	margin-bottom: .45rem;
}

@media (max-width: 767.98px) {
	.courses-groups-strip .d-flex {
		align-items: flex-start !important;
		gap: .65rem .7rem !important;
	}

	.courses-strip-label {
		flex: 0 0 100%;
		margin-bottom: .2rem;
	}

	.courses-groups-strip a {
		min-height: 36px;
		padding: .42rem .78rem;
		font-size: .82rem;
	}
}

@media (max-width: 575.98px) {
	.course-meta-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .7rem;
	}

	.course-meta-grid div {
		padding: .85rem .9rem;
	}

	.course-meta-grid small {
		font-size: .66rem;
	}

	.course-meta-grid strong {
		font-size: .9rem;
	}

	.course-detail-top {
		margin-bottom: .35rem;
	}
}




/* Vehicles page */
.vehicles-page-wrap .section {
	position: relative;
}

.vehicles-intro-section .lead {
	max-width: 760px;
	color: #344154;
	line-height: 1.7;
}

.vehicles-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
}

.vehicles-feature-card,
.vehicle-card,
.vehicle-wide-card {
	border: 1px solid rgba(14, 26, 45, .08);
	background: #fff;
	box-shadow: 0 16px 44px rgba(14, 26, 45, .08);
}

.vehicles-feature-card {
	overflow: hidden;
}

.vehicles-feature-card img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: #f4f7f5;
}

.vehicles-feature-card > div {
	padding: 1.6rem;
}

.vehicles-feature-card span,
.vehicle-card span {
	display: inline-flex;
	align-items: center;
	min-height: 1.85rem;
	margin-bottom: .75rem;
	padding: .25rem .65rem;
	border-radius: 999px;
	background: rgba(11, 150, 51, .1);
	color: var(--zaraja-green-dark);
	font-size: .78rem;
	font-weight: 900;
	text-transform: uppercase;
}

.vehicles-feature-card h3,
.vehicle-card h3,
.vehicle-wide-card h3 {
	margin-bottom: .55rem;
	color: #0e1a2d;
	font-size: 1.35rem;
}

.vehicles-feature-card p,
.vehicle-card p,
.vehicle-wide-card p,
.vehicles-cta-panel p {
	color: #465466;
	line-height: 1.65;
}

.vehicles-category-strip {
	position: sticky;
	top: var(--cnvs-header-height);
	z-index: 9;
	border-top: 1px solid rgba(14, 26, 45, .08);
	border-bottom: 1px solid rgba(14, 26, 45, .08);
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(10px);
}

.vehicles-category-links {
	display: flex;
	align-items: center;
	gap: .7rem;
	overflow-x: auto;
	white-space: nowrap;
}

.vehicles-category-links span {
	color: #647184;
	font-size: .86rem;
	font-weight: 800;
	text-transform: uppercase;
}

.vehicles-category-links a {
	display: inline-flex;
	align-items: center;
	min-height: 2.25rem;
	padding: .35rem .85rem;
	border-radius: 999px;
	background: rgba(14, 26, 45, .07);
	color: #0e1a2d;
	font-weight: 800;
}

.vehicles-category-links a:hover {
	background: var(--zaraja-green);
	color: #fff;
}

.vehicles-list-section {
	background: #fff;
}

.vehicles-section-head {
	margin-bottom: 1.5rem;
}

.vehicles-grid > [class*="col-"] {
	display: flex;
}

.vehicle-card {
	display: flex;
	align-items: flex-start;
	gap: 1.2rem;
	width: 100%;
	padding: 1.4rem;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.vehicle-card:hover {
	transform: translateY(-4px);
	border-color: rgba(11, 150, 51, .2);
	box-shadow: 0 22px 54px rgba(14, 26, 45, .12);
}

.vehicle-card img {
	width: 4.2rem;
	height: 4.2rem;
	object-fit: contain;
	flex: 0 0 auto;
}

.vehicle-card p {
	margin-bottom: 0;
}

.vehicle-wide-card {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	padding: 1.7rem;
}

.vehicle-wide-icon {
	display: grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: rgba(14, 26, 45, .08);
	color: var(--zaraja-green);
	font-size: 1.8rem;
	flex: 0 0 auto;
}

.vehicles-cta-section {
	background: #0e1a2d;
}

.vehicles-cta-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2.4rem;
	border: 0;
	background: transparent;
}

.vehicles-cta-panel h2,
.vehicles-cta-panel p {
	color: #fff;
}

@media (max-width: 991.98px) {
	.vehicles-feature-card > div,
	.vehicles-cta-panel {
		padding: 1.6rem;
	}

	.vehicles-cta-panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 575.98px) {
	.vehicles-hero-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.vehicles-hero-actions .button {
		width: auto;
		max-width: 100%;
	}

	.vehicle-card,
	.vehicle-wide-card {
		padding: 1.2rem;
	}

	.vehicle-card img {
		width: 3.5rem;
		height: 3.5rem;
	}

	.vehicles-cta-panel .button {
		width: 100%;
		justify-content: center;
	}
}


/* Photo vehicle cards */
.vehicle-card {
	display: grid;
	grid-template-columns: minmax(220px, .92fr) minmax(0, 1fr);
	align-items: stretch;
	gap: 0;
	padding: 0;
	overflow: hidden;
}

.vehicle-card-media {
	position: relative;
	min-height: 100%;
	background: rgba(14, 26, 45, .045);
	border-right: 1px solid rgba(14, 26, 45, .08);
}

.vehicle-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 230px;
	object-fit: contain;
}

.vehicle-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	padding: 1.5rem;
}

.vehicle-card-body span {
	align-self: flex-start;
}

.vehicle-card-body p {
	margin-bottom: 0;
}

@media (max-width: 991.98px) {
	.vehicle-card {
		grid-template-columns: 1fr;
	}

	.vehicle-card-media {
		border-right: 0;
		border-bottom: 1px solid rgba(14, 26, 45, .08);
	}

	.vehicle-card-media img {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 0;
	}
}

@media (max-width: 575.98px) {
	.vehicle-card {
		padding: 0;
	}

	.vehicle-card-body {
		padding: 1.15rem;
	}
}

/* KKV page */
.kkv-page-wrap .section {
	position: relative;
}

.kkv-intro-section .lead {
	max-width: 760px;
	color: #344154;
	line-height: 1.7;
}

.kkv-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .85rem;
}

.kkv-intro-section {
	padding-bottom: 3.5rem !important;
}

.kkv-training-section {
	padding-top: 3.5rem !important;
}


.kkv-summary-card,
.kkv-training-card,
.kkv-example {
	border: 1px solid rgba(14, 26, 45, .08);
	background: rgba(255, 255, 255, .8);
	box-shadow: 0 16px 44px rgba(14, 26, 45, .08);
}

.kkv-summary-card {
	padding: 2.2rem;
	overflow: hidden;
}

.kkv-summary-icon {
	display: grid;
	place-items: center;
	width: 3.4rem;
	height: 3.4rem;
	margin-bottom: 1.3rem;
	border-radius: 50%;
	background: rgba(14, 26, 45, .08);
	color: var(--zaraja-green);
	font-size: 1.65rem;
}

.kkv-summary-card h3,
.kkv-training-card h3 {
	margin-bottom: .8rem;
	color: #0e1a2d;
	font-size: 1.55rem;
}

.kkv-summary-card p,
.kkv-training-card p,
.kkv-example p,
.kkv-cta-panel p {
	color: #465466;
	line-height: 1.7;
}

.kkv-groups {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin-top: 1.4rem;
}

.kkv-groups span {
	display: inline-flex;
	align-items: center;
	min-height: 2.1rem;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: rgba(14, 26, 45, .07);
	color: #0e1a2d;
	font-weight: 800;
	font-size: .9rem;
}


.kkv-training-card {
	display: flex;
	flex-direction: column;
	padding: 2rem;
}

.kkv-card-kicker {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	align-self: flex-start;
	margin-bottom: 1.1rem;
	color: var(--zaraja-green-dark);
	font-size: .88rem;
	font-weight: 800;
	text-transform: uppercase;
}

.kkv-note-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .9rem;
	margin-top: auto;
	padding-top: 1.4rem;
}

.kkv-note-grid div {
	padding: 1rem;
	border: 1px solid rgba(14, 26, 45, .08);
	background: #f7f9f8;
}

.kkv-note-grid small,
.kkv-note-grid span {
	display: block;
}

.kkv-note-grid small {
	margin-bottom: .25rem;
	color: #647184;
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.kkv-note-grid strong {
	display: block;
	margin-bottom: .25rem;
	color: #0e1a2d;
	font-size: 1.25rem;
}

.kkv-note-grid span {
	color: #526173;
	font-size: .92rem;
	line-height: 1.45;
}


.kkv-example-list {
	display: grid;
	gap: 1rem;
}

.kkv-example {
	padding: 1.3rem 1.45rem;
}

.kkv-example strong {
	display: block;
	margin-bottom: .4rem;
	color: #0e1a2d;
	font-size: 1.05rem;
}

.kkv-example p {
	margin-bottom: 0;
}

.kkv-cta-section {
	background: #0e1a2d;
}

.kkv-cta-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2.4rem;
	border: 0;
	background: transparent;
}

.kkv-cta-panel h2,
.kkv-cta-panel p {
	color: #fff;
}

@media (max-width: 991.98px) {
	.kkv-summary-card,
	.kkv-training-card,
	.kkv-cta-panel {
		padding: 1.6rem;
	}

	.kkv-cta-panel {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 575.98px) {
	.kkv-intro-section {
		padding-bottom: 2.5rem !important;
	}

	.kkv-training-section {
		padding-top: 2.5rem !important;
	}

	.kkv-note-grid {
		grid-template-columns: 1fr;
	}

	.kkv-hero-actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.kkv-hero-actions .button {
		width: auto;
		max-width: 100%;
	}

	.kkv-cta-panel .button {
		width: 100%;
		justify-content: center;
	}
}

/* Courses hero photo overlay */
.courses-hero-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.courses-hero-section::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255, 255, 255, .012) 2px, rgba(255, 255, 255, .012) 4px),
		linear-gradient(to top, rgba(14, 26, 45, .62) 0%, rgba(14, 26, 45, .16) 58%, rgba(14, 26, 45, .34) 100%),
		linear-gradient(135deg, rgba(14, 26, 45, .88) 0%, rgba(14, 26, 45, .62) 42%, rgba(14, 26, 45, .28) 72%, rgba(14, 26, 45, .68) 100%);
	pointer-events: none;
}

.courses-hero-section .parallax-bg {
	z-index: 0;
}

.courses-hero-section > .container {
	position: relative;
	z-index: 2;
}

.courses-hero-section .lead {
	color: rgba(255, 255, 255, .78);
}


.courses-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
}

.courses-hero-actions .button {
	vertical-align: middle;
}


/* Course advice CTA */
.course-advice-card-inline {
	min-height: 132px;
	padding: 1.75rem 2rem;
	align-items: center;
}

.course-advice-card-inline > i {
	align-self: center;
}

.course-advice-card-inline h3 {
	margin: 0 0 .55rem;
}

.course-advice-card-inline p {
	margin: 0;
}

.course-advice-card-inline .button {
	align-self: center;
	justify-self: end;
	margin: 0;
	background: var(--zaraja-green);
	color: #fff;
	white-space: nowrap;
}

.course-advice-card-inline .button:hover {
	background: var(--zaraja-green-dark);
	color: #fff;
}

@media (max-width: 991.98px) {
	.course-advice-card-inline .button {
		justify-self: start;
	}
}



.course-advice-card-inline .button.button-border.button-light {
	border-color: var(--zaraja-green) !important;
	background: transparent !important;
	color: #fff !important;
	box-shadow: none;
}

.course-advice-card-inline .button.button-border.button-light i {
	font-size: inherit;
	line-height: inherit;
	color: currentColor;
}

.course-advice-card-inline .button.button-border.button-light:hover {
	border-color: var(--zaraja-green) !important;
	background: var(--zaraja-green) !important;
	color: #fff !important;
}


#footer.dark,
#footer.modra2bg {
	--cnvs-footer-bg: #0e1a2d;
	background-color: #0e1a2d !important;
}


/* About page */
.about-page-wrap .section {
	overflow: hidden;
}

.about-hero-section {
	min-height: 560px;
}

.about-hero-section::before {
	background: linear-gradient(90deg, rgba(14, 26, 45, .86) 0%, rgba(14, 26, 45, .62) 38%, rgba(14, 26, 45, .18) 72%, rgba(14, 26, 45, .08) 100%);
}

.about-hero-section .parallax-bg {
	object-position: center center;
}

.about-story-section .lead {
	font-size: clamp(1.12rem, 1.6vw, 1.45rem);
	line-height: 1.65;
	color: #4b5a52;
}

.about-photo-card {
	position: relative;
	min-height: 420px;
	overflow: hidden;
	border: 1px solid rgba(14, 26, 45, .08);
	background: #f4f7f5;
	box-shadow: 0 22px 55px rgba(14, 26, 45, .08);
}

.about-photo-card img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
}

.about-training-section {
	background: #fff;
}

.about-approach-card {
	padding: 2rem;
	border: 1px solid rgba(14, 26, 45, .1);
	background: rgba(14, 26, 45, .035);
	box-shadow: 0 18px 44px rgba(14, 26, 45, .045);
}

.about-approach-card i {
	display: grid;
	place-items: center;
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: 1.25rem;
	border-radius: 50%;
	background: rgba(14, 26, 45, .08);
	color: var(--zaraja-green);
	font-size: 1.45rem;
}

.about-approach-card h3 {
	margin-bottom: .75rem;
	font-size: 1.22rem;
	line-height: 1.3;
	color: #0e1a2d;
}

.about-approach-card p {
	margin-bottom: 0;
	color: #4b5a52;
	line-height: 1.7;
}

.about-cta-section {
	background: #0e1a2d;
}

.about-cta-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	padding: 2.4rem;
	border: 0;
	background: transparent;
}

.about-cta-panel h2,
.about-cta-panel p {
	color: #fff;
}

@media (max-width: 991.98px) {
	.about-hero-section {
		min-height: 500px;
	}

	.about-photo-card,
	.about-photo-card img {
		min-height: 320px;
	}

	.about-cta-panel {
		align-items: flex-start;
		flex-direction: column;
		padding: 1.6rem 0;
	}
}

@media (max-width: 575.98px) {
	.about-hero-section {
		min-height: 390px;
		padding-top: 3rem !important;
		padding-bottom: 3rem !important;
	}

	.about-hero-section::before {
		background: linear-gradient(180deg, rgba(14, 26, 45, .78) 0%, rgba(14, 26, 45, .72) 48%, rgba(14, 26, 45, .82) 100%);
	}

	.about-hero-section .page-title-row {
		padding-top: 1.25rem !important;
		padding-bottom: .5rem !important;
	}

	.about-approach-card {
		padding: 1.45rem;
	}

	.about-cta-panel .button {
		width: 100%;
	}
}

#copyrights .footer-legal-link {
	color: inherit !important;
	text-decoration: none;
	border-bottom: 1px dotted currentColor;
}

#copyrights .footer-legal-link:hover {
	color: var(--cnvs-themecolor) !important;
	border-bottom-color: currentColor;
}

#copyrights .footer-legal-separator {
	display: inline-block;
	margin: 0 .35rem;
	color: inherit;
	opacity: .75;
}

/* Stable hero banner images: prevent first-load parallax recalculation jump. */
.courses-hero-section.parallax .parallax-bg {
	height: 100% !important;
	transform: none !important;
	transition: none !important;
	will-change: auto;
}

/* Compact mobile header CTA. */
@media (max-width: 991.98px) {
	#header .header-misc .button {
		padding: .52rem .9rem;
		font-size: .85rem;
		white-space: nowrap;
	}

	#header .header-misc .button i {
		display: none;
	}
}

@media (max-width: 380px) {
	#header .header-misc .button {
		padding: .48rem .75rem;
		font-size: .78rem;
	}
}
