/* Footer — Design System v2 */
.sk-footer {
  background:
    radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--sk-primary) 22%, transparent), transparent 55%),
    linear-gradient(160deg, #0e2a54 0%, var(--sk-brand) 55%, #10203f 130%);
  color: #cdd8ec;
  font-family: var(--sk-font-body);
  margin-top: auto;
}
.sk-footer-inner { max-width: 1320px; margin: 0 auto; padding: 52px 24px 24px; }

.sk-footer-top {
  display: grid; grid-template-columns: 1.4fr 2fr; gap: 40px;
  padding-bottom: 34px; border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.sk-footer-logo { width: 150px; height: auto; margin-bottom: 16px; }
.sk-footer-tag { margin: 0 0 4px; font-family: var(--sk-font-display); font-size: 16px; font-weight: 600; color: #fff; }
.sk-footer-sub { margin: 0 0 20px; font-size: 13.5px; color: #9fb0cc; max-width: 42ch; }

.sk-footer-social { display: flex; gap: 10px; list-style: none; margin: 0; padding: 0; }
.sk-footer-social a {
  width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255, 255, 255, .09); color: #cdd8ec; transition: background .15s ease, color .15s ease, transform .12s ease;
}
.sk-footer-social a:hover { background: var(--sk-accent); color: #fff; transform: translateY(-2px); }

.sk-footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.sk-footer-col h4 {
  font-family: var(--sk-font-display); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #fff; margin: 0 0 16px;
}
.sk-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.sk-footer-col a { font-size: 14px; color: #a9b8d3; text-decoration: none; transition: color .12s ease; }
.sk-footer-col a:hover { color: #fff; }

.sk-footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  padding-top: 22px;
}
.sk-footer-copy { margin: 0; font-size: 13px; color: #8ba0c2; }
.sk-footer-legal { display: flex; gap: 22px; list-style: none; margin: 0; padding: 0; }
.sk-footer-legal a { font-size: 13px; color: #8ba0c2; text-decoration: none; transition: color .12s ease; }
.sk-footer-legal a:hover { color: #fff; }

@media (max-width: 860px) {
  .sk-footer-top { grid-template-columns: 1fr; gap: 30px; }
  .sk-footer-cols { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 560px) {
  .sk-footer-inner { padding: 40px 20px 22px; }
  .sk-footer-cols { grid-template-columns: 1fr 1fr; gap: 24px; }
  .sk-footer-bottom { justify-content: flex-start; }
}

/* Admin-managed social + contact */
.sk-footer-social { display: flex; gap: 10px; margin-top: 14px; }
.sk-footer-soc {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(255, 255, 255, 0.08); color: inherit; transition: background .12s;
}
.sk-footer-soc svg { width: 16px; height: 16px; }
.sk-footer-soc:hover { background: rgba(255, 255, 255, 0.18); }
.sk-footer-contact { list-style: none; margin: 12px 0 0; padding: 0; font-size: 13px; }
.sk-footer-contact a { color: inherit; opacity: .85; }
.sk-footer-contact a:hover { opacity: 1; }
.sk-footer-grievance { margin-top: 8px; font-size: 12px; opacity: .75; }
.sk-footer-grievance a { color: inherit; text-decoration: underline; }
