.site-footer {
  background: #0D0D0D;
  color: rgba(255,255,255,0.6);
  padding-top: var(--sp-20);
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--sp-8);
  padding-bottom: var(--sp-16);
  border-bottom: 1px solid var(--clr-border-dark);
}
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .footer-grid { grid-template-columns: 1fr; }
}
.footer-brand__logo { margin-bottom: var(--sp-5); }
.footer-brand__desc {
  font-size: var(--fs-sm);
  line-height: 1.8;
  max-width: 300px;
  margin-bottom: var(--sp-6);
}
.footer-social {
  display: flex;
  gap: var(--sp-3);
}
.footer-social a {
  width: 38px;
  height: 38px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: rgba(255,255,255,0.6);
  transition: all var(--trans-fast);
}
.footer-social a:hover {
  background: var(--clr-orange);
  border-color: var(--clr-orange);
  color: var(--clr-white);
}
.footer-col__title {
  font-family: var(--font-heading);
  font-size: var(--fs-base);
  font-weight: 700;
  color: var(--clr-white);
  margin-bottom: var(--sp-5);
}
.footer-col ul { display: flex; flex-direction: column; gap: var(--sp-3); }
.footer-col a {
  font-size: var(--fs-sm);
  color: rgba(255,255,255,0.55);
  transition: color var(--trans-fast);
}
.footer-col a:hover { color: var(--clr-orange); }

.footer-contact-item {
  display: flex;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
  font-size: var(--fs-sm);
}
.footer-contact-item .icon {
  width: 32px;
  height: 32px;
  background: rgba(255,139,0,0.1);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--clr-orange);
}
.footer-contact-item .text { color: rgba(255,255,255,0.55); line-height: 1.6; }

.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding-block: var(--sp-6);
}
.footer-bottom__copy { font-size: var(--fs-xs); color: rgba(255,255,255,0.35); }
.footer-bottom__links {
  display: flex;
  gap: var(--sp-6);
}
.footer-bottom__links a {
  font-size: var(--fs-xs);
  color: rgba(255,255,255,0.35);
  transition: color var(--trans-fast);
}
.footer-bottom__links a:hover { color: var(--clr-orange); }

/* ── Footer Mobile Fixes ── */
@media (max-width: 768px) {
  /* Reduce top padding so footer doesn't feel oversized */
  .site-footer {
    padding-top: var(--sp-12);
  }

  /* Footer grid: already 1-col via responsive.css — tighten padding */
  .footer-grid {
    padding-bottom: var(--sp-10);
    gap: var(--sp-6);
  }

  /* Brand description: release the 300px cap so it fills the column */
  .footer-brand__desc {
    max-width: 100%;
  }

  /* Social icons: bump to 40×40 minimum for touch targets */
  .footer-social a {
    min-width: 40px;
    min-height: 40px;
    width: 40px;
    height: 40px;
  }

  /* Column headings: tighten spacing */
  .footer-col__title {
    margin-bottom: var(--sp-4);
    font-size: var(--fs-sm);
  }

  /* Footer nav links: comfortable tap height */
  .footer-col ul {
    gap: 0;
  }
  .footer-col ul li {
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 0.25rem 0;
  }
  .footer-col a {
    display: block;
    padding: 0.25rem 0;
    min-height: 36px;
    display: flex;
    align-items: center;
  }

  /* Contact items: slightly tighter vertical spacing */
  .footer-contact-item {
    margin-bottom: var(--sp-3);
  }

  /* Bottom bar: already column-centered via responsive.css — fix font sizes */
  .footer-bottom {
    padding-block: var(--sp-5);
    gap: var(--sp-2);
  }
  .footer-bottom__copy {
    font-size: 0.8rem;
  }
  .footer-bottom__links {
    gap: var(--sp-4);
  }
  .footer-bottom__links a {
    font-size: 0.8rem;
  }
}

@media (max-width: 480px) {
  /* Further reduce top padding on very small screens */
  .site-footer {
    padding-top: var(--sp-10);
  }

  /* Footer grid: already 1-col, reduce inter-column gap further */
  .footer-grid {
    gap: var(--sp-5);
    padding-bottom: var(--sp-8);
  }

  /* Bottom bar links: stack vertically on very small screens */
  .footer-bottom__links {
    flex-direction: column;
    align-items: center;
    gap: var(--sp-2);
  }

  /* Brand logo spacing */
  .footer-brand__logo {
    margin-bottom: var(--sp-4);
  }

  /* Ensure social icons have adequate spacing */
  .footer-social {
    gap: var(--sp-2);
  }
}
