.acc-links {
    width: 100%;
}

/* Each row */
.acc-links .acc-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    cursor: pointer;
    border-bottom: 1px solid #ddd;
    /* Duration is overridden inline by JS via --acc-speed */
    transition: min-height var(--acc-speed, 400ms) ease;
    -webkit-tap-highlight-color: transparent;
}

/* Background layer (image + overlay), fades in when active */
.acc-links .acc-item .acc-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity var(--acc-speed, 400ms) ease;
    pointer-events: none;
    z-index: 0;
}

.acc-links .acc-item .acc-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.25);
}

/* Content sits above the background */
.acc-links .acc-item .acc-inner {
    position: relative;
    z-index: 1;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.acc-links .acc-item .acc-title {
    display: inline-block;
    line-height: 1.2;
    transition: color var(--acc-speed, 400ms) ease;
}

/* Active state */
.acc-links .acc-item.is-active {
    cursor: pointer;
}

.acc-links .acc-item.is-active .acc-bg {
    opacity: 1;
}
