


/* ===== Skeleton (catégories + portfolio) ===== */

/* Animation shimmer */
@keyframes skpulse {
    0% { background-position: 100% 50%; }
    100% { background-position: 0 50%; }
}

/* ---- Skeleton Catégories ---- */
.categories-skeleton {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px 0;
}
.categories-skeleton .cat-skel {
    width: calc(100% / 4 - 8px);
    height: 150px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background: #f4f7fa;
    background-image: linear-gradient(90deg, #eef3f7 25%, #e5edf4 37%, #eef3f7 63%);
    background-size: 400% 100%;
    animation: skpulse 1.4s ease-in-out infinite;
}
@media (max-width:1080px){
    .categories-skeleton .cat-skel { width: calc(100% / 2 - 8px); }
}
@media (max-width:768px){
    .categories-skeleton .cat-skel { width: 100%; }
}

/* ---- Skeleton Produits (portfolio) ---- */
.products-skeleton {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 16px;
    margin-bottom: 16px;
}
@media (max-width:768px){
    .products-skeleton { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width:500px){
    .products-skeleton { grid-template-columns: 1fr; }
}

.product-card.skeleton {
    width: 100%;
    background: var(--color-white);
    border: 1px solid #d5e3ec;
    box-shadow: 0 2px 4px #d8e1e8;
    display: block;
}

.product-card.skeleton .card__figure {
    aspect-ratio: 16/9;
    width: 100%;
    position: relative;
}

.product-card.skeleton .skeleton__thumb {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(90deg, #eef3f7 25%, #e5edf4 37%, #eef3f7 63%);
    background-size: 400% 100%;
    animation: skpulse 1.4s ease-in-out infinite;
}

.product-card.skeleton .card__content {
    padding: 8px 16px 16px;
}

.product-card.skeleton .skeleton__title,
.product-card.skeleton .skeleton__row {
    border-radius: 3px;
    height: 16px;
    background-image: linear-gradient(90deg, #eef3f7 25%, #e5edf4 37%, #eef3f7 63%);
    background-size: 400% 100%;
    animation: skpulse 1.4s ease-in-out infinite;
}

.product-card.skeleton .skeleton__title { width: 60%; margin: 10px 0 8px; }
.product-card.skeleton .skeleton__row   { width: 40%; height: 14px; }
