/* inspiration gallery styles */
.dynamic-sizes > .gallery-container + .gallery-container {
    margin-top: 0;
}
.main-gallery-grid {
    padding-top: clamp(24px, 3.5vw, 64px);
}
.gallery-container.with-bg:not(:first-child):has(h2),
.dynamic-sizes > .gallery-container + .gallery-container.with-bg:not(:first-child):has(h2) {
    margin-top: clamp(32px, 7vw, 128px);
}
.main-gallery-grid,
.gallery-container.main-gallery-grid.with-bg:not(:first-child):has(h2),
.intro ~ .gallery-container.with-bg:nth-child(3) {
    margin-top: clamp(32px, 4.5vw, 80px);
}
.gallery-container.with-bg {
    position: relative;
}
.gallery-container.with-bg,
.gallery-container.with-bg::before,
.gallery-container.with-bg::after {
    background: #F4EEE8;
}
.gallery-container.with-bg::before,
.gallery-container.with-bg::after {
    content: "";
    display: block;
    width: 50vw;
    height: 100%;
    position: absolute;
    top: 0;
}
.gallery-container.with-bg::before {
    left: -50vw;
}
.gallery-container.with-bg::after {
    right: -50vw;
}
.gallery-title {
    max-width: 800px;
}
.dynamic-sizes .gallery-title h2,
.gallery-title h2 {
    margin-bottom: 16px;
}
.gallery-container .gallery-title h2 {
    padding-top: clamp(32px, 7vw, 128px);
}
.gallery-container.with-bg .gallery-title h2 {
    padding-top: clamp(24px, 3.5vw, 64px);
}
.gallery-grid {
    display: grid;
    column-gap: clamp(24px, 2.5vw, 32px);
    row-gap: clamp(24px, 3.5vw, 64px);
}
.gallery-item {
    position: relative;
}
.gallery-item > a {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}
.gallery-item-image picture {
    display: block;
    position: relative;
    aspect-ratio: 512 / 342;
}
.gallery-item-image picture img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: 2;
}
.gallery-item-text {
    margin-top: clamp(24px, 2.5vw, 32px);
}
.gallery-accreditation {
    margin-bottom: clamp(24px, 3.5vw, 64px);
}
.gallery-accreditation a,
.ls-redesign .gallery-accreditation p a,
.intro .read-more-container a {
    color: var(--color-black);
}
.gallery-inner-image-container picture {
    display: block;
    position: relative;
    margin-top: 0;
}
.gallery-inner-image-container picture img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: 1;
}
.images-1 picture {
    aspect-ratio: 312 / 208;
}
.images-1,
.wrap-images-1 .gallery-image-caption,
.images-2,
.wrap-images-2 .gallery-image-caption,
.images-3,
.wrap-images-3 .gallery-image-caption {
    max-width: 1056px;
    margin-left: auto;
    margin-right: auto;
}
.images-2 picture {
    aspect-ratio: 512 / 768;
}
.images-2,
.images-3 {
    display: grid;
    gap: 24px;
}
.images-2 {
    grid-template-columns: minmax(1px, 1fr) minmax(1px, 1fr);
}
.images-3 picture {
    aspect-ratio: 512 / 341;
}
.images-3 picture:first-of-type {
    aspect-ratio: 512 / 768;
}
.gallery-image-caption {
    display: flex;
    gap: 10px;
    margin-top: clamp(8px, 2vw, 16px);
}
.gallery-image-caption p,
.fs-clamp .gallery-image-caption p {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: -0.06px;
}
.gallery-image-caption span {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 8px solid var(--color-tangerine);
    margin-top: 5px;
}
/* .gallery-text-container ~ .gallery-quote-container .gallery-quote {
    margin-top: 0;
} */
.gallery-text-container,
.gallery-quote-container {
    margin: clamp(24px, 3.5vw, 64px) 0;
}
.gallery-text,
.gallery-quote {
    max-width: 544px;
    /* margin: clamp(24px, 3.5vw, 64px) 0; */
}
.gallery-quote p {
    font-family: var(--font-text-medium);
    font-style: italic;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: -0.1px;
    color: var(--color-black);
    position: relative;
    padding-left: 36px;
}
.gallery-quote p::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 100%;
    background: var(--color-tangerine);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.gallery-container.with-bg > div:last-child {
    margin-bottom: 0;
    padding-bottom: clamp(24px, 3.5vw, 64px);
}
.dynamic-sizes > div + div.end-page-buttons-container {
    margin-top: clamp(24px, 3.5vw, 64px);
}
.end-page-buttons-container {
    padding: clamp(8px, 3vw, 24px) 0;
    border-top: 1px solid var(--color-emperor);
    border-bottom: 1px solid var(--color-emperor);
}
.end-page-buttons a:last-child {
    margin-top: 8px;
}
.end-page-buttons a {
    color: var(--color-emperor);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    transition: color 0.3s ease-in-out;
}
.end-page-buttons a:hover,
.end-page-buttons a:focus {
    color: var(--color-black);
}

@media (min-width: 600px) {
    .gallery-grid {
        grid-template-columns: 1fr 1fr;
    }
    .end-page-buttons {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: clamp(24px, 3.5vw, 64px);
    }
    .end-page-buttons a:last-child {
        margin-top: 0;
    }
}

@media (max-width: 624px) {
    .images-slider {
        overflow: auto;
        margin-right: -24px;
    }
    .images-2 {
        min-width: 600px;
    }
}

@media (min-width: 625px) {
    .gallery-container .ls-dots-container {
        display: none;
    }
}

@media (min-width: 768px) {
    .images-2,
    .images-3 {
        gap: 32px;
        grid-template-columns: minmax(1px, 1fr) minmax(1px, 1fr);
    }
    .images-2 picture,
    .images-3 picture {
        width: 100%;
        aspect-ratio: auto;
    }
    .images-2 picture {
        height: min(69.56vw, 768px);
    }
    .images-3 picture {
        --height: min(64.67vw, 714px);
    }
    .images-3 .grid-image-0 {
        height: var(--height);
        grid-row: span 2;
    }
    .images-3 .grid-image-1,
    .images-3 .grid-image-2 {
        height: calc(0.5 * var(--height) - 16px);
    }
}

@media (min-width: 1024px) {
    .dynamic-sizes .gallery-title h2,
    .gallery-title h2 {
        font-family: var(--font-display-medium);
    }
    .dynamic-sizes .gallery-accreditation p + p,
    .gallery-accreditation p + p {
        margin-top: 0;
    }
    .gallery-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .gallery-accreditation {
        display: flex;
        align-items: center;
        gap: 32px;
    }
    .images-1 picture {
        aspect-ratio: 1056 / 705;
    }
    .gallery-quote p {
        font-family: var(--font-display-medium);
        font-size: 24px;
        line-height: 32px;
        letter-spacing: -0.24px;
        padding-left: 0;
    }
    .gallery-quote p::before {
        left: -32px;
    }
}
/* end inspiration gallery styles */
