/**
 * Components CSS
 *
 * Style komponentów wielokrotnego użytku (BEM):
 * - Typografia (h1-h6, p)
 * - Przyciski (.btn)
 * - Karty (.card)
 * - Formularze (.form-*)
 * - Accordion (.accordion)
 * - Check-list (.check-list)
 * - Badges (.badge)
 * - Alerty (.alert)
 *
 * @package Design System
 * @since 1.0.0
 */

/* ==========================================================================
   Typografia - Fluid
   ========================================================================== */
.section-title {
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    color: var(--color-heading);
    text-align: center;
    margin-bottom: 12px;
}

.section-sub {
    text-align: center;
    color: var(--color-text-light);
    font-size: var(--font-size-lg);
    max-width: 620px;
    margin: 0 auto 48px;
}

.blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.18;
    pointer-events: none;
    z-index: 0;
}


/* ==========================================================================
   Przyciski (Buttons) - BEM
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: var(--radius-full);
    font-family: inherit;
    font-weight: var(--font-weight-semibold);
    font-size: 1rem;
    cursor: pointer;
    border: none;
    transition: var(--transition);
}

.btn-primary {
    background: var(--gradient-primary);
    color: var(--color-white);
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.35);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.45);
}

.btn-secondary {
    background: var(--color-white);
    color: var(--color-primary-dark);
    border: 2px solid var(--color-primary);
}

.btn-secondary:hover {
    background: var(--color-primary-light);
    transform: translateY(-3px);
}

.btn-accent {
    background: var(--gradient-secondary);
    color: var(--color-white);
    box-shadow: 0 4px 16px rgba(124, 58, 237, 0.3);
}

.btn-accent:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(124, 58, 237, 0.4);
}


/* ==========================================================================
   Karty (Cards) - BEM
   ========================================================================== */



/* ==========================================================================
   Formularze - BEM
   ========================================================================== */


/* ==========================================================================
   Accordion - BEM
   ========================================================================== */
.accordion {
    display: grid;
    gap: var(--spacing-4);
}

.accordion-item {
    background: var(--color-background-surface);
    border: 1px solid var(--color-primary-light);
    border-radius: var(--radius-base);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.accordion-trigger {
    width: 100%;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--spacing-3);
    padding: var(--spacing-5);
    text-align: left;
    color: var(--color-heading);
    font-size: 1rem;
    font-weight: var(--font-weight-semibold);
    transition: var(--transition);
}

.accordion-trigger:hover {
    background: var(--color-background);
}

.accordion-trigger:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: -2px;
}

.accordion-trigger i {
    color: var(--color-primary-dark);
    transition: var(--transition);
}

.accordion-panel {
    max-height: 0;
    overflow: hidden;
    padding: 0 var(--spacing-5);
    transition: var(--transition);
}

.accordion-item.is-open .accordion-panel {
    max-height: 40rem;
    padding: 0 var(--spacing-5) var(--spacing-5);
}

.accordion-item.is-open .accordion-trigger i {
    transform: rotate(180deg);
}

/* ==========================================================================
   Listy (Lists)
   ========================================================================== */


/* ==========================================================================
   Check List - BEM
   ========================================================================== */


/* ==========================================================================
   Badge - BEM
   ========================================================================== */


/* ==========================================================================
   Separator / Divider
   ========================================================================== */


/* ==========================================================================
   Icon wrapper
   ========================================================================== */
.icon-primary {
    color: var(--color-primary);
}

.icon-accent {
    color: var(--color-accent);
}


/* ==========================================================================
   Image / Media
   ========================================================================== */


/* ==========================================================================
   Paginacja
   ========================================================================== */

