/*
 * Application-level overrides. Loaded after the vendored CSS in base.html.twig
 * so our rules win without editing third-party files.
 */

/*
 * The navbar is `navbar-fixed-top`, so it overlays page content. Bootstrap 3
 * does not auto-pad the body for it. The brand logo makes the bar ~71px tall
 * (taller than Bootstrap's 50px default), so a static fallback plus a JS sync
 * (see base.html.twig) keeps content clear regardless of the bar's real height.
 */
body {
    padding-top: 75px;
}

/*
 * Page-transition loading overlay. Replaces the old loader.svg image + the
 * blur(2px) filter hack with a pure-CSS spinner (no asset). Keeps id="loader"
 * for backward compatibility with the per-page hide calls, and overrides the
 * centered-image positioning that the vendored bootstrap.min.css gives #loader.
 * Toggled via inline display (see base.html.twig).
 */
#loader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(248, 248, 248, 0.7);
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
}
#loader .app-spinner {
    width: 48px;
    height: 48px;
    border: 5px solid rgba(19, 179, 217, 0.25);
    border-top-color: #13b3d9;
    border-radius: 50%;
    animation: app-spin 0.8s linear infinite;
}
@keyframes app-spin {
    to {
        transform: rotate(360deg);
    }
}
