:root {

    --font-size-slide-caption: 1rem;

    --grid-template--rows: auto;
    --grid-template--cols: 4;

    --grid-column--start: 1;
    --grid-column--end: -1;
    --grid-row--start: 9;
    --grid-row--end: 10;

    --max-width: 1400px;
}

.slides-container {
    position: relative;
    /* min-width: 100%;
            min-height: 100%; */

    margin-inline: auto;
    background-color: transparent;
    width: 100%;
}

.slides {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    place-items: center;
    place-content: center;
    /* Establishes a positioning context for absolute children */
    /* width: 80%; */
    height: 90dvh;
    /* height: calc(80svh + 10ch); */
    /* Set a fixed height or adjust as needed */
    overflow: hidden;
    margin-inline: auto;
    /* border: 1px solid red; */
    /* border-radius: 1rem; */
}

.slide {
    position: absolute;
    /* inset: 0; */
    /* width: 100%;
            height: 100%; */
    block-size: 100%;
    inline-size: 100%;

    grid-area: 1 / 1;
    opacity: 0;
    visibility: hidden;
    /* Hide inactive slides from screen readers and interaction */
    transition: opacity 0.95s ease-in-out, visibility 0.95s ease-in-out;
    /* transition: all 0.95s ease-in-out; */
    z-index: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-size: cover;
    background-position: var(--pos);
    background-repeat: no-repeat;
    background-image:
        linear-gradient(0deg, rgba(87, 60, 1, 0.39), rgba(0, 56, 86, 0.19)), var(--bg);
    /* background-image: url('https://www.johnschedcikhomes.com/contents/images/gallery/slides/new_house_2025.jpg');
            background-color: #f0f0f0; */
    /* Example background */
    /* mix-blend-mode: hue; */
    background-blend-mode: overlay;
    isolation: isolate;
}

.slide.active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
    /* Bring the active slide to the front */
}

.slide.active>* {
    z-index: 2;
}

.slide4test::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: #0F0F0F;
    /* background-image: linear-gradient(to top, hsla(150, 80%, 15%, 0.5), hsla(0, 0%, 0%, 0.5)); */
    opacity: 0.25;
    z-index: 0;
    /* mix-blend-mode: hue; */
}

.slide.overlay {
    border-image: linear-gradient(to top, hsla(150, 80%, 15%, 0.35), hsla(0, 0%, 0%, 0), hsla(0, 0%, 0%, 0)) fill 1;
}

.slide>.slide_caption_container {
    position: relative;
    block-size: 100%;
    inline-size: 100%;
    min-block-size: fit-content;
    writing-mode: horizontal-tb;
    display: grid;
    grid-template-columns: repeat(var(--grid-template--cols), 1fr);
    grid-template-rows: repeat(--grid-template--rows, 1fr);
    column-gap: 0;
    row-gap: 0;
    /* display: flex;
            place-content: center;
            place-items: center; */
    /* background-color: rgba(192, 216, 193, 0.25); */
    /* Semi-transparent background */
    /* backdrop-filter: blur(8px); */
    /* border-left: 7px solid #f8f208; */
    /* border-radius: 16px; */
    background-color: transparent;
    background-image: linear-gradient(to top, hsla(150, 80%, 15%, 0.45), hsla(0, 0%, 0%, 0.25), hsla(0, 0%, 0%, 0));
    isolation: isolate;
    z-index: 3;
    /* visibility: hidden; */
}

.slide>.slide_caption_container>.slide_caption_content_wrapper {
    display: flex;
    place-items: center;
    place-content: center;
    grid-column-start: var(--grid-column--start);
    grid-column-end: var(--grid-column--end);
    grid-row-start: var(--grid-row--start);
    grid-row-end: var(--grid-row--end);
    block-size: auto;
    inline-size: auto;
    max-block-size: 100%;
    max-inline-size: 100%;

    padding: 1.25rem;
    /* border-left: 3px solid black; */
    /* border-radius: 0.75rem; */

    transition-property: opacity, translate, scale;
    transition-duration: 1s;
    transition-timing-function: ease-in-out;

    /* @starting-style {
        opacity: 0;
        translate: - 10rem;
        scale: 1.3;
    } */
}

.slide_caption_content {

    display: flex;
    flex-direction: column;
    text-align: left;
    /* background-color: hsla(0, 0%, 100%, 0.25);
    backdrop-filter: blur(8px); */
    background-color: transparent;
    /* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; */
    font-size: var(--font-size-slide-caption);
    color: #fff;
    text-shadow: 2px 2px 8px black;
    text-wrap: pretty;
    padding: 1.25rem;
    border-radius: 16px;
}

@starting-style {
    .slide_caption_content_wrapper {
        opacity: 0;
        translate: -10rem;
        scale: 0.5;
    }
}

.slide_caption_content h1 {
    line-height: 1;
    font-size: 1.25em;
    font-weight: 600;
    /* text-transform: uppercase; */
    padding-bottom: 0.5rem;
}

.slide_caption_content p {
    line-height: 1.25;
    font-weight: 400;
    /* margin-top: 0.5rem; */
}

.slide_caption_content a,
.hero__text a {
    display: block;
    width: fit-content;
}

.slide_caption_content a>div {
    width: fit-content;
    background-color: var(--bg-color-light);
    margin-block: 0.75em 0.25em;
    padding: 0.75em 1.25em;
    color: var(--color-light);
    font-size: 0.95em;
    font-weight: 600;
    text-shadow: none;
    border-radius: 80px;
}

.slide_caption_content a:hover>div {
    background-color: var(--bg-color-light);
}

.scroll-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    /* Add more styling as desired (background, color, padding, etc.) */
    cursor: pointer;
    z-index: 10;
    margin: 0;
    padding: 0.5rem;
    display: grid;

    align-items: center;
    justify-items: center;
    place-items: center;
    border: none;
    outline-color: transparent;
    width: 40px;
    height: auto;
    aspect-ratio: 1;

    backdrop-filter: blur(4px);
    background-color: hsla(0, 0%, 100%, .65);
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 4px;

    color: #0F0F0F;
    appearance: none;

}

.prev {
    left: 48px;
}

.next {
    right: 48px;
}

svg {
    width: 24px;
    height: 24px;
}

.dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 8px;
    display: flex;
    background-color: rgba(0, 0, 0, 0.3);
    gap: 0.25rem;
    width: fit-content;
    justify-self: center;
    /* margin-top: -1.5rem;
            margin-inline: auto; */
    isolation: isolate;
    padding: 0.25rem 0.5rem;
    border-radius: 40rem;
    z-index: 2;
}

.dot {
    /* flex: 1; */
    width: 0.75rem;
    background-color: rgba(255, 255, 255, 0.5);
    aspect-ratio: 1;
    border-radius: 100%;
    cursor: pointer;
    z-index: 11;
}

.dot.active {
    background-color: #fcfcfc;
}

@media (width > 37.5rem) and (width < 62.5rem) {
    .slides {
        position: relative;
        /* Establishes a positioning context for absolute children */
        width: 100%;
        height: 90dvh;
        height: calc(80svh + 5ch);
        /* Set a fixed height or adjust as needed */
        overflow: hidden;
    }
}

@media (width > 62.5rem) {

    /* 1. Define global variables for default (mobile) view */
    :root {
        --font-size-slide-caption: 1.75rem;

        --grid-template--rows: auto;
        --grid-template--cols: 12;

        --grid-column--start: 4;
        --grid-column--end: -4;
        --grid-row--start: 5;
        --grid-row--end: 6;
    }

    .slides {
        /* scroll-snap-type: x proximity; */
        /* max-width: 2200px; */
        width: 100%;

    }

    .slide_caption_content {
        font-size: var(--font-size-slide-caption);
    }

    .slide_caption_content h1 {
        /* font-family: "Frank Ruhl Libre", serif; */
        font-size: 1.25em;
        font-weight: 600;
        padding-bottom: 0.25rem;
    }

    .slide_caption_content p {
        line-height: 1.1;
        font-weight: 300;
        letter-spacing: -0.5px;
        /* font-weight: 600; */
    }

    .slide_caption_content a {
        display: none;
        font-weight: 400;
        color: var(--color-light);
    }

    .slide_caption_content a>div {
        font-size: 0.75em;
        margin-block: 0.75em 0.25em;
        padding: 0.75em 1.25em;

        font-weight: 600;

        border-radius: 80px;
    }

}

@media only screen and (hover: none) and (pointer: coarse) {
    /* .slides {
                scroll-snap-type: x mandatory;
            } */

    .scroll-button {
        visibility: hidden;

    }


}