/**
 * ProRank SEO Breadcrumbs Styles
 * Modern, accessible, and responsive breadcrumb navigation
 */

/* Main breadcrumb container */
.prorank-breadcrumbs {
    margin: 0 0 1.5rem 0;
    padding: 0.75rem 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: #666;
}

/* Breadcrumb list */
.prorank-breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0.25rem;
}

/* Breadcrumb item */
.prorank-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

/* Breadcrumb links */
.prorank-breadcrumb-item a {
    color: #0073aa;
    text-decoration: none;
    transition: all 0.2s ease;
    padding: 0.25rem 0.5rem;
    border-radius: 3px;
    display: inline-block;
}

.prorank-breadcrumb-item a:hover,
.prorank-breadcrumb-item a:focus {
    color: #005177;
    background-color: rgba(0, 115, 170, 0.08);
    text-decoration: underline;
}

.prorank-breadcrumb-item a:focus {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
}

/* Current/active breadcrumb */
.prorank-breadcrumb-current {
    color: #333;
    font-weight: 500;
    padding: 0.25rem 0.5rem;
    display: inline-block;
}

/* Breadcrumb separator */
.prorank-breadcrumb-separator {
    margin: 0 0.25rem;
    color: #999;
    font-size: 0.875rem;
    user-select: none;
}

/* WooCommerce specific styles */
.prorank-woocommerce-breadcrumb {
    background-color: #f7f7f7;
    padding: 1rem;
    border-radius: 4px;
    margin-bottom: 1.5rem;
}

.prorank-woocommerce-breadcrumb .prorank-breadcrumbs-list {
    margin: 0;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .prorank-breadcrumbs {
        color: #bbb;
    }
    
    .prorank-breadcrumb-item a {
        color: #58a6ff;
    }
    
    .prorank-breadcrumb-item a:hover,
    .prorank-breadcrumb-item a:focus {
        color: #79c0ff;
        background-color: rgba(88, 166, 255, 0.1);
    }
    
    .prorank-breadcrumb-current {
        color: #e6e6e6;
    }
    
    .prorank-breadcrumb-separator {
        color: #666;
    }
    
    .prorank-woocommerce-breadcrumb {
        background-color: #1c1c1c;
    }
}

/* Mobile responsive styles */
@media (max-width: 768px) {
    .prorank-breadcrumbs {
        font-size: 0.8125rem;
        padding: 0.5rem 0;
    }
    
    .prorank-breadcrumb-item a,
    .prorank-breadcrumb-current {
        padding: 0.125rem 0.25rem;
    }
    
    .prorank-breadcrumb-separator {
        margin: 0 0.125rem;
        font-size: 0.75rem;
    }
    
    /* Hide home text on mobile, show icon if needed */
    .prorank-breadcrumb-item:first-child a span {
        /* Can be customized to show icon instead */
    }
}

/* Print styles */
@media print {
    .prorank-breadcrumbs {
        display: none;
    }
}

/* Theme compatibility classes */
.entry-content .prorank-breadcrumbs,
.page-content .prorank-breadcrumbs,
.post-content .prorank-breadcrumbs {
    margin-top: 0;
}

/* Alignment options */
.prorank-breadcrumbs.align-center .prorank-breadcrumbs-list {
    justify-content: center;
}

.prorank-breadcrumbs.align-right .prorank-breadcrumbs-list {
    justify-content: flex-end;
}

/* Style variations */
.prorank-breadcrumbs.style-arrow .prorank-breadcrumb-separator::before {
    content: '→';
}

.prorank-breadcrumbs.style-slash .prorank-breadcrumb-separator::before {
    content: '/';
}

.prorank-breadcrumbs.style-pipe .prorank-breadcrumb-separator::before {
    content: '|';
}

.prorank-breadcrumbs.style-chevron .prorank-breadcrumb-separator::before {
    content: '›';
}

/* Background style */
.prorank-breadcrumbs.has-background {
    background-color: #f5f5f5;
    padding: 1rem;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
}

.prorank-breadcrumbs.has-background .prorank-breadcrumbs-list {
    margin: 0;
}

/* Compact style */
.prorank-breadcrumbs.style-compact {
    font-size: 0.8125rem;
}

.prorank-breadcrumbs.style-compact .prorank-breadcrumb-item a,
.prorank-breadcrumbs.style-compact .prorank-breadcrumb-current {
    padding: 0.125rem 0.375rem;
}

/* Large style */
.prorank-breadcrumbs.style-large {
    font-size: 1rem;
}

.prorank-breadcrumbs.style-large .prorank-breadcrumb-item a,
.prorank-breadcrumbs.style-large .prorank-breadcrumb-current {
    padding: 0.375rem 0.625rem;
}

/* Icon support */
.prorank-breadcrumb-item .dashicons,
.prorank-breadcrumb-item .fa {
    margin-right: 0.25rem;
    vertical-align: middle;
}

/* Schema.org microdata visibility */
.prorank-breadcrumbs [itemprop] {
    /* Ensure microdata doesn't affect layout */
}

/* Admin preview styles */
.prorank-breadcrumbs-preview {
    border: 2px dashed #ddd;
    padding: 1rem;
    border-radius: 4px;
    margin: 1rem 0;
    background-color: #fafafa;
}

.prorank-breadcrumbs-preview .prorank-breadcrumbs {
    margin: 0;
}

/* Accessibility improvements */
.prorank-breadcrumbs [aria-hidden="true"] {
    /* Ensure separators are not read by screen readers */
}

.prorank-breadcrumbs a:focus-visible {
    outline: 2px solid #0073aa;
    outline-offset: 2px;
    border-radius: 3px;
}

/* RTL support */
.rtl .prorank-breadcrumbs-list {
    direction: rtl;
}

.rtl .prorank-breadcrumb-separator {
    transform: rotate(180deg);
}

.rtl .prorank-breadcrumbs.style-arrow .prorank-breadcrumb-separator::before {
    content: '←';
}

/* Custom CSS hooks for developers */
.prorank-breadcrumbs[data-style] {
    /* Allow custom styling via data attributes */
}

/* Loading state */
.prorank-breadcrumbs.is-loading {
    opacity: 0.5;
    pointer-events: none;
}

/* Error state */
.prorank-breadcrumbs.has-error {
    display: none;
}