/* ============================================================================
   breadcrumb.css — visible Home › Section › Current navigation.
   Used by bcRender() in includes/breadcrumbs.php. Pairs with the JSON-LD
   BreadcrumbList graph emitted alongside.
   ============================================================================ */

.aa-breadcrumb {
    background: #faf5ff;
    border-bottom: 1px solid #ece4f7;
    padding: 12px 0;
    font-size: 13px;
}

.aa-breadcrumb .aa-bc__list {
    list-style: none;
    padding: 0 20px;
    margin: 0 auto;
    max-width: 1140px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0; /* separators provide spacing */
    color: #604580;
}

.aa-breadcrumb .aa-bc__item {
    display: inline-flex;
    align-items: center;
    min-height: 20px; /* fixed line-height — prevents CLS as crumb names load */
}

.aa-breadcrumb .aa-bc__link {
    color: #604580;
    text-decoration: none;
    padding: 4px 2px;
    border-radius: 4px;
    transition: color 0.15s ease, background 0.15s ease;
}
.aa-breadcrumb .aa-bc__link:hover {
    color: #4f3669;
    text-decoration: underline;
}
.aa-breadcrumb .aa-bc__link:focus-visible {
    outline: 2px solid #a27dcb;
    outline-offset: 2px;
}

.aa-breadcrumb .aa-bc__current {
    color: #4a3068;
    font-weight: 600;
    /* Truncate very long current-page names on tight screens */
    max-width: 60ch;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.aa-breadcrumb .aa-bc__sep {
    margin: 0 8px;
    color: #a27dcb;
    opacity: 0.7;
    user-select: none;
}

/* When breadcrumb sits inside a dark hero, allow opt-in inverted theme */
.aa-breadcrumb--inverse {
    background: rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    color: #fff;
}
.aa-breadcrumb--inverse .aa-bc__list,
.aa-breadcrumb--inverse .aa-bc__link,
.aa-breadcrumb--inverse .aa-bc__current {
    color: #fff;
}
.aa-breadcrumb--inverse .aa-bc__sep {
    color: rgba(255, 255, 255, 0.7);
}

/* Mobile: keep on one line if possible by tightening separators + shrinking */
@media (max-width: 640px) {
    .aa-breadcrumb {
        font-size: 12.5px;
        padding: 10px 0;
    }
    .aa-breadcrumb .aa-bc__list {
        padding: 0 14px;
        /* On phones, allow horizontal scroll instead of wrapping so the trail
           stays readable as a single line and the page layout stays stable. */
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .aa-breadcrumb .aa-bc__list::-webkit-scrollbar { display: none; }
    .aa-breadcrumb .aa-bc__current {
        max-width: 30ch;
    }
    .aa-breadcrumb .aa-bc__sep {
        margin: 0 6px;
    }
}
