/* ==========================================================================
   FOOTER
   ========================================================================== */

.site-footer { background: var(--color-surface-dark); color: var(--color-text-inverse); }

.footer-top { padding-block: var(--space-9); display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: var(--space-5); }

.footer-brand .logo { color: var(--color-white); margin-bottom: var(--space-3); }
.footer-brand p { color: rgba(245,243,238,0.65); font-size: var(--fs-small); margin-bottom: var(--space-4); max-width: 34ch; }

.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(245,243,238,0.2);
  display: flex; align-items: center; justify-content: center;
  transition: background var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);
}
.footer-social a:hover { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-secondary); transform: scale(1.08); }

.footer-col h5 { color: var(--color-white); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: var(--space-3); font-weight: var(--fw-semibold); }
.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: var(--fs-small); color: rgba(245,243,238,0.65); position: relative; width: fit-content; }
.footer-col a:hover { color: var(--color-white); }
.footer-col a::after {
  content: "";
  position: absolute; left: 0; bottom: -2px;
  width: 100%; height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--transition-fast);
}
.footer-col a:hover::after { transform: scaleX(1); }

.footer-contact-item { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-small); color: rgba(245,243,238,0.75); margin-bottom: 14px; }
.footer-contact-item svg { flex-shrink: 0; margin-top: 2px; color: var(--color-accent); }

.footer-bottom {
  border-top: 1px solid rgba(245,243,238,0.12);
  padding-block: var(--space-4);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3);
  font-size: var(--fs-xs);
  color: rgba(245,243,238,0.55);
}
.footer-bottom-links { display: flex; gap: var(--space-4); flex-wrap: wrap; }
.footer-bottom-links a { color: rgba(245,243,238,0.55); }
.footer-bottom-links a:hover { color: var(--color-white); }

@media (max-width: 1024px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .footer-top { grid-template-columns: 1fr; gap: var(--space-6); }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
