/**
 * Genpro v3 — Unified design system (load last)
 * Harmonizes typography, glass panels, buttons, and section rhythm site-wide.
 */

/* ═══ Section rhythm ═══ */
body.genpro-futuristic main > section:not(.kb-hero) {
  padding-block: clamp(1.25rem, 3.5vw, 2.25rem);
}

body.genpro-futuristic .news-content-section,
body.genpro-futuristic .products-section,
body.genpro-futuristic .services-section,
body.genpro-futuristic .projects-section {
  padding-top: clamp(0.75rem, 2vw, 1.25rem) !important;
}

/* ═══ Unified section titles ═══ */
body.genpro-futuristic .fx-corp-section-head .brands-title-enhanced,
body.genpro-futuristic .fx-corp-section-head .products-title-enhanced,
body.genpro-futuristic .fx-corp-section-head .services-title-enhanced,
body.genpro-futuristic .filters-title,
body.genpro-futuristic .fx-news-page-title,
body.genpro-futuristic .projects-hero-page-title-enhanced,
body.genpro-futuristic .news-hero-title,
body.genpro-futuristic .about-title-enhanced,
body.genpro-futuristic .contact-title-enhanced,
body.genpro-futuristic .support-title-enhanced {
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-section-title) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: var(--fx-line-heading) !important;
  color: var(--fx-text) !important;
}

body.genpro-futuristic .brands-subtitle-enhanced,
body.genpro-futuristic .products-subtitle-enhanced,
body.genpro-futuristic .services-subtitle-enhanced,
body.genpro-futuristic .news-hero-subtitle,
body.genpro-futuristic .projects-hero-page-subtitle-enhanced,
body.genpro-futuristic .about-description-enhanced,
body.genpro-futuristic .fx-corp-section-head .brands-subtitle-enhanced {
  font-size: var(--fx-section-lead) !important;
  line-height: var(--fx-line-body) !important;
  color: var(--fx-text-muted) !important;
}

body.genpro-futuristic .products-filter-title-enhanced,
body.genpro-futuristic .sidebar-widget-title {
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-text-sm) !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  color: var(--fx-text) !important;
}

/* ═══ Glass panel surfaces (filters, sidebars, cards) ═══ */
body.genpro-futuristic .news-filters.fx-listing-filters,
body.genpro-futuristic .products-filter-enhanced,
body.genpro-futuristic .sidebar-widget,
body.genpro-futuristic .fx-corp-subscribe,
body.genpro-futuristic .fx-listing-filters,
body.genpro-futuristic .support-form-card-enhanced,
body.genpro-futuristic .contact-form-card-enhanced,
body.genpro-futuristic .contact-info-card-enhanced {
  background: var(--fx-glass-bg) !important;
  border: 1px solid var(--fx-glass-border) !important;
  border-radius: var(--fx-glass-radius) !important;
  padding: var(--fx-glass-pad) !important;
  box-shadow: none !important;
}

body.genpro-futuristic .news-filters.fx-listing-filters,
body.genpro-futuristic .products-filter-enhanced {
  margin-bottom: 1rem;
}

body.genpro-futuristic .sidebar-widget + .sidebar-widget {
  margin-top: 0.75rem;
}

/* ═══ Listing & product cards ═══ */
body.genpro-futuristic .blog-card-title-enhanced,
body.genpro-futuristic .product-card-title-enhanced,
body.genpro-futuristic .project-card-title-enhanced,
body.genpro-futuristic .service-card-title-enhanced,
body.genpro-futuristic .product-card-page-title-enhanced,
body.genpro-futuristic .fx-premium-card__title,
body.genpro-futuristic .featured-post-title,
body.genpro-futuristic .fx-featured-story__title {
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-card-title) !important;
  font-weight: 700 !important;
  line-height: var(--fx-line-tight) !important;
  letter-spacing: -0.02em !important;
  color: var(--fx-text) !important;
}

body.genpro-futuristic .blog-card-excerpt-enhanced,
body.genpro-futuristic .product-card-description-enhanced,
body.genpro-futuristic .project-card-excerpt-enhanced,
body.genpro-futuristic .featured-post-excerpt,
body.genpro-futuristic .fx-featured-story__excerpt,
body.genpro-futuristic .fx-premium-card__excerpt {
  font-size: var(--fx-card-meta) !important;
  line-height: var(--fx-line-body) !important;
  color: var(--fx-text-muted) !important;
}

body.genpro-futuristic .blog-card-meta-enhanced,
body.genpro-futuristic .featured-post-meta-item,
body.genpro-futuristic .product-category-badge-enhanced,
body.genpro-futuristic .project-card-meta-enhanced,
body.genpro-futuristic .fx-glow-tag,
body.genpro-futuristic .fx-neon-badge {
  font-size: var(--fx-card-meta) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
}

/* ═══ Icon grid tiles (Browse by, Categories, Articles) ═══ */
body.genpro-futuristic .fx-icon-tile,
body.genpro-futuristic .filter-btn.fx-icon-tile,
body.genpro-futuristic .category-tile,
body.genpro-futuristic .products-filter-btn-enhanced {
  min-height: 52px !important;
  border-radius: var(--fx-radius-sm) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  color: var(--fx-text-dim) !important;
}

body.genpro-futuristic .fx-icon-tile i,
body.genpro-futuristic .products-filter-btn-enhanced i {
  font-size: 0.92rem !important;
}

body.genpro-futuristic .fx-icon-tile__label,
body.genpro-futuristic .products-filter-btn-enhanced span:not(.sr-only) {
  font-size: var(--fx-text-xs) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.15 !important;
}

body.genpro-futuristic .fx-icon-tile.active,
body.genpro-futuristic .filter-btn.fx-icon-tile.active,
body.genpro-futuristic .category-tile.active,
body.genpro-futuristic .products-filter-btn-enhanced.active {
  background: rgba(255, 102, 0, 0.12) !important;
  border-color: rgba(255, 102, 0, 0.38) !important;
  color: var(--fx-accent-bright) !important;
}

/* ═══ Primary & CTA buttons ═══ */
body.genpro-futuristic .fx-nav-glass__btn--primary,
body.genpro-futuristic .newsletter-btn-enhanced,
body.genpro-futuristic .product-btn-enhanced,
body.genpro-futuristic .product-cta-btn-enhanced,
body.genpro-futuristic .products-view-all-btn-enhanced,
body.genpro-futuristic .about-explore-btn-enhanced,
body.genpro-futuristic .contact-form-submit-enhanced,
body.genpro-futuristic .support-form-submit-enhanced,
body.genpro-futuristic .fx-drawer__btn--primary {
  min-height: var(--fx-btn-h) !important;
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-btn-font) !important;
  font-weight: 700 !important;
  letter-spacing: var(--fx-btn-tracking) !important;
  text-transform: uppercase;
  border-radius: var(--fx-radius-sm) !important;
}

body.genpro-futuristic .fx-nav-glass__btn--primary,
body.genpro-futuristic .newsletter-btn-enhanced,
body.genpro-futuristic .fx-drawer__btn--primary {
  background: linear-gradient(135deg, var(--fx-accent), var(--fx-accent-bright)) !important;
  color: #fff !important;
  border: none !important;
}

/* ═══ Search & inline inputs (news, newsletter) ═══ */
body.genpro-futuristic .fx-news-search__field,
body.genpro-futuristic .fx-news-search__input,
body.genpro-futuristic .newsletter-input-enhanced,
body.genpro-futuristic .fx-sidebar-newsletter__input {
  font-size: var(--fx-text-sm) !important;
  border-radius: var(--fx-radius-sm) !important;
}

body.genpro-futuristic .fx-news-search__input:focus,
body.genpro-futuristic .newsletter-input-enhanced:focus,
body.genpro-futuristic .fx-sidebar-newsletter__input:focus,
body.genpro-futuristic .fx-ai-input:focus {
  border-color: var(--fx-focus-ring) !important;
  box-shadow: 0 0 0 2px var(--fx-focus-glow) !important;
  outline: none !important;
}

body.genpro-futuristic .fx-news-search__submit,
body.genpro-futuristic .fx-sidebar-newsletter__btn {
  min-height: 40px;
  min-width: 40px;
  border-radius: var(--fx-radius-sm) !important;
  background: var(--fx-accent) !important;
  color: #fff !important;
  font-size: var(--fx-text-sm) !important;
}

/* ═══ Detail page content ═══ */
body.genpro-futuristic .article-title,
body.genpro-futuristic .product-detail-title-enhanced,
body.genpro-futuristic .article-hero .article-title {
  font-size: clamp(1.1rem, 3.5vw, 1.65rem) !important;
  line-height: var(--fx-line-heading) !important;
}

body.genpro-futuristic .article-meta-item,
body.genpro-futuristic .product-detail-meta-item {
  font-size: var(--fx-text-xs) !important;
  color: var(--fx-text-dim) !important;
}

body.genpro-futuristic .article-content-enhanced,
body.genpro-futuristic .product-detail-description-enhanced,
body.genpro-futuristic .formatted-content {
  font-size: var(--fx-text-sm) !important;
  line-height: var(--fx-line-body) !important;
}

/* ═══ Footer harmonization ═══ */
body.genpro-futuristic .footer-column-title-enhanced,
body.genpro-futuristic .footer-heading-enhanced {
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-eyebrow-size) !important;
  font-weight: 700 !important;
  letter-spacing: var(--fx-eyebrow-tracking) !important;
  text-transform: uppercase;
  color: var(--fx-text) !important;
}

body.genpro-futuristic .footer-link-enhanced,
body.genpro-futuristic .footer-text-enhanced,
body.genpro-futuristic .footer-copyright-enhanced {
  font-size: var(--fx-text-xs) !important;
  line-height: var(--fx-line-body) !important;
  color: var(--fx-text-muted) !important;
}

/* ═══ AI assistant panel typography ═══ */
body.genpro-futuristic .fx-ai-panel-title {
  font-family: var(--fx-font-display) !important;
  font-size: var(--fx-text-sm) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

body.genpro-futuristic .fx-ai-status,
body.genpro-futuristic .fx-ai-hint {
  font-size: var(--fx-text-xs) !important;
  color: var(--fx-text-dim) !important;
}

body.genpro-futuristic .fx-ai-msg {
  font-size: var(--fx-text-sm) !important;
  line-height: var(--fx-line-body) !important;
}

body.genpro-futuristic .fx-ai-input {
  font-size: var(--fx-text-sm) !important;
}

/* ═══ Drawer typography ═══ */
body.genpro-futuristic .fx-drawer__item {
  font-size: var(--fx-text-sm) !important;
  font-weight: 500;
}

body.genpro-futuristic .fx-drawer__user-name {
  font-size: var(--fx-text-sm) !important;
  font-weight: 700;
}

body.genpro-futuristic .fx-drawer__user-tier {
  font-size: var(--fx-text-xs) !important;
}

/* ═══ Nav & announce bar ═══ */
body.genpro-futuristic .fx-nav-glass__link {
  font-size: var(--fx-text-sm) !important;
}

body.genpro-futuristic .fx-announce__text {
  font-size: var(--fx-text-xs) !important;
}

/* ═══ Brand grid tiles ═══ */
body.genpro-futuristic .brand-name-enhanced {
  font-size: var(--fx-text-xs) !important;
  font-weight: 600 !important;
  line-height: var(--fx-line-tight) !important;
}

/* ═══ Mobile density pass ═══ */
@media (max-width: 767px) {
  body.genpro-futuristic {
    font-size: var(--fx-text-sm);
  }

  body.genpro-futuristic .filters-title,
  body.genpro-futuristic .fx-news-page-title {
    font-size: clamp(1.05rem, 4.5vw, 1.25rem) !important;
  }

  body.genpro-futuristic .fx-icon-tile,
  body.genpro-futuristic .products-filter-btn-enhanced {
    min-height: 48px !important;
  }

  body.genpro-futuristic .fx-glass-pad,
  body.genpro-futuristic .news-filters.fx-listing-filters,
  body.genpro-futuristic .products-filter-enhanced,
  body.genpro-futuristic .sidebar-widget {
    padding: 0.75rem !important;
  }

  body.genpro-futuristic .kb-hero__title {
    font-size: clamp(1.65rem, 7vw, 2.25rem) !important;
  }

  body.genpro-futuristic .kb-hero__subtitle {
    font-size: var(--fx-text-sm) !important;
  }

  body.genpro-futuristic .kb-hero__eyebrow {
    font-size: var(--fx-text-xs) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.genpro-futuristic * {
    scroll-behavior: auto !important;
  }
}
