/* CarWoods v5 — Professional B2B UI (no emoji, SVG-only icons) */

:root {
  --header-offset: 112px;
  --radius: 6px;
  --radius-sm: 4px;
}

body.has-announce { --header-offset: 152px; }

/* ── Sticky catalog (pure CSS, no JS toggle = no flicker) ── */
.catalog-sticky-wrap {
  position: sticky;
  top: var(--header-offset);
  z-index: 90;
  background: #fff;
  margin: 0 -24px 28px;
  padding: 16px 24px 0;
  border-bottom: 1px solid var(--border);
  box-shadow: 0 4px 12px rgba(12, 35, 64, 0.04);
}

.catalog-sticky-wrap .catalog-toolbar {
  margin-bottom: 0;
  padding: 0 0 16px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.catalog-sticky-wrap .filter-tabs {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

/* Remove broken JS sticky class */
.catalog-toolbar.is-sticky {
  position: static;
  margin: 0;
  padding: inherit;
  box-shadow: none;
  border: none;
  backdrop-filter: none;
}

/* ── Search & toolbar — corporate flat style ── */
.catalog-search input {
  border-radius: var(--radius-sm);
  background: var(--bg-alt);
  border-color: var(--border);
}
.catalog-search input:focus {
  background: #fff;
  box-shadow: 0 0 0 2px rgba(12, 35, 64, 0.08);
}
.catalog-sort select {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  padding: 10px 32px 10px 12px;
  font-family: inherit;
  font-size: 0.875rem;
  background: var(--bg-alt);
  color: var(--text);
  cursor: pointer;
}

/* Filter tabs — underline style */
.filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid var(--border);
  margin-bottom: 28px;
}
.filter-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-muted);
  cursor: pointer;
  border-radius: 0;
  transition: color 0.2s, border-color 0.2s;
}
.filter-tab:hover { color: var(--primary); }
.filter-tab.active {
  color: var(--primary);
  border-bottom-color: var(--accent);
  font-weight: 600;
  background: none;
}

/* ── Icon system ── */
.icon { flex-shrink: 0; display: inline-block; vertical-align: middle; }
.icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--primary);
  flex-shrink: 0;
}
.icon-box .icon { display: block; }
.icon-stars { display: inline-flex; gap: 2px; }
.icon-star { color: #c9a227; width: 14px; height: 14px; }

/* Page hero meta */
.page-hero-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.page-hero-meta-item .icon-box {
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.9);
}

/* Hero — remove playful elements */
.hero-orbit { display: none !important; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hero-badge .icon { color: var(--accent); }
.hero-float {
  display: flex;
  align-items: center;
  gap: 12px;
}
.hero-float .icon-box {
  width: 44px;
  height: 44px;
  background: #fff;
}

/* Cert badges */
.cert-badge {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--primary);
}
.cert-badge-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: var(--bg-alt);
  border-radius: var(--radius-sm);
  color: var(--primary);
}
.cert-badge-icon .icon { display: block; }

/* Testimonials — corporate */
.testimonial-stars { margin-bottom: 12px; }
.testimonial-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  box-shadow: none;
}
.testimonial-avatar {
  border-radius: var(--radius-sm);
  font-weight: 600;
}

/* Trust strip */
.trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
}
.trust-item .icon-box {
  width: 36px;
  height: 36px;
}

/* Category cards */
.category-card {
  border-radius: var(--radius-sm);
}
.category-card h3 {
  display: flex;
  align-items: center;
  gap: 10px;
}
.category-card-icon .icon-box {
  width: 32px;
  height: 32px;
  background: var(--accent-light);
  border-color: rgba(232,119,34,0.2);
  color: var(--accent-hover);
}

/* Strip cards on category pages */
.strip-card {
  border-radius: var(--radius-sm);
}
.strip-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--primary);
}
.strip-card-icon .icon { display: block; }

/* Sidebar category links */
.sidebar-links a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.sidebar-links .icon-box {
  width: 28px;
  height: 28px;
  font-size: 0;
}

/* Contact items */
.contact-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: var(--bg-alt);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--primary);
  flex-shrink: 0;
}
.contact-item-icon .icon { display: block; }

/* Empty state */
.catalog-empty-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}
.catalog-empty-icon .icon-box {
  width: 64px;
  height: 64px;
  color: var(--text-muted);
}

/* Product cards — tighter corporate */
.product-card {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  box-shadow: none;
}
.product-card:hover {
  box-shadow: 0 4px 16px rgba(12, 35, 64, 0.08);
  border-color: #cbd5e1;
}
.btn-quote.in-list::before { content: none; }

/* Marquee — subdued */
.marquee-section {
  background: var(--primary);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.marquee-track span {
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.75;
}
.marquee-track span::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 4px;
  background: var(--accent);
  border-radius: 50%;
  margin-right: 24px;
  vertical-align: middle;
}

/* Section labels — no decorative excess */
.section-label {
  letter-spacing: 0.14em;
  font-size: 0.6875rem;
}

/* FAQ */
.faq-compact .faq-item { border-radius: var(--radius-sm); }
.faq-compact .faq-question::after {
  content: '+';
  font-size: 1.125rem;
  font-weight: 400;
  color: var(--text-muted);
}

/* Buttons — less rounded */
.btn { border-radius: var(--radius-sm); }
.btn-sm { border-radius: var(--radius-sm); }

/* CTA & cards */
.cta-banner { border-radius: var(--radius-sm); }
.category-intro-main { border-radius: var(--radius-sm); }
.sidebar-card { border-radius: var(--radius-sm); }

@media (max-width: 768px) {
  .catalog-sticky-wrap {
    margin: 0 -16px 24px;
    padding: 12px 16px 0;
  }
  .filter-tab { padding: 10px 12px; font-size: 0.8125rem; }
}
