/* ========== XGC Brand Color Overrides ========== */

/* Brand Gold */
:root {
  --xgc-gold: #FCB03C;
  --xgc-green: #106735;
  --grey-100: #f3f4f6;
}

/* Accent all services SVGs in XGC brand green */
.services-svg,
.services-svg * {
  fill: #106735 !important; /* Brand green */
  color: #106735 !important;
}
.services-svg {
  filter: invert(27%) sepia(83%) saturate(822%) hue-rotate(92deg) brightness(97%) contrast(104%);
}
/* only header elements, not the news subheader */
header.header-full,
.header-full.transparent {
  background-color: var(--xgc-green) !important;
  background-image: none !important;
}

/* Main menu link base color (green, not white) */
#mainmenu a,
#mainmenu a.menu-item {
    color: lightgrey !important;
    opacity: 0.9 !important; /* Slightly faded */
    font-size: 16px; /* Consistent with other links */
    font-weight: 600;
    transition: color 0.2s;
}

/* Menu link hover and active state: gold */
#mainmenu a:hover,
#mainmenu a.menu-item:hover,
#mainmenu li.active > a,
#mainmenu a.active {
    color: var(--xgc-gold) !important;
    opacity: 1 !important;
}

/* Optionally, if you want the mobile menu to match */
#mainmenu li.active > a,
#mainmenu li a.active {
    color: var(--xgc-gold) !important;
}

/* Gold button by default */
.btn-line {
  background-color: var(--xgc-gold) !important;
  color: #106735 !important; /* XGC green text for contrast */
  border: none !important;
  border-radius: 6px;
  font-weight: 600;
  box-shadow: none;
  transition: background 0.2s, color 0.2s;
}

/* Hover: light grey bg, gold border, green text */
.btn-line:hover, .btn-line:focus {
  background-color: #f3f4f6 !important;  /* grey-100 */
  color: var(--xgc-green) !important;
  border: 1px solid var(--xgc-gold) !important;
  box-shadow: none;
}
/* baked into all slides */
.swiper-slide .swiper-inner::before {
  content: "";
  position: absolute;
  top:0; left:0; right:0; bottom:0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

/* make sure your captions sit above the overlay */
.sw-caption { position: relative; z-index: 2; }

/* ========== VIBE Section Styles ========== */
.vibe-hero {
  background: url("../images/slider/xgc-vibe-bg.webp") center/cover no-repeat !important;
  position: relative;
  color: #fff;
  min-height: 60vh; /* Ensures visible area */
}
.vibe-hero::before {
  content: "";
  position: absolute;
  top:0; left:0; right:0; bottom:0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}
.vibe-hero .container {
  position: relative;
  z-index: 2;
}

.vibe-hero .overlay {
  background: rgba(0, 0, 0, 0.45); /* dark overlay α drives contrast */
  top: 0; left: 0; z-index: 1;
}

.vibe-hero .text-block {
  z-index: 2;
  color: #fff;
}

.vibe-hero .subtitle,
.vibe-hero h2 {
  color: var(--xgc-gold);
  text-shadow: 0 1px 3px rgba(0,0,0,0.5);
}

.vibe-hero p {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}
/* simple scale sovereign */
.hover-zoom { transition: transform 0.3s ease; }
.hover-zoom:hover { transform: scale(1.04); }

/* restore the image for the hero news banner */
section#subheader.hero-news {
  background-color: transparent !important;
  background-image: url("../images/background/hero-news.webp") !important;
  background-size: cover;
}


/* Semi‐transparent overlay to improve text legibility */
.hero-news__overlay {
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

/* Ensure text sits above the overlay */
.hero-news .container {
  z-index: 2;
}

/* Optional tweaks if you need even tighter spacing */
.hero-news .subtitle,
.hero-news h2 {
  margin-bottom: 0.5rem; /* tighter than default */
}

/* Team image size adjustments */
.team-photo {
  width: 180px;
  height: 180px;
  object-fit: cover;
  display: inline-block;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

/* Optional: restore color on hover */
.team-photo:hover {
  filter: none;
}