/* Zestawy Q&A — wygląd harmonijki (shortcode [najdul_qa]). */

.najdul-qa-wrap {
    --qa-ink: var(--theme-palette-color-4, #192c27);
    --qa-muted: #5a6a64;
    --qa-line: #e6eae8;
    --qa-open-bg: var(--theme-palette-color-7, #f5f5f2);
    --qa-accent: var(--theme-palette-color-1, #5a8139);
    --qa-icon: 14px;
    --qa-icon-line: 1.5px;
}

.najdul-qa-wrap .najdul-qa__title {
    margin: 0 0 28px;
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--qa-ink);
}

.najdul-qa-wrap .wp-block-accordion.najdul-qa {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Pozycja */
.najdul-qa-wrap .wp-block-accordion-item {
    border-radius: 10px;
    border-bottom: 1px solid var(--qa-line);
    background: transparent;
    transition: background-color 0.28s ease;
}

.najdul-qa-wrap .wp-block-accordion-item.is-open {
    background: var(--qa-open-bg);
    border-bottom-color: transparent;
}

/* Nagłówek z pytaniem */
.najdul-qa-wrap .wp-block-accordion-heading {
    margin: 0;
}

.najdul-qa-wrap .wp-block-accordion-heading__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative;
    width: 100%;
    padding: 20px 58px 20px 26px;
    border: 0;
    background: transparent;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--qa-ink);
    text-align: left;
    cursor: pointer;
}

.najdul-qa-wrap .wp-block-accordion-heading__toggle:hover {
    color: var(--qa-accent);
}

/* Ikona „+ / −". Shortcode generuje nagłówki z showIcon:false, więc rdzeń nie
   wstawia własnego elementu ikony — rysujemy ją na pseudoelementach przycisku
   i nie ma się z czym gryźć. */
.najdul-qa-wrap .wp-block-accordion-heading__toggle::before,
.najdul-qa-wrap .wp-block-accordion-heading__toggle::after {
    position: absolute;
    top: 50%;
    right: 26px;
    content: '';
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
}

/* pozioma kreska — zostaje zawsze */
.najdul-qa-wrap .wp-block-accordion-heading__toggle::before {
    width: var(--qa-icon);
    height: var(--qa-icon-line);
    transform: translateY(-50%);
}

/* pionowa kreska — wyśrodkowana na poziomej, po otwarciu znika */
.najdul-qa-wrap .wp-block-accordion-heading__toggle::after {
    width: var(--qa-icon-line);
    height: var(--qa-icon);
    transform: translate(calc((var(--qa-icon) - var(--qa-icon-line)) / -2), -50%);
}

.najdul-qa-wrap .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
    transform: translate(calc((var(--qa-icon) - var(--qa-icon-line)) / -2), -50%) rotate(90deg);
    opacity: 0;
}

/* Odpowiedź */
.najdul-qa-wrap .wp-block-accordion-panel {
    position: relative;
    padding: 0 26px 22px 26px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--qa-muted);
}

.najdul-qa-wrap .wp-block-accordion-item.is-open .wp-block-accordion-panel::before {
    position: absolute;
    top: 2px;
    left: 26px;
    bottom: 22px;
    width: 2px;
    content: '';
    background: var(--qa-accent);
    border-radius: 2px;
    opacity: 0.85;
}

.najdul-qa-wrap .wp-block-accordion-item.is-open .wp-block-accordion-panel {
    padding-left: 42px;
}

.najdul-qa-wrap .wp-block-accordion-panel > *:first-child {
    margin-top: 0;
}

.najdul-qa-wrap .wp-block-accordion-panel > *:last-child {
    margin-bottom: 0;
}

.najdul-qa-wrap .wp-block-accordion-panel a {
    color: var(--qa-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.najdul-qa-wrap .wp-block-accordion-panel ul,
.najdul-qa-wrap .wp-block-accordion-panel ol {
    margin: 0 0 12px;
    padding-left: 20px;
}

@media (max-width: 689px) {
    .najdul-qa-wrap .wp-block-accordion-heading__toggle {
        padding: 17px 46px 17px 18px;
        font-size: 14px;
        gap: 16px;
    }

    .najdul-qa-wrap .wp-block-accordion-panel {
        padding: 0 18px 18px;
    }

    .najdul-qa-wrap .wp-block-accordion-item.is-open .wp-block-accordion-panel {
        padding-left: 32px;
    }

    .najdul-qa-wrap .wp-block-accordion-item.is-open .wp-block-accordion-panel::before {
        left: 18px;
    }

    .najdul-qa-wrap .wp-block-accordion-heading__toggle::before,
    .najdul-qa-wrap .wp-block-accordion-heading__toggle::after {
        right: 18px;
    }
}
