/* Custom Styles */

/* Header - Reduced visual weight and slimmer vertical spacing */
#header .nav-link,
#header .font-weight-semibold {
  font-weight: 400 !important;
}

#header .header-body .row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#header .header-body {
  min-height: auto !important;
}

#header,
#header .header-container,
#header .header-row {
  min-height: auto !important;
}

/* Hamburger Menu - Black icon, no background */
.header-btn-collapse-nav {
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.5rem !important;
}

.header-btn-collapse-nav i {
  color: #111 !important;
  font-size: 1.5rem;
}

.header-btn-collapse-nav:hover,
.header-btn-collapse-nav:focus,
.header-btn-collapse-nav:active {
  background-color: transparent !important;
  box-shadow: none !important;
}

.header-btn-collapse-nav:hover i {
  color: var(--primary) !important;
}

/* Reference Images - Uniform sizing */
.portfolio-item .box-shadow-7 a img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
}

/* Service Cards - Uniform sizing */
.carousel-half-full-width-right .thumb-info-content-inner {
  min-height: 200px;
  display: flex;
  flex-direction: column;
}

.carousel-half-full-width-right .thumb-info-content-inner p {
  min-height: 60px;
  flex-grow: 1;
}

/* Accessibility Toolbar */
.accessibility-toolbar {
  background-color: #000;
  color: #fff;
  position: relative;
  z-index: 10060;
}

header#header {
  z-index: 1030;
}

/* Add padding when accessibility controls are visible */
body.accessibility-controls-visible {
  padding-top: 0;
}

body.accessibility-controls-visible #accessibility-controls {
  display: block !important;
}

/* Disable sticky header when accessibility toolbar is visible */
body.accessibility-toolbar-visible #header .header-body {
  position: static !important;
}

/* Allow normal sticky behavior when toolbar is not visible */
body:not(.accessibility-toolbar-visible) #header .header-body {
  position: relative;
}

.accessibility-toggle {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: color 0.3s ease;
}

.accessibility-toggle:hover {
  color: #ffd700;
}

.accessibility-toggle i {
  font-size: 1.25rem;
}

.accessibility-controls {
  background-color: #000;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10070;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  animation: slideDown 0.3s ease-in-out;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

#accessibility-close {
  transition: color 0.2s ease;
}

#accessibility-close:hover {
  color: #ffd700 !important;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.accessibility-heading {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.accessibility-desc {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.85rem;
  margin-bottom: 1rem;
  line-height: 1.4;
}

.accessibility-controls .form-check {
  margin-bottom: 0.75rem;
}

.accessibility-controls .form-check-input {
  background-color: transparent;
  border: 2px solid rgba(255, 255, 255, 0.5);
  cursor: pointer;
}

.accessibility-controls .form-check-input:checked {
  background-color: #ffd700;
  border-color: #ffd700;
}

.accessibility-controls .form-check-input:focus {
  border-color: #ffd700;
  box-shadow: 0 0 0 0.25rem rgba(255, 215, 0, 0.25);
}

.accessibility-controls .form-check-label {
  color: #fff;
  font-size: 0.9rem;
  cursor: pointer;
  user-select: none;
}

.accessibility-controls .form-group {
  margin-bottom: 0;
}

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

/* Preview classes for accessibility labels */
.accessibility-controls .fs-20 {
  font-size: 20px !important;
}

.accessibility-controls .fs-30 {
  font-size: 30px !important;
}

.accessibility-controls .word-spacing-big {
  word-spacing: 0.3em;
}

.accessibility-controls .letter-spacing-big {
  letter-spacing: 0.2em;
}

/* Accessibility Font Size Classes */
/* Big (Suur): 1.25x = 125% */
/* Very Big (Väga suur): 1.5x = 150% */

body.a11y-font-large {
  --font-scale: 1.25;
}

body.a11y-font-xlarge {
  --font-scale: 1.5;
}

body.a11y-font-large p,
body.a11y-font-large li:not(.nav-item),
body.a11y-font-large span:not(.badge):not([class*="text-"]),
body.a11y-font-large a:not(.nav-link),
body.a11y-font-large label,
body.a11y-font-large button:not(.header-btn-collapse-nav),
body.a11y-font-large input,
body.a11y-font-large textarea {
  font-size: calc(1em * 1.25) !important;
  line-height: 1.6 !important;
}

body.a11y-font-xlarge p,
body.a11y-font-xlarge li:not(.nav-item),
body.a11y-font-xlarge span:not(.badge):not([class*="text-"]),
body.a11y-font-xlarge a:not(.nav-link),
body.a11y-font-xlarge label,
body.a11y-font-xlarge button:not(.header-btn-collapse-nav),
body.a11y-font-xlarge input,
body.a11y-font-xlarge textarea {
  font-size: calc(1em * 1.5) !important;
  line-height: 1.6 !important;
}

/* Keep navigation items at reasonable size */
body.a11y-font-large .nav-link,
body.a11y-font-large #mainNav a {
  font-size: calc(1em * 1.1) !important;
}

body.a11y-font-xlarge .nav-link,
body.a11y-font-xlarge #mainNav a {
  font-size: calc(1em * 1.15) !important;
}

/* Override specific text utility classes */
body.a11y-font-large [class*="text-1"],
body.a11y-font-large [class*="text-2"],
body.a11y-font-large [class*="text-3"],
body.a11y-font-large [class*="text-4"],
body.a11y-font-large [class*="text-5"],
body.a11y-font-large [class*="text-6"],
body.a11y-font-large [class*="text-7"],
body.a11y-font-large [class*="text-8"],
body.a11y-font-large [class*="text-9"] {
  font-size: calc(1em * 1.25) !important;
}

body.a11y-font-xlarge [class*="text-1"],
body.a11y-font-xlarge [class*="text-2"],
body.a11y-font-xlarge [class*="text-3"],
body.a11y-font-xlarge [class*="text-4"],
body.a11y-font-xlarge [class*="text-5"],
body.a11y-font-xlarge [class*="text-6"],
body.a11y-font-xlarge [class*="text-7"],
body.a11y-font-xlarge [class*="text-8"],
body.a11y-font-xlarge [class*="text-9"] {
  font-size: calc(1em * 1.5) !important;
}

body.a11y-font-large h1,
body.a11y-font-large .h1,
body.a11y-font-large [class*="text-"] h1,
body.a11y-font-large h1[class*="text-"] {
  font-size: calc(2.5rem * 1.25) !important;
}

body.a11y-font-xlarge h1,
body.a11y-font-xlarge .h1,
body.a11y-font-xlarge [class*="text-"] h1,
body.a11y-font-xlarge h1[class*="text-"] {
  font-size: calc(2.5rem * 1.5) !important;
}

body.a11y-font-large h2,
body.a11y-font-large .h2,
body.a11y-font-large [class*="text-"] h2,
body.a11y-font-large h2[class*="text-"],
body.a11y-font-large h2[class*="font-"],
body.a11y-font-large div h2,
body.a11y-font-large .col h2,
body.a11y-font-large [class*="col-"] h2,
body.a11y-font-large h2[class*="mb-"],
body.a11y-font-large .appear-animation h2 {
  font-size: 3.5rem !important;
}

body.a11y-font-xlarge h2,
body.a11y-font-xlarge .h2,
body.a11y-font-xlarge [class*="text-"] h2,
body.a11y-font-xlarge h2[class*="text-"],
body.a11y-font-xlarge h2[class*="font-"],
body.a11y-font-xlarge div h2,
body.a11y-font-xlarge .col h2,
body.a11y-font-xlarge [class*="col-"] h2,
body.a11y-font-xlarge h2[class*="mb-"],
body.a11y-font-xlarge .appear-animation h2 {
  font-size: 5.25rem !important;
}

body.a11y-font-large h3,
body.a11y-font-large .h3,
body.a11y-font-large [class*="text-"] h3,
body.a11y-font-large h3[class*="text-"] {
  font-size: calc(1.75rem * 1.25) !important;
}

body.a11y-font-xlarge h3,
body.a11y-font-xlarge .h3,
body.a11y-font-xlarge [class*="text-"] h3,
body.a11y-font-xlarge h3[class*="text-"] {
  font-size: calc(1.75rem * 1.5) !important;
}

body.a11y-font-large h4,
body.a11y-font-large .h4,
body.a11y-font-large [class*="text-"] h4,
body.a11y-font-large h4[class*="text-"] {
  font-size: calc(1.5rem * 1.25) !important;
}

body.a11y-font-xlarge h4,
body.a11y-font-xlarge .h4,
body.a11y-font-xlarge [class*="text-"] h4,
body.a11y-font-xlarge h4[class*="text-"] {
  font-size: calc(1.5rem * 1.5) !important;
}

body.a11y-font-large h5,
body.a11y-font-large .h5,
body.a11y-font-large [class*="text-"] h5,
body.a11y-font-large h5[class*="text-"] {
  font-size: calc(1.25rem * 1.25) !important;
}

body.a11y-font-xlarge h5,
body.a11y-font-xlarge .h5,
body.a11y-font-xlarge [class*="text-"] h5,
body.a11y-font-xlarge h5[class*="text-"] {
  font-size: calc(1.25rem * 1.5) !important;
}

body.a11y-font-large h6,
body.a11y-font-large .h6,
body.a11y-font-large [class*="text-"] h6,
body.a11y-font-large h6[class*="text-"] {
  font-size: calc(1rem * 1.25) !important;
}

body.a11y-font-xlarge h6,
body.a11y-font-xlarge .h6,
body.a11y-font-xlarge [class*="text-"] h6,
body.a11y-font-xlarge h6[class*="text-"] {
  font-size: calc(1rem * 1.5) !important;
}

/* Make child elements within headings inherit the scaled heading size */
body.a11y-font-large h1 *,
body.a11y-font-large h2 *,
body.a11y-font-large h3 *,
body.a11y-font-large h4 *,
body.a11y-font-large h5 *,
body.a11y-font-large h6 * {
  font-size: inherit !important;
}

body.a11y-font-xlarge h1 *,
body.a11y-font-xlarge h2 *,
body.a11y-font-xlarge h3 *,
body.a11y-font-xlarge h4 *,
body.a11y-font-xlarge h5 *,
body.a11y-font-xlarge h6 * {
  font-size: inherit !important;
}

/* Accessibility Paragraph Spacing */
body.a11y-paragraph-spacing p,
body.a11y-paragraph-spacing li,
body.a11y-paragraph-spacing div {
  line-height: 2;
  margin-bottom: 1.5rem;
}

/* Accessibility Word Spacing */
body.a11y-word-spacing * {
  word-spacing: 0.3em;
}

/* Accessibility Letter Spacing */
body.a11y-letter-spacing * {
  letter-spacing: 0.1em;
}

/* Accessibility High Contrast Mode */
body.a11y-contrast-high,
body.a11y-contrast-high .body,
body.a11y-contrast-high .main {
  background-color: #000 !important;
  --bs-highlight-bg: #333 !important;
  --bs-highlight-color: #ff0 !important;
}

body.a11y-contrast-high a,
body.a11y-contrast-high button,
body.a11y-contrast-high .btn,
body.a11y-contrast-high h1,
body.a11y-contrast-high h2,
body.a11y-contrast-high h3,
body.a11y-contrast-high h4,
body.a11y-contrast-high h5,
body.a11y-contrast-high h6,
body.a11y-contrast-high p,
body.a11y-contrast-high span,
body.a11y-contrast-high div,
body.a11y-contrast-high li,
body.a11y-contrast-high label,
body.a11y-contrast-high strong,
body.a11y-contrast-high em,
body.a11y-contrast-high i,
body.a11y-contrast-high b,
body.a11y-contrast-high input,
body.a11y-contrast-high textarea,
body.a11y-contrast-high select {
  color: #ff0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body.a11y-contrast-high .dropdown-menu {
  background-color: #000 !important;
  border-color: #ff0 !important;
}

body.a11y-contrast-high .dropdown-item {
  color: #ff0 !important;
  background-color: transparent !important;
}

body.a11y-contrast-high .dropdown-item:hover,
body.a11y-contrast-high .dropdown-item:focus,
body.a11y-contrast-high .dropdown-item.active {
  background-color: #333 !important;
  color: #ff0 !important;
}

body.a11y-contrast-high mark,
body.a11y-contrast-high p mark,
body.a11y-contrast-high em mark,
body.a11y-contrast-high .custom-el-1 em mark {
  background-color: #333 !important;
  background-image: none !important;
  color: #ff0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

body.a11y-contrast-high mark:before,
body.a11y-contrast-high mark.mark-color:before,
body.a11y-contrast-high mark.mark-color-primary:before,
body.a11y-contrast-high mark.mark-color-secondary:before,
body.a11y-contrast-high mark.mark-color-tertiary:before,
body.a11y-contrast-high mark.mark-color-quaternary:before,
body.a11y-contrast-high mark.mark-color-dark:before,
body.a11y-contrast-high mark.mark-color-light:before,
body.a11y-contrast-high mark.mark-gradient:before {
  background: #333 !important;
  background-color: #333 !important;
  background-image: none !important;
}

body.a11y-contrast-high a,
body.a11y-contrast-high button {
  text-decoration: underline;
}

body.a11y-contrast-high a:hover,
body.a11y-contrast-high button:hover {
  color: #fff !important;
}

body.a11y-contrast-high img {
  filter: grayscale(100%) contrast(120%) brightness(1.2);
  opacity: 0.8;
}

body.a11y-contrast-high svg {
  filter: none;
  opacity: 1;
}

body.a11y-contrast-high input,
body.a11y-contrast-high textarea,
body.a11y-contrast-high select,
body.a11y-contrast-high button,
body.a11y-contrast-high .btn {
  border: 2px solid #ff0 !important;
  background-color: #000 !important;
}

body.a11y-contrast-high .accessibility-toolbar {
  background-color: #000 !important;
}

body.a11y-contrast-high .form-check-input {
  background-color: #000 !important;
  border-color: #ff0 !important;
}

body.a11y-contrast-high .form-check-input:checked {
  background-color: #000 !important;
  border-color: #ff0 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23ffff00' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}

body.a11y-contrast-high .form-check-input[type="radio"]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23ffff00'/%3e%3c/svg%3e") !important;
}

body.a11y-contrast-high .form-check-label {
  color: #ff0 !important;
}

/* Override theme-specific backgrounds */
body.a11y-contrast-high .bg-primary,
body.a11y-contrast-high .bg-secondary,
body.a11y-contrast-high .bg-tertiary,
body.a11y-contrast-high .bg-light,
body.a11y-contrast-high .bg-dark,
body.a11y-contrast-high .bg-quaternary,
body.a11y-contrast-high .bg-color-dark-rgba-30,
body.a11y-contrast-high [class*="bg-"],
body.a11y-contrast-high [class*="overlay"],
body.a11y-contrast-high .overlay-color-tertiary,
body.a11y-contrast-high .overlay-color-primary,
body.a11y-contrast-high .featured-icon,
body.a11y-contrast-high .feature-box-icon,
body.a11y-contrast-high [class*="feature-box"],
body.a11y-contrast-high .box-shadow-7,
body.a11y-contrast-high section,
body.a11y-contrast-high header,
body.a11y-contrast-high footer,
body.a11y-contrast-high .header-body,
body.a11y-contrast-high nav,
body.a11y-contrast-high .container,
body.a11y-contrast-high .row,
body.a11y-contrast-high [class*="col-"],
body.a11y-contrast-high .parallax-background,
body.a11y-contrast-high [class*="parallax"] {
  background-color: #000 !important;
  background-image: none !important;
}

/* Override overlay pseudo-elements */
body.a11y-contrast-high .overlay::before,
body.a11y-contrast-high .overlay::after,
body.a11y-contrast-high [class*="overlay"]::before,
body.a11y-contrast-high [class*="overlay"]::after {
  background-color: #000 !important;
  background-image: none !important;
  opacity: 0 !important;
}

/* Override SVG fills for decorative elements */
body.a11y-contrast-high .svg-fill-color-light svg,
body.a11y-contrast-high .svg-fill-color-light svg *,
body.a11y-contrast-high .svg-fill-color-primary svg,
body.a11y-contrast-high .svg-fill-color-primary svg *,
body.a11y-contrast-high [class*="svg-fill"] svg,
body.a11y-contrast-high [class*="svg-fill"] svg * {
  fill: #ff0 !important;
}

/* Make SVG chart bars visible */
body.a11y-contrast-high svg rect[fill]:not([fill="none"]) {
  fill: #ff0 !important;
  stroke: #000 !important;
  stroke-width: 2;
}

/* Override all SVG element fills */
body.a11y-contrast-high svg > *[fill]:not([fill="none"]) {
  fill: #ff0 !important;
}

body.a11y-contrast-high svg g[fill]:not([fill="none"]),
body.a11y-contrast-high svg g[fill]:not([fill="none"]) * {
  fill: #ff0 !important;
}

/* Animated icons */
body.a11y-contrast-high .animated-icon svg,
body.a11y-contrast-high .animated-icon svg * {
  fill: #ff0 !important;
}

body.a11y-contrast-high svg circle[fill]:not([fill="none"]),
body.a11y-contrast-high svg ellipse[fill]:not([fill="none"]),
body.a11y-contrast-high svg polygon[fill]:not([fill="none"]),
body.a11y-contrast-high svg polyline[fill]:not([fill="none"]) {
  fill: #ff0 !important;
}

/* Custom chart color classes */
body.a11y-contrast-high .custom-graph-svg-color-primary {
  fill: #ff0 !important;
  stroke: #000 !important;
}

body.a11y-contrast-high .custom-graph-svg-color-secondary {
  fill: #999 !important;
  stroke: #000 !important;
}

/* SVG text labels */
body.a11y-contrast-high svg text {
  fill: #ff0 !important;
  color: #ff0 !important;
}

/* SVG paths with fill */
body.a11y-contrast-high svg path[fill]:not([fill="none"]) {
  fill: #ff0 !important;
}

/* SVG gridlines - make them visible but subtle */
body.a11y-contrast-high svg path[stroke]:not([fill]),
body.a11y-contrast-high svg line[stroke] {
  stroke: #666 !important;
}

/* Catch-all for any remaining SVG elements with inline styles */
body.a11y-contrast-high svg [style*="fill"][style*="rgb"] {
  fill: #ff0 !important;
}

/* Ensure SVG backgrounds are transparent */
body.a11y-contrast-high svg {
  background-color: transparent !important;
}

/* Override theme-specific text colors */
body.a11y-contrast-high .text-light,
body.a11y-contrast-high .text-dark,
body.a11y-contrast-high .text-primary,
body.a11y-contrast-high .text-secondary,
body.a11y-contrast-high .text-color-light,
body.a11y-contrast-high .text-color-dark,
body.a11y-contrast-high .text-color-grey,
body.a11y-contrast-high [class*="text-color-"],
body.a11y-contrast-high [class*="text-"] {
  color: #ff0 !important;
}

/* Hide testimonials carousel dots */
.container.pb-5 .owl-carousel.owl-theme .owl-dots {
  display: none !important;
}

/* Allow shadows to show without breaking carousel */
.container.pb-5 .owl-carousel .owl-stage-outer {
  overflow: visible !important;
  padding: 2rem 0 !important;
}

.container.pb-5 .owl-carousel .owl-stage {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

/* Uniform testimonial card formatting - Complete reset and rebuild */
.container.pb-5 .owl-carousel .card {
  background-color: var(--light) !important;
  border: 0 !important;
  border-radius: 0.75rem !important;
  box-shadow: 0 1.875rem 3.75rem rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 350px !important;
}

/* Card body takes full space */
.container.pb-5 .owl-carousel .card-body {
  background-color: var(--light) !important;
  padding: 1.5rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 0.75rem !important;
}

/* Testimonial container - no borders, consistent background */
.container.pb-5 .owl-carousel .testimonial.testimonial-style-4 {
  background-color: var(--light) !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  border-radius: 0.75rem !important;
}

/* Ensure all nested divs also have rounded corners */
.container.pb-5 .owl-carousel .card *,
.container.pb-5 .owl-carousel .card-body *,
.container.pb-5 .owl-carousel .testimonial * {
  border-radius: 0.75rem !important;
}

/* Author section styling */
.container.pb-5 .owl-carousel .testimonial-author {
  background-color: var(--light) !important;
  border: 0 !important;
  padding-bottom: 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem !important;
  border-radius: 0.75rem !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.container.pb-5 .owl-carousel .testimonial-author-thumbnail {
  background-color: var(--light) !important;
  border: 0 !important;
  flex-shrink: 0 !important;
}

.container.pb-5 .owl-carousel .testimonial-author-thumbnail img {
  border-radius: 50% !important;
}

.container.pb-5 .owl-carousel .testimonial-author p {
  background-color: var(--light) !important;
  border: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0.75rem !important;
  text-align: left !important;
}

/* Content section styling */
.container.pb-5 .owl-carousel .testimonial .px-4 {
  background-color: var(--light) !important;
  border: 0 !important;
  padding: 1rem 0 1.5rem 0 !important;
  margin: 0 !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  border-radius: 0.75rem !important;
}

/* Remove all borders and background images from all elements and pseudo-elements */
.container.pb-5 .owl-carousel .card *,
.container.pb-5 .owl-carousel .card *::before,
.container.pb-5 .owl-carousel .card *::after {
  border: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  background-image: none !important;
  background: var(--light) !important;
}

/* Remove any gradients or shadows from testimonial elements */
.container.pb-5 .owl-carousel .testimonial.testimonial-style-4::before,
.container.pb-5 .owl-carousel .testimonial.testimonial-style-4::after,
.container.pb-5 .owl-carousel .testimonial-author::before,
.container.pb-5 .owl-carousel .testimonial-author::after {
  display: none !important;
  content: none !important;
}

/* Ensure consistent paragraph styling */
.container.pb-5 .owl-carousel .testimonial p {
  background: var(--light) !important;
  background-color: var(--light) !important;
  background-image: none !important;
}

/* Remove any box shadows from inner elements */
.container.pb-5 .owl-carousel .testimonial * {
  box-shadow: none !important;
}

/* Fix contact button styling */
.bg-quaternary section .btn-primary {
  color: #ffffff !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08) !important;
  border: none !important;
  border-color: transparent !important;
}

.bg-quaternary section .btn-primary:hover {
  background-color: rgb(46, 137, 91) !important;
  color: #ffffff !important;
  border: none !important;
  border-color: transparent !important;
}

/* Remove intro mark highlight completely */
#intro mark:before,
#intro mark.mark-gradient:before,
#intro mark.mark-gradient-primary:before {
  display: none !important;
}

#intro mark {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Allow teenused hero image to overflow */
body:has(.page-header) .main {
  overflow: visible !important;
  margin-top: 25px !important;
}

body:has(.page-header) #header,
body:has(.page-header) header {
  z-index: 10050 !important;
  position: relative !important;
}

.page-header.overflow-hidden {
  overflow: visible !important;
  position: relative !important;
  z-index: 1045 !important;
}

/* Ensure page-header child elements don't cover lightbox */
.page-header .overflow-hidden.p-absolute {
  z-index: 1 !important;
}

/* Ensure mobile menu appears above page-header */
.offcanvas {
  z-index: 10060 !important;
}

.offcanvas-backdrop {
  z-index: 10055 !important;
}

/* Make abstract SVG background overflow on mobile like desktop */
@media (max-width: 991px) {
  .page-header .container {
    overflow: visible !important;
  }

  .page-header .row {
    overflow: visible !important;
  }

  .page-header .col-4,
  .page-header .col-md-5 {
    overflow: visible !important;
  }

  /* Allow the div containing the S logo to overflow */
  .page-header .col-4 > div,
  .page-header .col-md-5 > div {
    overflow: visible !important;
    max-width: none !important;
  }

  .page-header .custom-pos-5 {
    width: 200% !important;
    left: -50% !important;
    top: -100% !important;
  }

  /* Make S logo bigger on mobile */
  .page-header .col-4 img[src*="s-breadcrumb"],
  .page-header .col-md-5 img[src*="s-breadcrumb"] {
    width: 250px !important;
    min-width: 250px !important;
    max-width: none !important;
    height: auto !important;
    flex-shrink: 0 !important;
    position: relative !important;
    left: -30px !important;
  }

  /* Move breadcrumb content lower on mobile */
  .page-header .col-8,
  .page-header .col-md-7 {
    padding-top: 80px !important;
  }
}

/* Also target on slightly larger screens */
@media (min-width: 576px) and (max-width: 991px) {
  .page-header .col-4 img[src*="s-breadcrumb"],
  .page-header .col-md-5 img[src*="s-breadcrumb"] {
    width: 300px !important;
    min-width: 300px !important;
    max-width: none !important;
    height: auto !important;
    position: relative !important;
    left: -30px !important;
  }
}

.page-header .row {
  min-height: 200px !important;
  max-height: 250px !important;
  overflow: visible !important;
}

.page-header .container {
  overflow: visible !important;
}

.page-header .col-4.col-md-5.p-relative {
  overflow: visible !important;
  height: 100% !important;
}

.page-header .col-4.col-md-5.p-relative > div {
  overflow: visible !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  height: auto !important;
}

.page-header .col-4.col-md-5.p-relative img[src*=".svg"] {
  max-width: none !important;
  width: 150% !important;
  height: auto !important;
  position: relative !important;
}

.page-header .col-4.col-md-5.p-relative img[src*=".webp"] {
  max-width: none !important;
  width: 100% !important;
  height: auto !important;
  position: relative !important;
}

/* Teenused hero SVG full opacity */
.page-header .col-4.col-md-5.p-relative > div > img {
  opacity: 1 !important;
}

/* SVG display over header but below lightbox */
.page-header .col-4.col-md-5.p-relative {
  z-index: 1045 !important;
}

.page-header .col-4.col-md-5.p-relative > div {
  z-index: 1045 !important;
}

/* Ensure lightbox is above all page elements on all screen sizes */
.mfp-bg {
  z-index: 10060 !important;
  opacity: 0.8 !important;
  background: #000 !important;
}

.mfp-wrap {
  z-index: 10065 !important;
}

/* Move lightbox close button closer to image on mobile */
@media (max-width: 767px) {
  .mfp-wrap.mfp-gallery .mfp-close,
  .mfp-wrap .mfp-close,
  button.mfp-close {
    right: 10px !important;
    top: 10px !important;
    width: 60px !important;
    height: 60px !important;
    position: fixed !important;
    z-index: 10070 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    border-radius: 50% !important;
    color: #fff !important;
    font-size: 28px !important;
    line-height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .mfp-wrap,
  .mfp-bg {
    z-index: 10065 !important;
  }

  .mfp-content {
    z-index: 1 !important;
    position: relative !important;
  }

  .mfp-wrap > button.mfp-close {
    z-index: 10 !important;
  }
}

/* Reduce page-header vertical space on mobile */
@media (max-width: 767px) {
  .page-header {
    padding: 5px 0 !important;
    margin-bottom: 10px !important;
  }

  .page-header h1 {
    font-size: 25px !important;
    line-height: 1.1 !important;
    margin-bottom: 0 !important;
  }

  .page-header .row {
    min-height: 70px !important;
    max-height: 80px !important;
  }

  /* Reduce spacing for breadcrumb content */
  .page-header .col-8,
  .page-header .col-md-7 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Make S logo bigger and allow overflow on mobile */
  .page-header .col-4 img[src*="s-breadcrumb"],
  .page-header .col-md-5 img[src*="s-breadcrumb"] {
    width: 130px !important;
    min-width: 130px !important;
    left: -20px !important;
    top: -15px !important;
  }

  /* Allow logo to overflow */
  .page-header .col-4,
  .page-header .col-md-5 {
    overflow: visible !important;
  }

  .page-header .col-4 > div,
  .page-header .col-md-5 > div {
    overflow: visible !important;
  }
}
