body {
    font-family: 'Montserrat', sans-serif; 
    background: #f8f9fa;
}

/* CONTAINER RESET */
.accordion-container {
    display: flex;
    flex-direction: column; /* Mobile Default: Stack vertically */
    width: 100%;
    background: #000;
    overflow: hidden;
    border-radius: 6px;
}

/* INDIVIDUAL BOX */
.acc-box {
    position: relative;
    overflow: hidden;
    transition: all 0.5s ease;
    background: #fff;
    border-bottom: 1px solid #ddd;
}

/* HEADER (Title Strip) */
.acc-head {
    background: #000;
    color: #fff;
    cursor: pointer;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    transition: 0.3s;
}

.acc-head span {
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 600;
}

/* CONTENT AREA */
.acc-content {
    height: 0; /* Hidden by default on mobile */
    opacity: 0;
    background: #fff;
    transition: all 0.5s ease;
    overflow: hidden;
}

.content-inner {
    padding: 20px;
}

/* --- MOBILE ACTIVE STATE --- */
.acc-box.active .acc-content {
    height: auto; /* Expand to fit content */
    opacity: 1;
    border-bottom: 5px solid #000;
}

.acc-box.active .acc-head {
    background: #333; /* Slightly lighter on active */
}

/* =========================================
   DESKTOP STYLES (Min-width: 992px)
   This restores the horizontal sliding effect
   ========================================= */
@media (min-width: 992px) {
    .accordion-container {
        flex-direction: row; /* Horizontal alignment */
        height: 600px; /* Fixed height for desktop only */
    }

    .acc-box {
        flex: 1; /* All boxes take equal space initially */
        border-bottom: none;
        border-right: 1px solid #fff;
        height: 100%;
        display: flex;
    }

    /* HEADER: Vertical Text */
    .acc-head {
        width: 60px; /* Fixed width for the strip */
        height: 100%;
        padding: 0;
        justify-content: center;
        flex-shrink: 0;
    }

    .acc-head span {
        writing-mode: vertical-rl; /* Vertical text */
        transform: rotate(180deg);
        white-space: nowrap;
    }

    /* CONTENT */
    .acc-content {
        flex-grow: 1;
        width: 0; /* Hidden width initially */
        height: 100% !important; /* Force full height */
        opacity: 0;
    }

    .content-inner {
        width: 100%;
        min-width: 500px; /* Prevent text wrapping too tight during transition */
        padding: 40px;
    }

    /* DESKTOP ACTIVE STATE */
    .acc-box.active {
        flex: 15; /* Grow significantly */
    }

    .acc-box.active .acc-content {
        width: auto;
        opacity: 1;
        transition-delay: 0.2s;
    }
}