html {
    scroll-behavior: smooth;
    /* Avoid layout shift when modals set overflow:hidden (scrollbar disappears). */
    scrollbar-gutter: stable;
}

/* Site-themed scrollbars (blue/teal on light track) */
.docs-modal-scroll,
.partners-docs-scroll,
.country-popup-scroll {
    scrollbar-width: thin;
    scrollbar-color: #155dfc #eff6ff;
}

.docs-modal-scroll::-webkit-scrollbar,
.partners-docs-scroll::-webkit-scrollbar,
.country-popup-scroll::-webkit-scrollbar {
    width: 10px;
}

.docs-modal-scroll::-webkit-scrollbar-track,
.partners-docs-scroll::-webkit-scrollbar-track,
.country-popup-scroll::-webkit-scrollbar-track {
    background: #eff6ff;
    border-radius: 999px;
}

.docs-modal-scroll::-webkit-scrollbar-thumb,
.partners-docs-scroll::-webkit-scrollbar-thumb,
.country-popup-scroll::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #155dfc 0%, #0092b8 100%);
    border-radius: 999px;
    border: 2px solid #eff6ff;
}

.docs-modal-scroll::-webkit-scrollbar-thumb:hover,
.partners-docs-scroll::-webkit-scrollbar-thumb:hover,
.country-popup-scroll::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #1249e0 0%, #007fa3 100%);
}

.docs-modal-scroll::-webkit-scrollbar-corner,
.partners-docs-scroll::-webkit-scrollbar-corner,
.country-popup-scroll::-webkit-scrollbar-corner {
    background: #eff6ff;
}

/* Dark modal panels (partners docs list on partners.html) */
.docs-modal-scroll--on-dark,
.partners-docs-scroll--on-dark {
    scrollbar-color: #60a5fa #1e293b;
}

.docs-modal-scroll--on-dark::-webkit-scrollbar-track,
.partners-docs-scroll--on-dark::-webkit-scrollbar-track {
    background: #1e293b;
}

.docs-modal-scroll--on-dark::-webkit-scrollbar-thumb,
.partners-docs-scroll--on-dark::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #60a5fa 0%, #22d3ee 100%);
    border-color: #1e293b;
}

.docs-modal-scroll--on-dark::-webkit-scrollbar-corner,
.partners-docs-scroll--on-dark::-webkit-scrollbar-corner {
    background: #1e293b;
}

#site-header {
    transition: background-color 0.2s ease, backdrop-filter 0.2s ease, -webkit-backdrop-filter 0.2s ease;
}

#site-header.is-scrolled {
    background-color: #ffffff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.faq-row > summary {
    list-style: none;
}

.faq-row > summary::-webkit-details-marker {
    display: none;
}

.faq-chevron {
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.faq-row[open] .faq-chevron {
    transform: rotate(180deg);
}

.faq-answer {
    border-top: 4px solid #000;
}

.contact-page details.faq-row > .faq-answer {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    border-top: none;
    transition: grid-template-rows 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}

.contact-page details.faq-row[open] > .faq-answer {
    grid-template-rows: 1fr;
}

.contact-page details.faq-row > .faq-answer > .faq-answer-inner {
    min-height: 0;
}

.contact-page .faq-chevron {
    transition: transform 0.4s cubic-bezier(0.33, 1, 0.68, 1);
}

.faq-answer p + p,
.faq-answer ul + p {
    margin-top: 1rem;
}

.contact-page .faq-answer-inner p + p,
.contact-page .faq-answer-inner ul + p {
    margin-top: 0.625rem;
}

@media (prefers-reduced-motion: reduce) {
    .contact-page details.faq-row > .faq-answer {
        transition: none;
    }

    .contact-page .faq-chevron {
        transition: none;
    }
}
