:root {
  /* Core palette – charcoal base (Modena-style) */
  --primary-color: #282828;
  --primary-color-rgb: 40, 40, 40;
  /* Accent – Modena red */
  --secondary-color: #E4002B;
  --secondary-color-rgb: 228, 0, 43;
  /* Light charcoal for cards / tertiary sections */
  --tertiary-color: #343434;
  --tertiary-color-rgb: 52, 52, 52;

  /* Dark-scheme backgrounds */
  --bg-dark-1: #282828;
  --bg-dark-3: #3A3A3C;
  --bg-color-even: #333333;
  --bg-color-odd: #2E2E2E;

  /* Title / footer typography */
  --title-font-color: #1D1D1F;
}

/* ---- Dark-scheme overrides ---- */

/* Red accent for ID-color icons (overrides primary on dark) */
body.dark-scheme .id-color {
  color: var(--secondary-color) !important;
}

/* Red topbar icons */
body.dark-scheme #topbar i {
  color: var(--secondary-color);
}

/* Footer: use darkest tint so it sits below the body */
body.dark-scheme footer {
  background: var(--title-font-color);
}

/* Hover accent for footer links */
body.dark-scheme footer a:hover {
  color: var(--secondary-color);
}

/* Red badge for nav extras */
body.dark-scheme #mainmenu ul li b {
  background: var(--secondary-color);
  color: #ffffff;
}

/* Scrollbar accent */
body.dark-scheme .scrollbar {
  background: var(--secondary-color);
}

/* Active filter accent */
body.dark-scheme #filters a.selected {
  background: var(--secondary-color);
}

/* Service card header image */
.service-card-bg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Hero background images with dark overlay gradient */
body.dark-scheme .hero-gradient {
  background-color: var(--bg-dark-1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
body.dark-scheme .hero-gradient-2 {
  background-color: var(--bg-dark-1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Hero background image as <img> cover layer */
.hero-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Scrim overlay via pseudo-element (survives designesia custom_bg) */
body.dark-scheme .swiper-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(18, 18, 18, 0.4) 0%,
    rgba(18, 18, 18, 0.1) 40%,
    rgba(18, 18, 18, 0.55) 100%
  );
}

/* Text readability over photo */
body.dark-scheme .sw-text-wrapper h1,
body.dark-scheme .sw-text-wrapper h2,
body.dark-scheme .sw-text-wrapper h3 {
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.85);
}

/* Keep hero caption above image + scrim layers */
body.dark-scheme .sw-caption {
  z-index: 2;
}

/* Force hero subtitle to be clearly visible */
body.dark-scheme .sw-caption .subtitle.s2 {
  color: #ffffff;
  font-size: 16px;
  letter-spacing: 0.5px;
  background: rgba(18, 18, 18, 0.5);
  box-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
  opacity: 1;
  animation: none !important;
}

/* About section: spacing on mobile when columns stack */
@media (max-width: 991.98px) {
  #about-us .offset-lg-1 {
    margin-top: 32px;
  }
}
