/* ============================================================================
   public.css — Styles for logged-out pages: top contact strip, public
   navbar, public footer, and the shared hero-carousel/login-card layout
   used on the login and register pages (built out fully in Section 2).
   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);
}
.brand-text-public span { color: var(--orange); }

.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);
}

/* The auth-page-content shell needs top padding equal to the two-tier
   public header height so content doesn't slide under it. */
.auth-page-content { padding-top: 96px; }
@media (max-width: 768px) { .auth-page-content { padding-top: 68px; } }