/* ═════════════════════════════════════════════════════════
   FOOTER v3 — TIGHTEST possible spacing, cache-busted name
   ALL rules use !important and reset all sources of extra spacing
   ═════════════════════════════════════════════════════════ */

footer.site-footer { background: var(--bg2, var(--bg-secondary)) !important; border-top: 1px solid var(--border) !important; padding: 2.5rem 0 1.2rem !important; margin-top: 0 !important; }
.site-footer .c { max-width: 1400px !important; margin: 0 auto !important; padding: 0 2.5rem !important; }

.foot-grid { display: grid !important; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr !important; gap: 1.8rem !important; margin-bottom: 1.5rem !important; align-items: start !important; }
.foot-col-links { display: contents !important; }

.foot-logo { font-family: 'Playfair Display', serif !important; font-size: 1.25rem !important; font-weight: 300 !important; color: var(--text, var(--text-primary)) !important; text-decoration: none !important; display: block !important; margin: 0 0 0.5rem 0 !important; padding: 0 !important; line-height: 1.2 !important; }
.foot-logo span { color: var(--accent) !important; }
.foot-desc { font-size: 0.74rem !important; color: var(--text3, var(--text-muted)) !important; line-height: 1.55 !important; max-width: 280px !important; margin: 0 0 0.8rem 0 !important; padding: 0 !important; letter-spacing: normal !important; }
.foot-socials { display: flex !important; gap: 0.4rem !important; margin: 0 !important; padding: 0 !important; }
.foot-socials .soc { width: 32px !important; height: 32px !important; border: 1px solid var(--border) !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; text-decoration: none !important; color: var(--text3, var(--text-muted)) !important; transition: all 0.3s !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; }
.foot-socials .soc svg { width: 13px !important; height: 13px !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; display: block !important; }
.foot-socials .soc svg.fill-icon { fill: currentColor !important; stroke: none !important; }
.foot-socials .soc:hover { border-color: var(--accent) !important; color: var(--accent) !important; transform: translateY(-2px) !important; box-shadow: 0 4px 12px rgba(77,194,232,0.18) !important; }

.foot-h { font-size: 0.6rem !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; color: var(--accent) !important; margin: 0 0 0.55rem 0 !important; padding: 0 !important; font-weight: 600 !important; line-height: 1.2 !important; }

/* KEY FIX: Reset all sources of extra vertical space on link rows */
.foot-links { list-style: none !important; display: flex !important; flex-direction: column !important; gap: 0.2rem !important; padding: 0 !important; margin: 0 !important; }
.foot-links li { margin: 0 !important; padding: 0 !important; line-height: 1.3 !important; list-style: none !important; }
.foot-links a { font-size: 0.74rem !important; color: var(--text3, var(--text-muted)) !important; text-decoration: none !important; transition: color 0.3s !important; line-height: 1.3 !important; letter-spacing: normal !important; padding: 0 !important; margin: 0 !important; display: inline-block !important; }
.foot-links a:hover { color: var(--text, var(--text-primary)) !important; }

.foot-bottom { display: flex !important; justify-content: space-between !important; align-items: center !important; padding-top: 0.9rem !important; border-top: 1px solid var(--border) !important; max-width: 1400px !important; margin: 0 auto !important; padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
.foot-copy { font-size: 0.72rem !important; color: var(--text3, var(--text-muted)) !important; margin: 0 !important; padding: 0 !important; line-height: 1.4 !important; }
.foot-legal { display: flex !important; gap: 1.5rem !important; margin: 0 !important; padding: 0 !important; }
.foot-legal a { font-size: 0.72rem !important; color: var(--text3, var(--text-muted)) !important; text-decoration: none !important; transition: color 0.3s !important; line-height: 1.4 !important; }
.foot-legal a:hover { color: var(--text, var(--text-primary)) !important; }

@media (max-width: 1100px) {
  .foot-grid { grid-template-columns: repeat(4, 1fr) !important; gap: 1.2rem !important; }
  .foot-grid > div:first-child { grid-column: 1 / -1 !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; margin-bottom: 0.4rem !important; }
  .foot-desc { max-width: 560px !important; }
}

@media (max-width: 900px) {
  .foot-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 1.2rem 1rem !important; }
  .foot-desc { max-width: none !important; }
  .site-footer .c, .foot-bottom { padding-left: 1.2rem !important; padding-right: 1.2rem !important; }
  .foot-bottom { flex-direction: column !important; gap: 0.5rem !important; text-align: center !important; }
}

@media (max-width: 768px) {
  footer.site-footer { padding: 2rem 0 1.2rem !important; }
  .foot-logo { font-size: 1.1rem !important; }
  .foot-grid { margin-bottom: 1.2rem !important; }
}

@media (max-width: 480px) {
  .foot-grid { grid-template-columns: 1fr 1.2fr !important; gap: 0.9rem !important; }
  .foot-desc { font-size: 0.75rem !important; line-height: 1.55 !important; }
}
