/* ============================================================================
   public.css — Styles for logged-out pages: top contact strip, public
   navbar, public footer.
   app/static/css/public.css
============================================================================ */

.public-topbar { background: var(--blue-deep); color: rgba(255, 255, 255, 0.85); font-size: 0.8rem; padding: 0.4rem 1.25rem; }
.public-topbar a { color: rgba(255, 255, 255, 0.8); margin: 0 0.15rem; }
.public-topbar a:hover { color: var(--orange-mid); }
.public-topbar .topbar-phone { color: #fff; font-weight: 600; }
.public-topbar .topbar-divider { width: 1px; height: 14px; background: rgba(255, 255, 255, 0.25); display: inline-block; }

.public-navbar { top: 28px; background: rgba(255, 255, 255, 0.97); backdrop-filter: blur(6px); box-shadow: var(--shadow-sm); padding: 0.6rem 0.5rem; }
@media (max-width: 768px) { .public-navbar { top: 0; } }

.brand-text-public { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; color: var(--blue-deep); }
.public-navbar .nav-link { color: var(--text-primary) !important; font-weight: 600; font-size: 0.9rem; padding: 0.5rem 0.9rem !important; border-radius: var(--radius-sm); }
.public-navbar .nav-link:hover { color: var(--blue) !important; background: var(--blue-light); }
.public-navbar-cta { margin-left: 1rem; }

.public-footer { background: linear-gradient(135deg, #0d1f3a, #133566); color: rgba(255, 255, 255, 0.85); padding: 3rem 1.5rem 1.25rem; }
.public-footer h6 { color: #fff; font-weight: 700; margin-bottom: 0.75rem; }
.public-footer a { color: rgba(255, 255, 255, 0.75); }
.public-footer a:hover { color: #fff; }
.footer-logo-text { font-family: var(--font-display); color: #fff; font-weight: 800; }
.footer-logo-text span { color: var(--orange); }
.public-footer .social-row a { width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.1); display: inline-flex; align-items: center; justify-content: center; margin-right: 0.6rem; transition: var(--transition); }
.public-footer .social-row a:hover { background: var(--orange); transform: translateY(-2px); }
.public-footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); margin-top: 2rem; padding-top: 1.25rem; font-size: 0.82rem; color: rgba(255, 255, 255, 0.55); }