.text-fmotn {
  color: #ffc206;
}

.text-shadow {
  text-shadow: 4px 4px 7px rgba(0, 0, 0, 0.3);
}

.fmotn-yellow {
  background-color: #d6ad33;
}

.button-dark {
  background: linear-gradient(90deg, #232526 0%, #414345 100%);
  color: #fff;
  border: none;
}

.hero-bg {
    background: linear-gradient(120deg, #e7bb0e 0%, #d5daa2 100%);
    display: flex;
    align-items: center;
}

.btn.btn-light:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(35, 37, 38, 0.15);
  transition: transform 0.2s cubic-bezier(0.4, 0.2, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0.2, 0.2, 1);
}       

.alt-soft-bg {
    background: linear-gradient(135deg, #f7f7e9 0%, #e1f0fe 100%);
}

.btn.button-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(35, 37, 38, 0.15);
  transition: transform 0.2s cubic-bezier(0.4, 0.2, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0.2, 0.2, 1);

}

.btn.button-yellow {
  background: linear-gradient(90deg, #ffc107 0%, #ff9800 100%);
  border: none;
}

.btn.button-yellow:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(35, 37, 38, 0.15);
  transition: transform 0.2s cubic-bezier(0.4, 0.2, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.button-dark:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(35, 37, 38, 0.15);
  transition: transform 0.2s cubic-bezier(0.4, 0.2, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0.2, 0.2, 1);
}

.fmotn-outline-yellow {
  border: 2px solid #d6ad33;
  color: #d6ad33;
  background-color: transparent;
}

.fmotn-outline-green {
  border: 2px solid #4CAF50;
  color: #4CAF50;
  background-color: transparent;
}

.fmotn-banner {
  background-image: url('../images/ChatGPT\ Image\ Apr\ 23\,\ 2025\,\ 05_45_58\ PM.webp');
  background-size: cover;
  background-position: center 25%;
  background-color: rgba(0, 0, 255, 0.4);
  background-blend-mode: overlay;
  width: 100%;
  font-weight: bolder;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

/* Footer styles */
.footer-custom {
    background: linear-gradient(90deg, #5b5c5c 0%, #000000 100%);
    color: #fff;
}

.footer-custom a {
    color: #fff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.footer-custom a:hover {
    color: #a2c2c5;
    text-decoration: underline;
}

.footer-logo-wrapper {
  width: 250px;   
  height: 250px;
  border-radius: 50%;
  border: 4px solid #D4AF37;
  background-color: #f7f7f7;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; 
}

.footer-logo {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain; 
}

/* Navbar link styles */
.custom-link {
    color: #333;
    font-weight: 500;
    position: relative;
    transition: color 0.3s ease;
    padding: 8px 12px;
}

.custom-dropdown-link {
    color: #333;
    font-weight: 500;
    position: relative;
    transition: color 0.3s ease;
    padding: 8px 12px;
    display: block; /* Ensures it behaves like a block element */
}


/* On hover */
.custom-link:hover,
.custom-link:focus {
    color: #17191b; /* or any theme color */
}

/* Optional underline effect on hover and active */
.custom-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;
    height: 2px;
    background-color: #17191b;
    transition: width 0.3s ease;
}

.custom-link:hover::after,
.custom-link:focus::after,
.custom-link.active::after {
    width: 100%;
}

/* Optional active state */
.custom-link.active {
    color: #17191b;
    font-weight: 600;
}

/* Ensure profile icon, name, and role are all black */
.fa-user-large,
.caption-title,
.caption-sub-title {
  color: #000 !important;
}

/* Keep navbar height consistent on small screens */
@media (max-width: 768px) {
  .caption {
    display: none !important;
  }

  .iq-navbar {
    min-height: 60px;
  }

  .fa-user-large {
    font-size: 1.5rem;
  }
}

/* Applied only while exporting PDFs to avoid visible seams at page breaks */
.pdf-capture .accordion-item,
.pdf-capture .accordion-body,
.pdf-capture .card,
.pdf-capture .card-body {
  border: 0 !important;
  box-shadow: none !important;
}
.pdf-capture hr {
  display: none !important;
}

/* Centered map spinner + smooth map reveal */
.map-container {
  position: relative;
  width: 100%;
  height: 300px;      /* fixed so the card doesn’t collapse */
  overflow: hidden;
}

/* desktop/tablet: let the map fill the column */
@media (min-width: 992px) {       /* was 768px */
  #featuredEvent .map-container {
    min-height: 300px;
    height: 100%;
  }
}

.map-spinner {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  z-index: 10;
  pointer-events: none;
}

.map-frame {
  position: absolute;      /* <- ensures full overlay fill */
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

.map-frame.loaded {
  opacity: 1;
}

/* Responsive logo and wordmark sizing */
.logo-img {
    height: 48px;
    transition: height 0.2s;
}
.wordmark-img {
    height: 1.2rem;
    transition: height 0.2s;
}
@media (max-width: 575.98px) {
    .logo-img {
        height: 32px;
    }
    .wordmark-img {
        display: none;
    }
    .navbar-brand {
        justify-content: center !important;
        width: 100%;
    }
}
/* Remove extra margin on mobile */
@media (max-width: 991.98px) {
    .navbar .ms-4 {
        margin-left: 0 !important;
    }
}