/* Product Catalog - Enhanced Modern Styles */

/* Hero tweaks */
.inner-banner-section {
  position: relative;
  background: linear-gradient(135deg, rgba(0, 123, 191, 0.15) 0%, rgba(0, 86, 134, 0.15) 100%);
  overflow: hidden;
}
.inner-banner-section .title {
  font-size: 48px;
  letter-spacing: -0.5px;
}
.feature-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* center by default */
  gap: 10px;
}
.feature-chip {
  background: rgba(0,0,0,0.05);
  color: #333;
  border: 1px solid rgba(0,0,0,0.08);
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 13px;
}

/* Improve contrast of header feature chips on hero banners */
.inner-banner-section .feature-chips .feature-chip {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.28);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}
.inner-banner-section .feature-chips .feature-chip:hover {
  background: rgba(255, 255, 255, 0.28);
  border-color: rgba(255, 255, 255, 0.4);
}
.dark .inner-banner-section .feature-chips .feature-chip {
  background: rgba(255, 255, 255, 0.22);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.35);
}

/* Default for inner banners: wrap to avoid horizontal overflow */
.inner-banner-section .feature-chips {
  flex-wrap: wrap;
  overflow-x: visible;
  white-space: normal;
}
.inner-banner-section .feature-chips .feature-chip { flex: 0 1 auto; }

/* Contact page: center chips under heading */
.contact-section .feature-chips { justify-content: center; }
.contact-section .feature-chips .feature-chip { flex: 0 0 auto; }

/* Products page: single row, shrink to fit; center on desktop, allow horizontal scroll on small screens */
.products-page .inner-banner-section .feature-chips {
  flex-wrap: nowrap;
  justify-content: center;
  white-space: nowrap;
}
.products-page .inner-banner-section .feature-chips .feature-chip {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(10px, 1.6vw, 13px);
  padding: 6px 10px;
}

/* Product detail pages: also center and allow wrap if too many */
.product-detail-page .inner-banner-section .feature-chips {
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.product-detail-page .inner-banner-section .feature-chips .feature-chip {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(10px, 2.2vw, 13px);
  padding: 6px 10px;
}

/* Prevent overflow on small/medium screens: allow shrink and wrapping when not Services */
@media (max-width: 991px) {
  .inner-banner-section .feature-chips {
    flex-wrap: wrap;
    white-space: normal;
    overflow-x: visible;
    row-gap: 8px;
    gap: 8px;
  }
  .inner-banner-section .feature-chips .feature-chip {
    flex: 0 1 auto;
    min-width: 0;
    font-size: clamp(10px, 2.9vw, 13px);
    padding: 6px 10px;
  }
  /* On products page specifically, keep single row with horizontal scroll if overflowing */
  .products-page .inner-banner-section .feature-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .product-detail-page .inner-banner-section .feature-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 575px) {
  .inner-banner-section .feature-chips { gap: 6px; }
  .products-page .inner-banner-section .feature-chips .feature-chip,
  .product-detail-page .inner-banner-section .feature-chips .feature-chip {
    font-size: clamp(9px, 2.8vw, 12px);
    padding: 4px 8px;
  }
}

/* Sticky filter bar */
.product-filterbar {
  position: sticky;
  top: 70px;
  z-index: 9;
  backdrop-filter: saturate(160%) blur(8px);
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 16px;
  padding: 14px 16px;
}
.dark .product-filterbar {
  background: rgba(26, 26, 26, 0.65);
  border-color: rgba(255, 255, 255, 0.08);
}

.product-filterbar .btn {
  border-radius: 999px;
  padding: 8px 16px;
}
.product-filterbar .btn.active,
.product-filterbar .btn:hover {
  color: #111;
  background: rgba(0,0,0,0.08);
  border-color: rgba(0,0,0,0.14);
}

/* Toolbar (search + sort) */
.product-toolbar {
  margin-top: 12px;
}
.product-search {
  position: relative;
  min-width: 260px;
}
.product-search input {
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 999px;
  padding: 10px 36px 10px 38px;
}
.product-search i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #6c757d;
}
.product-sort select {
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(0,0,0,0.03);
  border: 1px solid rgba(0,0,0,0.08);
}

/* Category accents removed per feedback – unified brand palette only */

/* Utility spacing */
.pt-60 { padding-top: 60px; }
.mb-30 { margin-bottom: 30px; }

/* Card upgrades */
.aviation-card {
  border-radius: 22px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}
.aviation-card-image { height: 300px; }
.aviation-card-overlay { opacity: .95; background: linear-gradient(135deg, rgba(0,0,0,.35), rgba(0,0,0,.55)); }
.aviation-card-number { width: 84px; height: 84px; font-size: 26px; letter-spacing: .5px; }
.aviation-card-title a { color: inherit; text-decoration: none; }
.aviation-card-desc { min-height: 64px; }

/* Catalog grid rhythm */
#productsGrid > [data-category] { display: block; }

/* Header/Footer spacing fixes on catalog */
section.ptb-120:first-of-type { margin-top: 0; }

/* Sidebar */
.catalog-sidebar .widget-box {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 18px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  margin-bottom: 20px;
}
.catalog-sidebar .filter-list li a { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; text-decoration: none; color: #222; border: 1px solid transparent; }
.catalog-sidebar .filter-list li a:hover { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
.catalog-sidebar .filter-list li a.active { background: rgba(0,0,0,0.06); border-color: rgba(0,0,0,0.12); font-weight: 700; }
.catalog-sidebar .filter-list li a i.las.la-check { opacity: 0; color: #0d6efd; }
.catalog-sidebar .filter-list li a.active i.las.la-check { opacity: 1; }
.catalog-sidebar .results-count { color: #6c757d; }
.catalog-sidebar .widget-title { margin: 0; font-size: 18px; font-weight: 700; }
.catalog-sidebar .op-title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.catalog-sidebar .op-title i { font-size: 22px; color: #111; }
.catalog-sidebar .category-list { list-style: none; padding: 0; margin: 0; }
.catalog-sidebar .category-list li a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; text-decoration: none; color: #222; border: 1px solid transparent; }
.catalog-sidebar .category-list li a:hover { background: rgba(0,0,0,0.04); border-color: rgba(0,0,0,0.08); }
.catalog-sidebar .category-list li a i { width: 24px; text-align: center; color: #666; }
.catalog-sidebar .op-item-icon { margin-right: 0; color: #666; display: inline-flex; align-items: center; justify-content: center; }
.catalog-sidebar .op-item-label { margin-left: 0; }

/* Apply same readable spacing for generic sidebars (about.php etc.) */
.sidebar .category-list { list-style: none; padding: 0; margin: 0; }
.sidebar .category-list li a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 10px; text-decoration: none; color: inherit; }
.sidebar .category-list li a i { width: 24px; text-align: center; color: #666; }
.catalog-sidebar .qcc-header { display:flex; align-items:center; justify-content: space-between; margin-bottom: 10px; }
.catalog-sidebar .qcc-badge { font-size: 12px; background: rgba(0,0,0,0.06); padding: 4px 8px; border-radius: 999px; }
.catalog-sidebar .qcc-item { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom: 1px dashed rgba(0,0,0,0.06); }
.catalog-sidebar .qcc-item:last-child { border-bottom: none; }
.catalog-sidebar .qcc-actions .btn--base { border-radius: 999px; }
.catalog-sidebar { position: sticky; top: 100px; }

/* Wider container for catalog page */
.wide-container {
  max-width: 1320px;
}

@media (max-width: 991px) {
  .inner-banner-section .title { font-size: 36px; }
  .aviation-card-image { height: 240px; }
}


