/* Hybrid Loading States - Only for Services Sections */

/* Services loading skeleton */
.services-loading .section-title,
.services-loading .card__title,
.services-loading .card__description,
.services-loading .accordion__title,
.services-loading .services__disclaimer p {
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.1) 75%);
    background-size: 300% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
    color: transparent !important;
    user-select: none;
    pointer-events: none;
}

.services-loading .section-title {
    height: 40px;
    width: 60%;
    margin-bottom: var(--spacing-md);
}

.services-loading .card__title {
    height: 24px;
    width: 80%;
    margin-bottom: var(--spacing-xs);
}

.services-loading .card__description {
    height: 80px;
    width: 100%;
}

.services-loading .accordion__title {
    height: 20px;
    width: 70%;
}

.services-loading .services__disclaimer p {
    height: 16px;
    width: 90%;
    margin-bottom: 4px;
}

.services-loading .chip span:last-child {
    height: 14px;
    width: 60px;
    background: linear-gradient(90deg, rgba(255,255,255,0.1) 25%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0.1) 75%);
    background-size: 300% 100%;
    animation: skeleton-loading 1.5s infinite;
    border-radius: 4px;
    color: transparent !important;
    display: inline-block;
}

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

/* Smooth transition when services content loads */
.services-loaded .section-title,
.services-loaded .card__title,
.services-loaded .card__description,
.services-loaded .accordion__title,
.services-loaded .services__disclaimer p,
.services-loaded .chip span:last-child {
    animation: services-fade-in 0.3s ease-out;
}

@keyframes services-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Prevent layout shift during loading */
.services-loading .accordion__content {
    display: none;
}

/* Mobile optimizations for services */
@media (max-width: 768px) {
    .services-loading .section-title {
        height: 32px;
    }
    
    .services-loading .card__description {
        height: 60px;
    }
}