/* ==========================================================================
   Post FAQ Accordion (AEO) — template-parts/faq-accordion.php
   Collapsed, native <details><summary>. Unobtrusive by design: sits at the
   very bottom of the post (after related posts) so FAQs earn schema credit
   without leading the article. LNP brand tokens, no JS.
   ========================================================================== */

.lnp-site .lnp-post-faqs {
    background: var(--white, #FFFFFF);
    border-top: 1px solid var(--line, #DCE1E8);
    padding: var(--lnp-spacing-xl, 48px) 0;
}

.lnp-site .lnp-post-faqs__inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 0 var(--lnp-spacing-md, 24px);
}

.lnp-site .lnp-post-faqs__heading {
    font-size: 24px;
    line-height: 1.2;
    color: var(--navy, #1E3A65);
    margin: 0 0 var(--lnp-spacing-md, 24px);
    font-weight: 700;
    letter-spacing: -.01em;
}

.lnp-site .lnp-post-faqs__rows {
    border-top: 1px solid var(--line, #DCE1E8);
}

.lnp-site .lnp-post-faqs__row {
    border-bottom: 1px solid var(--line, #DCE1E8);
}

/* Summary row = the question + a +/- affordance. Native marker removed. */
.lnp-site .lnp-post-faqs__summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 44px 18px 0;
    position: relative;
    display: flex;
    align-items: baseline;
    gap: 0 16px;
    transition: color .15s ease;
}

.lnp-site .lnp-post-faqs__summary::-webkit-details-marker { display: none; }
.lnp-site .lnp-post-faqs__summary::marker { content: ''; }

.lnp-site .lnp-post-faqs__summary:hover .lnp-post-faqs__question {
    color: var(--navy, #1E3A65);
}

.lnp-site .lnp-post-faqs__summary:focus-visible {
    outline: 3px solid var(--gold, #FFB638);
    outline-offset: -3px;
}

.lnp-site .lnp-post-faqs__question {
    font-size: 17px;
    font-weight: 600;
    color: var(--dark, #1F1F1F);
    line-height: 1.4;
    flex: 1 1 auto;
}

.lnp-site .lnp-post-faqs__row[open] .lnp-post-faqs__question {
    color: var(--navy, #1E3A65);
}

/* Plus icon that rotates to a cross (i.e. minus-ish) when open. */
.lnp-site .lnp-post-faqs__icon {
    position: absolute;
    right: 4px;
    top: 22px;
    width: 20px;
    height: 20px;
    color: var(--gold-dark, #E5A030);
    flex: 0 0 auto;
}

.lnp-site .lnp-post-faqs__icon::before,
.lnp-site .lnp-post-faqs__icon::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 1px;
    transition: transform .2s ease, opacity .2s ease;
}

.lnp-site .lnp-post-faqs__icon::before {
    width: 2px;
    height: 14px;
    left: 9px;
    top: 3px;
}

.lnp-site .lnp-post-faqs__icon::after {
    height: 2px;
    width: 14px;
    top: 9px;
    left: 3px;
}

/* Open state: collapse the vertical bar so the plus reads as a minus. */
.lnp-site .lnp-post-faqs__row[open] .lnp-post-faqs__icon::before {
    transform: scaleY(0);
    opacity: 0;
}

.lnp-site .lnp-post-faqs__answer {
    padding: 0 44px 22px 0;
    color: var(--dark, #1F1F1F);
    line-height: 1.6;
    font-size: 16px;
}

.lnp-site .lnp-post-faqs__answer p { margin: 0 0 12px; }
.lnp-site .lnp-post-faqs__answer p:last-child { margin-bottom: 0; }

@media (max-width: 720px) {
    .lnp-site .lnp-post-faqs__heading { font-size: 21px; }
    .lnp-site .lnp-post-faqs__question { font-size: 16px; }
    .lnp-site .lnp-post-faqs__summary { padding-right: 40px; }
}
