/* Skeleton loader for the redesigned product details page.
   Mirrors the real .rpd layout (centered .rpd-container, product-main grid). */

.rpd-skeleton {
    max-width: 1240px;
    margin: 0 auto;
    padding: 24px 0 40px;
}
@media (max-width: 900px) {
    .rpd-skeleton {
        padding: 16px 20px 40px;
    }
}
@media (max-width: 640px) {
    .rpd-skeleton {
        padding: 16px 16px 40px;
    }
}

.rpd-skeleton.skeleton-hidden {
    display: none;
}

/* Same grid as .rpd .product-main */
.rpd-skeleton .skel-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 32px;
}
@media (max-width: 1024px) {
    .rpd-skeleton .skel-main {
        grid-template-columns: minmax(0, 1fr) 380px;
        gap: 24px;
    }
}
@media (max-width: 900px) {
    .rpd-skeleton .skel-main {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
    }
}

.rpd-skeleton .skel-gallery,
.rpd-skeleton .skel-booking {
    min-width: 0;
}

/* Gallery main image — matches .rpd .gallery-main aspect-ratio 4/3 */
.rpd-skeleton .skel-gallery-main {
    aspect-ratio: 4/3;
    border-radius: 16px;
}
.rpd-skeleton .skel-thumbs {
    display: flex;
    gap: 10px;
    margin-top: 12px;
}
.rpd-skeleton .skel-thumb {
    width: 72px;
    height: 72px;
    border-radius: 10px;
    flex: 0 0 auto;
}

/* Booking card */
.rpd-skeleton .skel-booking {
    border: 1px solid #E7E8EA;
    border-radius: 16px;
    padding: 24px;
}
@media (max-width: 900px) {
    .rpd-skeleton .skel-booking {
        padding: 20px;
    }
}

/* Sections below the fold */
.rpd-skeleton .skel-section {
    margin-top: 40px;
}

/* Generic shimmer block */
.rpd-skeleton .skel {
    display: block;
    background-color: #E7E8EA;
    border-radius: 6px;
    height: 14px;
}
.rpd-skeleton .placeholder-glow .skel {
    animation: skelGlow 1.4s ease-in-out infinite;
}
@keyframes skelGlow {
    50% { opacity: 0.45; }
}
