/**
 * List Accordion Styles
 *
 * Vertical numbered accordion list with expandable content.
 * Layout: item > .container > .inner > col-left (number) + col-right (title + content).
 * Mobile: columns stack vertically.
 * Active item has a light blue background highlight.
 * CSS custom properties (--la-*) set by PHP module for dynamic theming.
 *
 * @package SmytecBuilder
 * @since 1.0.0
 */

/* ==========================================================
   Container
   ========================================================== */

.list-accordion {
    position: relative;
    width: 100%;
}

.list-accordion__items {
    display: flex;
    flex-direction: column;
    width: 100%;
    /* CSS counter: auto-increment item numbers */
    counter-reset: list-accordion-counter;
}

/* ==========================================================
   Individual Accordion Item
   ========================================================== */

.list-accordion__item {
    position: relative;
    border-bottom: 1px solid var(--la-border, rgba(4, 108, 188, 0.4));
    cursor: pointer;
    transition: background-color 0.4s ease;
    /* Increment counter for each item */
    counter-increment: list-accordion-counter;
    padding: 0 20px;
    margin-bottom: 0 !important;
}

.list-accordion__item:first-child {
    border-top: 1px solid var(--la-border, rgba(4, 108, 188, 0.4));
}

/* Active item background highlight */
.list-accordion__item--active {
    background-color: var(--la-active-bg, rgba(4, 108, 188, 0.15));
    cursor: default;
}

/* ==========================================================
   Container & Inner Wrapper
   ========================================================== */

.list-accordion__item>.container {
    width: 100%;
    padding-top: 0 !important;
}

.list-accordion__item .inner {
    display: flex;
    align-items: flex-start;
    gap: 80px;
    padding: 112px 0;
}

/* ==========================================================
   Two-Column Layout
   ========================================================== */

/* Left column: number */
.list-accordion__col-left {
    flex-shrink: 0;
    min-width: 80px;
    width: 22%;
    max-width: 345px;
}

/* Right column: title + expandable content */
.list-accordion__col-right {
    flex: 1;
    min-width: 0;
}

/* ==========================================================
   Number
   ========================================================== */

.list-accordion__number {
    font-size: 48px;
    font-weight: 300;
    color: var(--la-number, #046CBC);
    line-height: 1.2;
    margin: 0;
    padding-bottom: 0;
}

/* Auto-generated number via CSS counter */
.list-accordion__number::before {
    content: counter(list-accordion-counter, decimal-leading-zero) ".";
}

/* ==========================================================
   Title
   ========================================================== */

.list-accordion__title {
    font-size: 48px;
    font-weight: 300;
    color: #000;
    line-height: 1.2;
    margin: 0;
    padding-bottom: 0;
}

/* ==========================================================
   Expandable Content Body
   ========================================================== */

.list-accordion__body {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.4s ease 0.1s,
        margin-top 0.4s ease;
    margin-top: 0;
}

/* Active: content revealed */
.list-accordion__item--active .list-accordion__body {
    max-height: 600px;
    opacity: 1;
    margin-top: 24px;
}

/* ==========================================================
   Content Text
   ========================================================== */

.list-accordion__text {
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}

.list-accordion__text p:last-child {
    margin-bottom: 0;
}

/* ==========================================================
   Hover State (collapsed items only)
   ========================================================== */

.list-accordion__item:not(.list-accordion__item--active):hover {
    background-color: rgba(4, 108, 188, 0.06);
}

@media (max-width: 1024px) {
    .list-accordion__item .inner {
        gap: 24px;
        padding: 64px 0;
    }
}

/* ==========================================================
   Responsive — Mobile (max-width: 767px)
   ========================================================== */

@media (max-width: 767px) {
    .list-accordion__item .inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .list-accordion__col-left {
        width: 100%;
    }

    .list-accordion__title {
        font-size: 36px;
    }

    .list-accordion__number {
        font-size: 36px;
    }
}

/* ==========================================================
   Pure CSS Hover Effect (Desktop Only)
   ========================================================== */
@media (min-width: 981px) {
    .list-accordion__item:hover {
        background-color: var(--la-active-bg, rgba(4, 108, 188, 0.15));
        cursor: default;
    }

    .list-accordion__item:hover .list-accordion__body {
        max-height: 600px;
        opacity: 1;
        margin-top: 24px;
    }
}