/* ==============================================
   LAZY SECTION LOADING PLACEHOLDER
   Shared styles for LazySection component used across pages
   ============================================== */

.lazy-section-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, 
        rgba(0, 0, 0, 0.02) 0%, 
        rgba(0, 0, 0, 0.04) 50%, 
        rgba(0, 0, 0, 0.02) 100%);
    border-radius: 12px;
    margin: 2rem 0;
}

.lazy-section-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem;
}

.lazy-section-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid rgba(0, 180, 255, 0.2);
    border-top-color: var(--primary-color, #00b4ff);
    border-radius: 50%;
    animation: lazy-section-spin 0.8s linear infinite;
}

@keyframes lazy-section-spin {
    to { transform: rotate(360deg); }
}

/* Visually hidden text for screen readers */
.lazy-section-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}

/* Dark mode */
body.dark-mode .lazy-section-placeholder {
    background: linear-gradient(90deg, 
        rgba(255, 255, 255, 0.02) 0%, 
        rgba(255, 255, 255, 0.04) 50%, 
        rgba(255, 255, 255, 0.02) 100%);
}
