.masthead {
    padding: 6rem 0;
    background: linear-gradient(135deg, #162e63, #2563eb);
}

header.masthead::before {
    display: none;
}

header.masthead > .container {
    position: relative;
    z-index: 1;
}

.ajax-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(12, 24, 50, 0.68);
}

.ajax-loader .spinner-border {
    width: 3.5rem;
    height: 3.5rem;
}

.footer {
    border-top: 1px solid #e9ecef;
}

.autocomplete-results {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 1050;
    max-height: 320px;
    overflow: auto;
}

.hero-img {
    max-height: 450px;
    object-fit: cover;
}

.navbar-avatar,
.navbar-avatar-placeholder {
    width: 44px;
    height: 44px;
    border: 3px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.navbar-avatar { object-fit: cover; }
.navbar-avatar-placeholder { display: inline-flex; align-items: center; justify-content: center; background: #e8efff; color: #2563eb; font-size: 1.4rem; }
.dropdown-toggle-no-caret::after { display: none; }
.user-menu { min-width: 240px; border-radius: 0.85rem; }
.notification-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.notification-card:hover { transform: translateY(-2px); box-shadow: 0 0.75rem 1.5rem rgba(22, 46, 99, 0.12) !important; }
.notification-icon { display: inline-flex; width: 44px; height: 44px; flex: 0 0 44px; align-items: center; justify-content: center; border-radius: 50%; background: #e8efff; color: #2563eb; font-size: 1.25rem; }
