.card-block--container,
.card-block {
    position: relative;
    z-index: 5;
}

@media only screen and (min-width: 768px) {
    .card-block--container li:nth-of-type(even) .card_b-picture {order: 1;}
    .card-block--container li:nth-of-type(even) .card_b-info {order: 2;}
}


/*
INFO
*/
.card_b-info {
    padding: var(--size) var(--size_m) 0;
    border-radius: 1rem 1rem 0 0;
    transform: translateY(-1rem);
    overflow-y: auto;
}
body[data-template="location"] .card_b-info,
body[data-template="rooms"] .card_b-info,
body[data-template="penthouse"] .card_b-info {padding-bottom: var(--size_s);}

.card_b-item-mar_auto {margin-top: auto;}

.card_b-top-xlarge-large {margin-top: .5em;}
.card_b-top-xlarge-body {margin-top: .4em;}
.card_b-top-large-body {margin-top: .45em;}
.card_b-top-body-large {margin-top: .55em;}
.card_b-top-body-button {margin-top: .65em;}
.card_b-top-body-small {margin-top: .35em;}

@media only screen and (min-width: 1096px) {
    .card_b-top-large-body {margin-top: .3em;}
    .card_b-top-medium-body {margin-top: .4em;}
    .card_b-top-body-body {margin-top: .45em;}
    .card_b-top-body-button {margin-top: 1em;}
    .card_b-top-body-small {margin-top: .25em;}
    .card_b-top-medium-small {margin-top: .15em;}
}

.card_b-info--listing {row-gap: 1em;}

.card-block .--button {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

@media only screen and (min-width: 768px) {
    .card_b-info {
        min-width: 50vw;
        max-width: 50vw;
        min-height: 50vw;
        padding: var(--size) !important;
        border-radius: 0;
        transform: translateY(0);
    }

    .card-block .--button {
        margin-left: 0;
        margin-right: 0;
    }

    .card_b-info--bottom {margin-top: auto;}
}

@media only screen and (min-width: 1096px) {
    .card-block {
        min-height: calc(100dvh - var(--header_height));
        max-height: calc(100dvh - var(--header_height));
        transition: min-height 250ms ease-in-out, max-height 250ms ease-in-out;
    }

    .card_b-info,
    .card_b-picture {
        min-height: calc(100dvh - var(--header_height));
        max-height: calc(100dvh - var(--header_height));
        transition: min-height 250ms ease-in-out, max-height 250ms ease-in-out;
    }
}




/* 
PICTURE
*/
.card_b-picture {
    width: 100%;
    height: 100%;
}

@media only screen and (min-width: 768px) {
    .card_b-picture {
        position: sticky;
        top: 0;
        align-self: flex-start;
        min-width: 50vw;
        max-width: 50vw;
    }
}

/* GALLERY Container */
.card_b-picture .--gallery-container {
    min-width: 100vw;
    max-width: 100vw;
    scroll-snap-type: x mandatory;
    overflow: hidden;
}
@media (hover: none) {.card_b-picture .--gallery-container {overflow-x: auto; overflow-y: hidden;}}

.card_b-picture .--gallery-container figure {
    min-width: 100vw;
    max-width: 100vw;
    scroll-snap-align: center;
}
@media only screen and (min-width: 768px) {
    .card_b-picture .--gallery-container,
    .card_b-picture .--gallery-container figure {
        min-width: 50vw;
        max-width: 50vw;
    }
}

/* GALLERY Panels */
.card_b-picture .--gallery-panels {z-index: 5;}
.card_b-gallery-panel.--prev {
    top: 0;
    left: 0;
    bottom: 0;
    width: 50vw;
}
.card_b-gallery-panel.--next {
    top: 0;
    right: 0;
    bottom: 0;
    width: 50vw;
}
@media (hover: none) {.card_b-picture .--gallery-panels {display: none;}}
@media only screen and (min-width: 768px) {
    .card_b-gallery-panel.--prev,
    .card_b-gallery-panel.--next {width: 25vw;}
}

/* GALLERY Bullets */
.card_b-picture .--gallery-bullets {
    right: 1rem;
    bottom: 2rem;
    left: 1rem;
    column-gap: var(--size);
    z-index: 10;
}
.card_b-gallery-bullet {
    width: var(--size_s);
    height: var(--size_s);
    border-radius: var(--size_s);
    background: rgba(255, 255, 255, .5);
    backdrop-filter: blur(1rem);
    transition: background 500ms;
}
.card_b-gallery-bullet.--active {background: rgba(255, 255, 255, 1);}