/* CSS Crítico - Above the Fold */
.page-loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-loading.active {
    display: flex;
}

.page-loading:not(.active) {
    display: none;
}

.navbar {
    background: #dc3545 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.navbar-brand img {
    max-height: 60px;
    width: auto;
}

.carousel-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.carousel-caption {
    background: rgba(0,0,0,0.5);
    padding: 20px;
    border-radius: 8px;
}

/* Esconder elementos não críticos */
.page-loading:not(.active) + * {
    display: none;
}