﻿/* ============================================================
  GBH LUXURY ENTERPRISE DESIGN SYSTEM
  Purpose: Shared visual refinement layer for every GBH page.
  This file intentionally overrides existing inline page styles
  without removing the original comments, structure, or content.
============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;600;700&family=Source+Serif+4:opsz,wght@8..60,400;8..60,500;8..60,600&display=swap');

:root {
  --gbh-ivory: #FFFFFF;
  --gbh-paper: #F8F6FF;
  --gbh-mist: #DDDAF5;
  --gbh-smoke: #171719;
  --gbh-charcoal: #0e0e10;
  --gbh-ink: #1A1025;
  --gbh-muted: #8070A0;
  --gbh-muted-dark: #B0A0CC;
  --gbh-purple: #6C3AFF;
  --gbh-purple-soft: #9B7AFF;
  --gbh-purple-wash: rgba(108, 58, 255, 0.08);
  --gbh-gold: #00D4AA;
  --gbh-line: rgba(108, 58, 255, 0.10);
  --gbh-line-dark: rgba(255, 255, 255, 0.12);
  --gbh-radius-xs: 6px;
  --gbh-radius-sm: 10px;
  --gbh-radius-md: 16px;
  --gbh-radius-lg: 24px;
  --gbh-max: 1240px;
  --gbh-section: clamp(72px, 8vw, 132px);
  --gbh-ease: cubic-bezier(0.19, 1, 0.22, 1);
  --gbh-shadow: 0 22px 70px rgba(26, 16, 37, 0.10);
  --gbh-shadow-quiet: 0 12px 34px rgba(26, 16, 37, 0.07);
  --gbh-shadow-lift: 0 18px 48px rgba(26, 16, 37, 0.085);
  --gbh-shadow-stage: 0 36px 110px rgba(108, 58, 255, 0.12);
  --gbh-tone-page: #F8F6FF;
  --gbh-tone-section: #F3F0FF;
  --gbh-tone-section-alt: #EDEAFF;
  --gbh-tone-lift: #FDFCFF;
  --gbh-tone-card: #FFFFFF;
  --gbh-tone-well: #E8E4FF;
  --gbh-tone-stage: #F0EEFF;
  --gbh-atmosphere:
    radial-gradient(1000px 620px at 82% -6%, rgba(108, 58, 255, 0.08), transparent 62%),
    radial-gradient(820px 540px at 8% 18%, rgba(0, 212, 170, 0.06), transparent 64%),
    radial-gradient(980px 620px at 50% 104%, rgba(255, 255, 255, 0.55), transparent 68%),
    linear-gradient(180deg, #FFFFFF 0%, #F3F0FF 48%, #F8F6FF 100%);
  --gbh-section-surface:
    radial-gradient(760px 460px at 88% 6%, rgba(108, 58, 255, 0.06), transparent 66%),
    radial-gradient(760px 460px at 10% 92%, rgba(0, 212, 170, 0.05), transparent 68%),
    linear-gradient(180deg, rgba(253, 252, 255, 0.96), rgba(237, 234, 255, 0.96));
  --gbh-card-surface:
    linear-gradient(145deg, rgba(255, 255, 255, 0.80), rgba(237, 234, 255, 0.55));
  --gbh-product-well:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.96), transparent 45%),
    radial-gradient(circle at 50% 86%, rgba(26, 16, 37, 0.08), transparent 58%),
    linear-gradient(145deg, #F8F6FF, #E8E4FF);
  --gbh-textile:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.028) 0.8px, transparent 1.15px),
    linear-gradient(90deg, rgba(108, 58, 255, 0.015) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255, 255, 255, 0.024) 1px, transparent 1px);
  --gbh-textile-soft:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.025) 0.75px, transparent 1.2px),
    radial-gradient(circle at 9px 9px, rgba(0, 212, 170, 0.018) 0.7px, transparent 1.15px);
  --gbh-textile-dark:
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, 0.055) 0.8px, transparent 1.2px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);

  --violet: #6C3AFF;
  --violet-mid: #4E20D4;
  --violet-light: #9B7AFF;
  --violet-pale: #EDEAFF;
  --violet-glow: rgba(108, 58, 255, 0.16);
  --violet-grad: linear-gradient(135deg, #4E20D4 0%, #6C3AFF 100%);
  --violet-grad-h: linear-gradient(135deg, #6C3AFF 0%, #9B7AFF 100%);
  --ink: var(--gbh-ink);
  --ink-mid: #2D1A40;
  --text-body: #4A3860;
  --text-muted: #8070A0;
  --white: #FFFFFF;
  --off-white: #F8F6FF;
  --surface: #F0EEFF;
  --border: var(--gbh-line);
  --shadow-sm: 0 8px 20px rgba(26, 16, 37, 0.07);
  --shadow-md: var(--gbh-shadow-quiet);
  --shadow-lg: var(--gbh-shadow);
  --radius-sm: var(--gbh-radius-xs);
  --radius-md: var(--gbh-radius-sm);
  --radius-lg: var(--gbh-radius-md);
  --radius-xl: var(--gbh-radius-lg);
  --font-display: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-body: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --ease-out: var(--gbh-ease);
}

html {
  background: var(--gbh-ivory);
  text-rendering: optimizeLegibility;
}

body {
  color: var(--text-body) !important;
  background: var(--gbh-atmosphere) !important;
  font-family: var(--font-body) !important;
  font-weight: 450;
  letter-spacing: 0;
  line-height: 1.7;
}

.hero-grid,
.page-hero-grid,
.card-glow {
  display: none !important;
}

body::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -2 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 0.42 !important;
  background:
    var(--gbh-textile),
    var(--gbh-textile-soft);
  background-size: 18px 18px, 96px 96px, 96px 96px, 22px 22px, 22px 22px !important;
  mask-image: radial-gradient(circle at 50% 34%, black 0%, rgba(0, 0, 0, 0.72) 48%, transparent 92%);
}

body::after {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  display: block !important;
  opacity: 0.72 !important;
  background:
    radial-gradient(circle at center, transparent 42%, rgba(88, 72, 52, 0.09) 100%),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.012) 0, rgba(255, 255, 255, 0.012) 1px, transparent 1px, transparent 5px),
    repeating-linear-gradient(0deg, rgba(108, 58, 255, 0.008) 0, rgba(108, 58, 255, 0.008) 1px, transparent 1px, transparent 6px);
  mix-blend-mode: multiply;
}

::selection {
  background: rgba(108, 58, 255, 0.15);
  color: var(--gbh-ink);
}

a,
button,
.acc-card,
.product-card,
.marquee-card,
.feat-item,
.slider-arrow,
.thumb,
.cat-tab {
  transition-duration: 420ms !important;
  transition-timing-function: var(--gbh-ease) !important;
}

img {
  height: auto;
}

img:not([loading]) {
  content-visibility: auto;
}

:focus-visible {
  outline: 2px solid rgba(108, 58, 255, 0.72) !important;
  outline-offset: 4px;
}

.container {
  max-width: var(--gbh-max) !important;
  padding-left: clamp(20px, 4vw, 44px) !important;
  padding-right: clamp(20px, 4vw, 44px) !important;
}

.section-label,
.page-eyebrow,
.product-eyebrow,
.acc-tag,
.card-series,
.s-card-series {
  color: var(--gbh-purple) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase;
}

.section-label::before,
.section-label::after {
  width: 24px !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(0, 212, 170, 0.8), rgba(108, 58, 255, 0.6)) !important;
}

.section-title,
.page-title,
.hero-title,
.product-name,
.card-name,
.acc-name,
h1,
h2,
h3 {
  font-family: var(--font-display) !important;
  color: var(--gbh-ink) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-wrap: balance;
}

.section-title,
.page-title {
  font-size: clamp(2.55rem, 5.2vw, 5.4rem) !important;
  line-height: 1.02 !important;
}

.product-name {
  font-size: clamp(1.65rem, 2.7vw, 2.55rem) !important;
  line-height: 1.05 !important;
}

.hero-title {
  max-width: 760px;
  font-size: clamp(3.55rem, 7.2vw, 7.5rem) !important;
  line-height: 0.98 !important;
}

.section-title em,
.page-title em,
.hero-title em,
.product-name em {
  color: var(--gbh-purple) !important;
  font-style: italic;
}

p,
li,
td,
th,
.card-desc,
.feat-desc,
.product-detail-block,
.s-card-cat {
  color: var(--text-body) !important;
}

#searchResults {
  max-height: min(68vh, 680px) !important;
  overflow-y: auto !important;
  padding-right: 4px !important;
}

/* ============================================================
  NAVIGATION SYSTEM
============================================================ */
.navbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  height: var(--nav-h) !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(108, 58, 255, 0.10) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.018) 0.62px, transparent 1.08px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 246, 255, 0.88)),
    rgba(255, 255, 255, 0.88) !important;
  background-size: 18px 18px, auto, auto !important;
  box-shadow: 0 10px 30px rgba(26, 16, 37, 0.07) !important;
  backdrop-filter: blur(14px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
}

.navbar.scrolled {
  background: rgba(255, 255, 255, 0.92) !important;
}

.nav-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 0 !important;
  height: var(--nav-h) !important;
  width: 100% !important;
  gap: clamp(18px, 3vw, 40px) !important;
}

.nav-logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

.nav-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

.logo-img {
  height: 70px !important;
  width: auto !important;
  filter: none !important;
}

.nav-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 20px !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
  overflow: visible !important;
  transform: none !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.nav-item {
  position: relative !important;
  width: auto !important;
  list-style: none !important;
}

.nav-link {
  display: flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
  min-height: 38px;
  padding: 0 0.25rem !important;
  border-radius: 999px !important;
  color: rgba(26, 16, 37, 0.72) !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  backdrop-filter: none !important;
}

.nav-link::after {
  display: none !important;
}

.nav-link:hover,
.nav-link.active {
  color: var(--gbh-ink) !important;
  background: rgba(108, 58, 255, 0.08) !important;
}

.dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  z-index: 1001 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 300px !important;
  width: max-content !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  margin-top: 12px !important;
  padding: 0.55rem !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.024) 0.65px, transparent 1.12px),
    radial-gradient(420px 220px at 82% 0%, rgba(108, 58, 255, 0.055), transparent 64%),
    rgba(248, 246, 255, 0.97) !important;
  background-size: 18px 18px, auto, auto !important;
  border: 1px solid rgba(108, 58, 255, 0.12) !important;
  box-shadow: 0 24px 74px rgba(26, 16, 37, 0.12) !important;
  backdrop-filter: blur(14px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(135%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(8px) !important;
  transition:
    opacity 220ms ease,
    visibility 0ms linear 220ms,
    transform 320ms var(--gbh-ease) !important;
}

.nav-item:hover .dropdown,
.nav-item:focus-within .dropdown {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
  transition:
    opacity 220ms ease,
    visibility 0ms,
    transform 320ms var(--gbh-ease) !important;
}

.dropdown::before {
  background: rgba(255, 255, 255, 0.96) !important;
  border-color: rgba(108, 58, 255, 0.10) !important;
  box-shadow: none !important;
}

.dropdown a {
  display: flex !important;
  align-items: center !important;
  gap: 0.7rem !important;
  min-height: 40px;
  padding: 0.7rem 0.85rem !important;
  border-radius: 12px !important;
  color: rgba(26, 16, 37, 0.76) !important;
  font-size: 0.84rem !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.dropdown a::before {
  display: none !important;
}

.dropdown a:hover {
  padding-left: 1.25rem !important;
  transform: translateX(2px) !important;
  color: var(--gbh-ink) !important;
  background: rgba(108, 58, 255, 0.075) !important;
}

.dropdown a .dd-num {
  color: rgba(108, 58, 255, 0.62) !important;
}

.search-trigger-btn,
.nav-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.5) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: none !important;
}

.search-trigger-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--gbh-purple) !important;
  fill: none !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
}

.nav-toggle {
  display: none !important;
  flex-direction: column !important;
  gap: 6px !important;
}

.nav-toggle span {
  display: block !important;
  width: 26px !important;
  height: 2.5px !important;
  background: var(--gbh-ink) !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

#navBackdrop {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1001;
  background: rgba(26, 16, 37, 0.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  opacity: 0;
  transition: opacity 300ms ease;
}

#navBackdrop.active {
  opacity: 1;
}

/* ============================================================
  HERO AND EDITORIAL PAGE HEADERS
============================================================ */
.hero,
.page-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(960px 620px at 76% 38%, rgba(108, 58, 255, 0.10), transparent 64%),
    radial-gradient(780px 520px at 18% 18%, rgba(255, 255, 255, 0.56), transparent 62%),
    radial-gradient(920px 520px at 50% 112%, rgba(0, 212, 170, 0.06), transparent 70%),
    linear-gradient(180deg, #FFFFFF 0%, #F3F0FF 100%) !important;
}

.hero {
  min-height: calc(100vh - 96px) !important;
}

.hero-bg,
.page-hero-bg {
  opacity: 1 !important;
  background:
    linear-gradient(110deg, rgba(255, 255, 255, 0.58), transparent 42%),
    radial-gradient(620px 420px at 72% 48%, rgba(108, 58, 255, 0.10), transparent 70%),
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.024) 0.75px, transparent 1.2px),
    radial-gradient(680px 360px at 50% 100%, rgba(0, 212, 170, 0.06), transparent 72%) !important;
  background-size: auto, auto, 20px 20px, auto !important;
}

.hero::before,
.page-hero::before,
.new-arrivals::before,
.features::before,
.products-section::before,
.accessories-section::before,
.connectors-section::before,
.compatible-section::before,
.compliance-section::before,
.trending::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(0, 212, 170, 0.16), rgba(108, 58, 255, 0.12), transparent) !important;
  pointer-events: none !important;
}

.hero::after,
.page-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: auto -10% -28% -10% !important;
  height: 42% !important;
  pointer-events: none !important;
  background: radial-gradient(ellipse at center, rgba(26, 16, 37, 0.055), transparent 68%) !important;
}

.hero-inner {
  padding: clamp(72px, 8vw, 116px) 0 clamp(78px, 9vw, 132px) !important;
  gap: clamp(44px, 7vw, 96px) !important;
}

.page-hero {
  padding: clamp(72px, 8vw, 128px) 0 clamp(54px, 6vw, 86px) !important;
}

.page-hero-inner {
  text-align: left !important;
  max-width: 850px;
}

.hero-badge,
.hero-stat {
  border: 1px solid rgba(108, 58, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px) !important;
}

.hero-badge {
  color: #4E20D4 !important;
  background: #EDEAFF !important;
  border-color: rgba(108, 58, 255, 0.25) !important;
}

.hero-sub {
  max-width: 570px !important;
  color: var(--gbh-muted) !important;
  font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
  line-height: 1.78 !important;
}

.hero-actions {
  gap: 0.75rem !important;
}

.hero-stats {
  gap: 0.8rem !important;
}

.hero-stat {
  min-width: 126px;
  border-radius: 14px !important;
  padding: 0.86rem 1rem !important;
}

.hero-stat .num {
  color: var(--gbh-ink) !important;
  font-size: 1.8rem !important;
  text-shadow: none !important;
}

.hero-stat .lbl {
  color: var(--gbh-muted) !important;
  font-size: 0.66rem !important;
}

.hero-img-wrap::before,
.features-visual-bg {
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.9), transparent 48%),
    radial-gradient(circle at 50% 88%, rgba(26, 16, 37, 0.08), transparent 60%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(237, 234, 255, 0.58)) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: var(--gbh-shadow) !important;
}

.hero-img-bg,
.hero-img-ring {
  opacity: 0.32 !important;
  filter: blur(30px) !important;
  animation-duration: 12s !important;
}

.product-img,
.features-img {
  filter: drop-shadow(0 44px 62px rgba(26, 16, 37, 0.18)) !important;
}

.product-img {
  animation: none !important;
}

.anniversary-badge {
  width: clamp(112px, 12vw, 154px) !important;
  filter: drop-shadow(0 18px 28px rgba(26, 16, 37, 0.16)) !important;
}

/* ============================================================
  BUTTONS AND INTERACTION
============================================================ */
.btn,
.card-btn,
.acc-enquire,
.search-go-btn,
.cat-tab {
  border-radius: 999px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
}

.btn {
  padding: 0.78rem 1.45rem !important;
  border: 1px solid rgba(108, 58, 255, 0.12) !important;
  box-shadow: none !important;
}

.btn::before,
.card-btn::before,
.search-go-btn::before {
  display: none !important;
}

.btn-primary,
.search-go-btn,
.cat-tab.active {
  color: #fff !important;
  background: linear-gradient(135deg, #4E20D4 0%, #6C3AFF 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 12px 30px rgba(108, 58, 255, 0.20) !important;
}

.btn-outline,
.card-btn,
.acc-enquire {
  color: var(--gbh-ink) !important;
  background: rgba(255, 255, 255, 0.46) !important;
  border: 1px solid rgba(108, 58, 255, 0.11) !important;
}

.btn:hover,
.card-btn:hover,
.acc-enquire:hover,
.search-go-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(108, 58, 255, 0.20) !important;
}

/* ============================================================
  SECTIONS, CARDS, CATEGORY GRIDS
============================================================ */
.new-arrivals,
.features,
.products-section,
.accessories-section,
.connectors-section,
.trending,
main > section {
  padding-top: var(--gbh-section) !important;
  padding-bottom: var(--gbh-section) !important;
}

.new-arrivals,
.features,
.products-section,
.accessories-section,
.connectors-section {
  position: relative;
  overflow: hidden;
  background: var(--gbh-section-surface) !important;
}

.new-arrivals::after,
.features::after,
.products-section::after,
.accessories-section::after,
.connectors-section::after,
.compatible-section::after,
.compliance-section::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.42 !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.022) 0.7px, transparent 1.12px),
    linear-gradient(90deg, rgba(108, 58, 255, 0.012) 1px, transparent 1px),
    radial-gradient(680px 340px at 52% 0%, rgba(255, 255, 255, 0.38), transparent 68%),
    radial-gradient(760px 420px at 48% 100%, rgba(26, 16, 37, 0.035), transparent 72%);
  background-size: 18px 18px, 72px 72px, auto, auto !important;
  mask-image: linear-gradient(180deg, transparent 0%, black 18%, black 82%, transparent 100%);
}

.new-arrivals > .container,
.features > .container,
.products-section > .container,
.accessories-section > .container,
.connectors-section > .container,
.compatible-section > .container,
.compliance-section > .container,
.trending > * {
  position: relative;
  z-index: 1;
}

.trending {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(900px 460px at 82% 8%, rgba(108, 58, 255, 0.08), transparent 64%),
    radial-gradient(760px 420px at 10% 72%, rgba(0, 212, 170, 0.08), transparent 66%),
    linear-gradient(180deg, #EDE9FF 0%, #E0DBFF 100%) !important;
  color: var(--gbh-ink) !important;
}

.trending::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(108, 58, 255, 0.16), transparent) !important;
}

.trending .section-label {
  color: var(--gbh-purple) !important;
}

.trending .section-title {
  color: var(--gbh-ink) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

.trending-head {
  position: relative;
  z-index: 2;
}

.trending .marquee-wrap {
  position: relative;
  z-index: 2;
}

.trending .marquee-wrap::before {
  background: linear-gradient(90deg, #EDE9FF 0%, rgba(237, 233, 255, 0)) !important;
}

.trending .marquee-wrap::after {
  background: linear-gradient(270deg, #E0DBFF 0%, rgba(224, 219, 255, 0)) !important;
}

.trending .marquee-card {
  background: #F3F1FF !important;
  border-color: rgba(108, 58, 255, 0.12) !important;
  box-shadow: 0 18px 46px rgba(26, 16, 37, 0.08) !important;
}

.trending .marquee-card:hover {
  box-shadow: 0 24px 60px rgba(26, 16, 37, 0.12) !important;
}

.trending .marquee-img {
  background:
    radial-gradient(circle at 50% 38%, rgba(255, 255, 255, 0.9), transparent 48%),
    linear-gradient(145deg, #F0EEFF, #E8E4FF) !important;
}

.trending .marquee-label {
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--gbh-ink) !important;
  font-weight: 600 !important;
}

footer {
  background:
    radial-gradient(780px 460px at 18% 14%, rgba(108, 58, 255, 0.12), transparent 66%),
    linear-gradient(180deg, #151516 0%, #0d0d0f 100%) !important;
  color: var(--gbh-muted-dark) !important;
}

.section-head,
.section-header,
.trending-head {
  margin-bottom: clamp(34px, 5vw, 72px) !important;
}

.product-grid,
.acc-grid,
.features-list,
.search-cards-grid {
  gap: clamp(18px, 2vw, 28px) !important;
}

.product-card,
.acc-card,
.feat-item,
.marquee-card,
.s-card,
.slider-main,
.thumb,
.product-detail-block,
table {
  position: relative;
  border-radius: var(--gbh-radius-md) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  background: var(--gbh-card-surface) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.55),
    inset 0 -1px 0 rgba(0, 212, 170, 0.055),
    var(--gbh-shadow-quiet) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.product-card::after,
.acc-card::after,
.feat-item::after,
.marquee-card::after,
.s-card::after,
.slider-main::after,
.product-detail-block::after,
.connector-card::after,
.cert-card::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.32 !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.03) 0.65px, transparent 1.1px),
    linear-gradient(135deg, rgba(255, 255, 255, 0.22), transparent 32%, rgba(0, 212, 170, 0.035));
  background-size: 16px 16px, auto !important;
  mix-blend-mode: multiply;
}

.product-card,
.acc-card,
.marquee-card,
.s-card {
  overflow: hidden;
}

.slider-main,
.product-detail-block,
.connector-card,
.cert-card {
  position: relative !important;
  overflow: hidden !important;
}

.product-card::before,
.acc-card::before,
.marquee-card::before,
.feat-item::before {
  display: none !important;
}

.product-card:hover,
.acc-card:hover,
.feat-item:hover,
.marquee-card:hover,
.s-card:hover {
  transform: translateY(-5px) scale(1.01) !important;
  border-color: rgba(108, 58, 255, 0.18) !important;
  box-shadow: var(--gbh-shadow) !important;
}

.card-img,
.acc-img-wrap,
.marquee-img,
.s-card-img,
.slider-slide {
  background: var(--gbh-product-well) !important;
  border-bottom: 1px solid rgba(108, 58, 255, 0.08) !important;
}

.card-img img,
.acc-img-wrap img,
.marquee-img img,
.s-card-img img,
.slider-slide img {
  object-fit: contain;
  filter: drop-shadow(0 26px 34px rgba(26, 16, 37, 0.14));
}

.product-card:hover .features-img,
.product-card:hover .card-img img,
.acc-card:hover img,
.marquee-card:hover img,
.s-card:hover img,
.slider-slide.is-active img {
  transform: scale(1.025) !important;
}

.card-badge,
.acc-badge,
.s-card-badge-ex,
.s-card-badge-sim {
  border-radius: 999px !important;
  color: var(--gbh-ink) !important;
  background: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px) !important;
}

.card-body,
.acc-body,
.s-card-body {
  padding: 1.15rem 1.2rem 1.25rem !important;
}

.card-name,
.acc-name,
.s-card-name,
.marquee-label {
  color: var(--gbh-ink) !important;
}

.card-name,
.acc-name {
  font-size: 1.42rem !important;
  line-height: 1.08 !important;
}

.card-desc {
  min-height: 2.7em;
}

.acc-card {
  cursor: pointer;
}

.acc-footer {
  min-height: 0 !important;
}

.category-tabs {
  margin-bottom: clamp(28px, 4vw, 54px) !important;
}

.cat-tab {
  background: rgba(255, 255, 255, 0.48) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  color: var(--gbh-muted) !important;
}

.cat-tab:hover {
  color: var(--gbh-ink) !important;
  border-color: rgba(108, 58, 255, 0.2) !important;
}

/* ============================================================
  PRODUCT DETAIL AND SPECIFICATION SYSTEM
============================================================ */
.product-panel.active {
  gap: clamp(36px, 6vw, 82px) !important;
  align-items: start !important;
}

.product-slider-wrap {
  top: calc(var(--nav-h) + 32px) !important;
}

.slider-main {
  aspect-ratio: 1 / 0.9 !important;
  background: var(--gbh-product-well) !important;
}

.slider-arrow {
  background: rgba(255, 255, 255, 0.78) !important;
  color: var(--gbh-ink) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: 0 8px 22px rgba(26, 16, 37, 0.08) !important;
}

.slider-arrow:hover {
  color: #fff !important;
  background: var(--gbh-purple) !important;
  transform: translateY(-50%) scale(1.02) !important;
}

.slider-dot {
  background: rgba(26, 16, 37, 0.18) !important;
}

.slider-dot.active {
  background: var(--gbh-purple) !important;
}

.thumb {
  background: rgba(255, 255, 255, 0.5) !important;
}

.thumb.active {
  border-color: rgba(108, 58, 255, 0.36) !important;
}

.product-content {
  max-width: 680px;
}

/* ============================================================
  PRODUCT PAGE SPACING REFINEMENT
  Keeps technical/support sections close to the product story.
============================================================ */
.products-section {
  padding-top: clamp(48px, 5vw, 76px) !important;
  padding-bottom: clamp(34px, 4vw, 58px) !important;
}

.connectors-section,
.compatible-section,
.compliance-section {
  min-height: 0 !important;
  display: block !important;
  padding-top: clamp(34px, 4vw, 58px) !important;
  padding-bottom: clamp(38px, 4.5vw, 64px) !important;
}

.connectors-head,
.compatible-head,
.compliance-head,
.section-header {
  margin-bottom: clamp(20px, 3vw, 38px) !important;
}

.connectors-title,
.compliance-title {
  margin: 0 !important;
  line-height: 1.08 !important;
}

.compatible-section {
  background:
    radial-gradient(760px 380px at 84% 14%, rgba(108, 58, 255, 0.06), transparent 64%),
    radial-gradient(680px 360px at 10% 92%, rgba(0, 212, 170, 0.05), transparent 68%),
    linear-gradient(180deg, #F8F6FF 0%, #EDEAFF 100%) !important;
}

.connectors-grid,
.compatible-grid,
.compliance-grid {
  gap: clamp(14px, 2vw, 22px) !important;
}

.connector-card,
.cert-card {
  min-height: 0 !important;
  background:
    radial-gradient(320px 160px at 50% 0%, rgba(255, 255, 255, 0.52), transparent 70%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.80), rgba(237, 234, 255, 0.55)) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.58),
    0 10px 28px rgba(26, 16, 37, 0.07) !important;
}

.content-divider {
  background: rgba(108, 58, 255, 0.10) !important;
  margin: 1.8rem 0 !important;
}

.product-detail-block {
  margin: 1rem 0 1.4rem !important;
  padding: clamp(1rem, 2vw, 1.35rem) !important;
  overflow: hidden;
  background:
    radial-gradient(520px 240px at 86% 0%, rgba(108, 58, 255, 0.045), transparent 64%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(237, 234, 255, 0.52)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.6),
    0 12px 30px rgba(26, 16, 37, 0.075) !important;
}

.product-detail-block ul,
.product-detail-list {
  display: grid;
  gap: 0.55rem;
  padding-left: 1.05rem !important;
  font-family: var(--font-body) !important;
  line-height: 1.6 !important;
}

.product-detail-block li,
.product-detail-list li {
  font-size: 0.92rem !important;
  text-transform: none !important;
}

.product-detail-block b {
  color: var(--gbh-ink) !important;
  font-weight: 600 !important;
}

.gbh-spec-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 0.85rem;
  padding: 0;
  color: var(--gbh-ink);
  font: 600 0.78rem/1 var(--font-body);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.gbh-spec-toggle::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(108, 58, 255, 0.12);
  border-radius: 50%;
  color: var(--gbh-purple);
  font-size: 1rem;
  font-weight: 400;
}

.gbh-spec-toggle[aria-expanded='true']::after {
  content: '-';
}

.product-detail-block.gbh-collapsed .gbh-spec-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}

.gbh-spec-content {
  max-height: 1200px;
  opacity: 1;
  transition: max-height 520ms var(--gbh-ease), opacity 360ms ease;
}

table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden;
  font-family: var(--font-body) !important;
  background:
    radial-gradient(620px 260px at 88% 0%, rgba(108, 58, 255, 0.04), transparent 66%),
    rgba(255, 255, 255, 0.58) !important;
}

th,
td {
  padding: 0.82rem 1rem !important;
  border-color: rgba(108, 58, 255, 0.09) !important;
  font-size: 0.9rem !important;
  vertical-align: top;
}

th,
tr:first-child td {
  background: rgba(108, 58, 255, 0.05) !important;
  color: var(--gbh-ink) !important;
  font-weight: 600 !important;
}

/* ============================================================
  SEARCH AND FOOTER
============================================================ */
#searchOverlay {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: 92px !important;
  z-index: 999 !important;
  transform: translateY(-130%) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition:
    transform 460ms var(--gbh-ease),
    opacity 320ms ease,
    visibility 0ms linear 460ms !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.022) 0.65px, transparent 1.12px),
    radial-gradient(860px 360px at 76% 0%, rgba(108, 58, 255, 0.07), transparent 66%),
    radial-gradient(760px 320px at 8% 100%, rgba(0, 212, 170, 0.05), transparent 68%),
    rgba(248, 246, 255, 0.97) !important;
  background-size: 18px 18px, auto, auto, auto !important;
  border-bottom: 1px solid rgba(108, 58, 255, 0.12) !important;
  box-shadow: 0 28px 80px rgba(26, 16, 37, 0.12) !important;
  backdrop-filter: blur(16px) saturate(135%) !important;
}

#searchOverlay.open {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition:
    transform 460ms var(--gbh-ease),
    opacity 320ms ease,
    visibility 0ms !important;
}

.search-overlay-inner {
  padding: clamp(18px, 3vw, 30px) 0 !important;
}

.search-bar-wrap {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 1rem !important;
}

.search-bar,
.search-close-btn,
.sug-chip {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(237, 234, 255, 0.50)) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: none !important;
}

.search-bar {
  display: flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  gap: 0.75rem !important;
  min-height: 48px !important;
  padding: 0 1rem !important;
  border-radius: 999px !important;
}

.search-bar svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--gbh-purple) !important;
  fill: none !important;
}

.search-bar input {
  width: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--gbh-ink) !important;
  font-family: var(--font-body) !important;
}

.search-clear-btn {
  display: none !important;
  color: var(--gbh-muted) !important;
  font-size: 1.25rem !important;
}

.search-clear-btn.visible {
  display: block !important;
}

.search-go-btn,
.search-close-btn {
  min-height: 44px !important;
  padding: 0 1.1rem !important;
}

.search-close-btn {
  width: 44px !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

.sug-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 1rem !important;
}

.sug-chip {
  padding: 0.42rem 0.86rem !important;
  border-radius: 999px !important;
  color: var(--gbh-muted) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

.search-placeholder,
.search-empty {
  padding: 1rem 0 !important;
  color: var(--gbh-muted) !important;
  font-size: 0.92rem !important;
}

.res-section-label {
  margin: 1.1rem 0 0.75rem !important;
  color: var(--gbh-purple) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

.res-divider {
  height: 1px !important;
  margin: 1rem 0 !important;
  background: rgba(108, 58, 255, 0.10) !important;
}

#searchResults .search-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin: 0 0 1.25rem !important;
}

#searchResults .s-card {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 220px !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, 0.64) !important;
  border: 1px solid rgba(108, 58, 255, 0.10) !important;
  box-shadow: 0 10px 26px rgba(26, 16, 37, 0.08) !important;
}

#searchResults .s-card-img {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  padding: 0.8rem !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 52% 38%, rgba(255, 255, 255, 0.92), transparent 48%),
    linear-gradient(145deg, #F0EEFF, #E8E4FF) !important;
}

#searchResults .s-card-img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  filter: drop-shadow(0 16px 22px rgba(26, 16, 37, 0.14)) !important;
}

#searchResults .s-card:hover .s-card-img img {
  transform: scale(1.02) !important;
}

#searchResults .s-card-body {
  display: block !important;
  padding: 0.72rem 0.82rem 0.86rem !important;
  min-height: 0 !important;
}

#searchResults .s-card-series {
  margin-bottom: 0.2rem !important;
  font-size: 0.58rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.1em !important;
}

#searchResults .s-card-name {
  margin: 0 0 0.16rem !important;
  color: var(--gbh-ink) !important;
  font-family: var(--font-body) !important;
  font-size: 0.86rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

#searchResults .s-card-cat {
  font-size: 0.7rem !important;
  line-height: 1.25 !important;
  color: var(--gbh-muted) !important;
  text-transform: capitalize !important;
}

#searchResults .s-card-badge-ex,
#searchResults .s-card-badge-sim {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  padding: 0.2rem 0.46rem !important;
  font-size: 0.56rem !important;
  line-height: 1 !important;
}

footer {
  position: relative;
  padding-top: 0 !important;
  overflow: hidden;
  background:
    var(--gbh-textile-dark),
    radial-gradient(780px 460px at 18% 14%, rgba(108, 58, 255, 0.12), transparent 66%),
    linear-gradient(180deg, #151516 0%, #0d0d0f 100%) !important;
  background-size: 20px 20px, 96px 96px, auto, auto !important;
}

footer::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.5 !important;
  background:
    var(--gbh-textile-dark),
    radial-gradient(900px 420px at 82% 0%, rgba(108, 58, 255, 0.11), transparent 64%),
    radial-gradient(760px 420px at 8% 100%, rgba(155, 122, 255, 0.06), transparent 68%),
    radial-gradient(circle at center, transparent 40%, rgba(0, 0, 0, 0.24) 100%);
  background-size: 20px 20px, 96px 96px, auto, auto, auto;
}

footer,
footer p,
footer a,
.footer-bottom {
  color: rgba(248, 246, 255, 0.72) !important;
}

.footer-inner {
  position: relative;
  z-index: 1;
  padding-top: clamp(64px, 7vw, 108px) !important;
  border-bottom-color: rgba(255,255,255,0.1) !important;
}

.footer-bottom {
  position: relative;
  z-index: 1;
}

.footer-brand .brand-name,
.footer-col h4 {
  color: var(--gbh-ivory) !important;
}

.footer-col a:hover,
.footer-bottom a:hover {
  color: #fff !important;
}

.social-links a {
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.06) !important;
  box-shadow: none !important;
}

.social-links a:hover {
  background: rgba(108, 58, 255, 0.28) !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
  TONAL HIERARCHY + ARCHITECTURAL SURFACE SEPARATION
  Purpose: global material levels so backgrounds, sections,
  cards, technical content, and overlays do not visually merge.
============================================================ */
body {
  background:
    radial-gradient(1100px 680px at 84% -8%, rgba(108, 58, 255, 0.065), transparent 62%),
    radial-gradient(920px 560px at 6% 18%, rgba(0, 212, 170, 0.045), transparent 64%),
    linear-gradient(180deg, var(--gbh-tone-page) 0%, #F3F0FF 46%, #F8F6FF 100%) !important;
}

.hero,
.page-hero {
  background:
    radial-gradient(980px 620px at 75% 38%, rgba(108, 58, 255, 0.10), transparent 64%),
    radial-gradient(820px 520px at 18% 18%, rgba(255, 255, 255, 0.62), transparent 62%),
    radial-gradient(920px 520px at 50% 112%, rgba(0, 212, 170, 0.06), transparent 70%),
    linear-gradient(180deg, #FFFFFF 0%, #F3F0FF 100%) !important;
}

.new-arrivals {
  background:
    radial-gradient(900px 420px at 50% 18%, rgba(255, 255, 255, 0.72), transparent 62%),
    radial-gradient(980px 520px at 50% 82%, rgba(108, 58, 255, 0.055), transparent 68%),
    linear-gradient(180deg, #FFFFFF 0%, #F5F3FF 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.62),
    inset 0 -1px 0 rgba(108, 58, 255, 0.10) !important;
}

.features {
  background:
    radial-gradient(760px 420px at 14% 16%, rgba(255, 255, 255, 0.72), transparent 64%),
    radial-gradient(800px 480px at 90% 88%, rgba(108, 58, 255, 0.05), transparent 68%),
    linear-gradient(180deg, #FDFCFF 0%, #F3F0FF 100%) !important;
}

.products-section {
  background:
    radial-gradient(900px 460px at 72% 10%, rgba(255, 255, 255, 0.62), transparent 64%),
    radial-gradient(820px 420px at 14% 90%, rgba(0, 212, 170, 0.04), transparent 68%),
    linear-gradient(180deg, #F8F6FF 0%, #EDEAFF 100%) !important;
}

.accessories-section,
.connectors-section,
.compatible-section,
.compliance-section {
  background:
    radial-gradient(760px 360px at 82% 8%, rgba(255, 255, 255, 0.55), transparent 64%),
    radial-gradient(760px 420px at 12% 96%, rgba(108, 58, 255, 0.04), transparent 68%),
    linear-gradient(180deg, #F0EEFF 0%, #EDEAFF 100%) !important;
}

.new-arrivals::after {
  opacity: 0.58 !important;
  background:
    radial-gradient(880px 260px at 50% 24%, rgba(255, 255, 255, 0.62), transparent 68%),
    radial-gradient(1100px 360px at 50% 88%, rgba(26, 16, 37, 0.045), transparent 76%),
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.022) 0.65px, transparent 1.12px) !important;
  background-size: auto, auto, 18px 18px !important;
}

.features::after,
.products-section::after,
.accessories-section::after,
.connectors-section::after,
.compatible-section::after,
.compliance-section::after {
  opacity: 0.34 !important;
}

.product-card,
.acc-card,
.feat-item,
.marquee-card,
.s-card,
.slider-main,
.thumb,
.product-detail-block,
table,
.connector-card,
.cert-card {
  background:
    radial-gradient(520px 220px at 50% 0%, rgba(255, 255, 255, 0.66), transparent 72%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(237, 234, 255, 0.66)) !important;
  border-color: rgba(108, 58, 255, 0.145) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.7),
    inset 0 -1px 0 rgba(0, 212, 170, 0.055),
    var(--gbh-shadow-lift) !important;
}

.product-card:hover,
.acc-card:hover,
.feat-item:hover,
.marquee-card:hover,
.s-card:hover {
  border-color: rgba(108, 58, 255, 0.18) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.74),
    0 24px 66px rgba(26, 16, 37, 0.12) !important;
}

.card-img,
.acc-img-wrap,
.marquee-img,
.s-card-img,
.slider-slide,
#searchResults .s-card-img {
  background:
    radial-gradient(circle at 50% 36%, rgba(255, 255, 255, 0.96), transparent 44%),
    radial-gradient(ellipse at 50% 88%, rgba(26, 16, 37, 0.08), transparent 60%),
    linear-gradient(145deg, #F0EEFF 0%, var(--gbh-tone-well) 100%) !important;
  border-bottom-color: rgba(108, 58, 255, 0.10) !important;
}

.trending {
  background:
    radial-gradient(900px 360px at 50% 18%, rgba(255, 255, 255, 0.58), transparent 66%),
    radial-gradient(860px 460px at 84% 88%, rgba(108, 58, 255, 0.055), transparent 68%),
    linear-gradient(180deg, #EDE9FF 0%, #E0DBFF 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.54),
    inset 0 -1px 0 rgba(108, 58, 255, 0.12) !important;
}

.trending .marquee-wrap::before {
  background: linear-gradient(90deg, #EDE9FF 0%, rgba(237, 233, 255, 0)) !important;
}

.trending .marquee-wrap::after {
  background: linear-gradient(270deg, #E0DBFF 0%, rgba(224, 219, 255, 0)) !important;
}

.trending .marquee-card {
  background:
    radial-gradient(320px 160px at 50% 0%, rgba(255, 255, 255, 0.64), transparent 72%),
    linear-gradient(145deg, #F3F1FF, rgba(237, 234, 255, 0.76)) !important;
  border-color: rgba(108, 58, 255, 0.12) !important;
}

.product-detail-block,
table {
  background:
    radial-gradient(540px 220px at 86% 0%, rgba(108, 58, 255, 0.038), transparent 66%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.76), rgba(237, 234, 255, 0.64)) !important;
}

.navbar,
.dropdown,
#searchOverlay {
  border-color: rgba(108, 58, 255, 0.12) !important;
}

.navbar {
  box-shadow: 0 12px 34px rgba(26, 16, 37, 0.08) !important;
}

.dropdown,
#searchOverlay {
  box-shadow: 0 28px 82px rgba(26, 16, 37, 0.12) !important;
}

footer {
  background:
    var(--gbh-textile-dark),
    radial-gradient(860px 520px at 18% 14%, rgba(108, 58, 255, 0.115), transparent 66%),
    radial-gradient(760px 460px at 86% 100%, rgba(155, 122, 255, 0.055), transparent 68%),
    linear-gradient(180deg, #191817 0%, #0d0d0e 100%) !important;
}

/* ============================================================
  ABOUT PAGE REFINEMENT
  Fixes the empty commented hero gap and rebuilds the Global
  Recognition card as a readable premium material surface.
============================================================ */
.about-hero {
  display: none !important;
}

.about-journey,
.about-whatwedo,
.about-values,
.about-presence,
.about-cta {
  padding-top: clamp(54px, 6vw, 92px) !important;
  padding-bottom: clamp(54px, 6vw, 92px) !important;
}

.about-journey {
  padding-bottom: clamp(42px, 5vw, 72px) !important;
}

.about-whatwedo {
  padding-top: clamp(42px, 5vw, 72px) !important;
}

.journey-inner,
.whatwedo-head,
.presence-inner {
  gap: clamp(28px, 5vw, 64px) !important;
}

.journey-text p,
.whatwedo-head p,
.values-head p,
.about-cta p {
  margin-top: 0.85rem !important;
  margin-bottom: 0 !important;
  color: var(--gbh-muted) !important;
  line-height: 1.72 !important;
}

.journey-quote {
  margin: 1.25rem 0 !important;
}

.global-box {
  position: relative !important;
  overflow: hidden !important;
  padding: clamp(1.4rem, 3vw, 2rem) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(560px 260px at 88% 0%, rgba(108, 58, 255, 0.09), transparent 66%),
    radial-gradient(420px 240px at 10% 100%, rgba(0, 212, 170, 0.06), transparent 68%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.86), rgba(237, 234, 255, 0.72)) !important;
  border: 1px solid rgba(108, 58, 255, 0.14) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.68),
    0 18px 46px rgba(26, 16, 37, 0.09) !important;
}

.global-box::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: 0.34 !important;
  background:
    radial-gradient(circle at 1px 1px, rgba(108, 58, 255, 0.028) 0.65px, transparent 1.12px),
    linear-gradient(135deg, rgba(255, 255, 255, 0.28), transparent 42%) !important;
  background-size: 18px 18px, auto !important;
}

.global-box .gb-lbl {
  position: relative !important;
  z-index: 1 !important;
  color: var(--gbh-purple) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  margin-bottom: 0.8rem !important;
}

.global-box .gb-lbl::before {
  background: linear-gradient(90deg, var(--gbh-gold), var(--gbh-purple-soft)) !important;
}

.global-box p {
  position: relative !important;
  z-index: 1 !important;
  max-width: 62ch !important;
  color: var(--gbh-ink) !important;
  font-size: 0.98rem !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* ============================================================
  ACCESSIBILITY, MOTION, RESPONSIVE
============================================================ */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 1024px) {
  #navBackdrop.active {
    display: block;
  }

  .navbar {
    top: 0 !important;
    z-index: 1002 !important;
    width: 100% !important;
    border-radius: 0 !important;
  }

  .nav-menu {
    position: fixed !important;
    top: var(--nav-h) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: 100% !important;
    height: calc(100vh - var(--nav-h)) !important;
    padding: 1.5rem clamp(20px, 5vw, 40px) !important;
    overflow-y: auto !important;
    transform: translateX(100%) !important;
    transition: transform 360ms var(--gbh-ease) !important;
    border-radius: 0 !important;
    background: rgba(248, 246, 255, 0.98) !important;
    border: 1px solid rgba(108, 58, 255, 0.10) !important;
    box-shadow: 0 28px 80px rgba(26, 16, 37, 0.12) !important;
  }

  .nav-menu.open {
    transform: translateX(0) !important;
  }

  .nav-item {
    width: 100% !important;
  }

  .nav-link {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: flex-start !important;
    color: var(--gbh-ink) !important;
    border-bottom-color: rgba(108, 58, 255, 0.08) !important;
  }

  .dropdown {
    position: static !important;
    display: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0.4rem 0 0.8rem 0.8rem !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }

  .nav-item.open .dropdown {
    display: flex !important;
  }

  .dropdown::before {
    display: none !important;
  }

  .dropdown a {
    white-space: normal !important;
  }

  .nav-toggle {
    display: flex !important;
  }
}

@media (max-width: 900px) {
  .hero-inner,
  .product-panel.active,
  .features-inner {
    grid-template-columns: 1fr !important;
  }

  .hero-visual {
    order: -1;
    max-width: 420px !important;
  }

  .product-slider-wrap {
    position: relative !important;
    top: 0 !important;
  }
}

@media (max-width: 600px) {
  .hero-title {
    font-size: clamp(3rem, 16vw, 4.8rem) !important;
  }

  .section-title,
  .page-title {
    font-size: clamp(2.45rem, 14vw, 4rem) !important;
  }

  .hero-stats {
    flex-direction: column;
  }

  .hero-stat {
    width: 100%;
  }

  table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ============================================================
  RESPONSIVE CONTAINMENT OVERRIDES
============================================================ */
*,
*::before,
*::after {
  box-sizing: border-box !important;
}

html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body {
  position: relative;
}

img,
picture,
video,
canvas,
svg,
iframe {
  max-width: 100% !important;
  height: auto;
}

section,
main,
.container,
.wrapper,
.hero,
.page-hero,
.products-section,
.connectors-section,
.compatible-section,
.compliance-section,
.accessories-section,
.presence-section,
.write-section {
  max-width: 100% !important;
}

.container {
  width: 100% !important;
}

.slider-main,
.slider-track,
.product-panel,
.product-content,
.product-detail-block,
.world-map-wrap,
.map-shell,
.search-overlay-inner,
.marquee-viewport {
  max-width: 100% !important;
}

.marquee-section,
.marquee-viewport,
.slider-main {
  overflow: hidden !important;
}

table {
  max-width: 100% !important;
}

@media (max-width: 1024px) {
  .nav-menu {
    position: fixed !important;
    top: var(--nav-h, 80px) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: calc(100vh - var(--nav-h, 80px)) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: translate3d(100%, 0, 0) !important;
    z-index: 1003 !important;
    overscroll-behavior: contain;
  }

  .nav-menu.open {
    transform: translate3d(0, 0, 0) !important;
  }

  .dropdown {
    max-width: 100% !important;
  }

  .hero-inner,
  .page-hero-inner,
  .product-panel.active,
  .features-inner,
  .presence-inner,
  .write-inner {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  .product-grid,
  .acc-grid,
  .country-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .connectors-grid,
  .compatible-grid,
  .compliance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .product-card,
  .acc-card,
  .connector-card,
  .cert-card,
  .country-card,
  .reach-card {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .hero-title,
  .page-title,
  .section-title,
  .product-name {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 600px) {
  .container {
    padding-left: clamp(16px, 5vw, 24px) !important;
    padding-right: clamp(16px, 5vw, 24px) !important;
  }

  .product-grid,
  .acc-grid,
  .country-grid,
  .connectors-grid,
  .compatible-grid,
  .compliance-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-title {
    font-size: clamp(2.4rem, 13vw, 4rem) !important;
  }

  .page-title,
  .section-title,
  .product-name {
    font-size: clamp(2rem, 10vw, 3.2rem) !important;
  }

  .hero-copy,
  .page-hero-copy,
  .product-tagline {
    max-width: 100% !important;
  }
}

/* ============================================================
  MOBILE NAV DROPDOWN AND LISTING CARD REFINEMENTS
============================================================ */
@media (max-width: 1024px) {
  .nav-menu,
  .nav-menu * {
    box-sizing: border-box !important;
  }

  .nav-menu .nav-item.has-dropdown {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .nav-menu .dropdown {
    position: static !important;
    display: none !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0.5rem 0 0 !important;
    padding: 0.45rem 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    overflow: hidden !important;
    box-shadow: none !important;
  }

  .nav-menu .nav-item.has-dropdown.open > .dropdown {
    display: flex !important;
    transform: none !important;
  }

  .nav-menu .nav-item.has-dropdown:focus-within:not(.open) > .dropdown {
    display: none !important;
    transform: none !important;
  }

  .nav-menu .dropdown a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    padding: 0.72rem 1rem !important;
    transform: none !important;
  }

  .nav-menu .dropdown a:hover {
    padding-left: 1rem !important;
    transform: none !important;
  }
}

@media (max-width: 767px) {
  .product-grid,
  .acc-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.85rem !important;
  }

  .product-card,
  .acc-card {
    border-radius: 16px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .product-card .card-img {
    min-height: 0 !important;
    height: clamp(118px, 34vw, 160px) !important;
    padding: 0.55rem !important;
  }

  .product-card .features-img,
  .product-card .card-img img,
  .product-card img {
    width: 100% !important;
    max-height: 145px !important;
    object-fit: contain !important;
  }

  .product-card .card-body,
  .acc-card .acc-body {
    padding: 0.75rem !important;
  }

  .product-card .card-name,
  .acc-card .acc-name,
  .product-card h3,
  .acc-card h3 {
    font-size: clamp(0.95rem, 3.8vw, 1.15rem) !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }

  .product-card .card-desc,
  .acc-card .acc-desc {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 340px) {
  .product-grid,
  .acc-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .product-grid,
  .acc-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }
}
