/* ============================================================
   footer.css — Premium dark footer
   Matches the dark theme + purple accent design system
   ============================================================ */

.site-footer {
  position  : relative;
  background: #05050e;
  border-top: 1px solid rgba(255,255,255,0.07);
  overflow  : hidden;
}

/* Subtle purple glow at top edge */
.site-footer::before {
  content   : '';
  position  : absolute;
  top       : -1px; left: 50%;
  transform : translateX(-50%);
  width     : 600px;
  height    : 1px;
  background: linear-gradient(to right,
    transparent,
    rgba(124,58,237,0.55) 40%,
    rgba(124,58,237,0.55) 60%,
    transparent
  );
  pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════
   MAIN GRID
═══════════════════════════════════════════════════════════ */
.footer-grid {
  max-width    : 1140px;
  margin       : 0 auto;
  padding      : 64px 40px 48px;
  display      : grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap          : 40px;
}

/* ── Column: Brand ── */

.footer-logo {
  display    : flex;
  align-items: center;
  gap        : 10px;
  text-decoration: none;
  margin-bottom: 24px;
}
/* Logo image — footer */
.footer-logo-img {
  height        : 72px;
  width         : auto;
  object-fit    : contain;
  display       : block;
  flex-shrink   : 0;
  filter        : brightness(1.15) contrast(1.12) drop-shadow(0 0 5px rgba(124,58,237,0.40));
  transition    : filter 0.25s ease;
}
.footer-logo:hover .footer-logo-img {
  filter: brightness(1.25) contrast(1.15) drop-shadow(0 0 9px rgba(167,139,250,0.55));
}
.footer-logo-name {
  font-family   : 'Inter', sans-serif;
  font-size     : 1rem;
  font-weight   : 800;
  color         : #ffffff;
  letter-spacing: -0.02em;
}

.footer-brand-desc {
  font-family  : 'Inter', sans-serif;
  font-size    : 0.84rem;
  font-weight  : 400;
  color        : rgba(255,255,255,0.32);
  line-height  : 1.65;
  max-width    : 260px;
  margin-bottom: 24px;
}

.footer-brand-cta {
  display       : inline-flex;
  align-items   : center;
  gap           : 6px;
  padding       : 10px 22px;
  background    : linear-gradient(135deg, rgba(124,58,237,0.22), rgba(91,33,182,0.15));
  border        : 1px solid rgba(124,58,237,0.35);
  border-radius : 999px;
  color         : rgba(255,255,255,0.80);
  font-family   : 'Inter', sans-serif;
  font-size     : 0.82rem;
  font-weight   : 600;
  text-decoration: none;
  cursor        : pointer;
  transition    : background 0.25s ease, border-color 0.25s ease,
                  transform 0.25s cubic-bezier(0.16,1,0.3,1);
}
.footer-brand-cta:hover {
  background  : linear-gradient(135deg, rgba(124,58,237,0.38), rgba(91,33,182,0.28));
  border-color: rgba(124,58,237,0.60);
  transform   : translateY(-2px);
  color       : #ffffff;
}

/* ── Column: Nav links ── */
.footer-col-title {
  font-family   : 'Inter', sans-serif;
  font-size     : 0.70rem;
  font-weight   : 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color         : rgba(255,255,255,0.28);
  margin-bottom : 18px;
}

.footer-links {
  list-style: none;
  margin    : 0;
  padding   : 0;
  display   : flex;
  flex-direction: column;
  gap       : 10px;
}
.footer-links a {
  font-family    : 'Inter', sans-serif;
  font-size      : 0.87rem;
  font-weight    : 400;
  color          : rgba(255,255,255,0.45);
  text-decoration: none;
  transition     : color 0.2s ease;
}
.footer-links a:hover { color: rgba(255,255,255,0.85); }

/* ═══════════════════════════════════════════════════════════
   BOTTOM BAR
═══════════════════════════════════════════════════════════ */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding   : 18px 40px;
  max-width : 1140px;
  margin    : 0 auto;
  display   : flex;
  align-items    : center;
  justify-content: space-between;
  gap       : 16px;
  flex-wrap : wrap;
}

.footer-copyright {
  font-family  : 'Inter', sans-serif;
  font-size    : 0.76rem;
  color        : rgba(255,255,255,0.22);
  line-height  : 1.5;
}
.footer-copyright strong {
  color      : rgba(255,255,255,0.35);
  font-weight: 600;
}

.footer-legal-links {
  display: flex;
  gap    : 20px;
  flex-wrap: wrap;
}
.footer-legal-links a {
  font-family    : 'Inter', sans-serif;
  font-size      : 0.76rem;
  color          : rgba(255,255,255,0.22);
  text-decoration: none;
  transition     : color 0.2s ease;
}
.footer-legal-links a:hover { color: rgba(255,255,255,0.60); }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
    padding: 48px 28px 36px;
  }
  .footer-brand-col  { grid-column: 1 / -1; }
  .footer-brand-desc { max-width: 100%; }
  .footer-logo-img   { height: 64px; }
}

@media (max-width: 560px) {
  .footer-grid {
    grid-template-columns: 1fr;
    padding: 40px 20px 28px;
    gap: 28px;
  }
  .footer-logo-img { height: 54px; }
  .footer-bottom {
    padding        : 16px 20px;
    flex-direction : column;
    align-items    : flex-start;
    gap            : 10px;
  }
}


/* ═══════════════════════════════════════════════════════════
   CONTACT BAR (HORIZONTAL)
═══════════════════════════════════════════════════════════ */
.footer-contact-bar {
  max-width: 1140px;
  margin: 0 auto 40px;
  padding: 24px 40px;
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.05);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
}

.fcb-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fcb-label {
  font-family: "Inter", sans-serif;
  font-size: 0.70rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.28);
}

.fcb-value, .fcb-value a {
  font-family: "Inter", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease;
}

.fcb-value a:hover {
  color: rgba(167,139,250,0.85);
}

@media (max-width: 800px) {
  .footer-contact-bar {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 24px;
  }
}

.fcb-title {
  flex-basis: 100%;
  font-family: "Inter", sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin-bottom: -4px;
}
