

.use-case-carousel-block {

    max-width: 92vw; /* Prevent overflow beyond viewport */
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 32px;

    margin-top:32px;
    margin-bottom:32px;
    white-space: nowrap; /* Optional: prevents wrapping */

    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;
}
.use-case-carousel-block::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.use-case-carousel-item {
    background-color: #1a1a1a; /* Slightly darker than the container */
    border: 1px solid #444444;
    border-radius: 10px;
    min-height:280px;
    width:380px;
    min-width:380px;
    max-width:380px;

    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes children top, center, bottom */
    height: 100%;

    flex-direction: column;
    align-items: flex-start;
    scroll-snap-align: start;
    white-space: normal;
    word-break: break-word;
}

.useCaseEntryCarouselGroupName {
    padding:16px;
    align-self: flex-end; /* Align to top */

}

.useCaseEntryCarouselGroupTitel {
    padding-top:64px;
    padding-left:48px;
    padding-right:16px;
    align-self: flex-end;
    text-align: right;

}

.useCaseEntryCarouselGroupLink {
    padding:16px;
    align-self: flex-end; /* Align to bottom */
    text-align: right;
}


/* Ensure the link and content fill the carousel item */
.use-case-carousel-item a {
    display: block;

}

.use-case-carousel-item .usecase-featured {
    height: 100%;
    margin-bottom: 0;
}



.home-use-case-carousel-item {
    background-color: #1a1a1a; /* Slightly darker than the container */

    border-radius: 10px;
    min-height:280px;
    width:100%;
    min-width:100%;
    max-width:100%;

    margin-right:32px;
    padding:32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes children top, center, bottom */
    height: 100%;

    flex-direction: column;
    align-items: flex-start;
    scroll-snap-align: start;
    white-space: normal;
    word-break: break-word;
}

.home-usecasefeature-header
{

    align-self: flex-end; /* Align to top */

}

.home-use-case-carousel-block {
    width: 100%;
    max-width: 96vw; /* Prevent overflow beyond viewport */
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 32px;

    margin-top:2px;


    white-space: nowrap; /* Optional: prevents wrapping */

    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;
}
.home-use-case-carousel-block::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.home-usecases-group-block {
    background-color: #222;
    border: 2px solid #444;

    width: 96%; /* Use full available width */
    margin-bottom: 32px;
    padding: 0;
    border-radius: 18px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column; /* Stack children vertically */
    align-items: stretch; /* Make children take full width */
    overflow: hidden; /* This will clip the child elements to the parent's rounded corners */
}

.home-usecases-header {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding-left: 0;
    padding-right: 0;
}

.homeUseCaseEntryCarouselGroupName {

    padding-bottom:16px;
    padding-right:16px;
    align-self: flex-end; /* Align to top */
    font-size: var(--font-size-large);
}

.homeUseCaseEntryCarouselGroupTitel {
    padding-top:64px;
    padding-left:48px;
    padding-right:16px;
    align-self: flex-end;
    text-align: right;
    font-size: var(--font-size-largest);

}

.use-case-carousel-block {

    max-width: 92vw; /* Prevent overflow beyond viewport */
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 32px;

    margin-top:32px;
    margin-bottom:32px;
    white-space: nowrap; /* Optional: prevents wrapping */

    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;
}
.use-case-carousel-block::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.use-case-carousel-item {
    background-color: #1a1a1a; /* Slightly darker than the container */
    border: 1px solid #444444;
    border-radius: 10px;
    min-height:280px;
    width:380px;
    min-width:380px;
    max-width:380px;

    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes children top, center, bottom */
    height: 100%;

    flex-direction: column;
    align-items: flex-start;
    scroll-snap-align: start;
    white-space: normal;
    word-break: break-word;
}

.useCaseEntryCarouselGroupName {
    padding:16px;
    align-self: flex-end; /* Align to top */

}

.useCaseEntryCarouselGroupTitel {
    padding-top:64px;
    padding-left:48px;
    padding-right:16px;
    align-self: flex-end;
    text-align: right;

}

.useCaseEntryCarouselGroupLink {
    padding:16px;
    align-self: flex-end; /* Align to bottom */
    text-align: right;
}


/* Ensure the link and content fill the carousel item */
.use-case-carousel-item a {
    display: block;

}

.use-case-carousel-item .usecase-featured {
    height: 100%;
    margin-bottom: 0;
}



.home-use-case-carousel-item {
    background-color: #1a1a1a; /* Slightly darker than the container */

    border-radius: 10px;
    min-height:280px;
    width:100%;
    min-width:100%;
    max-width:100%;

    margin-right:32px;
    padding:32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes children top, center, bottom */
    height: 100%;

    flex-direction: column;
    align-items: flex-start;
    scroll-snap-align: start;
    white-space: normal;
    word-break: break-word;
}

.home-usecasefeature-header
{

    align-self: flex-end; /* Align to top */

}

.home-use-case-carousel-block {
    width: 100%;
    max-width: 96vw; /* Prevent overflow beyond viewport */
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 32px;

    margin-top:2px;


    white-space: nowrap; /* Optional: prevents wrapping */

    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;
}
.home-use-case-carousel-block::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.home-usecases-group-block {
    background-color: #222;
    border: 2px solid #444;

    width: 96%; /* Use full available width */
    margin-bottom: 32px;
    padding: 0;
    border-radius: 18px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column; /* Stack children vertically */
    align-items: stretch; /* Make children take full width */
    overflow: hidden; /* This will clip the child elements to the parent's rounded corners */
}

.home-usecases-header {

    padding: 16px;
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    width: 100%;
    justify-content: flex-start;
    box-sizing: border-box;
}


.home-use-case-item-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
}


.homeUseCaseEntryCarouselGroupTitel {
    padding-top:32px;
    padding-left:48px;
    padding-right:16px;
    align-self: flex-end;
    text-align: right;
    font-size: var(--font-size-largest);

}

.homeUseCaseEntryCarouselGroupTitel a,
.homeUseCaseEntryCarouselGroupTitel a:visited {
    color: var(--color-brand-orange) !important;
}

.home-use-case-carousel-block {
    display: grid; /* Use Grid to layer items */
    min-height: 200px; /* Adjust to your content to prevent layout shifts */
}

.home-use-case-carousel-item {
    /* All items share the same grid cell, layering them on top of each other */
    grid-area: 1 / 1;

    opacity: 0;
    visibility: hidden;
    /*
       CRITICAL FIX:
       - Transition the opacity over 1.2s.
       - Keep the item 'visible' during the fade-out, then hide it instantly *after* the transition is done.
    */
    transition: opacity 1.2s ease-in-out, visibility 0s linear 1.2s;
}

.home-use-case-carousel-item.visible {
    opacity: 1;
    visibility: visible;
    /*
       CRITICAL FIX:
       - When an item becomes visible, remove the visibility delay.
    */
    transition-delay: 0s;
}

.homeUseCaseEntryCarouselGroupTitel a, .homeUseCaseEntryCarouselGroupTitel a:visited {
    color: var(--color-brand-orange) !important;
}

.home-use-case-carousel-block {
    display: grid; /* Use Grid to layer items */
    min-height: 200px; /* Adjust to your content to prevent layout shifts */
}

.home-use-case-carousel-item {
    /* All items share the same grid cell, layering them on top of each other */
    grid-area: 1 / 1;

    opacity: 0;
    visibility: hidden;
    /*
       CRITICAL FIX:
       - Transition the opacity over 1.2s.
       - Keep the item 'visible' during the fade-out, then hide it instantly *after* the transition is done.
    */
    transition: opacity 1.2s ease-in-out, visibility 0s linear 1.2s;
}

.home-use-case-carousel-item.visible {
    opacity: 1;
    visibility: visible;
    /*
       CRITICAL FIX:
       - When an item becomes visible, remove the visibility delay.
    */
    transition-delay: 0s;
}




.use-case-floating-list {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    padding-top: 32px;
    padding-left: 0px;
    align-items: start;
    justify-content: flex-start; /* Explicitly align items to the left */
    text-align: left; /* Override parent's text-align for children */
}

.use-case-byline
{
    margin-top:16px;

    width:100%;

}

.usecase-fullwidth {
    float: right;
    padding-top: 32px;
    padding-left: 64px;
    padding-right:16px;
    padding-bottom:16px;
    width: 100%;
    margin-top: 6rem;
    margin-bottom: 32px;
    text-align: right;
    background-color: #323232;
    border-radius: 18px;
    border: 2px solid #444;
}


.usecase-floating {
    float: right;
    padding-top: 16px;
    padding-left: 64px;
    padding-right:16px;
    padding-bottom:16px;
    min-height:155px;
    width: 400px;
    margin-right: 2rem; /* Add space between the floating block and the main content */
    margin-bottom: 48px;
    text-align: right;
    background-color: #323232;
    border-radius: 18px;
    border: 2px solid #444;
}

.usecase-featured {
    padding-top: 32px;
    padding-left: 64px;
    padding-right:16px;
    padding-bottom:16px;
    width: 100%;
    align-self: stretch;
    box-sizing: border-box;
    margin-bottom: 32px;
    text-align: right;
    background-color: #323232;
    border-radius: 18px;
    border: 2px solid #444;
}

.usecase-featured:hover, .usecase-floating:hover {
    background-color: #000;
}

.use-case-overview-header {
    width:100%;
    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: left;
    align-self: stretch;
    background-image: url('/assets/images/product_background.png');
    background-size: auto;
    background-position: left;
    background-repeat: no-repeat;
}


/* Mobile Layout */
@media (max-width: 992px) {


    .home-usecases-group-block {


        border: 2px solid #444;

        width: 96%; /* Use full available width */
        margin-bottom: 32px;
        padding: 0;
        border-radius: 18px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column; /* Stack children vertically */
        align-items: stretch; /* Make children take full width */
        overflow: hidden; /* This will clip the child elements to the parent's rounded corners */
    }

    .home-use-case-carousel-item {

        border-radius: 10px;
        width:100%;
        min-width:100%;
        max-width:100%;

        margin-right:32px;
        padding:16px;
        display: flex;
        flex-direction: column;
        justify-content: space-between; /* Distributes children top, center, bottom */

        flex-direction: column;
        align-items: flex-start;
        scroll-snap-align: start;
        white-space: normal;
        word-break: break-word;
    }

    .home-usecases-header {

        padding: 16px;
        display: flex;
        flex-direction: row;
        gap: 16px;
        align-items: center;
        width: 100%;
        justify-content: flex-start;
        box-sizing: border-box;
    }



    .homeUseCaseEntryCarouselGroupName {

        display: none;
    }

    .homeUseCaseEntryCarouselGroupTitel {

        padding-top:0px !important;
        padding-left:32px;
        padding-right:16px;

        text-align: right;
        font-size: var(--font-size-large);

    }


    .use-case-carousel-item {
        background-color: #1a1a1a; /* Slightly darker than the container */
        border: 1px solid #444444;
        border-radius: 10px;
        min-height:280px;
        width:380px;
        min-width:300px;
        max-width:300px;

        display: flex;
        flex-direction: column;
        justify-content: space-between; /* Distributes children top, center, bottom */
        height: 100%;

        flex-direction: column;
        align-items: flex-start;
        scroll-snap-align: start;
        white-space: normal;
        word-break: break-word;
    }

    .useCaseEntryCarouselGroupName {
        padding:16px;
        align-self: flex-end; /* Align to top */

    }

    .useCaseEntryCarouselGroupTitel {
        padding-top:32px;
        padding-left:48px;
        padding-right:16px;
        align-self: flex-end;
        text-align: right;

    }

    .useCaseEntryCarouselGroupLink {
        padding:16px;
        align-self: flex-end; /* Align to bottom */
        text-align: right;
    }


    .product-layout-container {
        flex-direction: column; /* Stack items vertically */
    }

    .productpagecontent {
        order: 2;
    }

    .use-case-floating-list {
        flex-direction: column;
        align-items: stretch;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }


    .usecase-floating {
        width: 100%;
        box-sizing: border-box;
        margin-right: 0;
        text-align: left;
        margin-bottom:64px !important;
    }
}