.product-world {

    position: relative;

    padding: 3rem 0 5rem;

    background-color: var(--color-gray-100);

    overflow: hidden;

}



.product-world-bg {

    position: absolute;

    inset: 0;

    background-image: url('../assets/images/product-world-bg.jpg');

    background-size: cover;

    background-position: center;

    opacity: 0.08;

    pointer-events: none;

}



.product-world .container {

    position: relative;

    z-index: 1;

}

.product-world-header {

    max-width: 900px;

    margin: 0 auto 2.5rem;

    text-align: center;

}

.product-world-header .section-subtitle {

    margin-bottom: 0;

}



.product-cards {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 1.5rem;

    row-gap: 3rem;

}



.product-card {

    position: relative;

    background-color: var(--color-white);

    box-shadow: var(--shadow-md);

    display: flex;

    flex-direction: column;

    align-items: center;

    transition: transform var(--transition-speed), box-shadow var(--transition-speed);

}



.product-card:hover {

    transform: translateY(-4px);

    box-shadow: var(--shadow-lg);

}



.product-card-body {

    padding: 2rem 2rem 1rem;

    width: 100%;

    flex: 1;

}



.product-card-title {

    font-size: var(--font-size-lg);

    font-weight: 700;

    color: var(--color-text);

    margin-bottom: 1rem;

    line-height: 1.3;

}



.product-card-description {

    font-size: var(--font-size-sm);

    color: var(--color-text-light);

    line-height: 1.7;

}



.product-card-image {

    width: 100%;

    height: 200px;

    background-size: cover;

    background-position: center;

}



.product-card-image--components {

    background-image: url('../assets/images/hero/hydroline-easyx.jpg');

}



.product-card-image--systems {

    background-image: url('../assets/images/hero/valvolutionx.jpg');

}



.product-card-image--service {

    background-image: url('../assets/images/hero/about-maximator.jpg');

}



.product-card-btn {

    position: absolute;

    bottom: -24px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    align-items: center;

    justify-content: center;

    width: 48px;

    height: 48px;

    background-color: var(--color-primary);

    color: var(--color-white);

    z-index: 2;

    transition: background-color var(--transition-speed);

}



.product-card-btn:hover {

    background-color: var(--color-primary-dark);

}



.product-card-btn img {

    filter: brightness(0) invert(1);

}



.product-card-stretch {

    position: absolute;

    inset: 0;

    z-index: 1;

}



@media (max-width: 1024px) {

    .product-cards {

        grid-template-columns: repeat(2, 1fr);

    }

}



@media (max-width: 640px) {

    .product-cards {

        grid-template-columns: 1fr;

        row-gap: 3rem;

    }

}

