/* ===== FAQ Accordion (ACF module) ===== */
.faq-accordion{
    --faq-border-radius:14px;
    --faq-border-color:rgba(0,0,0,0.12);
    --faq-answer-bg:rgba(0,0,0,0.02);
    --faq-gap:14px;

    --faq-header-bg:#F72585;
    --faq-header-text:#ffffff;
    --faq-box-shadow: 1px 2px rgba(0,0,0,0.2);

    --faq-section-bg: transparent;
    --faq-section-bg-image: none;
    --faq-section-bg-position: center center;
    --faq-section-bg-size: cover;
    --faq-section-bg-repeat: no-repeat;
    --faq-section-overlay: rgba(0,0,0,0);
}

/* Spacing */
.faq-accordion--spacing-compact{ --faq-gap:8px; }
.faq-accordion--spacing-roomy{ --faq-gap:16px; }

/* Border weight */
.faq-accordion--border-weight-none{ --faq-border-color:transparent; }
.faq-accordion--border-weight-subtle{ --faq-border-color:rgba(0,0,0,0.12); }
.faq-accordion--border-weight-strong{ --faq-border-color:rgba(0,0,0,0.25); }

/* Section background */
.faq-accordion{
    position: relative;
    background-color: var(--faq-section-bg);
    background-image: var(--faq-section-bg-image);
    background-position: var(--faq-section-bg-position);
    background-size: var(--faq-section-bg-size);
    background-repeat: var(--faq-section-bg-repeat);
}

.faq-accordion::before{
    content:"";
    position:absolute;
    inset:0;
    background: var(--faq-section-overlay);
    pointer-events:none;
}

.faq-accordion__inner{
    position: relative;
    z-index: 1;
}

.faq-accordion__title{
    margin:0 0 8px;
    font-size:28px;
    text-align:left;
}

.faq-accordion__intro{
    margin:0 0 16px;
    opacity:.85;
    text-align:left;
}

/* Default list */
.faq-accordion__list{
    display:grid;
    gap:var(--faq-gap);
}

/* Base item reset */
.faq-item{
    border:0;
    border-radius:0;
    overflow:hidden;
    box-shadow: var(--faq-box-shadow);
}

/* ===== Border placement modes ===== */

/* 0) No borders */
.faq-accordion--border-placement-none .faq-accordion__list{
    display:grid;
    gap:var(--faq-gap);
}

.faq-accordion--border-placement-none .faq-item{
    border:none;
}

/* 1) Border all around each item */
.faq-accordion--border-placement-all .faq-accordion__list{
    display:grid;
    gap:var(--faq-gap);
}

.faq-accordion--border-placement-all .faq-item{
    border:var(--faq-border-size) solid var(--faq-border-color);
    border-radius:var(--faq-border-radius);
    overflow:hidden;
}

/* 2) Top + bottom only, no double borders */
.faq-accordion--border-placement-top-bottom .faq-accordion__list{
    display:block;
    border-top:var(--faq-border-size) solid var(--faq-border-color);
    border-radius:var(--faq-border-radius);
    overflow:hidden;
}

.faq-accordion--border-placement-top-bottom .faq-item{
    border-bottom:var(--faq-border-size) solid var(--faq-border-color);
    margin:0;
    border-radius:0;
}

.faq-accordion--border-placement-top-bottom .faq-item + .faq-item{
    margin-top:0;
}

/* 3) Bottom only */
.faq-accordion--border-placement-bottom-only .faq-accordion__list{
    display:block;
}

.faq-accordion--border-placement-bottom-only .faq-item{
    border-bottom:var(--faq-border-size) solid var(--faq-border-color);
    margin:0;
    border-radius:0;
}

/* 4) Top only */
.faq-accordion--border-placement-top-only .faq-accordion__list{
    display:block;
}

.faq-accordion--border-placement-top-only .faq-item{
    border-top:var(--faq-border-size) solid var(--faq-border-color);
    margin:0;
    border-radius:0;
}

/* Optional: if border size is 0, remove stacked rounding edge weirdness */
.faq-accordion[style*="--faq-border-size:0px"] .faq-accordion__list{
    border-top:none;
}

/* Header */
.faq-item__header{
    display:flex;
    align-items:stretch;
    background-color: var(--faq-header-bg);
    color: var(--faq-header-text);
}

.faq-item__icon{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:14px 16px;
    min-width:48px;
    user-select:none;
}

.faq-accordion--layout-icon-top .faq-item__header{
    flex-direction:column;
    align-items:flex-start;
}

.faq-accordion--layout-icon-top .faq-item__icon{
    padding-bottom:0;
}

.faq-item__icon img{
    width:30px;
    height:30px;
    object-fit:contain;
    display:block;
}
.faq-accordion--layout-no-icon .faq-item__icon{
    display:none;
}
.faq-item__trigger{
    appearance:none;
    border:0;
    background:transparent;
    width:100%;
    text-align:left;
    padding:14px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    font:inherit;
    color: var(--faq-header-text);
}

.faq-item__trigger:focus-visible{
    outline:2px solid currentColor;
    outline-offset:2px;
}

.faq-item__question{
    font-size:var(--faq-header-font-size);
    font-weight:var(--faq-header-font-weight);
}

.faq-item__chevron{
    width:10px;
    height:10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform 200ms ease;
    flex:0 0 auto;
    opacity:.85;
}

.faq-item.is-open .faq-item__chevron{
    transform:rotate(-135deg);
}
.faq-item__heading{
    margin:0;
    flex:1 1 auto;
}
.faq-item__panel{
    background: var(--faq-answer-bg);
    will-change: height;
    overflow:hidden;
}

.faq-item__content{
    padding:18px 20px 18px;
    text-align:left;
}

@media (prefers-reduced-motion: reduce){
    .faq-item__chevron{
        transition:none;
    }
}