/* =========================================================
   FAQ SECTION & ACCORDION
========================================================= */

.hw-faq-section {
    background: var(--hw-white);
    position: relative;
}

.hw-faq-container {
    max-width: 860px;
    margin: 0 auto;
}

.hw-faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Accordion Item Card */
.hw-faq-accordion .accordion-item {
    border: 1px solid var(--hw-border);
    border-radius: 18px !important;
    background: var(--hw-white);
    box-shadow: 0 8px 24px rgba(6, 34, 53, 0.03);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.hw-faq-accordion .accordion-item:hover {
    border-color: #b9dfe8;
    box-shadow: 0 12px 32px rgba(6, 34, 53, 0.06);
}

/* Accordion Header & Toggle Button */
.hw-faq-accordion .accordion-header {
    margin: 0;
}

.hw-faq-accordion .accordion-button {
    padding: 22px 28px;
    font-size: 17px;
    font-weight: 800;
    color: var(--hw-navy);
    background: var(--hw-white);
    border: 0;
    box-shadow: none !important;
    line-height: 1.4;
    transition: color 0.2s ease, background-color 0.2s ease;
}

/* Hover state when collapsed */
.hw-faq-accordion .accordion-button:hover {
    color: var(--hw-blue);
    background: var(--hw-sky);
}

/* Expanded state */
.hw-faq-accordion .accordion-button:not(.collapsed) {
    color: var(--hw-blue);
    background: var(--hw-sky);
    border-bottom: 1px solid var(--hw-border);
}

/* Custom Accordion Caret Icon styling (Bootstrap integration) */
.hw-faq-accordion .accordion-button::after {
    width: 1.25rem;
    height: 1.25rem;
    background-size: 1.25rem;
    transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Accordion Body / Content Panel */
.hw-faq-accordion .accordion-body {
    padding: 24px 28px;
    color: var(--hw-muted);
    font-size: 15px;
    line-height: 1.75;
    background: var(--hw-white);
}

/* Empty Fallback State */
.hw-faq-empty {
    padding: 48px 24px;
    text-align: center;
    background: var(--hw-light);
    border: 1px dashed var(--hw-border);
    border-radius: 18px;
}

.hw-faq-empty i {
    font-size: 38px;
    color: var(--hw-muted);
    margin-bottom: 12px;
    display: block;
}

.hw-faq-empty p {
    margin: 0;
    color: var(--hw-muted);
    font-size: 14px;
    font-weight: 600;
}

/* =========================================================
   RESPONSIVE ADJUSTMENTS
========================================================= */

@media (max-width: 768px) {
    .hw-faq-accordion .accordion-button {
        padding: 18px 20px;
        font-size: 15px;
    }

    .hw-faq-accordion .accordion-body {
        padding: 18px 20px;
        font-size: 14px;
    }
}