    /* Wrapper that owns body area only */
    .ab-body-skel-wrap {
        position: relative;
        width: 100%;
    }

    /* Skeleton overlay ONLY within body content area */
    .ab-body-skeleton {
        position: absolute;
        inset: 0;
        z-index: 50;
        background: #ffffff;
        border-radius: 0;
        padding: 12px 0 24px;
        transition: opacity .18s ease, visibility .18s ease;
        opacity: 1;
        visibility: visible;
        pointer-events: none;
        /* don't block header/footer clicks, and keep safe */
    }

    /* When loaded, hide skeleton */
    html.ab-body-loaded .ab-body-skeleton {
        opacity: 0;
        visibility: hidden;
    }

    /* Optional: slight fade-in for body content */
    .ab-body-real {
        transition: opacity .18s ease;
        opacity: 1;
    }

    html:not(.ab-body-loaded) .ab-body-real {
        opacity: 1;
        /* keep visible to avoid Slick layout issues */
    }

    /* White skeleton style */
    .ab-skel-container {
        max-width: 100%;
        margin: 0 auto;
        padding: 0 12px;
    }

    .ab-skel-card {
        background: #ffffff;
        border: 1px solid rgba(0, 0, 0, .06);
        border-radius: 14px;
        padding: 14px;
        box-shadow: 0 14px 30px rgba(0, 0, 0, .10);
        overflow: hidden;
    }

    .ab-skel-box,
    .ab-skel-line {
        position: relative;
        background: rgba(0, 0, 0, .07);
        overflow: hidden;
    }

    .ab-skel-box {
        border-radius: 14px;
    }

    .ab-skel-line {
        border-radius: 10px;
        height: 12px;
    }

    .ab-skel-line.sm {
        height: 10px;
        opacity: .95;
    }

    .ab-skel-line.lg {
        height: 16px;
    }

    .ab-skel-gap {
        height: 12px;
    }

    .ab-skel-row {
        display: flex;
        gap: 12px;
        align-items: center;
        flex-wrap: wrap;
    }

    /* Shimmer (light) */
    .ab-skel-shimmer::after {
        content: "";
        position: absolute;
        inset: 0;
        transform: translateX(-120%);
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .85), transparent);
        animation: abSkel 1.05s infinite;
        opacity: .7;
    }

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

    /* Layout blocks mimic your homepage sections */
    .ab-skel-hero {
        height: 260px;
    }

    .ab-skel-title {
        width: 220px;
    }

    .ab-skel-sub {
        width: 320px;
        max-width: 85%;
    }

    .ab-skel-banner-grid {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 14px;
    }

    .ab-skel-banner-left {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
    }

    .ab-skel-banner-tall {
        height: 320px;
    }

    .ab-skel-banner-wide {
        height: 150px;
    }

    .ab-skel-banner-right {
        height: 320px;
    }

    .ab-skel-products {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 12px;
    }

    @media (max-width: 1199px) {
        .ab-skel-products {
            grid-template-columns: repeat(4, 1fr);
        }
    }

    @media (max-width: 767px) {
        .ab-skel-products {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    .ab-skel-product-card {
        padding: 12px;
    }

    .ab-skel-thumb {
        height: 180px;
    }

    .ab-skel-price {
        width: 120px;
    }

    .ab-skel-name {
        width: 90%;
    }

    .ab-skel-name2 {
        width: 70%;
    }