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

.accordion-module-wrapper {
    margin-bottom: 96px;
    padding: 0 1rem;
}

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

.accordion-module-wrapper .accordion-module-grid .accordion-module-header,
.accordion-module-wrapper .accordion-module-grid .accordion-module-body {
    grid-column: 1 / -1;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-header {
    margin-bottom: 96px;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-header h2 {
    text-align: center;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown {
    &:first-of-type {
        border-top: 1px solid #000000;
    }
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-header {
    display: flex;
    justify-content: space-between;
    column-gap: 1rem;
    padding: 1rem 0;
    cursor: pointer;
    align-items: center;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-header h3 {
    flex-shrink: 9999999999;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-header img {
    width: 2rem;
    height: 2rem;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 300ms ease-in-out;
    border-bottom: 1px solid #000000;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-body.collapsed {
    max-height: 0 !important;
}

.accordion-module-wrapper .accordion-module-grid .accordion-module-body .dropdown .dropdown-body .dropdown-body-wrapper {
    padding: 0 0 1rem 0;
    display: flex;
    flex-direction: column;
    row-gap: 1rem;
}

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

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

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

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

    .accordion-module-wrapper .accordion-module-grid .accordion-module-header,
    .accordion-module-wrapper .accordion-module-grid .accordion-module-body {
        grid-column: 2 / span 10;
    }
}