.mira_accordion_a1-layout {
    margin-top: max(1.5rem, calc(1.5 * var(--su)));
    padding-block: max(3rem, calc(5.5 * var(--su))) max(3rem, calc(5.5 * var(--su)));
}

.mira_accordion_a1-layout.has-background {
    background-color: var(--avoord-very-light-blue);
    border-radius: var(--border-radius);
}

.mira_accordion_a1-layout.has-background .faq-item {
    border-color: transparent;
}

.mira_accordion_a1-layout .sidebar-heading-col .pk-heading {
    margin-bottom: max(1rem, calc(1 * var(--su)));
}

.mira_accordion_a1-layout .faq-items {
    display: flex;
    flex-direction: column;
    gap: max(1rem, calc(1 * var(--su)));
}

.mira_accordion_a1-layout .faq-item {
    padding: max(1rem, calc(1.25 * var(--su))) max(1.25rem, calc(2.5 * var(--su)));
    background-color: var(--avoord-white);
    border: 1px solid var(--avoord-middle-blue);
    border-radius: var(--border-radius-sm);

    transition: background-color var(--duration-slowest) var(--style-smooth);
}

.mira_accordion_a1-layout .faq-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
}

.mira_accordion_a1-layout .faq-item-title {
    margin-bottom: 0;
    font-family: var(--pk-text-font-family);
    color: var(--pk-heading-color);
    font-size: max(1.125rem, calc(1.125 * var(--su)));
    font-weight: 300;
    line-height: 1.5;
    letter-spacing: 0;
}

.mira_accordion_a1-layout .faq-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max(1.75rem, calc(2.25 * var(--su)));
    height: max(1.75rem, calc(2.25 * var(--su)));

    border: 1px solid var(--avoord-middle-blue);
    border-radius: 50%;
    aspect-ratio: 1;

    transition: rotate var(--duration-slowest) var(--style-neutral);
}

.mira_accordion_a1-layout .faq-item.active .faq-icon {
    rotate: -180deg;
}

.mira_accordion_a1-layout .faq-icon span {
    color: var(--pk-heading-color);
    font-size: max(1.125rem, calc(1.5 * var(--su)));
    line-height: 1;
}

.mira_accordion_a1-layout .faq-content {
    display: grid;
    opacity: 0;
    padding-right: max(2rem, calc(4.5 * var(--su)));
    padding-top: 0;
    grid-template-rows: 0fr;
    transition: grid-template-rows var(--duration-slowest) var(--style-neutral),
        opacity var(--duration-slowest) var(--style-neutral),
        padding-top var(--duration-slowest) var(--style-neutral);
}

.mira_accordion_a1-layout .faq-content-wrapper {
    overflow: hidden;
}

.mira_accordion_a1-layout .faq-content-wrapper p {
    font-size: var(--desktop-body-sm);
}

.mira_accordion_a1-layout .faq-item.active .faq-content {
    opacity: 1;
    grid-template-rows: 1fr;
    padding-top: max(1rem, calc(1 * var(--su)));
}

@media screen and (max-width: 992px) {
    .mira_accordion_a1-layout > .pk-grid-container {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .mira_accordion_a1-layout .sidebar-col {
        display: contents;
    }

    .mira_accordion_a1-layout .sidebar-heading-col {
        order: 1;
    }

    .mira_accordion_a1-layout .accordion-col {
        order: 2;
    }

    .mira_accordion_a1-layout .sidebar-col > :last-child {
        order: 3;
    }
}

@media screen and (max-width: 767px) {
    .mira_accordion_a1-layout .faq-item-title {
        font-size: max(1rem, calc(1 * var(--su)));
    }
}

/* Bleed light-blue background down into footer wave — only when this is the last block on the page (adjacent to footer). Height mirrors .footer-top-shape in assets/css/footer.css. */
.flex-repeater > .flex-content:last-child > .mira_accordion_a1-layout.has-background:last-child {
    position: relative;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.flex-repeater > .flex-content:last-child > .mira_accordion_a1-layout.has-background:last-child::after {
    content: "";
    position: absolute;
    inset: 100% 0 auto 0;
    height: max(3rem, calc(11.25 * var(--su)));
    background-color: var(--avoord-very-light-blue);
    pointer-events: none;
}