/* Shared footer */
:root {
    --text: #1a1a1a;
    --muted: #555555;
    --royal-blue: #4169E1;
    --royal-blue-dark: #2a4cb3;
  }

  footer {
    padding: 48px 0 32px;
    border-top: 1px solid #e4e9f5;
    background: #ffffff;
  }

  .footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 40px;
  }

  .footer-col h3 {
    font-size: 0.95rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text);
    margin-bottom: 16px;
  }

  .footer-about p {
    font-size: 0.95rem;
    color: var(--muted);
    line-height: 1.6;
    max-width: 300px;
  }

  .footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .footer-col li {
    margin-bottom: 12px;
  }

  .footer-col a {
    color: var(--royal-blue);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.2s ease;
  }

  .footer-col a:hover {
    color: var(--royal-blue-dark);
  }

  .footer-placeholder {
    color: #999999;
    font-size: 0.95rem;
  }

  .footer-placeholder:hover {
    color: #777777;
  }

  .footer-divider {
    border: none;
    border-top: 1px solid #e4e9f5;
    margin: 0 0 20px;
  }

  .footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.95rem;
    color: var(--muted);
  }

  .footer-bottom-left {
    flex-shrink: 0;
  }

  .footer-bottom-right {
    display: flex;
    gap: 20px;
  }

  .footer-bottom-right a {
    color: var(--royal-blue);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.2s ease;
  }

  .footer-bottom-right a:hover {
    color: var(--royal-blue-dark);
  }

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

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