/* Breadcrumb block */

.thch-breadcrumb {
    padding: 1.375rem 0;
    /* B2: prevent horizontal page scroll on mobile — breadcrumb scrolls itself */
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.thch-breadcrumb::-webkit-scrollbar { display: none; }

/* === Background presets (same as hero) === */
.thch-breadcrumb--bg-primary    { background: var(--thch-color-primary, #1D245D); }
.thch-breadcrumb--bg-secondary  { background: #171B37; }
.thch-breadcrumb--bg-accent-700 { background: #0148B5; }
.thch-breadcrumb--bg-accent-600 { background: #015DE8; }
.thch-breadcrumb--bg-neutral    { background: var(--Neutral-500, #EAECF0); }
.thch-breadcrumb--bg-beige      { background: #DDD9CE; }
.thch-breadcrumb--bg-warm-beige { background: #BDB9A7; }

.thch-breadcrumb__list {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    min-width: max-content;
    align-items: center;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.thch-breadcrumb__item {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}

.thch-breadcrumb__link,
.thch-breadcrumb__current {
    font-family: var(--thch-font-body, 'Aptos', system-ui, sans-serif);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.43;
    text-decoration: none;
    transition: opacity 0.2s;
}

/* Default (neutral bg): dark text */
.thch-breadcrumb__link {
    color: var(--thch-color-primary, #1D245D);
}
.thch-breadcrumb__link:hover { opacity: 1; text-decoration: underline; }
.thch-breadcrumb__link:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    opacity: 1;
    border-radius: 2px;
}
.thch-breadcrumb__current {
    color: var(--thch-color-primary, #1D245D);
}

/* Separator slash SVG */
.thch-breadcrumb__slash {
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.8125rem;
    color: var(--thch-color-primary, #1D245D);
}

/* === Beige text override — Body Dark === */
.thch-breadcrumb--bg-beige .thch-breadcrumb__link,
.thch-breadcrumb--bg-beige .thch-breadcrumb__current,
.thch-breadcrumb--bg-beige .thch-breadcrumb__slash,
.thch-breadcrumb--bg-warm-beige .thch-breadcrumb__link,
.thch-breadcrumb--bg-warm-beige .thch-breadcrumb__current,
.thch-breadcrumb--bg-warm-beige .thch-breadcrumb__slash {
    color: var(--Body-Dark, #171B37);
}

/* === Light text variant (all non-neutral backgrounds) === */
.thch-breadcrumb--light-text .thch-breadcrumb__link,
.thch-breadcrumb--light-text .thch-breadcrumb__current {
    color: #FAFAFA;
    /* E3: 0.75 ergab auf #015DE8 nur 3,69:1 (14px normal), 0.9 ergibt 4,64:1 */
    opacity: 0.9;
}
.thch-breadcrumb--light-text .thch-breadcrumb__link:hover { opacity: 1; text-decoration: underline; }
.thch-breadcrumb--light-text a:not(.thch-toolbox__contact-card):not(.thch-toolbox__result-pill--primary):not(.thch-btn--primary):hover {
    color: #FAFAFA;
}
.thch-breadcrumb--light-text .thch-breadcrumb__slash {
    color: #FAFAFA;
    opacity: 0.75;
}
.thch-breadcrumb--light-text .thch-breadcrumb__link:focus-visible {
    outline-color: #fff;
}

/* Responsive */
@media (max-width: 48rem) {
    .thch-breadcrumb { padding: 1rem 0; }
    /* N1: keep body copy at >= 14px, do not shrink below 0.875rem */
    .thch-breadcrumb__link,
    .thch-breadcrumb__current { font-size: 0.875rem; }
}

/* E8: tap targets >= 44px on mobile */
@media (max-width: 40rem) {
    .thch-breadcrumb { padding: 0.5rem 0; }
    .thch-breadcrumb__link,
    .thch-breadcrumb__current {
        display: inline-flex;
        align-items: center;
        min-height: 44px;
    }
}
