section.footer-transition {
  width: 100% !important;
  display: block !important;
  background: transparent !important;
  line-height: 0 !important;
  margin-top: 1.4rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}

.footer-wave-cut { fill: var(--footer-bg, #050505) !important; }
svg.footer-wave { display: block !important; width: 100% !important; height: 78px !important; vertical-align: bottom !important; margin: 0 !important; }

footer.footer-main {
  display: block !important;
  width: 100% !important;
  background: var(--footer-bg, #050505) !important;
  position: relative !important;
  min-height: 240px !important;
  margin-top: -1px !important;
  padding: 0 !important;
  border-top: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.footer-main::before { display: none !important; }

.footer-top {
  width: min(1220px, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  min-height: 96px !important;
  padding: 1.1rem 0 1rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1rem !important;
  position: relative !important;
  z-index: 1 !important;
  border-bottom: 1px solid #1f2225 !important;
}

.socials { display: flex !important; gap: 0.45rem !important; }
.socials a {
  width: 36px !important; height: 36px !important; display: inline-flex !important;
  align-items: center !important; justify-content: center !important; border: none !important;
  border-radius: 0 !important; font-size: 0.74rem !important; font-weight: 700 !important;
  color: var(--accent, #ffffff) !important; background: transparent !important; text-decoration: none !important;
}
.social-icon { width: 26px !important; height: 26px !important; display: block !important; filter: brightness(0) invert(1) !important; }
.socials a:hover .social-icon {
  filter: brightness(0) saturate(100%) invert(46%) sepia(58%) saturate(1822%) hue-rotate(319deg) brightness(101%) contrast(102%) !important;
}

.footer-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(180deg, transparent 0%, #090909 100%) !important; opacity: 0.35 !important; }

.footer-inner {
  width: min(1220px, calc(100% - 2rem)) !important;
  margin: 0 auto !important;
  padding: 1.2rem 0 3rem !important;
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.8rem 1.5rem !important;
  color: #c8b6b6 !important;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1rem !important;
}

.footer-inner a,
.footer-inner a:link,
.footer-inner a:visited,
.footer-inner a:active {
  color: #c8b6b6 !important;
  text-decoration: none !important;
  font-family: inherit !important;
  font-size: 1rem !important;
  white-space: nowrap !important;
}

.footer-inner a:hover { color: var(--accent-red, #ff4f66) !important; }
.footer-inner a + a::before { content: "-" !important; margin-right: 1.5rem !important; color: #6f6464 !important; }

/* Lock footer link color even if page-specific styles override generic anchors */
footer#contact.footer-main .footer-inner a,
footer#contact.footer-main .footer-inner a:link,
footer#contact.footer-main .footer-inner a:visited,
footer#contact.footer-main .footer-inner a:active {
  color: #c8b6b6 !important;
}

footer#contact.footer-main .footer-inner a:hover {
  color: var(--accent-red, #ff4f66) !important;
}

@media (max-width: 740px) {
  .footer-top {
    min-height: 82px !important;
    padding-top: 0.9rem !important;
    padding-bottom: 0.75rem !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .footer-inner {
    padding: 0.9rem 0 2rem !important;
    gap: 0.55rem 1rem !important;
    font-size: 0.9rem !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .footer-inner a,
  .footer-inner a:link,
  .footer-inner a:visited,
  .footer-inner a:active {
    font-size: 0.9rem !important;
  }

  .footer-inner a + a::before {
    content: "" !important;
    margin-right: 0 !important;
  }
}

@media (min-width: 901px) {
  section.footer-transition {
    margin-top: 2.4rem !important;
  }
}
