/* Common product section styles */
.product-section {
    max-width: 1440px;
    margin: 0 auto;
    padding: 50px 30px 50px 30px !important;
}

.item-content:has(.product-section) {
    z-index: 90;
    position: relative;
    background-color: white;
    box-shadow: 0 5px 5px rgba(0, 0, 0, 0.3);
}

.product-section h2 {
    font-size: 1.86rem;
    text-align: center;
}

.product-section .gallery-photo-image img {
    border: 8px solid white;
    border-bottom: none; 
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    transition: border-color 0.3s;
}

.product-section .gallery-photo-item:hover .gallery-photo-image img {
    border-color: lightgrey;
}

.product-section .gallery-photo-info {
    border: 8px solid white;
    border-top: none; 
    background-color: grey;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    padding: 10px;
    transition: border-color 0.3s;
}

.product-section .gallery-photo-item:hover .gallery-photo-info {
    border-color: lightgrey;
}

.product-section .gallery-photo-label {
    color: white !important;
}

/* Grey blocks section */
.item-content:has(#section-grey-blocks.product-section) {
    z-index: 80;
}

/* Coloured blocks section */
.item-content:has(#section-coloured-blocks.product-section) {
    z-index: 70;
}

/* Grey bricks section */
.item-content:has(#section-grey-bricks.product-section) {
    z-index: 60;
}

/* Coloured bricks section */
.item-content:has(#section-coloured-bricks.product-section) {
    z-index: 50;
}

/* Pavers section */
.item-content:has(#section-pavers.product-section) {
    z-index: 40;
}

/* Retaining wall section */
.item-content:has(#section-retaining-wall.product-section) {
    z-index: 30;
}