/* ---------- mobile ---------- */

.hero-module-wrapper {
    margin-bottom: 96px;
    padding: 0 var(--space-md);
}

.hero-module-wrapper .hero-module-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

.hero-module-wrapper .hero-module-grid .hero-carousel {
    grid-column: 1 / -1;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    isolation: isolate;
}

.hero-module-wrapper .hero-module-grid .hero-carousel .hero-module-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 2s ease-in-out;
    object-fit: cover;
    border-radius: 2rem;
}

.hero-carousel[data-active="0"] .hero-module-image:nth-child(1),
.hero-carousel[data-active="1"] .hero-module-image:nth-child(2),
.hero-carousel[data-active="2"] .hero-module-image:nth-child(3),
.hero-carousel[data-active="3"] .hero-module-image:nth-child(4) {
  opacity: 1;
}

.hero-module-wrapper .hero-module-grid .hero-module-box {
    grid-column: 1 / -1;
    background-color: #a6eeff;
    text-align: center;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
    padding: 1rem;
    z-index: 99;
    border-radius: 2rem;
    padding: var(--space-xxl) var(--space-xxl);
}

/* ---------- tablet ---------- */

@media screen and (min-width: 48rem) {
    .hero-module-wrapper .hero-module-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}

/* ---------- laptop ---------- */

@media screen and (min-width: 80rem) {
    .hero-module-wrapper .hero-module-grid {
        grid-template-columns: repeat(12, 1fr);
        row-gap: 0;
    }

    .hero-module-wrapper .hero-module-grid .hero-module-box {
        grid-column: 2 / span 10;
    }
}