/* GRILLE MASONRY (2 COLONNES AVEC ESPACE) */
.gs-feed-masonry {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 20px; 
    grid-auto-rows: 10px; 
}

/* CELLULES */
.gs-feed-item {
    margin: 0;
    margin-bottom: 20px; 
    
    position: relative;
    border-radius: 8px;
    background: transparent; 
    overflow: hidden;
    
    width: 100%; 
    min-height: 50px; 

    opacity: 0; 
    transform: translateY(30px);
    transition: transform 0.4s ease, opacity 0.4s ease;
    
    align-self: start;
}

.gs-feed-item.gs-loaded {
    opacity: 1;
    transform: translateY(0);
}

/* === COLONNES === */
.gs-col-1 { grid-column: span 1; }
.gs-col-2 { grid-column: span 2; }
.gs-col-3 { grid-column: span 2; }


/* === RESPONSIVE === */
@media (max-width: 768px) {
    .gs-feed-masonry { 
        gap: 0 10px;
        grid-template-columns: repeat(2, 1fr); 
    }
    .gs-col-1 { grid-column: span 1; }
    .gs-col-2, .gs-col-3 { grid-column: span 2; }
    .gs-feed-actions { opacity: 1; } 
}


/* === TYPES & RATIOS === */
.gs-type-video, .gs-type-galerie, .gs-type-custom { background: #000; }
.gs-type-product { background: #f4f4f4; }

.gs-feed-inner {
    position: relative;
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden; 
}

/* Ratios forcés */
.gs-ratio-16-9 .gs-feed-inner { padding-bottom: 56.25%; height: 0; }
.gs-ratio-9-16 .gs-feed-inner { padding-bottom: 177.78%; height: 0; }
.gs-ratio-1-1 .gs-feed-inner { padding-bottom: 100%; height: 0; }
.gs-ratio-4-5 .gs-feed-inner { padding-bottom: 125%; height: 0; }
.gs-ratio-3-4 .gs-feed-inner { padding-bottom: 133.33%; height: 0; }
.gs-ratio-2-3 .gs-feed-inner { padding-bottom: 150%; height: 0; }

.gs-ratio-auto .gs-feed-inner { height: auto; }

/* Contenu Absolu */
[class*="gs-ratio-"] .gs-feed-img,
[class*="gs-ratio-"] iframe,
[class*="gs-ratio-"] .swiper {
    position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; object-fit: cover;
}

/* Produits */
.gs-product-inner img.gs-feed-img {
    position: absolute; top:0; left:0; width: 100%; height:100%; object-fit:cover;
}

.gs-video-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; }

.gs-feed-content {
    position: absolute; bottom: 0; left: 0; width: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
    color: #fff; padding: 20px; padding-top: 40px;
    transform: translateY(100%); transition: transform 0.3s ease;
    z-index: 5; pointer-events: none;
}
.gs-feed-item:hover .gs-feed-content { transform: translateY(0); }
.gs-feed-title { margin: 0; font-size: 1.1em; font-weight: 600; line-height: 1.3; }
.gs-feed-price { color: #ddd; font-size: 0.9em; display:block; margin-top:5px; }

/* BOUTONS & UI */
.gs-feed-actions { 
    position: absolute; top: 15px; right: 15px; z-index: 20; 
    opacity: 0; transition: opacity 0.3s; 
}
.gs-feed-item:hover .gs-feed-actions { opacity: 1; }

.gs-feed-actions .gs_btn_icon {
    background: #fff; border: none; border-radius: 50%; width: 35px; height: 35px;
    display: flex; align-items: center; justify-content: center; cursor: pointer;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); transition: all 0.2s; color: #333; padding: 0;
}
.gs-feed-actions .gs_btn_icon:hover { transform: scale(1.1); background: #f0f0f0; }
.gs-feed-actions .gs_btn_icon.is_added { background: #d00; color: #fff; box-shadow: 0 0 10px rgba(221, 0, 0, 0.4); }

.gs-feed-label {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    background: #000; color: #fff; padding: 10px 20px;
    text-transform: uppercase; font-weight: bold; letter-spacing: 2px;
    z-index: 10; pointer-events: none; mix-blend-mode: overlay;
}
.gs-feed-global-link { position: absolute; top:0; left:0; width:100%; height:100%; z-index: 20; }
.gs-feed-link { display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:10; }