/* Unified public footer styles (portable subset of homepage-redesign.css) */
.public-footer {
  background: #2c3e50;
  color: #ecf0f1;
  padding: 48px 0 24px;
  margin-top: 0;
}
.public-footer a { color: #ecf0f1; text-decoration: none; }
.public-footer a:hover { color: #fff; text-decoration: underline; }

.footer-container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.footer-content { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 32px; align-items: start; }
.footer-section { min-width: 0; }
.footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.footer-logo { width: 32px; height: 32px; object-fit: contain; }
.footer-brand-text { font-weight: 600; font-size: 18px; }
.footer-description { margin: 8px 0 0; color: #cfd8dc; line-height: 1.6; }
.footer-title { font-size: 16px; font-weight: 600; margin: 0 0 12px; color: #ffffff; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin: 6px 0; }
.footer-links a { color: #cfd8dc; }
.footer-links a:hover { color: #ffffff; }

.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid rgba(255,255,255,0.1); margin-top: 32px; padding-top: 16px; }
.footer-social { display: flex; gap: 12px; }

@media (max-width: 900px) { .footer-content { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 600px) { .footer-content { grid-template-columns: 1fr; } .public-footer { padding: 32px 0 16px; } }
