/**
 * Breadcrumb Navigation Styles
 * 
 * Styling for breadcrumb navigation component.
 * Follows HT-Blue design system with responsive behavior.
 * 
 * @package HT_Blue
 * @since 1.0.0
 */

/* ========================================
   BREADCRUMB CONTAINER
   ======================================== */

.ht-blue-breadcrumbs {
  margin-bottom: 1.5rem;
  padding: 0.75rem 0;
  font-family: var(--blocks-font-body, 'Lora', Georgia, serif);
}

/* ========================================
   BREADCRUMB LIST
   ======================================== */

.ht-blue-breadcrumb-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem; /* 14px */
  line-height: 1.5;
}

/* ========================================
   BREADCRUMB ITEMS
   ======================================== */

.ht-blue-breadcrumb-item {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

/* Add separator between items */
.ht-blue-breadcrumb-item:not(:last-child)::after {
  content: '›';
  margin: 0 0.5rem;
  color: var(--blocks-text-muted, hsl(0, 0%, 60%));
  font-size: 1rem;
  line-height: 1;
  opacity: 0.7;
}

/* ========================================
   BREADCRUMB LINKS
   ======================================== */

.ht-blue-breadcrumb-item a {
  color: var(--blocks-accent-primary-1, hsl(227, 100%, 80%));
  text-decoration: none;
  transition: color 0.2s ease, text-decoration 0.2s ease;
  padding: 0.25rem 0;
}

.ht-blue-breadcrumb-item a:hover {
  color: var(--blocks-accent-primary-2, hsl(227, 100%, 85%));
  text-decoration: underline;
}

.ht-blue-breadcrumb-item a:focus {
  outline: 2px solid var(--blocks-accent-primary-1, hsl(227, 100%, 80%));
  outline-offset: 2px;
  border-radius: 2px;
}

/* ========================================
   CURRENT BREADCRUMB ITEM
   ======================================== */

.ht-blue-breadcrumb-current {
  color: var(--blocks-text-primary, hsl(0, 0%, 95%));
  font-weight: 500;
}

/* ========================================
   RESPONSIVE BEHAVIOR
   ======================================== */

/* Mobile (480px and below) */
@media (max-width: 480px) {
  .ht-blue-breadcrumbs {
    margin-bottom: 1rem;
    padding: 0.5rem 0;
  }
  
  .ht-blue-breadcrumb-list {
    font-size: 0.8125rem; /* 13px */
  }
  
  /* Reduce separator margin on mobile */
  .ht-blue-breadcrumb-item:not(:last-child)::after {
    margin: 0 0.375rem;
  }
  
  /* Make breadcrumb items wrap better on small screens */
  .ht-blue-breadcrumb-item {
    max-width: 100%;
  }
}

/* Tablet (481px - 768px) */
@media (min-width: 481px) and (max-width: 768px) {
  .ht-blue-breadcrumbs {
    margin-bottom: 1.25rem;
  }
  
  .ht-blue-breadcrumb-list {
    font-size: 0.875rem; /* 14px */
  }
}

/* Desktop (769px and above) */
@media (min-width: 769px) {
  .ht-blue-breadcrumbs {
    margin-bottom: 1.5rem;
  }
  
  .ht-blue-breadcrumb-list {
    font-size: 0.9375rem; /* 15px */
  }
}

/* ========================================
   ACCESSIBILITY IMPROVEMENTS
   ======================================== */

/* Ensure proper touch targets on mobile */
@media (max-width: 768px) {
  .ht-blue-breadcrumb-item a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.25rem;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  .ht-blue-breadcrumb-item a {
    text-decoration: underline;
  }
  
  .ht-blue-breadcrumb-item:not(:last-child)::after {
    opacity: 1;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  .ht-blue-breadcrumb-item a {
    transition: none;
  }
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
  .ht-blue-breadcrumbs {
    display: none;
  }
}
