/* Countdown skeleton loader styles to prevent layout shift */
.countdown-skeleton {
    position: relative;
    color: transparent !important;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1.5s infinite;
}

.countdown-skeleton::after {
    content: attr(data-placeholder);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--md-sys-color-on-surface-variant);
    opacity: 0.5;
}

@keyframes loading {
    0% {
        background-position: 200% 0;
    }
    100% {
        background-position: -200% 0;
    }
}

/* Ensure smooth transitions for ribbons */
.course-ribbon {
    transition: opacity 0.2s ease-in-out;
}

/* Prevent content jumping when hiding sections */
section[style*="display: none"] {
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Reserve space for countdown to prevent layout shift */
#days-count {
    min-width: 120px;
    display: block;
}

#days-label {
    min-width: 100px;
    display: block;
    margin-top: 0.25rem;
}
