/* Theory79 FAQ accordion - v1.5.0
 * Aligns with the supplied FAQ page design: icons LEFT, compact dividers,
 * matching answer indentation and no duplicate questions.
 */
.t79-dynamic-faq,
.t79-dynamic-faq * { box-sizing: border-box; }

.t79-dynamic-faq {
    width: 100%;
    margin: var(--t79-faq-widget-margin, 0);
    padding: var(--t79-faq-widget-padding, 0 20px 82px);
    background: var(--t79-faq-container-bg, #fff) !important;
    color: #292b42;
    font-family: "Articulat CF", Arial, sans-serif;
}

/* Selected-questions widgets should not reserve the 82px footer space
   intended for the full FAQ archive. Elementor controls still override this. */
.t79-dynamic-faq.t79-dynamic-faq--selected {
    padding: var(--t79-faq-widget-padding, 0);
}

.t79-dynamic-faq .t79-dynamic-faq__heading {
    margin: var(--t79-faq-heading-margin, 70px 0 40px);
    padding: var(--t79-faq-heading-padding, 0);
    color: var(--t79-faq-heading-color, inherit) !important;
    font-family: "Articulat CF", Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-align: center;
    text-transform: uppercase;
}

.t79-dynamic-faq__category { margin: 0; padding: 0; scroll-margin-top: var(--t79-faq-anchor-offset, 120px); }

.t79-dynamic-faq .t79-dynamic-faq__cat-title {
    margin: var(--t79-faq-category-margin, 38px 0 18px 20px);
    padding: var(--t79-faq-category-padding, 0);
    color: var(--t79-faq-category-color, inherit) !important;
    font-family: "Articulat CF", Arial, sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.25;
}

.t79-dynamic-faq__items {
    margin: var(--t79-faq-group-margin, 0);
    padding: var(--t79-faq-group-padding, 0);
}

.t79-dynamic-faq .t79-dynamic-faq__item {
    margin: var(--t79-faq-item-margin, 0);
    padding: var(--t79-faq-item-padding, 0);
    border: 0;
    border-top: 1px solid var(--t79-faq-divider-color, #b2c7da);
    background: var(--t79-faq-item-bg, transparent) !important;
}
.t79-dynamic-faq .t79-dynamic-faq__item:last-child { border-bottom: 1px solid var(--t79-faq-divider-color, #b2c7da); }
.t79-dynamic-faq .t79-dynamic-faq__item[open] {
    background: var(--t79-faq-open-bg, var(--t79-faq-item-bg, transparent)) !important;
}

/* Unlike the previous widget, the plus/minus icon is LEFT of the question. */
.t79-dynamic-faq .t79-dynamic-faq__question {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: var(--t79-faq-icon-text-gap, 5px);
    min-height: var(--t79-faq-question-min-height, 40px);
    margin: 0;
    padding: var(--t79-faq-question-padding, 9px 11px);
    list-style: none;
    cursor: pointer;
    color: var(--t79-faq-question-color, inherit) !important;
    font-family: "Articulat CF", Arial, sans-serif;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
}
.t79-dynamic-faq .t79-dynamic-faq__item[open] > .t79-dynamic-faq__question {
    color: var(--t79-faq-active-question-color, var(--t79-faq-question-color, inherit)) !important;
}
.t79-dynamic-faq .t79-dynamic-faq__question::-webkit-details-marker { display: none; }
.t79-dynamic-faq .t79-dynamic-faq__question::marker { content: ""; }
.t79-dynamic-faq .t79-dynamic-faq__question:focus-visible { outline: 2px solid currentColor; outline-offset: -2px; }

.t79-dynamic-faq .t79-dynamic-faq__question-text {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}
/* Match the compact text-glyph +/- of the other Elementor accordion.
   Width scales with icon size so the question never shifts unexpectedly. */
.t79-dynamic-faq .t79-dynamic-faq__icon {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    flex: 0 0 0.7em;
    width: 0.7em;
    height: auto;
    font-family: Arial, sans-serif;
    font-size: var(--t79-faq-icon-size, 15px);
    font-weight: 400;
    line-height: 1;
    color: var(--t79-faq-icon-color, inherit) !important;
}
.t79-dynamic-faq .t79-dynamic-faq__item[open] .t79-dynamic-faq__icon {
    color: var(--t79-faq-active-icon-color, var(--t79-faq-icon-color, inherit)) !important;
}
.t79-dynamic-faq .t79-dynamic-faq__icon::before {
    content: "+";
    display: block;
    position: static;
    width: auto;
    height: auto;
    background: none;
    transform: none;
}
.t79-dynamic-faq .t79-dynamic-faq__item[open] .t79-dynamic-faq__icon::before {
    content: "−";
}
.t79-dynamic-faq .t79-dynamic-faq__icon::after {
    content: none;
}

/* Question text starts around 26px in; align the answer underneath. */
.t79-dynamic-faq .t79-dynamic-faq__answer {
    margin: var(--t79-faq-answer-margin, 0);
    padding: var(--t79-faq-answer-padding, 0 12px 18px 26px);
    color: var(--t79-faq-answer-color, inherit) !important;
    font-family: "Articulat CF", Arial, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}
.t79-dynamic-faq .t79-dynamic-faq__answer p { margin: 0 0 12px; }
.t79-dynamic-faq .t79-dynamic-faq__answer p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
    .t79-dynamic-faq { padding: var(--t79-faq-widget-padding, 0 0 55px); }
    .t79-dynamic-faq.t79-dynamic-faq--selected { padding: var(--t79-faq-widget-padding, 0); }
    .t79-dynamic-faq .t79-dynamic-faq__heading { margin: var(--t79-faq-heading-margin, 40px 0 30px); font-size: 22px; }
    .t79-dynamic-faq .t79-dynamic-faq__cat-title { margin: var(--t79-faq-category-margin, 30px 0 16px 12px); font-size: 25px; }
    .t79-dynamic-faq .t79-dynamic-faq__question { gap: var(--t79-faq-icon-text-gap, 5px); padding: var(--t79-faq-question-padding, 9px 7px); font-size: 16px; }
    .t79-dynamic-faq .t79-dynamic-faq__answer { padding: var(--t79-faq-answer-padding, 0 8px 17px 23px); font-size: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    /* Icons are text glyphs with no transition. */
}
