/* ============================================
   ACCORDION COMPONENT (Reusable)
   ============================================ */

.accordion {
    margin: var(--space-lg) auto;
    padding: 0 var(--space-lg);
}

.accordion__text__items .accordion__item {

    background: rgba(255, 255, 255, .02);

}

.accordion__text__items .accordion__item:hover,
.accordion__text__items .accordion__item:has(.accordion__header[aria-expanded="true"]) {

    background: rgba(255, 255, 255, .03);
}

.accordion__item {
    /* border-bottom: 1px solid var(--color-border-light); */

    background: rgba(255, 255, 255, .1);

    border-radius: 100px;
    padding: var(--space-lg);
    margin-bottom: var(--space-lg);
    transition: border-radius 0.6s 0.2s ease, background 0.3s ease;

    /* Register as an inline-size container so children can use @container */
    container-type: inline-size;
    container-name: accordion-item;
}


.theme-light .accordion__item {
    border-bottom: 1px solid var(--color-border-light);
    border-radius: 0px !important;
}

.accordion__item:hover {
    background: rgba(255, 255, 255, .2);
}

.accordion__item:has(.accordion__header[aria-expanded="true"]) {
    border-radius: var(--radius-xl);
    transition: border-radius 0.3s 0s ease;
    background: rgba(255, 255, 255, .2);
}



.accordion__header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: opacity 0.3s ease;
    color: var(--color-text);
}

.accordion__header:hover {
    opacity: 0.7;
}

.accordion__title {
    font-size: var(--text-lg);
    font-weight: 500;
    color: var(--color-text);
    text-align: left;
    font-weight: 600;
}

.accordion__icon {
    flex-shrink: 0;
    margin-right: var(--space-md);
    color: rgba(0, 0, 0, 1) !important;
    background: rgba(255, 255, 255, .8);
    border-radius: 50%;
    padding: 6px;
    width: 32px;
    height: 32px;
    transition: transform 0.6s ease;
}

/* Animate the two lines of the + icon */
.accordion__icon-line1 {
    transform-origin: center;
}

.accordion__icon-line2 {
    transform-origin: center;
}

/* When expanded, rotate to form X - rotate the entire icon container */
.accordion__header[aria-expanded="true"] .accordion__icon {
    transform: rotate(45deg);
}

.accordion__content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s ease;
}

.accordion__header[aria-expanded="true"]+.accordion__content {
    max-height: 500px;
}

.accordion__body {
    padding-right: var(--space-2xl);
    margin-top: var(--space-lg);
}

.accordion__body p {
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--color-text);
    margin: 0;
}

/* Container query: constrain answer text to 50% when the accordion
   item itself is wide enough (≥ 600px). Falls back to full-width
   on narrow containers automatically — no viewport math needed. */
@container accordion-item (min-width: 600px) {
    .accordion__body {
        width: 60%;
    }
}

/* Dark background variant */
.accent-background .accordion__title {
    color: var(--color-bg);
}

.accent-background .accordion__body p {
    color: rgba(255, 255, 255, 0.8);
}

.accent-background .accordion__item {
    border-color: rgba(255, 255, 255, 0.15);
}

.accent-background .accordion__icon {
    color: rgba(255, 255, 255, 0.6);
}

/* Responsive */