/* Emergency Fix for Puzzle Piece Visibility */

/* Ensure puzzle pieces are visible */
.puzzle-piece {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    min-width: 150px !important;
    min-height: 150px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Ensure puzzle composition container has proper dimensions */
.puzzle-composition {
    min-height: 400px !important;
    max-height: 500px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: hidden !important;
    padding: 20px !important;
    position: relative !important;
}

/* Layout for products/sectors - Grid layout for better control */
.puzzle-composition.layout-products {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-rows: repeat(2, 200px) !important;
    gap: 15px !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 20px !important;
    max-width: 100% !important;
}

/* Main/first piece styling - spans left column */
.puzzle-composition.layout-products .puzzle-piece.piece-1:not(.single-piece),
.puzzle-composition.layout-products .puzzle-piece.piece-main:not(.single-piece) {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
}

/* Second piece - top right */
.puzzle-composition.layout-products .puzzle-piece.piece-2 {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
}

/* Third piece - bottom right */
.puzzle-composition.layout-products .puzzle-piece.piece-3 {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 1 !important;
}

/* Single piece (when only one image) - center it */
.puzzle-composition.layout-products .puzzle-piece.single-piece {
    grid-column: 1 / 3 !important;
    grid-row: 1 / 3 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 500px !important;
    max-height: 400px !important;
    margin: auto !important;
    opacity: 1 !important;
}

/* Remove any transforms that might hide elements */
.puzzle-piece,
.puzzle-composition .puzzle-piece {
    transform: none !important;
}

/* Ensure the parent column doesn't overflow */
.col-lg-6 {
    overflow: hidden !important;
}

/* Media query for mobile */
@media (max-width: 768px) {
    .puzzle-composition.layout-products {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        grid-template-rows: none !important;
        max-height: none !important;
    }

    .puzzle-composition.layout-products .puzzle-piece {
        grid-column: auto !important;
        grid-row: auto !important;
        width: 100% !important;
        max-width: 400px !important;
        height: 250px !important;
        margin: 0 auto !important;
    }
}