/* Widget "faq" */
.karnak-faq { width: 100%; }

.karnak-faq-item {
    border-bottom: var(--karnak-faq-border-width, 1px) solid var(--karnak-faq-border, #e5e7eb);
    background: var(--karnak-faq-item-bg, transparent);
    border-radius: var(--karnak-faq-radius, 0);
    overflow: hidden;
}
.karnak-faq-item:first-child { border-top: var(--karnak-faq-border-width, 1px) solid var(--karnak-faq-border, #e5e7eb); }

.karnak-faq-question {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--karnak-faq-q-padding, 16px 4px);
    cursor: pointer;
    list-style: none;
    font-size: var(--karnak-faq-q-size, 1rem);
    font-weight: var(--karnak-faq-q-weight, 600);
    color: var(--karnak-faq-q-color, inherit);
    background: var(--karnak-faq-q-bg, transparent);
    gap: 12px;
    user-select: none;
}
.karnak-faq-question::-webkit-details-marker { display: none; }

.karnak-faq-icon {
    flex-shrink: 0;
    width: var(--karnak-faq-icon-size, 20px);
    height: var(--karnak-faq-icon-size, 20px);
    position: relative;
    margin-left: auto;
}
.karnak-faq-icon::before,
.karnak-faq-icon::after {
    content: '';
    position: absolute;
    background: var(--karnak-faq-icon-color, currentColor);
    border-radius: 2px;
    transition: transform .25s ease, opacity .25s ease;
}
.karnak-faq-icon::before { width: 100%; height: 2px; top: 50%; transform: translateY(-50%); }
.karnak-faq-icon::after  { width: 2px; height: 100%; left: 50%; transform: translateX(-50%); }

.karnak-faq-item[open] .karnak-faq-icon::after { transform: translateX(-50%) rotate(90deg); opacity: 0; }

.karnak-faq-answer {
    padding: var(--karnak-faq-a-padding, 0 4px 16px);
    font-size: var(--karnak-faq-a-size, .95rem);
    color: var(--karnak-faq-a-color, inherit);
    background: var(--karnak-faq-a-bg, transparent);
    text-align: var(--karnak-faq-a-align, left);
    line-height: 1.6;
}
.karnak-faq-answer p { margin: 0 0 8px; }
.karnak-faq-answer p:last-child { margin-bottom: 0; }

/* FAQ columnas */
.karnak-faq-cols {
    column-count: 2;
    column-gap: 32px;
}
.karnak-faq-cols .karnak-faq-item { break-inside: avoid; }

/* ── Iconos ─────────────────────────────────────── */

/* Plus (default) — ya definido arriba, no necesita clase extra */

/* Chevron — flecha abajo (SVG inline via border trick) que rota 180° al abrir */
.karnak-faq-icon-chevron .karnak-faq-icon::before { display: none; }
.karnak-faq-icon-chevron .karnak-faq-icon::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--karnak-faq-icon-color, currentColor);
    border-bottom: 2px solid var(--karnak-faq-icon-color, currentColor);
    transform: translateX(-50%) rotate(45deg);
    background: none;
    top: calc(50% - 4px);
    left: 50%;
    transition: transform .25s ease;
}
.karnak-faq-icon-chevron .karnak-faq-item[open] .karnak-faq-icon::after {
    transform: translateX(-50%) rotate(-135deg);
    top: calc(50% + 1px);
}

/* None — sin ícono */
.karnak-faq-icon-none .karnak-faq-icon { display: none; }

/* FAQ list numbering — CSS counters injected before each question */
.karnak-faq-ls-decimal,
.karnak-faq-ls-upper-roman,
.karnak-faq-ls-upper-alpha { counter-reset: faq-counter; }

.karnak-faq-ls-decimal .karnak-faq-item,
.karnak-faq-ls-upper-roman .karnak-faq-item,
.karnak-faq-ls-upper-alpha .karnak-faq-item { counter-increment: faq-counter; }

.karnak-faq-ls-decimal .karnak-faq-question::before    { content: counter(faq-counter, decimal) '.\00a0';     flex-shrink: 0; }
.karnak-faq-ls-upper-roman .karnak-faq-question::before { content: counter(faq-counter, upper-roman) '.\00a0'; flex-shrink: 0; }
.karnak-faq-ls-upper-alpha .karnak-faq-question::before { content: counter(faq-counter, upper-alpha) '.\00a0'; flex-shrink: 0; }
