.products {
    padding: 5vw;
    text-align: center;
    border-bottom: 2px solid white;
    
}

.productsheadline {
    font-size: clamp(2rem, 4.5vw, 6rem);
    font-weight: 200;
    margin-bottom: 2rem;
}

.productslist {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 2rem;
    justify-content: center;
    & .productcard {
        
        & .productlink {
            box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
            border-radius: 1rem;
            background: rgba(255, 255, 255, 0.92);
            width: 100%;
            height: 100%;
            text-decoration: none;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-end;
            transition: background 0.2s;
            overflow: hidden;
            &:hover {
                background: white;
                & .productimage {
                    transform: scale(1.05);
                }
            }   
            &:focus-visible {
                outline: 4px solid var(--yellow);
                outline-offset: 4px;
            }
        }
        & .productimage {
            object-fit: cover;
            display: block;
            max-width: 100%;
            margin: 1rem auto 0;
            transition: transform 0.2s;
        }
        & .producttitle {
            position: relative;
            transition: font-size 0.2s;
            width: calc(100% - 1.4rem);
            font-size: 1.5rem;
            font-weight: 600;
            background: var(--yellow);
            padding: 1rem 0.7rem;
            border-radius: 0.5rem;
            margin: 0;
            text-align: center;
            color: var(--blue);
            text-decoration: none;
        }
    }
}


.product {
    border-top: 2px solid white;
    padding: 5vw;
    line-height: 1.4;
    font-size: clamp(1.1rem, 2.3vw, 1.333rem);
    hyphens: auto;
    text-align: center;
    & h1 {
        font-size: clamp(2rem, 4vw, 3rem);
        line-height: 1.1;
    }
    & h2 {
        font-size: clamp(1.2rem, 2.6vw, 1.6rem);
        line-height: 1.2;
        font-weight: 500;
    }
    & .specs {
        width: 100%;
        display: block;
        margin: 2rem auto;
        border: none;
        border-radius: 1rem;
        background: var(--yellow);
        padding: 1rem;
        color: var(--blue);
    }
    & .button {
        transition: transform 0.2s;
       &:hover {
        background: var(--yellow);
        color: var(--blue);
        transform: scale(1.05);
       }    
       &:focus-visible {
        outline: 4px solid var(--yellow)!important;
        outline-offset: 4px!important;
       }
    }
}

.splide {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 1rem;
    padding: 2rem;
    & .splide__slide {
        max-height: 50vh;
        & img {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    }
}

.singleimage {
    background: rgba(255, 255, 255, 0.92);
    border-radius: 1rem;
    padding: 2rem;
    & img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    
}

.productdetails {
    margin: 4vw auto;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 4rem;
    & > * {
        flex: 1;
    }
}

.benefits {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 3rem;
    justify-content: center;
    text-align: left;
    & li {
        display: flex;
        align-items: flex-start;
        gap: 2rem;
    }
    & img {
        width: 3.5rem;
        height: 3.5rem;
        object-fit: contain;
        background: var(--yellow);
        padding: 0.7rem;
        border-radius: 1rem;
        margin-top: 0.5rem;
    }
    & h3 {
        margin: 0;
        font-weight: 600;
    }
    & p {
        margin: 0;
        font-weight: 300;
    }
}