/* ── Footer — Premium Cross-Browser ── */

.site-footer {
  background: var(--navy-mid);
  border-top: 1px solid rgba(200,168,75,0.18);
  padding: var(--sp-9) 0 var(--sp-5);
  position: relative;
}

/* Subtle top glow */
.site-footer::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 60%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,168,75,0.5), transparent);
}

.footer-grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: var(--sp-8);
  margin-bottom: var(--sp-8);
}

/* Brand column */
.footer-brand .footer-logo {
  font-family: var(--font-display);
  font-size: 1.7rem;
  letter-spacing: 0.08em;
  color: var(--gold);
  margin-bottom: var(--sp-4);
  line-height: 1;
}

.footer-brand p {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  color: var(--gray-mid);
  font-size: 0.88rem;
  line-height: 1.85;
  margin-bottom: var(--sp-5);
  max-width: 290px;
}

/* Social links */
.footer-socials {
  display: -webkit-flex;
  display: flex;
  gap: var(--sp-2);
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.footer-social-link {
  width: 36px; height: 36px;
  border: var(--border-card);
  border-radius: var(--radius);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  color: var(--gold);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  font-family: var(--font-body);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition:
    background var(--t-mid) var(--ease-gold),
    border-color var(--t-mid) var(--ease-gold),
    color var(--t-mid) var(--ease-gold),
    -webkit-transform var(--t-mid) var(--ease-spring),
    transform var(--t-mid) var(--ease-spring);
}

.footer-social-link:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--navy);
  -webkit-transform: translateY(-3px);
  transform: translateY(-3px);
}

/* Coming soon — no URL yet */
.footer-social-disabled {
  opacity: 0.28;
  cursor: default;
  pointer-events: none;
}
.footer-social-disabled:hover {
  background: transparent;
  border-color: rgba(200,168,75,0.14);
  color: var(--gold);
  -webkit-transform: none;
  transform: none;
}

/* Nav/info columns */
.footer-col h4 {
  font-family: var(--font-display);
  font-size: 0.88rem;
  letter-spacing: 0.2em;
  color: var(--gold);
  margin-bottom: var(--sp-4);
  text-transform: uppercase;
}

.footer-col ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: var(--sp-3);
  list-style: none;
}

.footer-col ul a {
  font-size: 0.84rem;
  color: var(--gray-mid);
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: color var(--t-mid) var(--ease-gold);
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  gap: 6px;
}

.footer-col ul a::before {
  content: '';
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width var(--t-mid) var(--ease-out);
  display: inline-block;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}

.footer-col ul a:hover {
  color: var(--white);
}

.footer-col ul a:hover::before {
  width: 10px;
}

/* Contact column */
.footer-contact-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: var(--sp-2);
}

.footer-contact-row span {
  font-size: 0.9rem;
  color: var(--gray-mid);
  line-height: 1.5;
}

/* Footer bottom bar */
.footer-bottom {
  border-top: var(--border-card);
  padding-top: var(--sp-5);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

.footer-bottom p {
  font-size: 0.9rem;
  color: var(--gray);
  letter-spacing: 0.04em;
  line-height: 1.6;
}

.footer-bottom .scripture {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 500;
  color: var(--gold-dim);
  font-size: 0.9rem;
  line-height: 1.6;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand p { max-width: 100%; }
}

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

@media (max-width: 400px) {
  .footer-grid { grid-template-columns: 1fr; }
}
