/* =============================================
   Fancy Breadcrumb - Frontend Styles
   ============================================= */

.fancy-breadcrumb {
    --fbc-link: #0073aa;
    --fbc-text: #333333;
    --fbc-hover: #005177;
    --fbc-size: 14px;
    --fbc-gap: 8px;
    --fbc-padding: 12px 0;
    --fbc-bg: transparent;
    --fbc-border: transparent;
    --fbc-radius: 0px;

    display: block;
    font-size: var(--fbc-size);
    line-height: 1.8;
    padding: var(--fbc-padding);
    background: var(--fbc-bg);
    border: 1px solid var(--fbc-border);
    border-radius: var(--fbc-radius);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fancy-breadcrumb[style*="--fbc-border: transparent"] {
    border-color: transparent;
}

/* List — inline flow, wraps like normal text */
.fancy-bc-list {
    display: inline;
    list-style: none;
    margin: 0;
    padding: 0;
    word-spacing: var(--fbc-gap);
}

/* All list items inline */
.fancy-bc-item,
.fancy-bc-sep-item {
    display: inline;
    margin: 0;
    padding: 0;
    word-spacing: normal;
}

/* Links */
.fancy-bc-item a {
    color: var(--fbc-link);
    text-decoration: none;
    transition: color 0.2s ease;
    border: none;
    box-shadow: none;
    outline: none;
}

.fancy-bc-item a:hover,
.fancy-bc-item a:focus {
    color: var(--fbc-hover);
    text-decoration: underline;
}

.fancy-bc-item a:focus-visible {
    outline: 2px solid var(--fbc-hover);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Current page (last item) */
.fancy-bc-current-text {
    color: var(--fbc-text);
    cursor: default;
}

.fancy-bc-bold {
    font-weight: 600;
}

/* Icons — inline with text */
.fancy-bc-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 1;
}

.fancy-bc-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: middle;
}

.fancy-bc-icon i {
    font-size: inherit;
    line-height: 1;
}

/* Home icon */
.fancy-bc-home-icon {
    margin-right: 2px;
}

/* Separator — inline, with spacing via margin */
.fancy-bc-sep-item {
    margin: 0 calc(var(--fbc-gap) / 2);
}

.fancy-bc-separator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    color: var(--fbc-text);
    opacity: 0.5;
    font-size: 0.85em;
    line-height: 1;
}

.fancy-bc-separator svg {
    width: 0.75em;
    height: 0.75em;
    fill: currentColor;
    vertical-align: middle;
}

.fancy-bc-separator i {
    font-size: 0.75em;
    line-height: 1;
}

/* =============================================
   Print
   ============================================= */

@media print {
    .fancy-breadcrumb {
        padding: 4px 0;
        font-size: 11px;
    }

    .fancy-bc-item a {
        color: #000 !important;
        text-decoration: underline;
    }

    .fancy-bc-item a::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #666;
    }
}

/* =============================================
   RTL Support
   ============================================= */

[dir="rtl"] .fancy-bc-list,
.rtl .fancy-bc-list {
    direction: rtl;
}

[dir="rtl"] .fancy-bc-separator svg,
.rtl .fancy-bc-separator svg {
    transform: scaleX(-1);
}

[dir="rtl"] .fancy-bc-home-icon,
.rtl .fancy-bc-home-icon {
    margin-right: 0;
    margin-left: 2px;
}

/* =============================================
   Accessibility: Reduced motion
   ============================================= */

@media (prefers-reduced-motion: reduce) {
    .fancy-bc-item a {
        transition: none;
    }
}
