/*
==============================================================================
LUVEX THEME - COMPONENT: ACCORDION (TECH & FUTURISTIC)
==============================================================================
Description: Finale CSS-Datei für die Accordion-Komponente im Tech-Stil.
             Inklusive Light & Dark Theme Support und optimierten Icons.
Dependencies: _variables.css
Last Update: 2025-09-01
==============================================================================
*/

/* 1. Basis-Container (für alle Varianten gleich) */
.accordion-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    text-align: left;
}

/* 2. Basis-Layout für Accordion-Elemente */
.accordion-item {
    overflow: hidden;
    transition: all var(--transition-normal);
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem;
    cursor: pointer;
    width: 100%;
    background: none;
    border: none;
    text-align: left;
    font-size: inherit;
    font-family: inherit;
}

.accordion-header h4 {
    margin: 0;
    transition: color var(--transition-normal);
    padding-right: 1rem;
    font-size: var(--text-xl);
}

/* UPDATED ICON STYLES */
.accordion-icon-wrapper {
    font-size: 1.2rem;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    flex-shrink: 0;
    color: var(--luvex-bright-cyan);
    position: relative;
    width: 1.2em;
    height: 1.2em;
}

.accordion-icon-wrapper .icon-open,
.accordion-icon-wrapper .icon-close {
    position: absolute;
    top: 0;
    left: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.accordion-icon-wrapper .icon-close {
    opacity: 0;
    transform: rotate(-90deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

.accordion-body {
    padding: 0 1.5rem 1.5rem 1.5rem;
    line-height: 1.7;
    font-size: var(--text-lg);
}

.accordion-body p:last-child {
    margin-bottom: 0;
}

/*
==============================================================================
3. SPEZIFISCHES STYLING: VARIANTE 3 - TECH & FUTURISTISCH
==============================================================================
*/

/* --- Allgemeines Styling für Variante 3 --- */
.accordion--tech .accordion-item {
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    background-clip: padding-box; /* Wichtig für den Gradient-Border-Effekt */
    position: relative;
    background-color: var(--luvex-dark-blue-medium);
}

.accordion--tech .accordion-item::before {
    content: '';
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    z-index: -1;
    margin: -1px; /* Grösse des Borders */
    border-radius: inherit; /* Nimmt den Radius vom Parent */
    background: linear-gradient(120deg, var(--luvex-dark-blue-light), var(--luvex-dark-blue-medium));
    transition: background 0.4s ease, opacity 0.4s ease;
    opacity: 1;
}

.accordion--tech .accordion-header h4 {
    color: var(--luvex-gray-200);
}

.accordion--tech .accordion-body {
    color: var(--luvex-gray-300);
}

.accordion--tech .accordion-item:hover::before {
    opacity: 0.5;
}

/* --- Aktiver Zustand --- */
.accordion--tech .accordion-item.active {
    box-shadow: var(--luvex-glow-shadow);
}

.accordion--tech .accordion-item.active::before {
    background: linear-gradient(120deg, var(--luvex-special-cyan), var(--luvex-vibrant-blue));
    opacity: 1;
}

.accordion--tech .accordion-item.active .accordion-header h4 {
    color: var(--luvex-white);
}

/* UPDATED ACTIVE ICON STATE */
.accordion--tech .accordion-item.active .accordion-icon-wrapper .icon-open {
    opacity: 0;
    transform: rotate(90deg);
}
.accordion--tech .accordion-item.active .accordion-icon-wrapper .icon-close {
    opacity: 1;
    transform: rotate(0deg);
}

/* --- THEME-SPEZIFISCHE ANPASSUNGEN (Beispiel, falls benötigt) --- */

/* Light Theme: Hintergrund der Karten */
.theme-light .accordion--tech .accordion-item {
    background-color: var(--luvex-white);
    /* Ggf. weitere Anpassungen für hellen Hintergrund */
}
