/* Scoped styles: never override Community Answers' React components. */
.ca-categorynav {
    --ca-catnav-ink: #193047;
    --ca-catnav-muted: #586a7c;
    --ca-catnav-outline: #d9e4ee;
    --ca-catnav-accent: #1368a5;
    box-sizing: border-box;
    width: 100%;
    margin: 0 0 1.25rem;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--ca-catnav-outline);
    border-radius: 14px;
    background: #f8fbfd;
    color: var(--ca-catnav-ink);
    font: inherit;
    line-height: 1.5;
}
.ca-categorynav[hidden], .ca-categorynav__quick[hidden] { display: none !important; }
.ca-categorynav *, .ca-categorynav *::before, .ca-categorynav *::after { box-sizing: border-box; }
.ca-categorynav__upper { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.ca-categorynav__copy { flex: 1 1 290px; min-width: 0; }
.ca-categorynav__eyebrow { display: block; margin-bottom: .25rem; font-size: .72rem; font-weight: 750; letter-spacing: .085em; text-transform: uppercase; color: var(--ca-catnav-accent); }
.ca-categorynav__title { margin: 0 0 .15rem; font-size: clamp(1.05rem, 1.7vw, 1.3rem); font-weight: 700; line-height: 1.3; color: inherit; }
.ca-categorynav__subtitle { margin: 0; font-size: .86rem; color: var(--ca-catnav-muted); }
.ca-categorynav__controls { flex: 1 1 245px; max-width: 390px; display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .8rem; }
.ca-categorynav__label { flex-basis: 100%; margin: 0; color: var(--ca-catnav-ink); font-size: .84rem; font-weight: 650; }
.ca-categorynav__select { display: block; flex: 1 1 205px; max-width: 100%; min-width: 0; min-height: 42px; padding: .5rem .7rem; border: 1px solid #afc4d6; border-radius: 8px; background: #fff; color: #14283b; font: inherit; font-size: .91rem; }
.ca-categorynav__select:focus-visible, .ca-categorynav__chip:focus-visible, .ca-categorynav__reset:focus-visible { outline: 3px solid #7dbce5; outline-offset: 2px; }
.ca-categorynav__reset { flex: 0 0 auto; font-size: .81rem; color: var(--ca-catnav-accent); font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
.ca-categorynav__quick { display: flex; flex-direction: column; gap: .55rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--ca-catnav-outline); }
.ca-categorynav__quick-label { font-size: .78rem; font-weight: 650; color: var(--ca-catnav-muted); }
.ca-categorynav__chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.ca-categorynav__chip { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .62rem; min-height: 34px; border: 1px solid var(--ca-catnav-outline); border-radius: 999px; background: #fff; font-size: .83rem; line-height: 1.25; color: var(--ca-catnav-ink); text-decoration: none; }
.ca-categorynav__chip:hover { background: #e8f2fb; border-color: #b7d5e9; color: #104977; text-decoration: none; }
.ca-categorynav__chip-count { display: inline-flex; align-items: center; justify-content: center; min-width: 1.4rem; padding: .09rem .32rem; border-radius: 999px; background: #edf3f8; font-size: .75rem; font-variant-numeric: tabular-nums; color: #3f5568; }
.ca-categorynav__feedback { margin: .45rem 0 0; font-size: .83rem; color: var(--ca-catnav-muted); }
.ca-categorynav__feedback:empty { display: none; }
@media (max-width: 640px) {
    .ca-categorynav { padding: 1rem; }
    .ca-categorynav__upper { gap: .9rem; }
    .ca-categorynav__controls { max-width: none; }
    .ca-categorynav__select { flex-basis: 100%; }
}
@media (prefers-color-scheme: dark) {
    [data-bs-theme="dark"] .ca-categorynav, .theme-dark .ca-categorynav {
        --ca-catnav-ink: #e5edf5;
        --ca-catnav-muted: #c0ccda;
        --ca-catnav-outline: #36495e;
        --ca-catnav-accent: #8dc9f8;
        background: #192535;
    }
    [data-bs-theme="dark"] .ca-categorynav__chip, .theme-dark .ca-categorynav__chip,
    [data-bs-theme="dark"] .ca-categorynav__select, .theme-dark .ca-categorynav__select {
        color: #ecf3f9; background: #213146; border-color: #4b6076;
    }
    [data-bs-theme="dark"] .ca-categorynav__chip-count, .theme-dark .ca-categorynav__chip-count {
        color: #d0e0ef; background: #32475c;
    }
}

/* The sidebar is owned by React. Only elements with ca-categorynav-sidebar are styled. */
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar {
    box-sizing: border-box;
    margin-top: .9rem;
    padding-top: .95rem;
    border-top: 1px solid var(--ca-border);
    min-width: 0;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__heading {
    color: var(--ca-text-subtle);
    margin: 0 0 .5rem;
    padding: 0 .75rem;
    font-size: 10.5px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__links {
    max-height: min(320px, 47vh);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link {
    display: flex;
    align-items: center;
    gap: .35rem;
    min-height: 35px;
    margin: .15rem 0;
    padding: .4rem .6rem .4rem calc(.7rem + var(--ca-catnav-depth, 0) * .65rem);
    border-radius: var(--ca-radius-md, 7px);
    color: var(--ca-text-muted);
    background: transparent;
    font-size: .855rem;
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    transition: background-color 130ms ease, color 130ms ease;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link:hover,
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link:focus-visible {
    color: var(--ca-text);
    background: var(--ca-bg-subtle);
    text-decoration: none;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link:focus-visible {
    outline: 2px solid var(--ca-accent);
    outline-offset: 1px;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link[aria-current="page"] {
    background: var(--ca-accent);
    color: #fff;
    font-weight: 600;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__name {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__count {
    margin-left: auto;
    flex: 0 0 auto;
    color: var(--ca-text-subtle);
    font-size: .73rem;
    font-variant-numeric: tabular-nums;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link[aria-current="page"] .ca-categorynav-sidebar__count {
    color: #fff;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__message {
    padding: .2rem .65rem .4rem;
    margin: 0;
    font-size: .78rem;
    line-height: 1.45;
    color: var(--ca-text-subtle);
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__message:empty { display: none; }
.ca-categorynav[hidden] { display: none !important; }
.ca-categorynav--mobile-only { margin-bottom: .65rem; }
@media (min-width: 768px) {
    .ca-categorynav.ca-categorynav--mobile-only { display: none !important; }
}
/* Respect Community Answers' dark mode for the external mobile bar. */
.ca-categorynav[data-ca-mode="dark"] {
    --ca-catnav-ink: #e5edf5;
    --ca-catnav-muted: #c0ccda;
    --ca-catnav-outline: #36495e;
    --ca-catnav-accent: #8dc9f8;
    background: #192535;
}
.ca-categorynav[data-ca-mode="dark"] .ca-categorynav__chip,
.ca-categorynav[data-ca-mode="dark"] .ca-categorynav__select {
    color: #ecf3f9;
    background: #213146;
    border-color: #4b6076;
}
.ca-categorynav[data-ca-mode="dark"] .ca-categorynav__chip-count {
    color: #d0e0ef;
    background: #32475c;
}
@media (prefers-color-scheme: dark) {
    .ca-categorynav[data-ca-mode="auto"] {
        --ca-catnav-ink: #e5edf5;
        --ca-catnav-muted: #c0ccda;
        --ca-catnav-outline: #36495e;
        --ca-catnav-accent: #8dc9f8;
        background: #192535;
    }
    .ca-categorynav[data-ca-mode="auto"] .ca-categorynav__select,
    .ca-categorynav[data-ca-mode="auto"] .ca-categorynav__chip {
        color: #ecf3f9;
        background: #213146;
        border-color: #4b6076;
    }
}
/* v1.2: persistent bootstrap placeholder; remains visible if the JS is blocked */
#ca-categorynav-anchor { box-sizing: border-box; }
#ca-categorynav-anchor[hidden] { display: none !important; }
#ca-categorynav-anchor .ca-categorynav-fallback {
    box-sizing: border-box; display: block; width: 100%; margin: 0 0 1rem;
    padding: .8rem 1rem; border-radius: 8px; border: 1px solid #c9d5e3;
    background: #f4f7fb; color: #304253; font: 14px/1.4 system-ui, sans-serif;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__debug {
    display: block; font-size: 10px; margin: .5rem .6rem 0; color: var(--ca-text-subtle);
}
/* Keep sidebar mode usable when CA React omits its own sidebar. */
#ca-categorynav-anchor[data-ca-catnav-sidebar-found="0"] .ca-categorynav--mobile-only {
    display: block !important;
}

/* v1.3: dedicated, opt-in directory (entirely outside React's DOM). */
#ca-root.ca-categorynav-root-hidden { display: none !important; }
#ca-categorynav-anchor .ca-categorynav-directory[hidden] { display: none !important; }
.ca-categorynav__directory-link {
    flex: 1 0 100%; font-size: .86rem; font-weight: 650;
    color: var(--ca-catnav-accent); text-decoration: underline;
    text-underline-offset: 3px;
}
.ca-categorynav__directory-link:focus-visible {
    outline: 2px solid var(--ca-catnav-accent); outline-offset: 3px;
}
.com-communityanswers .ca-app-sidebar .ca-categorynav-sidebar__link--directory {
    margin-top: .55rem; border-top: 1px solid var(--ca-border);
    padding-top: .7rem; color: var(--ca-accent, #8b6cff); font-weight: 650;
}
.ca-categorynav-directory {
    --ca-dir-bg: #ffffff;
    --ca-dir-row: #ffffff;
    --ca-dir-soft: #f7f8fc;
    --ca-dir-head: #edeafb;
    --ca-dir-border: #e1e4ed;
    --ca-dir-ink: #1d2433;
    --ca-dir-muted: #5e697a;
    --ca-dir-accent: #6950c9;
    width: min(1220px, 100%);
    margin: 0 auto 2rem;
    color: var(--ca-dir-ink);
    font: inherit;
    line-height: 1.45;
}
.ca-categorynav-directory * { box-sizing: border-box; }
.ca-categorynav-directory__intro { margin: 1rem 0 1.4rem; }
.ca-categorynav-directory__breadcrumbs { margin: 0 0 .65rem; font-size: .84rem; }
.ca-categorynav-directory__breadcrumbs a { color: var(--ca-dir-accent); text-decoration: none; }
.ca-categorynav-directory__breadcrumbs a:hover { text-decoration: underline; }
.ca-categorynav-directory__title {
    color: var(--ca-dir-ink); font-size: clamp(1.45rem, 3vw, 1.9rem);
    font-weight: 750; line-height: 1.25; margin: 0 0 .35rem;
}
.ca-categorynav-directory__subtitle { color: var(--ca-dir-muted); font-size: .96rem; margin: 0; }
.ca-categorynav-directory__groups { display: grid; gap: 1rem; }
.ca-categorynav-directory__group {
    border: 1px solid var(--ca-dir-border); border-radius: 12px;
    background: var(--ca-dir-bg); overflow: hidden;
}
.ca-categorynav-directory__group-head,
.ca-categorynav-directory__row {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 195px) minmax(125px, 175px);
    align-items: center; column-gap: 1rem; padding: .95rem 1.2rem;
}
.ca-categorynav-directory__group-head { background: var(--ca-dir-head); }
.ca-categorynav-directory__row { background: var(--ca-dir-row); border-top: 1px solid var(--ca-dir-border); }
.ca-categorynav-directory__row:nth-child(even) { background: var(--ca-dir-soft); }
.ca-categorynav-directory__group-info,
.ca-categorynav-directory__row-info { min-width: 0; }
.ca-categorynav-directory__row-info { padding-left: calc(var(--ca-directory-depth, 0) * 1.15rem + .7rem); position: relative; }
.ca-categorynav-directory__row-info::before {
    content: ''; position: absolute; left: calc(var(--ca-directory-depth, 0) * 1.15rem);
    top: .45rem; width: .4rem; height: .4rem; border-radius: 2px; background: var(--ca-dir-accent);
    opacity: .62;
}
.ca-categorynav-directory__group-title { margin: 0; font-size: 1.05rem; font-weight: 750; line-height: 1.35; }
.ca-categorynav-directory__group-title a,
.ca-categorynav-directory__row-title { color: var(--ca-dir-accent); text-decoration: none; }
.ca-categorynav-directory__row-title { font-size: .94rem; line-height: 1.35; font-weight: 690; }
.ca-categorynav-directory__group-title a:hover,
.ca-categorynav-directory__row-title:hover { text-decoration: underline; }
.ca-categorynav-directory a:focus-visible { outline: 2px solid var(--ca-dir-accent); outline-offset: 3px; }
.ca-categorynav-directory__description { margin: .3rem 0 0; font-size: .82rem; line-height: 1.45; color: var(--ca-dir-muted); }
.ca-categorynav-directory__children { color: var(--ca-dir-muted); display: inline-block; margin-top: .35rem; font-size: .77rem; }
.ca-categorynav-directory__counts { display: flex; align-items: center; gap: .8rem; }
.ca-categorynav-directory__stat { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.32; min-width: 0; }
.ca-categorynav-directory__stat strong { font-size: 1.03rem; color: var(--ca-dir-ink); font-weight: 750; font-variant-numeric: tabular-nums; }
.ca-categorynav-directory__caption { color: var(--ca-dir-muted); font-size: .7rem; line-height: 1.3; }
.ca-categorynav-directory__activity { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; font-size: .82rem; }
.ca-categorynav-directory__activity time { color: var(--ca-dir-ink); font-variant-numeric: tabular-nums; }
.ca-categorynav-directory__no-activity { color: var(--ca-dir-muted); }
.ca-categorynav-directory__empty { padding: 1rem 1.2rem; border: 1px solid var(--ca-dir-border); border-radius: 10px; }
.ca-categorynav-directory[data-ca-mode="dark"] {
    --ca-dir-bg: #171923;
    --ca-dir-row: #181b26;
    --ca-dir-soft: #1c202c;
    --ca-dir-head: #29253d;
    --ca-dir-border: #343648;
    --ca-dir-ink: #f0f0f8;
    --ca-dir-muted: #b2b5c4;
    --ca-dir-accent: #ab96ff;
}
@media (prefers-color-scheme: dark) {
    .ca-categorynav-directory[data-ca-mode="auto"] {
        --ca-dir-bg: #171923;
        --ca-dir-row: #181b26;
        --ca-dir-soft: #1c202c;
        --ca-dir-head: #29253d;
        --ca-dir-border: #343648;
        --ca-dir-ink: #f0f0f8;
        --ca-dir-muted: #b2b5c4;
        --ca-dir-accent: #ab96ff;
    }
}
@media (max-width: 750px) {
    .ca-categorynav-directory__group-head,
    .ca-categorynav-directory__row {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .55rem 1rem;
        padding: .9rem;
    }
    .ca-categorynav-directory__group-head > :first-child,
    .ca-categorynav-directory__row > :first-child { grid-column: 1 / -1; }
    .ca-categorynav-directory__counts { justify-content: flex-start; }
    .ca-categorynav-directory__activity { align-self: start; }
}
@media (max-width: 420px) {
    .ca-categorynav-directory__group-head,
    .ca-categorynav-directory__row { grid-template-columns: 1fr; }
    .ca-categorynav-directory__group-head > *,
    .ca-categorynav-directory__row > * { grid-column: 1; }
    .ca-categorynav-directory__activity { flex-direction: row; }
}
