.faq-visible h2 {
    margin-bottom: 24px
}

.faq-visible .container-xl {
    margin: 24px 0
}

.faq-visible .faq-accordion {
    margin-top: 24px
}

.faq-visible .faq-item {
    border: 1px solid var(--bs-gray-300, #E5E7EB);
    border-radius: 8px;
    background: #fff;
    margin-bottom: 16px;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
    overflow: hidden
}

.faq-visible .faq-question {
    margin: 0
}

.faq-visible .faq-trigger {
    width: 100%;
    text-align: left;
    padding: 16px 48px 16px 20px;
    background: 0 0;
    border: 0;
    font-weight: 600;
    font-family: Denim, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    cursor: pointer;
    position: relative;
    color: var(--bs-gray-900, #0F172A)
}

.faq-visible .faq-trigger:focus {
    outline: 0
}

.faq-visible .faq-trigger:after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%) rotate(0);
    transition: transform .2s ease;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23005FCC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') no-repeat center/16px 16px
}

.faq-visible .faq-trigger[aria-expanded=true]:after {
    transform: translateY(-50%) rotate(180deg)
}

.faq-visible .faq-trigger[aria-expanded=true] {
    background: var(--bs-blue, #1b5cff);
    color: #fff
}

.faq-visible .faq-trigger[aria-expanded=true]:after {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') no-repeat center/16px 16px
}

.faq-visible .faq-panel {
    padding: 0 20px 16px;
    color: var(--bs-gray-700, #334155);
    font-size: 15px;
    line-height: 1.7;
    transition: max-height .25s ease, opacity .25s ease;
    overflow: hidden;
    max-height: 0;
    opacity: 0
}

.faq-visible .faq-item.is-open .faq-panel {
    max-height: 500px;
    opacity: 1
}

@media (min-width:768px) {
    .faq-visible .container-xl {
        margin: 40px 0
    }

    .faq-visible .faq-accordion {
        margin-top: 32px
    }
}

.faq-block {
    margin: 2rem 0;
    padding: 2rem 1.5rem;
    border-radius: 16px;
    border: 1px solid var(--bs-gray-200, #e5e7eb);
    background: linear-gradient(180deg, #f9fafb 0%, #ffffff 60%);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06)
}

.faq-block h2 {
    font-family: Denim, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    color: var(--bs-gray-900, #0f172a)
}

.faq-block .faq-items {
    margin-top: .5rem
}

.faq-block .faq-item {
    margin: .5rem 0;
    border-radius: 12px;
    border: 1px solid var(--bs-gray-200, #e5e7eb);
    background: #ffffff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    overflow: hidden
}

.faq-block .faq-question {
    margin: 0;
    padding: .9rem 2.75rem .9rem 1.1rem;
    font-family: Denim, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--bs-gray-900, #0f172a);
    cursor: pointer;
    position: relative;
    list-style: none
}

.faq-block .faq-question::-webkit-details-marker {
    display: none
}

.faq-block .faq-question::after {
    content: '';
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 16px;
    height: 16px;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .2s ease;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23005FCC" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') no-repeat center/16px 16px
}

.faq-block .faq-item[open] .faq-question {
    background: var(--bs-blue, #1b5cff);
    color: #ffffff
}

.faq-block .faq-item[open] .faq-question::after {
    transform: translateY(-50%) rotate(180deg);
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23FFFFFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 9l6 6 6-6"/></svg>') no-repeat center/16px 16px
}

.faq-block .faq-answer {
    padding: .1rem 1.1rem .95rem 1.1rem;
    color: var(--bs-gray-700, #374151);
    font-size: .95rem;
    line-height: 1.7;
    border-top: 1px solid var(--bs-gray-100, #f3f4f6)
}

.faq-block .howto-title {
    margin-top: 2rem;
    margin-bottom: .5rem;
    font-family: Denim, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--bs-gray-900, #0f172a)
}

.faq-block .howto-steps {
    margin: .25rem 0 0;
    padding-left: 1.4rem;
    color: var(--bs-gray-700, #374151);
    font-size: .95rem;
    line-height: 1.7
}

.faq-block .howto-steps li {
    margin: .25rem 0
}
