/* ── COMPONENT VARIABLES (from cursos.php) ── */
:root {
  --navy:       #1E3A5F;
  --navy-deep:  #152B47;
  --sky:        #4A8EC4;
  --sky-light:  #7FB3D9;
  --sky-pale:   #C8DFF0;
  --sky-ultra:  #EAF3FB;
  --white:      #FFFFFF;
  --ink:        #0D1E30;
  --ink-soft:   #2A4060;
  --muted:      #6A88A8;
  --border:     rgba(74,142,196,0.14);
  --shadow:     0 4px 32px rgba(30,58,95,0.10);
}

/* ── FOOTER COMPONENT STYLES ── */
footer { background: var(--ink); padding: 48px 28px 28px; }
.footer-inner {
  max-width: 1180px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 36px;
}

/* Footer logo */
.footer-emblem {
  width: 38px; height: 38px; border-radius: 9px;
  background: linear-gradient(135deg, var(--sky), var(--navy));
  display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif; font-weight: 700;
  font-size: 0.9rem; color: white; flex-shrink: 0;
}
.footer-logo-wrap { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 14px; }
.footer-logo-main { font-family: 'Playfair Display', serif; font-size: 1rem; font-weight: 700; color: white; }
.footer-logo-sub { font-size: 0.62rem; color: rgba(127,179,217,0.6); letter-spacing: 0.04em; text-transform: uppercase; }
.footer-desc { font-size: 0.83rem; color: rgba(214,230,244,0.4); line-height: 1.75; font-weight: 300; max-width: 230px; }

/* Footer columns */
.footer-col h4 { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(214,230,244,0.45); margin-bottom: 14px; }
.footer-col a { display: block; font-size: 0.86rem; color: rgba(214,230,244,0.6); text-decoration: none; margin-bottom: 10px; transition: color 0.2s; }
.footer-col a:hover { color: white; }

/* Footer bottom */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.07); padding-top: 22px;
  display: flex; justify-content: space-between; align-items: center;
  font-size: 0.78rem; color: rgba(214,230,244,0.3); flex-wrap: wrap; gap: 10px;
}

/* Responsive */
@media (max-width: 768px) {
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .footer-inner { grid-template-columns: 1fr; }
}
