/* v13.1 — FAQ and download center */
.resource-hero--faq .eyebrow,
.resource-hero--downloads .eyebrow { color: var(--brand-bright); }

.faq-toolbar {
    position: relative;
    overflow: hidden;
    padding: 24px;
    border-top: 4px solid var(--accent);
    background: white;
    box-shadow: 0 18px 48px rgba(0,0,0, .08);
}
.faq-search input:focus { box-shadow: inset 0 -2px var(--accent); }
.faq-search button { transition: background .25s, transform .25s var(--ease); }
.faq-search button:hover { background: var(--accent); transform: translateY(-1px); }

.faq-list--page { border-top: 0; }
.faq-list--page .faq-item {
    margin-bottom: 12px;
    border: 1px solid rgba(0,0,0, .1);
    background: white;
    transition: border-color .25s, box-shadow .25s;
}
.faq-list--page .faq-item[open] { border-color: rgba(0,0,0, .38); box-shadow: 0 16px 42px rgba(0,0,0, .07); }
.faq-list--page .faq-item summary { padding-inline: 24px; }
.faq-list--page .faq-item > div { padding-inline: 86px 24px; }
.faq-item__anchor:focus-visible,
.faq-pagination a:focus-visible { outline: 3px solid rgba(0,0,0, .35); outline-offset: 3px; }

.download-toolbar,
.download-filter { display: grid; grid-template-columns: minmax(0, 160px) minmax(0, 180px) minmax(0, 1fr) auto auto; gap: 12px; align-items: end; margin: 0 0 28px; padding: 18px; border: 1px solid rgba(0,0,0, .1); background: #fff; }
.download-toolbar label, .download-filter label { display: grid; gap: 6px; margin: 0; font-size: 12px; font-weight: 700; color: var(--ink); }
.download-toolbar input, .download-toolbar select,
.download-filter input, .download-filter select { min-height: 42px; padding: 8px 12px; border: 1px solid #DDDDDA; border-radius: 8px; font: inherit; }
.download-toolbar button, .download-filter button { min-height: 42px; }
.download-toolbar [data-download-count], .download-filter [data-download-count] { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 13px; }
.download-group { scroll-margin-top: 96px; }
.download-group__head { position: relative; }
.download-group__head::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 70px;
    height: 2px;
    background: var(--accent);
}
.download-row { transition: transform .3s var(--ease), box-shadow .3s var(--ease); }
.download-row:hover { position: relative; z-index: 1; transform: translateY(-3px); box-shadow: 0 16px 42px rgba(0,0,0, .08); }
.download-row__action:focus-visible { outline: 3px solid rgba(0,0,0, .35); outline-offset: 3px; }

.download-note { border-left: 4px solid var(--accent); }

@media (max-width: 640px) {
    .faq-toolbar { padding: 18px; }
    .faq-list--page .faq-item summary { padding-inline: 16px; }
    .faq-list--page .faq-item > div { padding-inline: 16px; }
    .download-row:hover { transform: none; }
    .download-toolbar, .download-filter { grid-template-columns: 1fr; }
}

/* v13.4：FAQ 相关产品链接 */
.faq-item__products { margin-top: 12px; font-size: 14px; color: #4F4F4F; }
.faq-item__products a { display: inline-block; margin: 4px 8px 0 0; padding: 4px 12px; border: 1px solid rgba(0,0,0,.18); border-radius: 999px; color: var(--accent); text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.faq-item__products a:hover { border-color: var(--accent); background: var(--accent-soft); }

/* v13.11: component colors and keyboard states. */
.download-center .split-heading h2, .download-row__copy h3,
.download-group__head h2, .download-center .download-toolbar > a { color: var(--accent-text); }
.download-toolbar button, .download-filter button { background: var(--accent-text); color: #fff; }
.download-toolbar button:hover, .download-filter button:hover { background: var(--accent-deep); color: #fff; }
.download-row__action { border-color: var(--accent-text); color: var(--accent-text); }
.download-row__action:hover, .download-row__action:focus-visible { background: var(--accent-text); border-color: var(--accent-text); color: #fff; }
.download-note { background: var(--ink-2); }
.download-center .resource-empty .button--dark { background: var(--accent-text); color: #fff; }
