/* ===========================================
   ENHANCED BREADCRUMB - ULTRA MODERN DESIGN
   =========================================== */

/* CSS Custom Properties */
:root {
    /* Color Palette */
    --primary-50: #f0f9ff;
    --primary-100: #e0f2fe;
    --primary-200: #bae6fd;
    --primary-300: #7dd3fc;
    --primary-400: #38bdf8;
    --primary-500: #0ea5e9;
    --primary-600: #0284c7;
    --primary-700: #0369a1;
    --primary-800: #075985;
    --primary-900: #0c4a6e;

    --secondary-50: #f8fafc;
    --secondary-100: #f1f5f9;
    --secondary-200: #e2e8f0;
    --secondary-300: #cbd5e1;
    --secondary-400: #94a3b8;
    --secondary-500: #64748b;
    --secondary-600: #475569;
    --secondary-700: #334155;
    --secondary-800: #1e293b;
    --secondary-900: #0f172a;

    --accent-50: #fefce8;
    --accent-100: #fef9c3;
    --accent-200: #fef08a;
    --accent-300: #fde047;
    --accent-400: #facc15;
    --accent-500: #eab308;
    --accent-600: #ca8a04;
    --accent-700: #a16207;
    --accent-800: #854d0e;
    --accent-900: #713f12;

    --success-50: #f0fdf4;
    --success-100: #dcfce7;
    --success-200: #bbf7d0;
    --success-300: #86efac;
    --success-400: #4ade80;
    --success-500: #22c55e;
    --success-600: #16a34a;
    --success-700: #15803d;
    --success-800: #166534;
    --success-900: #14532d;

    --warning-50: #fffbeb;
    --warning-100: #fef3c7;
    --warning-200: #fde68a;
    --warning-300: #fcd34d;
    --warning-400: #fbbf24;
    --warning-500: #f59e0b;
    --warning-600: #d97706;
    --warning-700: #b45309;
    --warning-800: #92400e;
    --warning-900: #78350f;

    --danger-50: #fef2f2;
    --danger-100: #fee2e2;
    --danger-200: #fecaca;
    --danger-300: #fca5a5;
    --danger-400: #f87171;
    --danger-500: #ef4444;
    --danger-600: #dc2626;
    --danger-700: #b91c1c;
    --danger-800: #991b1b;
    --danger-900: #7f1d1d;

    --white: #ffffff;
    --black: #000000;
    --gray-50: #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --gray-400: #94a3b8;
    --gray-500: #64748b;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1e293b;
    --gray-900: #0f172a;

    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-10: 2.5rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem;
    --space-24: 6rem;

    --radius-none: 0;
    --radius-sm: 0.125rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --radius-full: 9999px;

    --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);

    --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-family-mono: 'JetBrains Mono', 'Fira Code', monospace;

    --font-size-xs: 0.75rem;
    --font-size-sm: 0.875rem;
    --font-size-base: 1rem;
    --font-size-lg: 1.125rem;
    --font-size-xl: 1.25rem;
    --font-size-2xl: 1.5rem;
    --font-size-3xl: 1.875rem;
    --font-size-4xl: 2.25rem;
    --font-size-5xl: 3rem;

    --font-weight-thin: 100;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;

    --line-height-tight: 1.25;
    --line-height-snug: 1.375;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.625;
    --line-height-loose: 2;

    --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-normal: 300ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);

    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    --z-toast: 1080;
}

.breadcrumb-wrapper {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(20px);
    border-radius: var(--radius-xl);
    padding: var(--space-4) var(--space-6);
    margin-bottom: var(--space-6);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(148, 163, 184, 0.1);
    position: relative;
    z-index: 100;
}

@media (min-width: 769px) {
    .breadcrumb-wrapper {
        overflow-x: auto;
        overflow-y: hidden;
    }

    .breadcrumb {
        white-space: nowrap;
        min-width: max-content;
    }
}

.breadcrumb-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--primary-500) 0%, var(--primary-600) 50%, var(--primary-700) 100%);
    border-radius: var(--radius-xl) var(--radius-xl) 0 0;
}

.breadcrumb {
    margin: 0;
    background: transparent;
    padding: 0;
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.breadcrumb-item+.breadcrumb-item::before {
    content: '▸';
    color: var(--primary-400);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-base);
    margin: 0 var(--space-2);
    transition: all var(--transition-fast);
}

.breadcrumb-item a {
    color: var(--gray-600);
    text-decoration: none;
    transition: all var(--transition-fast);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-md);
    font-weight: var(--font-weight-medium);
    position: relative;
}

.breadcrumb-item a:hover {
    color: var(--primary-700);
    background: linear-gradient(135deg, var(--primary-50) 0%, var(--primary-100) 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(14, 165, 233, 0.15);
}

.breadcrumb-item a i {
    margin-right: var(--space-2);
    color: var(--primary-500);
    transition: transform var(--transition-fast);
}

.breadcrumb-item a:hover i {
    transform: scale(1.1);
}

.breadcrumb-item.active {
    color: var(--primary-700);
    font-weight: var(--font-weight-bold);
    background: linear-gradient(135deg, var(--primary-100) 0%, var(--primary-200) 100%);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-lg);
    box-shadow: 0 2px 8px rgba(14, 165, 233, 0.1);
    border: 1px solid var(--primary-200);
}

.breadcrumb-mobile-dropdown {
    display: none;
    position: relative;
    z-index: 100;
}

.breadcrumb-dropdown-toggle {
    background: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-600) 100%);
    color: white;
    border: none;
    padding: var(--space-3) var(--space-4);
    border-radius: var(--radius-lg);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    transition: all var(--transition-fast);
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3);
    min-width: 200px;
    justify-content: center;
}

.breadcrumb-dropdown-toggle:hover {
    background: linear-gradient(135deg, var(--primary-600) 0%, var(--primary-700) 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(14, 165, 233, 0.4);
}

.breadcrumb-dropdown-toggle i {
    transition: transform var(--transition-fast);
}

.breadcrumb-dropdown-toggle.active i {
    transform: rotate(180deg);
}

.breadcrumb-dropdown-menu {
    position: fixed;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    background: var(--white);
    border-radius: var(--radius-xl);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(148, 163, 184, 0.1);
    min-width: 280px;
    max-width: 90vw;
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
    z-index: 99999;
    backdrop-filter: blur(10px);
    margin-top: var(--space-2);
}

.breadcrumb-dropdown-menu.show {
    opacity: 1;
    visibility: visible;
}

.breadcrumb-dropdown-item {
    padding: var(--space-4) var(--space-5);
    border-bottom: 1px solid var(--gray-100);
    transition: all var(--transition-fast);
}

.breadcrumb-dropdown-item:last-child {
    border-bottom: none;
}

.breadcrumb-dropdown-item:hover {
    background: var(--gray-50);
}

.breadcrumb-dropdown-item a {
    color: var(--gray-700);
    text-decoration: none;
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    gap: var(--space-3);
}

.breadcrumb-dropdown-item a:hover {
    color: var(--primary-600);
}

.breadcrumb-dropdown-item a i {
    color: var(--primary-500);
    width: 16px;
    text-align: center;
}

.breadcrumb-dropdown-item.active {
    background: linear-gradient(135deg, var(--primary-50) 0%, var(--primary-100) 100%);
    border-left: 4px solid var(--primary-500);
}

.breadcrumb-dropdown-item.active a {
    color: var(--primary-700);
    font-weight: var(--font-weight-bold);
}

.breadcrumb-dropdown-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-fast);
    z-index: 99998;
}

.breadcrumb-dropdown-backdrop.show {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 768px) {
    .breadcrumb-wrapper {
        padding: var(--space-3) var(--space-4);
        overflow: visible;
        z-index: 100;
    }

    .breadcrumb {
        display: none;
    }

    .breadcrumb-mobile-dropdown {
        display: block;
        text-align: center;
    }

    .breadcrumb-dropdown-menu {
        left: 50%;
        right: auto;
        min-width: 250px;
    }
}

@media (max-width: 576px) {
    .breadcrumb-wrapper {
        margin: 0 -var(--space-4) var(--space-4);
        border-radius: 0;
        overflow: visible;
        z-index: 100;
    }

    .breadcrumb-dropdown-toggle {
        width: 100%;
        min-width: auto;
    }

    .breadcrumb-dropdown-menu {
        left: var(--space-4);
        right: var(--space-4);
        width: auto;
        min-width: auto;
        transform: translateX(0);
    }
}