body {
    background-color: #fff;
    /* Adding min-height to ensure scrolling is possible if content is short */
    min-height: 100vh;
}

/* This class is on the main content container now, so we remove padding-top from here */
.skeleton-container {
    max-width: 1200px;
    margin: 0 auto;
}

.skeleton {
    background-color: #e0e0e0;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
}

/* Shimmer animation */
.skeleton::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateX(-100%);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0,
        rgba(255, 255, 255, 0.3) 20%,
        rgba(255, 255, 255, 0.6) 60%,
        rgba(255, 255, 255, 0)
    );
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    100% {
        transform: translateX(100%);
    }
}

.skeleton-text {
    height: 1em;
    margin-bottom: 0.75rem;
}

.skeleton-title {
    width: 80%;
    height: 2.5rem;
    margin-bottom: 1.5rem;
}

.skeleton-image {
    height: 450px;
    margin-bottom: 1rem;
}

.skeleton-thumbnails {
    display: flex;
    gap: 1rem;
}

.skeleton-thumbnail {
    height: 6rem;
    flex: 1;
}

.skeleton-specs {
    margin: 2.5rem 0;
}
.skeleton-specs .skeleton-text {
    margin-bottom: 1rem;
}

.skeleton-price {
    width: 50%;
    height: 3rem;
    margin-bottom: 1.5rem;
}

.skeleton-button {
    width: 100%;
    height: 3.5rem;
}

.tabs-skeleton {
    margin-top: 4rem;
    padding-top: 2rem;
}

.skeleton-tabs {
    height: 3.5rem;
    width: 100%;
    margin-bottom: 1rem;
}

.skeleton-content {
    height: 250px;
    width: 100%;
}

footer .skeleton-text {
    background-color: #495057; /* A bit lighter than footer bg for visibility */
}

footer .skeleton::after {
     background-image: linear-gradient(
        90deg,
        rgba(108, 117, 125, 0) 0,
        rgba(108, 117, 125, 0.3) 20%,
        rgba(108, 117, 125, 0.6) 60%,
        rgba(108, 117, 125, 0)
    );
}


@media (max-width: 991.98px) {
    .skeleton-image {
        height: 300px;
    }
}
