/* [project]/apps/web/src/app/website.css [app-client] (css) */
.nb-website-root {
  background-color: var(--nb-color-bg, #fafaf8);
  min-height: 100vh;
  color: var(--nb-color-text, #1a1a1a);
  font-family: var(--nb-font-body, system-ui, sans-serif);
  flex-direction: column;
  display: flex;
}

.nb-website-main {
  flex: 1;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}

.nb-website-header {
  z-index: 100;
  background-color: var(--nb-color-bg, #fafaf8);
  border-bottom: 1px solid
		color-mix(in srgb, var(--nb-color-text, #1a1a1a) 10%, transparent);
  position: sticky;
  top: 0;
}

.nb-website-header-inner {
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 16px clamp(20px, 4vw, 48px);
  display: flex;
}

.nb-website-logo {
  color: var(--nb-color-text, #1a1a1a);
  font-family: var(--nb-font-heading, serif);
  align-items: center;
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  display: flex;
}

.nb-website-logo:hover {
  color: var(--nb-color-primary, #6366f1);
}

.nb-website-nav {
  align-items: center;
  gap: 32px;
  display: flex;
}

.nb-website-nav-link {
  color: var(--nb-color-text, #1a1a1a);
  padding: 4px 0;
  font-size: .875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
  position: relative;
}

.nb-website-nav-link:after {
  content: "";
  background-color: var(--nb-color-primary, #6366f1);
  transform-origin: center;
  height: 1px;
  transition: transform .2s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.nb-website-nav-link:hover {
  color: var(--nb-color-primary, #6366f1);
}

.nb-website-nav-link:hover:after {
  transform: scaleX(1);
}

.nb-website-mobile-toggle {
  cursor: pointer;
  color: var(--nb-color-text, #1a1a1a);
  background: none;
  border: none;
  padding: 8px;
  display: none;
}

.nb-website-mobile-menu {
  border-top: 1px solid
		color-mix(in srgb, var(--nb-color-text, #1a1a1a) 10%, transparent);
  background-color: var(--nb-color-bg, #fafaf8);
  padding: 16px clamp(20px, 4vw, 48px);
  display: none;
}

.nb-website-mobile-nav {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-website-mobile-link {
  color: var(--nb-color-text, #1a1a1a);
  border-bottom: 1px solid
		color-mix(in srgb, var(--nb-color-text, #1a1a1a) 5%, transparent);
  padding: 8px 0;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
}

.nb-website-mobile-link:hover {
  color: var(--nb-color-primary, #6366f1);
}

.nb-website-footer {
  border-top: 1px solid
		color-mix(in srgb, var(--nb-color-text, #1a1a1a) 10%, transparent);
  background-color: color-mix(in srgb,
		var(--nb-color-bg, #fafaf8) 95%,
		var(--nb-color-primary, #6366f1) 5%);
  padding: 48px clamp(20px, 4vw, 48px);
}

.nb-website-footer-inner {
  max-width: 1320px;
  margin: 0 auto;
}

.nb-website-footer-columns {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 32px;
  margin-bottom: 32px;
  display: grid;
}

.nb-website-footer-column {
  flex-direction: column;
  gap: 12px;
  display: flex;
}

.nb-website-footer-title {
  font-family: var(--nb-font-heading, serif);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--nb-color-text, #1a1a1a);
  margin-bottom: 4px;
  font-size: .75rem;
  font-weight: 600;
}

.nb-website-footer-links {
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nb-website-footer-link {
  color: var(--nb-color-secondary, #64748b);
  font-size: .875rem;
  text-decoration: none;
  transition: color .2s;
}

.nb-website-footer-link:hover {
  color: var(--nb-color-primary, #6366f1);
}

.nb-website-footer-bottom {
  border-top: 1px solid
		color-mix(in srgb, var(--nb-color-text, #1a1a1a) 5%, transparent);
  justify-content: center;
  align-items: center;
  padding-top: 24px;
  display: flex;
}

.nb-website-footer-copyright {
  color: var(--nb-color-secondary, #64748b);
  font-size: .75rem;
}

@media (max-width: 768px) {
  .nb-website-nav {
    display: none;
  }

  .nb-website-mobile-toggle, .nb-website-mobile-menu {
    display: block;
  }

  .nb-website-footer-columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .nb-website-footer-columns {
    grid-template-columns: 1fr;
  }
}

@media (prefers-color-scheme: dark) {
  .nb-website-header {
    background-color: var(--nb-color-bg, #111);
    border-color: color-mix(in srgb,
			var(--nb-color-text, #f5f5f5) 10%,
			transparent);
  }

  .nb-website-logo, .nb-website-nav-link, .nb-website-mobile-link {
    color: var(--nb-color-text, #f5f5f5);
  }

  .nb-website-footer {
    background-color: color-mix(in srgb,
			var(--nb-color-bg, #111) 95%,
			var(--nb-color-primary, #6366f1) 5%);
    border-color: color-mix(in srgb,
			var(--nb-color-text, #f5f5f5) 10%,
			transparent);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nb-website-root *, .nb-website-header * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }

  [data-animate] {
    opacity: 1 !important;
    transition: none !important;
    transform: none !important;
  }
}

/* [project]/apps/web/src/app/storefront.css [app-client] (css) */
:root {
  --nb-site-bg: #08080d;
  --nb-site-surface: #ffffff06;
  --nb-site-surface-hover: #ffffff0a;
  --nb-site-border: #ffffff0e;
  --nb-site-border-accent: #c9a96e2e;
  --nb-site-text: #f0ece4;
  --nb-site-text-secondary: #8a8694;
  --nb-site-text-muted: #5c5868;
  --nb-site-accent: #c9a96e;
  --nb-site-accent-rgb: 201, 169, 110;
  --nb-site-accent-soft: #c9a96e1f;
  --nb-site-radius: 28px;
  --nb-site-radius-sm: 20px;
  --nb-site-radius-xs: 14px;
  --nb-site-font-display: var(--font-playfair), "Playfair Display", Georgia, serif;
  --nb-site-font-body: var(--font-manrope), ui-sans-serif, system-ui, sans-serif;
}

.nb-site-root {
  background: radial-gradient(ellipse 80% 60% at 50% -10%,
      rgba(var(--nb-site-accent-rgb), .07) 0%,
      transparent 60%),
    radial-gradient(ellipse 50% 40% at 80% 80%,
      rgba(var(--nb-site-accent-rgb), .03) 0%,
      transparent 50%),
    var(--nb-site-bg);
  min-height: 100vh;
  color: var(--nb-site-text);
  font-family: var(--nb-site-font-body);
  overflow-x: hidden;
}

.nb-site-main {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
}

.nb-site-shell {
  flex-direction: column;
  gap: clamp(64px, 8vw, 120px);
  padding-bottom: 120px;
  display: flex;
  position: relative;
}

.nb-site-shell > * {
  z-index: 1;
  position: relative;
}

.nb-site-background-grid {
  pointer-events: none;
  z-index: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  background-size: 200px;
  position: fixed;
  inset: 0;
}

.nb-site-background-glow {
  pointer-events: none;
  z-index: 0;
  border-radius: 999px;
  position: absolute;
}

.nb-site-background-glow--top {
  background: radial-gradient(ellipse,
    rgba(var(--nb-site-accent-rgb), .1) 0%,
    transparent 70%);
  filter: blur(80px);
  width: 700px;
  height: 340px;
  top: -120px;
  left: 50%;
  transform: translateX(-50%);
}

.nb-site-background-glow--bottom {
  background: radial-gradient(ellipse,
    rgba(var(--nb-site-accent-rgb), .05) 0%,
    transparent 60%);
  filter: blur(100px);
  width: 400px;
  height: 400px;
  bottom: 20%;
  right: -80px;
}

.nb-site-header-shell {
  z-index: 70;
  padding: 20px clamp(20px, 4vw, 48px) 0;
  position: sticky;
  top: 0;
}

.nb-site-header {
  border: 1px solid var(--nb-site-border);
  -webkit-backdrop-filter: blur(32px) saturate(1.4);
  background: #08080db8;
  border-radius: 100px;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 12px 12px 12px 20px;
  display: flex;
}

.nb-site-header-brand {
  color: inherit;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  display: inline-flex;
}

.nb-site-header-brand-mark {
  width: 36px;
  height: 36px;
  color: var(--nb-site-accent);
  background: var(--nb-site-accent-soft);
  border: 1px solid var(--nb-site-border-accent);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.nb-site-header-brand-copy {
  flex-direction: column;
  gap: 0;
  display: flex;
}

.nb-site-header-brand-copy strong {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.02em;
  color: var(--nb-site-text);
  font-size: 16px;
  font-weight: 700;
}

.nb-site-header-brand-copy span {
  color: var(--nb-site-text-muted);
  letter-spacing: .04em;
  font-size: 11px;
}

.nb-site-header-nav {
  align-items: center;
  gap: 32px;
  display: flex;
}

.nb-site-header-link, .nb-site-header-login, .nb-site-header-cta {
  text-decoration: none;
  transition: color .2s, background .2s, border-color .2s, opacity .2s;
}

.nb-site-header-link {
  color: var(--nb-site-text-secondary);
  letter-spacing: .01em;
  font-size: 13px;
  font-weight: 500;
}

.nb-site-header-link:hover {
  color: var(--nb-site-text);
}

.nb-site-header-actions {
  align-items: center;
  gap: 8px;
  display: flex;
}

.nb-site-header-login, .nb-site-header-cta, .nb-site-btn-primary, .nb-site-btn-ghost, .nb-site-plugin-action {
  letter-spacing: .01em;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 22px;
  font-size: 13px;
  font-weight: 600;
  display: inline-flex;
}

.nb-site-header-login, .nb-site-btn-ghost {
  border: 1px solid var(--nb-site-border);
  color: var(--nb-site-text-secondary);
  background: none;
}

.nb-site-header-login:hover, .nb-site-btn-ghost:hover {
  background: var(--nb-site-surface-hover);
  color: var(--nb-site-text);
  border-color: #ffffff1a;
}

.nb-site-header-cta, .nb-site-btn-primary, .nb-site-plugin-action {
  border: 1px solid rgba(var(--nb-site-accent-rgb), .3);
  background: linear-gradient(135deg,
    rgba(var(--nb-site-accent-rgb), .9),
    rgba(var(--nb-site-accent-rgb), .72));
  color: #0a0a0f;
  font-weight: 700;
}

.nb-site-header-cta:hover, .nb-site-btn-primary:hover, .nb-site-plugin-action:hover {
  background: linear-gradient(135deg,
    rgba(var(--nb-site-accent-rgb), 1),
    rgba(var(--nb-site-accent-rgb), .85));
  box-shadow: 0 4px 24px rgba(var(--nb-site-accent-rgb), .25);
}

.nb-site-section {
  flex-direction: column;
  gap: clamp(24px, 3vw, 40px);
  display: flex;
}

.nb-site-section--tight {
  gap: clamp(16px, 2vw, 28px);
}

.nb-site-section-copy {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.nb-site-section-copy--center {
  text-align: center;
  align-items: center;
}

.nb-site-section-copy--center .nb-site-section-body {
  max-width: 680px;
}

.nb-site-section-copy--split {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr);
  align-items: end;
  gap: 32px;
  display: grid;
}

.nb-site-section-kicker {
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--nb-site-accent);
  margin: 0;
  font-size: 11px;
  font-weight: 700;
}

.nb-site-section-title {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.03em;
  color: var(--nb-site-text);
  margin: 0;
  font-size: clamp(32px, 4.5vw, 56px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.08;
}

.nb-site-section-body {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
}

.nb-site-section-body strong {
  color: var(--nb-site-text);
  font-weight: 600;
}

.nb-site-section-body--compact {
  max-width: 560px;
}

.nb-site-hero {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 28px;
  padding: clamp(80px, 12vw, 160px) 0 clamp(32px, 5vw, 56px);
  display: flex;
}

.nb-site-hero-chip {
  background: var(--nb-site-accent-soft);
  border: 1px solid var(--nb-site-border-accent);
  min-height: 36px;
  color: var(--nb-site-accent);
  letter-spacing: .06em;
  text-transform: uppercase;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.nb-site-hero-copy {
  flex-direction: column;
  gap: 20px;
  max-width: 960px;
  display: flex;
}

.nb-site-hero-title {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.04em;
  color: var(--nb-site-text);
  margin: 0;
  font-size: clamp(52px, 9vw, 120px);
  font-style: italic;
  font-weight: 400;
  line-height: .95;
}

.nb-site-hero-title em {
  color: var(--nb-site-accent);
  font-style: normal;
}

.nb-site-hero-body {
  max-width: 680px;
  color: var(--nb-site-text-secondary);
  margin: 0 auto;
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.8;
}

.nb-site-hero-actions, .nb-site-cta-actions {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
  display: flex;
}

.nb-site-hero-metrics {
  background: var(--nb-site-border);
  border-radius: var(--nb-site-radius);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  width: 100%;
  max-width: 900px;
  margin-top: 24px;
  display: grid;
  overflow: hidden;
}

.nb-site-hero-metric, .nb-site-performance-panel, .nb-site-performance-stat, .nb-site-performance-log, .nb-site-compliance-copy, .nb-site-latam-card, .nb-site-ecosystem-panel, .nb-site-launchpad, .nb-site-cta-panel, .nb-site-core-card, .nb-site-plugin-card {
  background: var(--nb-site-bg);
  border: none;
}

.nb-site-hero-metric {
  text-align: center;
  background: #ffffff04;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 24px;
  display: flex;
}

.nb-site-hero-metric-icon, .nb-site-core-orbit-icon, .nb-site-plugin-icon, .nb-site-launchpad-icon {
  width: 40px;
  height: 40px;
  color: var(--nb-site-accent);
  background: var(--nb-site-accent-soft);
  border: 1px solid var(--nb-site-border-accent);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-site-hero-metric-value {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.02em;
  color: var(--nb-site-text);
  font-size: 32px;
  font-weight: 400;
}

.nb-site-hero-metric-label {
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--nb-site-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.nb-site-hero-metric-hint {
  color: var(--nb-site-text-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.nb-site-core-grid {
  background: var(--nb-site-border);
  border-radius: var(--nb-site-radius);
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  display: grid;
  overflow: hidden;
}

.nb-site-core-feature {
  background: #ffffff04;
  flex-direction: column;
  gap: 16px;
  padding: 36px 28px;
  transition: background .3s;
  display: flex;
}

.nb-site-core-feature:hover {
  background: var(--nb-site-surface-hover);
}

.nb-site-core-feature-icon {
  width: 44px;
  height: 44px;
  color: var(--nb-site-accent);
  background: var(--nb-site-accent-soft);
  border: 1px solid var(--nb-site-border-accent);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-site-core-feature h3 {
  font-family: var(--nb-site-font-display);
  color: var(--nb-site-text);
  margin: 0;
  font-size: 22px;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
}

.nb-site-core-feature p {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
}

.nb-site-core-feature-tag {
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--nb-site-text-muted);
  margin-top: auto;
  font-size: 11px;
  font-weight: 700;
}

.nb-site-core-stage {
  display: none;
}

.nb-site-performance-grid, .nb-site-compliance-grid {
  background: var(--nb-site-border);
  border-radius: var(--nb-site-radius);
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 1px;
  display: grid;
  overflow: hidden;
}

.nb-site-performance-panel, .nb-site-ecosystem-panel, .nb-site-compliance-copy, .nb-site-latam-card, .nb-site-cta-panel {
  background: #ffffff04;
  padding: clamp(28px, 3vw, 44px);
}

.nb-site-panel-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 28px;
  display: flex;
}

.nb-site-performance-badge, .nb-site-latam-head, .nb-site-core-card-badge, .nb-site-core-card-footer, .nb-site-performance-log-head {
  color: var(--nb-site-accent);
  letter-spacing: .02em;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
}

.nb-site-performance-terminal {
  border-radius: var(--nb-site-radius-sm);
  border: 1px solid var(--nb-site-border);
  background: #0000004d;
  overflow: hidden;
}

.nb-site-performance-toolbar {
  border-bottom: 1px solid var(--nb-site-border);
  align-items: center;
  gap: 8px;
  padding: 14px 18px;
  display: flex;
}

.nb-site-performance-toolbar span {
  background: #ffffff1a;
  border-radius: 999px;
  width: 10px;
  height: 10px;
}

.nb-site-performance-chart {
  padding: 24px;
}

.nb-site-performance-svg {
  width: 100%;
  height: auto;
}

.nb-site-performance-limit {
  stroke: rgba(var(--nb-site-accent-rgb), .4);
  stroke-width: 1.5px;
  stroke-dasharray: 6 8;
}

.nb-site-performance-line {
  stroke: var(--nb-site-accent);
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .85;
}

.nb-site-performance-dot {
  fill: var(--nb-site-accent);
}

.nb-site-performance-caption {
  color: var(--nb-site-text-muted);
  letter-spacing: .02em;
  margin-top: 12px;
  font-size: 12px;
}

.nb-site-performance-stack {
  background: var(--nb-site-border);
  border-radius: var(--nb-site-radius-sm);
  flex-direction: column;
  gap: 1px;
  display: flex;
  overflow: hidden;
}

.nb-site-performance-stat, .nb-site-performance-log {
  background: #ffffff04;
  padding: 24px;
}

.nb-site-performance-stat {
  align-items: flex-start;
  gap: 14px;
  display: flex;
}

.nb-site-performance-stat-value {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.02em;
  color: var(--nb-site-text);
  margin-bottom: 6px;
  font-size: 22px;
  font-weight: 400;
}

.nb-site-performance-stat p {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.nb-site-performance-log ul {
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nb-site-performance-log li {
  color: var(--nb-site-text-secondary);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  display: flex;
}

.nb-site-performance-log strong {
  font-family: var(--nb-site-font-display);
  color: var(--nb-site-text);
  font-weight: 400;
}

.nb-site-compliance-copy, .nb-site-compliance-points {
  flex-direction: column;
  display: flex;
}

.nb-site-compliance-points {
  gap: 12px;
  margin-top: 28px;
}

.nb-site-compliance-points article {
  border-radius: var(--nb-site-radius-xs);
  border: 1px solid var(--nb-site-border);
  background: none;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 20px;
  transition: background .2s;
  display: flex;
}

.nb-site-compliance-points article:hover {
  background: var(--nb-site-surface);
}

.nb-site-compliance-points strong {
  color: var(--nb-site-text);
  margin-bottom: 4px;
  font-size: 14px;
  display: block;
}

.nb-site-compliance-points p {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.nb-site-latam-card {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.nb-site-latam-map {
  border-radius: var(--nb-site-radius-sm);
  border: 1px solid var(--nb-site-border);
  background: radial-gradient(ellipse at 50% 30%,
      rgba(var(--nb-site-accent-rgb), .04) 0%,
      transparent 60%),
    #00000026;
  min-height: 480px;
  position: relative;
  overflow: hidden;
}

.nb-site-latam-map svg {
  width: 100%;
  height: 100%;
}

.nb-site-latam-dot {
  fill: rgba(var(--nb-site-accent-rgb), .2);
}

.nb-site-latam-pill {
  border-radius: var(--nb-site-radius-xs);
  border: 1px solid var(--nb-site-border);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #08080de0;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  display: inline-flex;
  position: absolute;
}

.nb-site-latam-pill strong {
  color: var(--nb-site-text);
  font-size: 12px;
}

.nb-site-latam-pill span {
  color: var(--nb-site-text-secondary);
  font-size: 11px;
}

.nb-site-latam-pill--success {
  border-color: rgba(var(--nb-site-accent-rgb), .3);
}

.nb-site-latam-pill--brand {
  border-color: var(--nb-site-border);
}

.nb-site-plugin-list {
  background: var(--nb-site-border);
  border-radius: var(--nb-site-radius);
  flex-direction: column;
  gap: 1px;
  display: flex;
  overflow: hidden;
}

.nb-site-plugin-card {
  background: #ffffff04;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 24px 28px;
  transition: background .2s;
  display: grid;
}

.nb-site-plugin-card:hover {
  background: var(--nb-site-surface-hover);
}

.nb-site-plugin-icon {
  width: 40px;
  height: 40px;
}

.nb-site-plugin-copy h3 {
  font-family: var(--nb-site-font-display);
  color: var(--nb-site-text);
  margin: 0 0 4px;
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
}

.nb-site-plugin-copy p {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
}

.nb-site-plugin-action {
  border-radius: 100px;
  min-height: 38px;
  padding: 0 18px;
  font-size: 12px;
}

.nb-site-launchpad {
  border-radius: var(--nb-site-radius);
  border: 1px solid var(--nb-site-border);
  background: #ffffff04;
  flex-direction: column;
  display: flex;
  overflow: hidden;
}

.nb-site-launchpad-row {
  border: none;
  border-bottom: 1px solid var(--nb-site-border);
  color: inherit;
  cursor: pointer;
  text-align: left;
  background: none;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  transition: background .2s;
  display: flex;
}

.nb-site-launchpad-row:hover {
  background: var(--nb-site-surface);
}

.nb-site-launchpad-row:last-child {
  border-bottom: none;
}

.nb-site-launchpad-row.is-disabled {
  opacity: .35;
}

.nb-site-launchpad-row-main {
  align-items: center;
  gap: 16px;
  display: flex;
}

.nb-site-launchpad-copy h3 {
  font-family: var(--nb-site-font-display);
  color: var(--nb-site-text);
  margin: 0 0 4px;
  font-size: 17px;
  font-style: italic;
  font-weight: 400;
}

.nb-site-launchpad-copy p {
  color: var(--nb-site-text-secondary);
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
}

.nb-site-launchpad-switch {
  border: 1px solid var(--nb-site-border);
  background: #ffffff0f;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: flex-start;
  width: 48px;
  height: 28px;
  padding: 3px;
  transition: background .2s, border-color .2s;
  display: flex;
}

.nb-site-launchpad-switch.is-on {
  background: rgba(var(--nb-site-accent-rgb), .25);
  border-color: rgba(var(--nb-site-accent-rgb), .35);
  justify-content: flex-end;
}

.nb-site-launchpad-switch-knob {
  background: var(--nb-site-text);
  border-radius: 999px;
  width: 20px;
  height: 20px;
  transition: background .2s;
}

.nb-site-launchpad-switch.is-on .nb-site-launchpad-switch-knob {
  background: var(--nb-site-accent);
}

.nb-site-cta-panel {
  border-radius: var(--nb-site-radius);
  border: 1px solid var(--nb-site-border);
  background: radial-gradient(ellipse at 80% 50%,
      rgba(var(--nb-site-accent-rgb), .06) 0%,
      transparent 50%),
    #ffffff04;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  padding: clamp(36px, 4vw, 56px) clamp(28px, 3vw, 44px);
  display: flex;
}

.nb-site-footer {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px) 64px;
}

.nb-site-footer-grid {
  border-top: 1px solid var(--nb-site-border);
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, .8fr));
  gap: 48px;
  padding: 40px 0;
  display: grid;
}

.nb-site-footer-brand {
  font-family: var(--nb-site-font-display);
  letter-spacing: -.02em;
  color: var(--nb-site-text);
  margin-bottom: 12px;
  font-size: 24px;
  font-style: italic;
  font-weight: 400;
}

.nb-site-footer p {
  color: var(--nb-site-text-muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
}

.nb-site-footer h3 {
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--nb-site-text-secondary);
  margin: 0 0 16px;
  font-size: 11px;
  font-weight: 700;
}

.nb-site-footer-links {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.nb-site-footer-links a, .nb-site-footer-copy a {
  color: var(--nb-site-text-muted);
  font-size: 14px;
  text-decoration: none;
  transition: color .2s;
}

.nb-site-footer-links a:hover, .nb-site-footer-copy a:hover {
  color: var(--nb-site-text);
}

.nb-site-footer-copy {
  border-top: 1px solid var(--nb-site-border);
  color: var(--nb-site-text-muted);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 20px 0 0;
  font-size: 13px;
  display: flex;
}

.nb-site-footer-copy a {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

@keyframes nb-site-pulse {
  0%, 100% {
    opacity: .6;
    transform: scale(.92);
  }

  50% {
    opacity: 1;
    transform: scale(1.06);
  }
}

@keyframes nb-site-fade-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.nb-site-shell > section {
  animation: .7s ease-out both nb-site-fade-up;
}

.nb-site-shell > section:nth-child(2) {
  animation-delay: 50ms;
}

.nb-site-shell > section:nth-child(3) {
  animation-delay: .1s;
}

.nb-site-shell > section:nth-child(4) {
  animation-delay: .15s;
}

.nb-site-shell > section:nth-child(5) {
  animation-delay: .2s;
}

.nb-site-shell > section:nth-child(6) {
  animation-delay: .25s;
}

.nb-site-shell > section:nth-child(7) {
  animation-delay: .3s;
}

@media (max-width: 1120px) {
  .nb-site-hero-metrics, .nb-site-performance-grid, .nb-site-compliance-grid, .nb-site-section-copy--split, .nb-site-cta-panel, .nb-site-footer-grid, .nb-site-core-grid {
    grid-template-columns: 1fr;
  }

  .nb-site-cta-panel {
    flex-direction: column;
    align-items: flex-start;
  }

  .nb-site-plugin-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .nb-site-plugin-action {
    grid-column: 2;
    justify-self: flex-start;
  }
}

@media (max-width: 900px) {
  .nb-site-header-nav {
    display: none;
  }
}

@media (max-width: 720px) {
  .nb-site-main, .nb-site-header-shell, .nb-site-footer {
    padding-left: 16px;
    padding-right: 16px;
  }

  .nb-site-header {
    padding: 10px 10px 10px 16px;
  }

  .nb-site-header-actions {
    gap: 6px;
  }

  .nb-site-hero {
    padding-top: 64px;
  }

  .nb-site-hero-title {
    font-size: clamp(40px, 14vw, 64px);
  }

  .nb-site-hero-body {
    font-size: 16px;
  }

  .nb-site-hero-metrics {
    gap: 1px;
  }

  .nb-site-hero-metric, .nb-site-performance-panel, .nb-site-compliance-copy, .nb-site-latam-card, .nb-site-ecosystem-panel, .nb-site-cta-panel {
    padding: 24px 20px;
  }

  .nb-site-latam-map {
    min-height: 400px;
  }

  .nb-site-launchpad-row, .nb-site-plugin-card {
    padding: 16px 18px;
  }

  .nb-site-plugin-card {
    grid-template-columns: 1fr;
  }

  .nb-site-plugin-action {
    grid-column: auto;
  }

  .nb-site-footer-grid {
    gap: 32px;
    padding: 32px 0;
  }

  .nb-site-footer-copy {
    flex-direction: column;
    align-items: flex-start;
  }
}

:root {
  --store-primary: #6366f1;
  --store-primary-rgb: 99, 102, 241;
  --store-bg: #fafafa;
  --store-surface: #fff;
  --store-border: #00000014;
  --store-text: #111827;
  --store-muted: #6b7280;
  --store-dark: #111827;
  --font-display: var(--font-playfair), "Playfair Display", Georgia, serif;
  --font-body: var(--font-manrope), ui-sans-serif, system-ui, sans-serif;
}

.nb-store-announcement {
  background: var(--store-dark);
  color: #fff;
  text-align: center;
  letter-spacing: .02em;
  z-index: 60;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  position: relative;
}

.nb-store-announcement-dismiss {
  color: #ffffff80;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .15s, background .15s;
  display: flex;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.nb-store-announcement-dismiss:hover {
  color: #fff;
  background: #ffffff1f;
}

.nb-store-root {
  background: var(--store-bg);
  min-height: 100vh;
  color: var(--store-text);
  font-family: var(--font-body);
  letter-spacing: .01em;
  flex-direction: column;
  font-size: 16px;
  line-height: 1.6;
  display: flex;
}

.nb-store-header {
  z-index: 50;
  border-bottom: 1px solid var(--store-border);
  -webkit-backdrop-filter: blur(20px);
  background: #ffffffe0;
  width: 100%;
  transition: box-shadow .2s;
  position: sticky;
  top: 0;
}

.nb-store-header.scrolled {
  box-shadow: 0 2px 20px #00000014;
}

.nb-store-header-inner {
  align-items: center;
  gap: 24px;
  max-width: 1200px;
  height: 68px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
}

.nb-store-logo {
  flex-shrink: 0;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  display: flex;
}

.nb-store-logo-mark {
  color: #fff;
  background: var(--store-primary);
  width: 40px;
  height: 40px;
  box-shadow: 0 4px 14px rgba(var(--store-primary-rgb), .35);
  border-radius: 13px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: transform .2s cubic-bezier(.34, 1.56, .64, 1);
  display: flex;
}

.nb-store-logo:hover .nb-store-logo-mark {
  transform: scale(1.08)rotate(-3deg);
}

.nb-store-logo-name {
  color: var(--store-text);
  font-family: var(--font-display) !important;
  letter-spacing: -.02em !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.nb-store-logo-name em {
  color: var(--store-primary);
  font-style: italic;
}

.nb-store-nav {
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 32px;
  display: flex;
}

@media (max-width: 768px) {
  .nb-store-nav {
    display: none;
  }
}

.nb-store-nav-link {
  color: var(--store-muted);
  padding-bottom: 2px;
  text-decoration: none;
  transition: color .15s;
  position: relative;
  letter-spacing: .01em !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

.nb-store-nav-link:after {
  content: "";
  background: var(--store-primary);
  height: 1.5px;
  transition: transform .2s;
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  transform: scaleX(0);
}

.nb-store-nav-link:hover:after {
  transform: scaleX(1);
}

.nb-store-header-actions {
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  display: flex;
}

.nb-store-icon-btn {
  cursor: pointer;
  width: 40px;
  height: 40px;
  color: var(--store-muted);
  background: none;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: background .15s, color .15s;
  display: flex;
}

.nb-store-icon-btn:hover {
  color: var(--store-text);
  background: #0000000f;
}

.nb-store-cart-btn {
  background: var(--store-dark);
  cursor: pointer;
  color: #fff;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  transition: transform .15s, opacity .15s;
  display: flex;
  position: relative;
}

.nb-store-cart-btn:hover {
  opacity: .9;
  transform: scale(1.06);
}

.nb-store-cart-badge {
  background: var(--store-primary);
  color: #fff;
  border: 2px solid #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 17px;
  height: 17px;
  padding: 0 3px;
  font-size: 9px;
  font-weight: 700;
  display: flex;
  position: absolute;
  top: -3px;
  right: -3px;
}

.nb-mega-menu {
  z-index: 100;
  background: #fff;
  border-bottom: 1px solid #0000000f;
  padding: 36px 0 40px;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  box-shadow: 0 24px 48px #0000001a;
}

.nb-mega-menu-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
}

.nb-mega-menu-title {
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #9ca3af;
  margin-bottom: 16px;
  font-size: 11px;
  font-weight: 800;
}

.nb-mega-menu-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nb-mega-menu-link {
  color: #374151;
  padding: 5px 0;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  transition: color .15s, padding-left .15s;
  display: block;
}

.nb-mega-menu-link:hover {
  color: var(--store-primary);
  padding-left: 4px;
}

.nb-store-main {
  flex: 1;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px clamp(12px, 2.5vw, 48px) 80px;
}

.nb-store-main:has(.nb-store-product-detail) {
  max-width: 100%;
  padding: 25px clamp(12px, 2.5vw, 48px) 75px;
}

.nb-store-main--checkout {
  padding-top: 20px;
}

@media (max-width: 768px) {
  .nb-store-main--checkout {
    padding-top: 14px;
  }
}

.nb-store-hero {
  color: #fff;
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 60%, #0f172a 100%);
  border-radius: 28px;
  align-items: center;
  min-height: 480px;
  margin-bottom: 80px;
  padding: clamp(48px, 8vw, 88px) clamp(28px, 5vw, 64px);
  display: flex;
  position: relative;
  overflow: hidden;
}

@media (max-width: 640px) {
  .nb-store-hero {
    border-radius: 20px;
    min-height: 360px;
    padding: 40px 24px;
  }
}

.nb-store-hero-badge {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffff1a;
  border: 1px solid #ffffff26;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding: 7px 18px;
  display: inline-flex;
  letter-spacing: .03em !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.nb-store-hero-title {
  max-width: 660px;
  margin: 0 0 16px;
  font-family: var(--font-display) !important;
  letter-spacing: -.03em !important;
  font-size: clamp(36px, 5.5vw, 68px) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
}

.nb-store-hero-title em {
  color: #818cf8;
  font-style: italic;
}

.nb-store-hero-sub {
  color: #ffffff8c;
  max-width: 500px;
  margin: 0 0 36px;
  letter-spacing: .005em !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
}

.nb-store-hero-actions {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.nb-store-hero-glow-1 {
  background: var(--store-primary);
  opacity: .14;
  filter: blur(90px);
  pointer-events: none;
  border-radius: 50%;
  width: 420px;
  height: 420px;
  position: absolute;
  top: -80px;
  right: -80px;
}

.nb-store-hero-glow-2 {
  opacity: .07;
  filter: blur(80px);
  pointer-events: none;
  background: #3b82f6;
  border-radius: 50%;
  width: 280px;
  height: 280px;
  position: absolute;
  bottom: -60px;
  left: 60px;
}

.nb-store-hero-grid {
  pointer-events: none;
  background-image: linear-gradient(#ffffff08 1px, #0000 1px), linear-gradient(90deg, #ffffff08 1px, #0000 1px);
  background-size: 48px 48px;
  position: absolute;
  inset: 0;
}

.nb-store-hero-visual {
  opacity: .3;
  pointer-events: none;
  border-radius: 24px;
  width: 420px;
  height: 380px;
  position: absolute;
  top: 50%;
  right: -20px;
  overflow: hidden;
  transform: translateY(-50%);
}

@media (max-width: 1024px) {
  .nb-store-hero-visual {
    display: none;
  }
}

.nb-store-btn-primary {
  color: #fff;
  background: var(--store-primary);
  cursor: pointer;
  height: 54px;
  box-shadow: 0 4px 18px rgba(var(--store-primary-rgb), .4);
  border: none;
  border-radius: 16px;
  align-items: center;
  gap: 8px;
  padding: 0 30px;
  text-decoration: none;
  transition: opacity .15s, transform .15s, box-shadow .15s;
  display: inline-flex;
  letter-spacing: .01em !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.nb-store-btn-primary:hover {
  opacity: .9;
  box-shadow: 0 8px 24px rgba(var(--store-primary-rgb), .45);
  transform: translateY(-2px);
}

.nb-store-btn-primary:active {
  transform: scale(.97);
}

.nb-store-btn-ghost {
  color: #fffc;
  cursor: pointer;
  background: none;
  border: 1.5px solid #ffffff38;
  border-radius: 16px;
  align-items: center;
  gap: 8px;
  height: 54px;
  padding: 0 28px;
  text-decoration: none;
  transition: background .15s, border-color .15s;
  display: inline-flex;
  font-size: 16px !important;
  font-weight: 600 !important;
}

.nb-store-btn-ghost:hover {
  background: #ffffff1a;
  border-color: #ffffff59;
}

.nb-store-section {
  margin-bottom: 80px;
}

.nb-store-section-header {
  text-align: center;
  margin-bottom: 40px;
}

.nb-store-section-eyebrow {
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--store-primary);
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 800;
}

.nb-store-section-title {
  font-family: var(--font-display) !important;
  letter-spacing: -.02em !important;
  color: var(--store-text) !important;
  margin: 0 0 8px !important;
  font-size: clamp(26px, 3vw, 38px) !important;
  font-weight: 700 !important;
}

.nb-store-section-sub {
  color: var(--store-muted);
  margin: 0;
  font-size: 15px;
}

.nb-store-section-row {
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 28px;
  display: flex;
}

.nb-store-see-all {
  color: var(--store-primary);
  white-space: nowrap;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: gap .15s;
  display: flex;
}

.nb-store-see-all:hover {
  opacity: .8;
  gap: 8px;
}

.nb-store-categories {
  grid-template-rows: repeat(2, 200px);
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  display: grid;
}

@media (max-width: 900px) {
  .nb-store-categories {
    grid-template-rows: auto;
    grid-template-columns: repeat(2, 1fr);
  }

  .nb-store-cat-wide {
    grid-column: span 2;
  }
}

@media (max-width: 480px) {
  .nb-store-categories {
    grid-template-columns: 1fr;
  }

  .nb-store-cat-wide {
    grid-column: span 1;
  }
}

.nb-store-cat-card {
  cursor: pointer;
  border: 1px solid #0000000f;
  border-radius: 22px;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  text-decoration: none;
  transition: transform .22s cubic-bezier(.22, 1, .36, 1), box-shadow .22s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nb-store-cat-card:hover {
  transform: scale(.98)translateY(-2px);
  box-shadow: 0 12px 32px #0000001f;
}

.nb-store-cat-wide {
  grid-area: span 2 / span 2;
}

.nb-store-cat-span2 {
  grid-column: span 2;
}

.nb-store-cat-icon {
  transition: transform .22s cubic-bezier(.34, 1.56, .64, 1);
  position: absolute;
  top: 20px;
  right: 20px;
}

.nb-store-cat-card:hover .nb-store-cat-icon {
  transform: scale(1.15)rotate(8deg);
}

.nb-store-cat-title {
  color: inherit;
  margin: 0 0 4px;
  font-family: var(--font-display) !important;
  letter-spacing: -.01em !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.nb-store-cat-count {
  opacity: .55;
  margin: 0;
  letter-spacing: .01em !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

.nb-store-products-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 300px));
  justify-content: center;
  gap: 12px;
  display: grid;
}

@media (max-width: 1100px) {
  .nb-store-products-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 300px));
  }
}

@media (max-width: 768px) {
  .nb-store-products-grid {
    grid-template-columns: repeat(auto-fill, minmax(160px, 300px));
    gap: 16px;
  }
}

@media (max-width: 480px) {
  .nb-store-products-grid {
    grid-template-columns: 1fr;
  }
}

.nb-store-product-card {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  cursor: pointer;
  color: inherit;
  border-radius: 20px;
  flex-direction: column;
  max-width: 300px;
  text-decoration: none;
  transition: transform .22s cubic-bezier(.22, 1, .36, 1), box-shadow .22s;
  display: flex;
  overflow: hidden;
}

.nb-store-product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px #0000001a;
}

.nb-store-product-img {
  aspect-ratio: 1;
  background: #f3f4f6;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nb-store-product-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .4s;
}

.nb-store-product-card:hover .nb-store-product-img img {
  transform: scale(1.06);
}

.nb-store-product-heart {
  cursor: pointer;
  opacity: 0;
  color: #6b7280;
  background: #fff;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: opacity .15s, transform .15s;
  display: flex;
  position: absolute;
  top: 10px;
  right: 10px;
  box-shadow: 0 2px 10px #00000024;
}

.nb-store-product-card:hover .nb-store-product-heart {
  opacity: 1;
}

.nb-store-product-heart:hover {
  color: #ef4444;
  transform: scale(1.1);
}

.nb-store-product-info {
  flex-direction: column;
  flex: 1;
  gap: 6px;
  padding: 16px;
  display: flex;
}

.nb-store-product-name {
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0;
  display: -webkit-box;
  overflow: hidden;
  color: var(--store-text) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.nb-store-product-cat {
  margin: 0;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--store-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.nb-store-product-footer {
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  padding-top: 10px;
  display: flex;
}

.nb-store-product-price {
  color: var(--store-text);
  font-family: var(--font-display) !important;
  letter-spacing: -.01em !important;
  font-size: 20px !important;
  font-weight: 700 !important;
}

.nb-store-product-add {
  background: var(--store-dark);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: opacity .15s, transform .15s, background .15s;
  display: flex;
}

.nb-store-product-add:hover {
  background: var(--store-primary);
  transform: scale(1.06);
}

.nb-store-product-add:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.nb-store-skeleton {
  background: linear-gradient(90deg, #f3f4f6 25%, #e9eaec 50%, #f3f4f6 75%) 0 0 / 200% 100%;
  border-radius: 12px;
  animation: 1.5s infinite nb-shimmer;
}

@keyframes nb-shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.nb-store-trust {
  border-top: 1px solid var(--store-border);
  border-bottom: 1px solid var(--store-border);
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 80px;
  padding: 48px 0;
  display: grid;
}

@media (max-width: 640px) {
  .nb-store-trust {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.nb-store-trust-item {
  align-items: flex-start;
  gap: 16px;
  display: flex;
}

.nb-store-trust-icon {
  border-radius: 18px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  display: flex;
}

.nb-store-trust-title {
  color: var(--store-text);
  margin: 0 0 4px;
  letter-spacing: .005em !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

.nb-store-trust-desc {
  color: var(--store-muted);
  margin: 0;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.nb-store-testimonials {
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  display: grid;
}

@media (max-width: 900px) {
  .nb-store-testimonials {
    grid-template-columns: 1fr;
  }
}

.nb-store-testimonial-card {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 20px;
  padding: 24px;
  position: relative;
}

.nb-store-testimonial-quote {
  color: var(--store-text);
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.65;
}

.nb-store-testimonial-author {
  align-items: center;
  gap: 10px;
  display: flex;
}

.nb-store-testimonial-avatar {
  background: var(--store-primary);
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.nb-store-testimonial-name {
  color: var(--store-text);
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

.nb-store-testimonial-location {
  color: var(--store-muted);
  margin: 0;
  font-size: 12px;
}

.nb-store-newsletter {
  background: var(--store-dark);
  text-align: center;
  color: #fff;
  border-radius: 24px;
  margin-bottom: 80px;
  padding: 56px 48px;
  position: relative;
  overflow: hidden;
}

.nb-store-newsletter-glow {
  background: radial-gradient(ellipse at 50% 0%,
    rgba(var(--store-primary-rgb), .2) 0%,
    transparent 60%);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.nb-store-newsletter-title {
  letter-spacing: -.02em;
  margin: 0 0 10px;
  font-size: clamp(24px, 3.5vw, 38px);
  font-weight: 700;
  font-family: var(--font-display) !important;
}

.nb-store-newsletter-sub {
  color: #ffffff8c;
  margin: 0 0 32px;
  font-size: 15px;
}

.nb-store-newsletter-form {
  z-index: 1;
  gap: 10px;
  max-width: 480px;
  margin: 0 auto;
  display: flex;
  position: relative;
}

.nb-store-newsletter-input {
  color: #fff;
  height: 52px;
  font-size: 15px;
  font-family: var(--font-body);
  background: #ffffff12;
  border: 1.5px solid #ffffff2e;
  border-radius: 16px;
  outline: none;
  flex: 1;
  padding: 0 20px;
  transition: border-color .15s, background .15s;
}

.nb-store-newsletter-input:focus {
  background: #ffffff1a;
  border-color: #ffffff61;
}

.nb-store-newsletter-input::placeholder {
  color: #ffffff4d;
}

.nb-store-newsletter-btn {
  background: var(--store-primary);
  color: #fff;
  cursor: pointer;
  white-space: nowrap;
  height: 52px;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-body);
  box-shadow: 0 4px 16px rgba(var(--store-primary-rgb), .4);
  border: none;
  border-radius: 16px;
  padding: 0 28px;
  transition: opacity .15s, transform .15s;
}

.nb-store-newsletter-btn:hover {
  opacity: .88;
  transform: translateY(-1px);
}

.nb-module-template {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.nb-module-template-header {
  border: 1px solid var(--nb-panel-border);
  background: var(--nb-panel-bg);
  border-radius: 16px;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  display: flex;
}

.nb-module-template-header-left {
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.nb-module-template-header-icon {
  background: var(--nb-panel-soft-bg);
  border: 1px solid var(--nb-panel-border);
  width: 32px;
  height: 32px;
  color: var(--nb-kpi-eyebrow);
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-module-template-title {
  color: var(--nb-kpi-legacy-value);
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.nb-module-template-subtitle {
  color: var(--nb-kpi-eyebrow);
  margin: 3px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

.nb-module-template-actions {
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.nb-module-template-metrics {
  flex-wrap: nowrap;
  gap: 12px;
  display: flex;
}

.nb-module-template-metric {
  border: 1px solid var(--nb-panel-border);
  background: var(--nb-panel-bg);
  border-radius: 14px;
  flex: 1 1 0;
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 16px 18px;
  display: flex;
}

.nb-module-template-metric-icon {
  --nb-module-metric-accent: #3b82f6;
  width: 40px;
  height: 40px;
  color: var(--nb-module-metric-accent);
  background: color-mix(in srgb,
    var(--nb-module-metric-accent) 14%,
    transparent);
  border: 1px solid
    color-mix(in srgb, var(--nb-module-metric-accent) 25%, transparent);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-module-template-metric-copy {
  min-width: 0;
}

.nb-module-template-metric-value {
  letter-spacing: -.03em;
  color: var(--nb-kpi-legacy-value);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.nb-module-template-metric-label {
  color: var(--nb-kpi-eyebrow);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-top: 4px;
  font-size: 11px;
  font-weight: 600;
}

.nb-module-template-metric-hint {
  color: var(--nb-kpi-sub);
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.4;
}

.nb-module-template-metric-trend {
  vertical-align: middle;
  align-items: center;
  gap: 2px;
  margin-left: 8px;
  font-size: 14px;
  font-weight: 600;
  display: inline-flex;
}

.nb-module-template-body {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-module-template-surface {
  border: 1px solid var(--nb-panel-border);
  background: var(--nb-panel-bg);
  border-radius: 16px;
  overflow: hidden;
}

.nb-module-template-surface-head {
  border-bottom: 1px solid var(--nb-panel-border);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 24px;
  display: flex;
}

.nb-module-template-surface-head-left {
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  display: flex;
}

.nb-module-template-surface-icon {
  background: var(--nb-panel-soft-bg);
  border: 1px solid var(--nb-panel-border);
  width: 28px;
  height: 28px;
  color: var(--nb-kpi-eyebrow);
  border-radius: 8px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-module-template-surface-title {
  color: var(--nb-kpi-legacy-value);
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
}

.nb-module-template-surface-subtitle {
  color: var(--nb-kpi-eyebrow);
  margin: 3px 0 0;
  font-size: 13px;
  line-height: 1.5;
}

.nb-module-template-surface-toolbar {
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.nb-module-template-surface-body {
  padding: 20px 24px;
}

.nb-module-template-divider {
  align-items: center;
  gap: 10px;
  margin: 6px 0;
  display: flex;
}

.nb-module-template-divider-line {
  background: var(--nb-panel-border);
  flex: 1;
  height: 1px;
}

.nb-module-template-divider-label {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nb-kpi-eyebrow);
  font-size: 10px;
  font-weight: 700;
}

.nb-module-template-empty {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 40px 24px;
  display: flex;
}

.nb-module-template-empty-icon {
  border: 1px solid var(--nb-panel-border);
  background: var(--nb-panel-soft-bg);
  width: 48px;
  height: 48px;
  color: var(--nb-kpi-eyebrow);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-module-template-empty-message {
  color: var(--nb-kpi-eyebrow);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 1100px) {
  .nb-module-template-metrics {
    flex-wrap: wrap;
  }

  .nb-module-template-metric {
    flex: 0 0 calc(50% - 6px);
  }
}

@media (max-width: 640px) {
  .nb-module-template-header, .nb-module-template-surface-head, .nb-module-template-surface-body {
    padding: 16px 18px;
  }

  .nb-module-template-metrics {
    flex-direction: column;
  }

  .nb-module-template-metric {
    flex: auto;
  }
}

.nb-store-catalog-hero {
  color: #fff;
  background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
  border-radius: 24px;
  margin-bottom: 48px;
  padding: clamp(44px, 6vw, 64px) clamp(28px, 5vw, 56px);
  position: relative;
  overflow: hidden;
}

@media (max-width: 640px) {
  .nb-store-catalog-hero {
    border-radius: 18px;
    padding: 36px 24px;
  }
}

.nb-store-catalog-eyebrow {
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff6;
  margin: 0 0 14px;
  font-size: 11px;
  font-weight: 800;
}

.nb-store-catalog-title {
  letter-spacing: -.03em;
  color: #fff;
  margin: 0 0 12px;
  font-size: clamp(30px, 4.5vw, 54px);
  font-weight: 700;
  line-height: 1.1;
  font-family: var(--font-display) !important;
}

.nb-store-catalog-title em {
  color: #818cf8;
  font-style: italic;
}

.nb-store-catalog-sub {
  color: #ffffff73;
  margin: 0;
  font-size: 15px;
}

.nb-store-search-input {
  width: 100%;
  height: 50px;
  font-size: 15px;
  font-family: var(--font-body);
  color: var(--store-text);
  background: #fff;
  border: 1.5px solid #0000001a;
  border-radius: 14px;
  outline: none;
  padding: 0 40px 0 46px;
  transition: border-color .15s, box-shadow .15s;
}

.nb-store-search-input:focus {
  border-color: var(--store-primary);
  box-shadow: 0 0 0 3.5px rgba(var(--store-primary-rgb), .12);
}

.nb-store-search-input::placeholder {
  color: #9ca3af;
}

.nb-store-filter-btn {
  cursor: pointer;
  white-space: nowrap;
  height: 50px;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  border: 1.5px solid #0000001a;
  border-radius: 14px;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  transition: background .15s, color .15s, border-color .15s;
  display: inline-flex;
}

.nb-store-cat-chips {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.nb-store-cat-chip {
  cursor: pointer;
  white-space: nowrap;
  height: 38px;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-body);
  letter-spacing: .01em;
  border: 1.5px solid #0000001a;
  border-radius: 999px;
  align-items: center;
  padding: 0 18px;
  transition: background .15s, color .15s, border-color .15s;
  display: inline-flex;
}

.nb-store-cat-chip:hover {
  border-color: #00000038;
}

.nb-store-sort-select {
  height: 40px;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-body);
  color: var(--store-text);
  cursor: pointer;
  background: #fff;
  border: 1.5px solid #0000001a;
  border-radius: 12px;
  outline: none;
  padding: 0 14px;
  transition: border-color .15s;
}

.nb-store-sort-select:focus {
  border-color: var(--store-primary);
}

.nb-store-filter-sidebar {
  flex-shrink: 0;
  width: 240px;
}

.nb-store-filter-group {
  margin-bottom: 28px;
}

.nb-store-filter-group-title {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--store-text);
  border-bottom: 1px solid var(--store-border);
  margin-bottom: 12px;
  padding-bottom: 8px;
  font-size: 12px;
  font-weight: 800;
}

.nb-store-filter-option {
  cursor: pointer;
  color: var(--store-muted);
  align-items: center;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  transition: color .15s;
  display: flex;
}

.nb-store-filter-option:hover {
  color: var(--store-text);
}

.nb-store-filter-checkbox {
  background: #fff;
  border: 1.5px solid #0003;
  border-radius: 4px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  transition: background .15s, border-color .15s;
  display: flex;
}

.nb-store-filter-checkbox.checked {
  background: var(--store-primary);
  border-color: var(--store-primary);
}

.nb-store-footer {
  border-top: 1px solid var(--store-border);
  background: var(--store-surface);
  margin-top: auto;
  padding: 56px 0 36px;
}

.nb-store-footer-inner {
  grid-template-columns: 2fr 1fr 1fr;
  gap: 56px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
}

@media (max-width: 768px) {
  .nb-store-footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

.nb-store-footer-title {
  color: var(--store-text);
  margin-bottom: 16px;
  font-family: var(--font-display) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.nb-store-footer-desc {
  color: var(--store-muted);
  margin: 0;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.nb-store-footer-links {
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nb-store-footer-link {
  color: var(--store-muted);
  text-decoration: none;
  transition: color .15s;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.nb-store-footer-link:hover {
  color: var(--store-primary);
}

.nb-store-footer-copy {
  border-top: 1px solid var(--store-border);
  max-width: 1200px;
  color: var(--store-muted);
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 36px auto 0;
  padding: 20px 24px 0;
  display: flex;
  font-size: 12px !important;
}

.nb-store-social-links {
  gap: 10px;
  margin-top: 16px;
  display: flex;
}

.nb-store-social-btn {
  border: 1px solid var(--store-border);
  width: 36px;
  height: 36px;
  color: var(--store-muted);
  background: none;
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: background .15s, color .15s, border-color .15s;
  display: flex;
}

.nb-store-social-btn:hover {
  background: var(--store-primary);
  color: #fff;
  border-color: var(--store-primary);
}

.nb-store-cart-toast {
  z-index: 9999;
  background: var(--store-dark);
  color: #fff;
  border-radius: 18px;
  align-items: center;
  gap: 14px;
  min-width: 300px;
  max-width: 380px;
  padding: 16px 20px;
  display: flex;
  position: fixed;
  bottom: 24px;
  right: 24px;
  box-shadow: 0 8px 32px #00000040;
}

.nb-store-cart-toast-img {
  object-fit: cover;
  background: #ffffff1a;
  border-radius: 10px;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
}

.nb-store-cart-toast-title {
  margin: 0 0 2px;
  font-size: 13px;
  font-weight: 700;
}

.nb-store-cart-toast-sub {
  color: #ffffff8c;
  margin: 0;
  font-size: 12px;
}

.nb-store-cart-toast-action {
  color: var(--store-dark);
  cursor: pointer;
  white-space: nowrap;
  background: #fff;
  border: none;
  border-radius: 10px;
  flex-shrink: 0;
  align-items: center;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s;
  display: flex;
}

.nb-store-cart-toast-action:hover {
  opacity: .85;
}

.nb-store-sticky-atc {
  z-index: 100;
  border-top: 1px solid var(--store-border);
  background: #fff;
  padding: 16px 20px;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  box-shadow: 0 -4px 20px #0000001a;
}

@media (max-width: 768px) {
  .nb-store-sticky-atc {
    display: block;
  }
}

.nb-store-sticky-atc-btn {
  background: var(--store-dark);
  color: #fff;
  cursor: pointer;
  width: 100%;
  height: 54px;
  font-size: 16px;
  font-weight: 800;
  font-family: var(--font-body);
  border: none;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  transition: opacity .15s;
  display: flex;
}

.nb-store-sticky-atc-btn:hover {
  opacity: .88;
}

.nb-cart-drawer-legacy {
  display: none !important;
}

a.nb-store-cart-btn {
  justify-content: center;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.nb-checkout-wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}

.nb-checkout-form {
  background: #fffffff0;
  border: 1px solid #0f172a0f;
  border-radius: 30px;
  padding: 28px;
  box-shadow: 0 20px 60px #0f172a0f;
}

.nb-checkout-layout {
  grid-template-columns: 1fr 360px;
  align-items: start;
  gap: 40px;
  display: grid;
}

@media (max-width: 768px) {
  .nb-checkout-layout {
    grid-template-columns: 1fr;
  }
}

.nb-checkout-steps {
  justify-content: center;
  align-items: center;
  margin-bottom: 48px;
  display: flex;
}

.nb-checkout-step-item {
  align-items: center;
  display: flex;
}

.nb-checkout-step-dot {
  color: #9ca3af;
  background: #fff;
  border: 2px solid #0000001a;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 14px;
  transition: all .22s;
  display: flex;
}

.nb-checkout-step-dot.active {
  background: var(--store-dark);
  border-color: var(--store-dark);
  color: #fff;
  box-shadow: 0 4px 14px #0003;
}

.nb-checkout-step-dot.done {
  color: #fff;
  background: #10b981;
  border-color: #10b981;
}

.nb-checkout-step-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9ca3af;
  white-space: nowrap;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 700;
}

.nb-checkout-step-label.active {
  color: var(--store-text);
}

.nb-checkout-step-label.done {
  color: #10b981;
}

.nb-checkout-step-line {
  background: #0000001a;
  flex-shrink: 0;
  width: 48px;
  height: 2px;
  margin: 0 12px;
  transition: background .22s;
}

.nb-checkout-step-line.done {
  background: #10b981;
}

@media (max-width: 480px) {
  .nb-checkout-step-label {
    display: none;
  }

  .nb-checkout-step-line {
    width: 28px;
    margin: 0 6px;
  }
}

.nb-checkout-section-title {
  letter-spacing: -.01em;
  color: var(--store-text);
  align-items: center;
  gap: 10px;
  margin: 0 0 28px;
  font-size: 22px;
  font-weight: 800;
  display: flex;
}

.nb-checkout-input-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--store-muted);
  font-size: 12px;
  font-weight: 700;
  display: block;
}

.nb-checkout-input {
  width: 100%;
  height: 48px;
  font-size: 15px;
  font-family: var(--font-body);
  color: var(--store-text);
  background: #f9fafb;
  border: 1.5px solid #0000001a;
  border-radius: 14px;
  outline: none;
  padding: 0 16px;
  transition: border-color .15s, box-shadow .15s, background .15s;
}

.nb-checkout-input:focus {
  border-color: var(--store-primary);
  box-shadow: 0 0 0 3.5px rgba(var(--store-primary-rgb), .12);
  background: #fff;
}

.nb-checkout-input::placeholder {
  color: #9ca3af;
}

.nb-checkout-grid-2col {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  display: grid;
}

.nb-checkout-grid-3col {
  grid-template-columns: 120px 1fr 1fr;
  gap: 12px;
  display: grid;
}

@media (max-width: 580px) {
  .nb-checkout-grid-2col, .nb-checkout-grid-3col {
    grid-template-columns: 1fr;
  }
}

.nb-checkout-option {
  cursor: pointer;
  background: #fff;
  border: 2px solid #00000014;
  border-radius: 16px;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.nb-checkout-option:hover {
  background: #f9fafb;
  border-color: #0000002e;
}

.nb-checkout-option.selected {
  border-color: var(--store-primary);
  background: rgba(var(--store-primary-rgb), .04);
}

.nb-checkout-payment-option {
  cursor: pointer;
  background: #fff;
  border: 2px solid #00000014;
  border-radius: 18px;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  transition: border-color .15s, background .15s;
  display: flex;
}

.nb-checkout-payment-option:hover {
  background: #f9fafb;
  border-color: #0000002e;
}

.nb-checkout-payment-option.selected {
  border-color: var(--store-primary);
  background: rgba(var(--store-primary-rgb), .04);
}

.nb-checkout-radio {
  border: 2px solid #0000002e;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  transition: border-color .15s;
  display: flex;
}

.nb-checkout-option.selected .nb-checkout-radio, .nb-checkout-payment-option.selected .nb-checkout-radio {
  border-color: var(--store-primary);
}

.nb-checkout-radio-dot {
  background: var(--store-primary);
  border-radius: 50%;
  width: 10px;
  height: 10px;
}

.nb-checkout-btn-next {
  background: var(--store-dark);
  color: #fff;
  cursor: pointer;
  width: 100%;
  height: 56px;
  font-size: 16px;
  font-weight: 800;
  font-family: var(--font-body);
  letter-spacing: .01em;
  border: none;
  border-radius: 18px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  transition: opacity .15s, transform .12s;
  display: flex;
  box-shadow: 0 4px 20px #0000002e;
}

.nb-checkout-btn-next:hover {
  opacity: .88;
  transform: translateY(-1px);
}

.nb-checkout-btn-next:active {
  transform: scale(.98);
}

.nb-checkout-btn-next:disabled {
  opacity: .4;
  cursor: not-allowed;
  transform: none;
}

.nb-checkout-btn-confirm {
  color: #fff;
  cursor: pointer;
  height: 54px;
  font-size: 15px;
  font-weight: 800;
  font-family: var(--font-body);
  background: linear-gradient(135deg, #10b981, #059669);
  border: none;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  transition: opacity .15s, transform .12s;
  display: flex;
  box-shadow: 0 4px 18px #10b98159;
}

.nb-checkout-btn-confirm:hover {
  opacity: .88;
}

.nb-checkout-btn-confirm:active {
  transform: scale(.98);
}

.nb-checkout-btn-confirm:disabled {
  opacity: .4;
  cursor: not-allowed;
}

.nb-checkout-btn-back {
  height: 54px;
  color: var(--store-text);
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  font-family: var(--font-body);
  background: #fff;
  border: 1.5px solid #0000001f;
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 0 20px;
  transition: background .15s, border-color .15s;
  display: flex;
}

.nb-checkout-btn-back:hover {
  background: #f9fafb;
  border-color: #0003;
}

.nb-checkout-summary {
  background: #f9fafb;
  border: 1px solid #00000014;
  border-radius: 24px;
  padding: 28px 24px;
}

.nb-checkout-summary-title {
  color: var(--store-text);
  letter-spacing: -.01em;
  margin: 0 0 22px;
  font-size: 17px;
  font-weight: 800;
}

.nb-checkout-success {
  text-align: center;
  max-width: 540px;
  margin: 0 auto;
  padding: 80px 24px;
}

.nb-checkout-success-icon {
  color: #10b981;
  background: #10b9811f;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 112px;
  height: 112px;
  margin: 0 auto 28px;
  display: flex;
}

.nb-checkout-success-title {
  font-family: var(--font-display);
  letter-spacing: -.02em;
  color: var(--store-text);
  margin: 0 0 14px;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
}

.nb-checkout-success-subtitle {
  color: var(--store-muted);
  margin: 0 0 32px;
  font-size: 16px;
  line-height: 1.65;
}

.nb-checkout-order-id {
  color: var(--store-text);
  letter-spacing: .05em;
  background: #f3f4f6;
  border: 1px solid #00000014;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-family: monospace;
  font-size: 14px;
  font-weight: 700;
  display: inline-flex;
}

@keyframes spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

.nb-catalog-toolbar {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  display: flex;
}

.nb-catalog-toolbar-btn {
  height: 50px;
  color: var(--store-text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-body);
  white-space: nowrap;
  background: #fff;
  border: 1.5px solid #0000001a;
  border-radius: 14px;
  align-items: center;
  gap: 7px;
  padding: 0 18px;
  transition: background .15s, border-color .15s;
  display: inline-flex;
  position: relative;
}

.nb-catalog-toolbar-btn:hover {
  background: #f9fafb;
  border-color: #0000002e;
}

.nb-catalog-filter-badge {
  background: var(--store-primary);
  border: 1.5px solid #fff;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 8px;
  right: 8px;
}

.nb-catalog-sort-label {
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 120px;
  overflow: hidden;
}

.nb-catalog-sort-menu {
  z-index: 50;
  background: #fff;
  border: 1px solid #0000001a;
  border-radius: 16px;
  min-width: 200px;
  padding: 6px;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  overflow: hidden;
  box-shadow: 0 12px 40px #0000001f;
}

.nb-catalog-sort-option {
  width: 100%;
  height: 40px;
  color: var(--store-text);
  cursor: pointer;
  text-align: left;
  font-size: 14px;
  font-weight: 500;
  font-family: var(--font-body);
  background: none;
  border: none;
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  transition: background .12s;
  display: flex;
}

.nb-catalog-sort-option:hover {
  background: #f3f4f6;
}

.nb-catalog-sort-option.active {
  background: rgba(var(--store-primary-rgb), .08);
  color: var(--store-primary);
  font-weight: 700;
}

.nb-catalog-view-toggle {
  border: 1.5px solid #0000001a;
  border-radius: 12px;
  flex-shrink: 0;
  display: flex;
  overflow: hidden;
}

.nb-catalog-view-btn {
  cursor: pointer;
  color: #9ca3af;
  background: #fff;
  border: none;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  transition: background .12s, color .12s;
  display: flex;
}

.nb-catalog-view-btn:hover {
  color: var(--store-text);
  background: #f3f4f6;
}

.nb-store-root--storefront {
  background: radial-gradient(circle at top,
      rgba(var(--store-primary-rgb), .18),
      transparent 28%),
    linear-gradient(180deg, #fcfcfd 0%, #f7f8fb 40%, #fff 100%);
  min-height: 100vh;
}

.nb-store-header--storefront {
  z-index: 60;
  -webkit-backdrop-filter: blur(18px);
  background: #ffffffe0;
  border-bottom: 1px solid #0f172a0f;
  position: sticky;
  top: 0;
}

.nb-store-main--storefront {
  padding-top: 32px;
  padding-bottom: 80px;
}

.nb-store-nav-group {
  align-items: center;
  display: flex;
  position: relative;
}

.nb-store-nav-link--button {
  cursor: pointer;
  background: none;
  border: none;
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.nb-store-nav-link.is-active:after {
  width: 100%;
}

.nb-store-btn-primary--header {
  min-height: 42px;
  padding-inline: 16px;
}

.nb-store-locale-switcher {
  position: relative;
}

.nb-store-locale-trigger {
  min-height: 42px;
  color: var(--store-text);
  cursor: pointer;
  background: #ffffffeb;
  border: 1px solid #0f172a14;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 600;
  list-style: none;
  display: inline-flex;
}

.nb-store-locale-trigger::-webkit-details-marker {
  display: none;
}

.nb-store-locale-menu {
  background: #fffffffa;
  border: 1px solid #0f172a14;
  border-radius: 18px;
  min-width: 176px;
  padding: 8px;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  box-shadow: 0 18px 50px #0f172a14;
}

.nb-store-locale-option {
  color: var(--store-text);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  font-size: 13px;
  text-decoration: none;
  display: flex;
}

.nb-store-locale-option:hover, .nb-store-locale-option.is-active {
  background: rgba(var(--store-primary-rgb), .1);
  color: var(--store-primary);
}

.nb-mega-menu-copy {
  color: var(--store-muted);
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
}

.nb-store-search-panel {
  border-top: 1px solid #0f172a0d;
  padding: 14px 24px 18px;
}

.nb-store-search-panel-inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.nb-store-search-icon {
  color: #94a3b8;
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
}

.nb-store-surface {
  flex-direction: column;
  gap: 36px;
  display: flex;
}

.nb-store-hero--storefront {
  background: radial-gradient(circle at top left,
      rgba(var(--store-primary-rgb), .18),
      transparent 28%),
    linear-gradient(180deg,
      #fffffff5,
      #f8fafcfa);
  border: 1px solid #0f172a0f;
  border-radius: 34px;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  align-items: stretch;
  gap: 24px;
  padding: clamp(28px, 5vw, 48px);
  display: grid;
  box-shadow: 0 24px 70px #0f172a14;
}

.nb-store-hero-copy {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-store-hero-metrics--storefront {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.nb-store-hero-metric-card {
  color: var(--store-text);
  background: #ffffffc7;
  border: 1px solid #0f172a0f;
  border-radius: 20px;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
}

.nb-store-hero-panel {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-store-hero-panel-card, .nb-store-promo-card, .nb-store-empty-panel, .nb-store-shipping-box {
  background: #ffffffeb;
  border: 1px solid #0f172a0f;
  border-radius: 28px;
  box-shadow: 0 20px 40px #0f172a0d;
}

.nb-store-hero-panel-card {
  padding: 24px;
}

.nb-store-hero-panel-card h2, .nb-store-promo-card h3, .nb-store-empty-panel h3, .nb-store-empty-panel h1 {
  color: var(--store-text);
  letter-spacing: -.04em;
  margin: 10px 0 12px;
  font-size: clamp(24px, 3vw, 32px);
  line-height: 1.02;
}

.nb-store-hero-panel-card p, .nb-store-promo-card p, .nb-store-empty-panel p {
  color: var(--store-muted);
  margin: 0;
  line-height: 1.7;
}

.nb-store-hero-panel-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.nb-store-categories--editorial {
  gap: 18px;
}

.nb-store-promo-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.nb-store-promo-card {
  padding: 24px;
}

.nb-store-promo-card--primary {
  background: radial-gradient(circle at top left,
      rgba(var(--store-primary-rgb), .2),
      transparent 32%),
    #fffffff0;
}

.nb-store-trust-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  display: grid;
}

.nb-store-trust-strip article, .nb-store-product-info-grid article {
  background: #ffffffd6;
  border: 1px solid #0f172a0f;
  border-radius: 22px;
  align-items: flex-start;
  gap: 12px;
  padding: 20px;
  display: flex;
}

.nb-store-trust-strip strong, .nb-store-product-info-grid strong, .nb-store-empty-panel strong {
  color: var(--store-text);
  margin-bottom: 6px;
  display: block;
}

.nb-store-trust-strip p, .nb-store-product-info-grid p {
  color: var(--store-muted);
  margin: 0;
  line-height: 1.7;
}

.nb-store-product-card--compact .nb-store-product-img {
  aspect-ratio: 1.1;
}

.nb-store-product-placeholder {
  color: #cbd5e1;
  background: linear-gradient(#0f172a05, #0f172a14);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
}

.nb-store-product-pill {
  color: #fff;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #0f172abf;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 700;
  position: absolute;
  top: 12px;
  left: 12px;
}

.nb-store-product-pill--warning {
  background: #f59e0b;
}

.nb-store-product-name--link {
  text-decoration: none;
}

.nb-store-product-meta {
  color: var(--store-primary);
  margin: 0;
  font-size: 12px;
}

.nb-store-catalog-shell {
  flex-direction: column;
  gap: 24px;
  display: flex;
}

.nb-store-catalog-hero--storefront {
  border-radius: 28px;
  min-height: auto;
}

.nb-catalog-search {
  background: #fffffff0;
  border: 1px solid #0f172a14;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  min-width: min(520px, 100%);
  padding: 0 16px;
  display: flex;
  position: relative;
}

.nb-catalog-search input {
  background: none;
  border: none;
}

.nb-catalog-controls {
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  display: flex;
}

.nb-catalog-sort {
  min-height: 48px;
  color: var(--store-muted);
  background: #ffffffeb;
  border: 1px solid #0f172a14;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding-inline: 14px;
  font-size: 13px;
  display: inline-flex;
}

.nb-store-search-input--catalog {
  min-width: 260px;
  padding-left: 0;
}

.nb-store-catalog-layout {
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  display: grid;
}

.nb-store-filter-check {
  color: var(--store-text);
  align-items: center;
  gap: 10px;
  font-size: 14px;
  display: inline-flex;
}

.nb-store-filter-list {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.nb-store-filter-chip {
  min-height: 38px;
  color: var(--store-muted);
  cursor: pointer;
  background: #ffffffe6;
  border: 1px solid #0f172a14;
  border-radius: 999px;
  padding: 0 14px;
  transition: border-color .18s, background .18s, color .18s;
}

.nb-store-filter-chip:hover, .nb-store-filter-chip.is-active {
  color: var(--store-primary);
  border-color: rgba(var(--store-primary-rgb), .28);
  background: rgba(var(--store-primary-rgb), .08);
}

.nb-store-catalog-results {
  flex-direction: column;
  gap: 18px;
  display: flex;
}

.nb-store-catalog-results-head {
  color: var(--store-muted);
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  display: flex;
}

.nb-store-pagination {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-top: 10px;
  display: flex;
}

.nb-store-empty-panel {
  text-align: center;
  padding: 36px;
}

.nb-store-empty-panel--large {
  padding: 72px 24px;
}

.nb-store-empty-panel--large svg {
  color: var(--store-primary);
  margin: 0 auto 16px;
}

.nb-store-product-detail {
  flex-direction: column;
  gap: 6px;
  display: flex;
}

.nb-store-back-link {
  color: var(--store-muted);
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  display: inline-flex;
}

.nb-store-product-layout {
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  align-items: start;
  gap: 28px;
  display: grid;
}

.nb-store-product-gallery {
  flex-direction: column;
  gap: 14px;
  display: flex;
}

.nb-store-product-stage, .nb-store-cart-item-media {
  background: #fffffff0;
  border: 1px solid #0f172a0f;
  border-radius: 28px;
  position: relative;
  overflow: hidden;
}

.nb-store-product-stage {
  aspect-ratio: 1;
  min-height: auto;
}

.nb-store-product-thumbs {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.nb-store-product-thumb {
  cursor: pointer;
  background: #ffffffeb;
  border: 2px solid #0f172a14;
  border-radius: 18px;
  width: 88px;
  height: 88px;
  position: relative;
  overflow: hidden;
}

.nb-store-product-thumb.is-active {
  border-color: var(--store-primary);
}

.nb-store-product-summary {
  background: #fffffff0;
  border: 1px solid #0f172a0f;
  border-radius: 30px;
  flex-direction: column;
  gap: 16px;
  padding: 28px;
  display: flex;
  box-shadow: 0 24px 60px #0f172a0f;
}

.nb-store-product-title {
  color: var(--store-text);
  letter-spacing: -.05em;
  margin: 0;
  font-size: clamp(30px, 4vw, 44px);
  line-height: .98;
}

.nb-store-product-price-large {
  color: var(--store-text);
  letter-spacing: -.05em;
  margin: 0;
  font-size: clamp(30px, 4vw, 42px);
  font-weight: 900;
}

.nb-store-product-description p {
  color: var(--store-muted);
  margin: 0 0 12px;
  line-height: 1.8;
}

.nb-store-quantity-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  display: flex;
}

.nb-store-quantity-stepper {
  background: #f8fafce6;
  border: 1px solid #0f172a14;
  border-radius: 999px;
  align-items: center;
  display: inline-flex;
  overflow: hidden;
}

.nb-store-quantity-stepper button {
  width: 42px;
  height: 42px;
  color: var(--store-muted);
  cursor: pointer;
  background: none;
  border: none;
}

.nb-store-quantity-stepper span {
  text-align: center;
  min-width: 48px;
  color: var(--store-text);
  font-weight: 700;
}

.nb-store-btn-primary--grow {
  flex: 1;
}

.nb-store-btn-ghost--inline {
  align-self: flex-start;
  text-decoration: none;
}

.nb-store-product-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  display: grid;
}

.nb-store-shipping-box {
  padding: 10px;
}

.nb-store-shipping-box label {
  color: var(--store-text);
  margin-bottom: 5px;
  font-size: 13px;
  font-weight: 600;
  display: block;
}

.nb-store-shipping-box-row {
  gap: 5px;
  display: flex;
}

.nb-store-shipping-list {
  flex-direction: column;
  gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nb-store-shipping-list li {
  color: var(--store-muted);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.nb-store-cart-layout {
  grid-template-columns: minmax(0, 1fr) 360px;
  align-items: start;
  gap: 24px;
  display: grid;
}

.nb-store-cart-items {
  flex-direction: column;
  gap: 16px;
  display: flex;
}

.nb-store-cart-item {
  background: #fffffff0;
  border: 1px solid #0f172a0f;
  border-radius: 24px;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px;
  display: grid;
}

.nb-store-cart-item-media {
  min-height: 112px;
}

.nb-store-cart-item-copy {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.nb-store-cart-item-copy p {
  color: var(--store-muted);
  margin: 0;
}

.nb-store-cart-item-meta {
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  display: flex;
}

.nb-store-text-button {
  color: var(--store-muted);
  cursor: pointer;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
}

.nb-store-summary-rows {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.nb-store-summary-rows div, .nb-store-summary-total {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.nb-store-summary-total {
  border-top: 1px solid #0f172a14;
  padding-top: 16px;
  font-size: 18px;
}

.nb-store-btn-primary--block, .nb-store-btn-ghost--block {
  width: 100%;
  text-decoration: none;
}

.nb-store-btn-ghost--block {
  justify-content: center;
}

.nb-store-payment-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 8px;
  display: grid;
}

.nb-store-option-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.nb-store-option-list small {
  color: var(--store-muted);
  display: block;
}

.nb-store-checkout-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  margin-top: 18px;
  display: flex;
}

.nb-store-security-note {
  color: var(--store-muted);
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  font-size: 13px;
  display: flex;
}

@media (max-width: 1200px) {
  .nb-store-hero--storefront, .nb-store-product-layout, .nb-store-cart-layout, .nb-store-catalog-layout, .nb-store-payment-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .nb-store-nav, .nb-store-btn-primary--header {
    display: none;
  }

  .nb-store-hero-panel-grid, .nb-store-trust-strip, .nb-store-product-info-grid, .nb-store-promo-grid, .nb-store-hero-metrics--storefront, .nb-store-cart-item {
    grid-template-columns: 1fr;
  }

  .nb-store-cart-item-meta {
    align-items: flex-start;
  }
}

@media (max-width: 720px) {
  .nb-store-main--storefront {
    padding-top: 20px;
  }

  .nb-store-header-actions {
    gap: 8px;
  }

  .nb-store-locale-trigger span {
    display: none;
  }

  .nb-catalog-search {
    min-width: 100%;
  }

  .nb-store-quantity-row, .nb-store-checkout-actions, .nb-store-shipping-box-row {
    flex-direction: column;
    align-items: stretch;
  }
}

.nb-catalog-view-btn.active {
  background: var(--store-dark);
  color: #fff;
}

.nb-catalog-view-btn:first-child {
  border-right: 1px solid #00000014;
}

.nb-catalog-active-filter {
  background: rgba(var(--store-primary-rgb), .1);
  border: 1px solid rgba(var(--store-primary-rgb), .25);
  height: 30px;
  color: var(--store-primary);
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--font-body);
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  transition: background .12s;
  display: inline-flex;
}

.nb-catalog-active-filter:hover {
  background: rgba(var(--store-primary-rgb), .18);
}

.nb-catalog-body {
  grid-template-columns: 220px 1fr;
  align-items: start;
  gap: 32px;
  display: grid;
}

.nb-catalog-body.no-filters {
  grid-template-columns: 1fr;
}

@media (max-width: 900px) {
  .nb-catalog-body {
    grid-template-columns: 1fr;
  }

  .nb-catalog-body > aside:first-child {
    display: none;
  }
}

.nb-catalog-filter-panel {
  background: #fff;
  border: 1px solid #00000014;
  border-radius: 20px;
  padding: 24px 20px;
  position: sticky;
  top: 90px;
}

.nb-catalog-filter-group {
  border-bottom: 1px solid #0000000f;
  margin-bottom: 20px;
  padding-bottom: 20px;
}

.nb-catalog-filter-group:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.nb-catalog-filter-title {
  cursor: pointer;
  letter-spacing: .06em;
  text-transform: uppercase;
  width: 100%;
  color: var(--store-text);
  font-size: 13px;
  font-weight: 700;
  font-family: var(--font-body);
  background: none;
  border: none;
  justify-content: space-between;
  align-items: center;
  padding: 0;
  display: flex;
}

.nb-catalog-filter-check {
  cursor: pointer;
  width: 100%;
  font-family: var(--font-body);
  text-align: left;
  background: none;
  border: none;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  display: flex;
}

.nb-catalog-filter-check:hover {
  opacity: .75;
}

.nb-catalog-range {
  width: 100%;
  height: 4px;
  accent-color: var(--store-primary);
  cursor: pointer;
  border-radius: 2px;
  outline: none;
}

.nb-catalog-list-item {
  color: inherit;
  background: #fff;
  border: 1px solid #00000014;
  border-radius: 18px;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  text-decoration: none;
  transition: box-shadow .2s, transform .18s, border-color .18s;
  display: flex;
}

.nb-catalog-list-item:hover {
  border-color: #00000024;
  transform: translateY(-2px);
  box-shadow: 0 6px 24px #00000014;
}

.nb-catalog-list-img {
  background: #f3f4f6;
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 88px;
  height: 88px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.nb-catalog-list-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.nb-catalog-pagination {
  border-top: 1px solid var(--store-border);
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 48px;
  padding-top: 32px;
  display: flex;
}

.nb-catalog-page-btn {
  min-width: 40px;
  height: 40px;
  color: var(--store-text);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font-body);
  background: #fff;
  border: 1.5px solid #0000001a;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  padding: 0 6px;
  transition: background .12s, border-color .12s, color .12s;
  display: flex;
}

.nb-catalog-page-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #0000002e;
}

.nb-catalog-page-btn.active {
  background: var(--store-dark);
  border-color: var(--store-dark);
  color: #fff;
}

.nb-catalog-page-btn:disabled {
  opacity: .35;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .nb-store-header {
    -webkit-backdrop-filter: blur(10px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .nb-site-root *, .nb-store-root * {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.nb-store-search-overlay {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #0000000d;
  width: 100%;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-10px);
  box-shadow: 0 10px 25px -5px #0000000d;
}

.nb-store-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nb-store-search-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}

.nb-store-search-header {
  border-bottom: 1px solid #0000000d;
  align-items: center;
  gap: 16px;
  padding-bottom: 24px;
  display: flex;
}

.nb-store-search-results {
  max-height: 60vh;
  padding-top: 24px;
  overflow-y: auto;
}

.nb-store-search-item {
  color: var(--store-dark);
  border-radius: 12px;
  align-items: center;
  gap: 16px;
  padding: 12px;
  text-decoration: none;
  transition: background .15s;
  display: flex;
}

.nb-store-search-item:hover, .nb-store-search-item.is-focused {
  background: #f8fafc;
}

.nb-store-mega-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 40;
  background: #fff;
  border-bottom: 1px solid #0000000d;
  width: 100%;
  transition: all .2s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(-10px);
  box-shadow: 0 10px 25px -5px #0000000d;
}

.nb-store-mega-menu.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.nb-store-mega-menu-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px;
}

.nb-store-mega-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  display: grid;
}

.nb-store-mega-item {
  color: var(--store-dark);
  border-radius: 12px;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  text-decoration: none;
  transition: background .15s;
  display: flex;
}

.nb-store-mega-item:hover {
  background: #f8fafc;
}

.nb-store-mega-icon {
  background: rgba(var(--store-primary-rgb), .1);
  width: 48px;
  height: 48px;
  color: var(--store-primary);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.nb-store-mega-content {
  flex-direction: column;
  gap: 4px;
  display: flex;
}

.nb-store-mega-title {
  font-size: 1rem;
  font-weight: 600;
}

.nb-store-mega-desc {
  color: #64748b;
  font-size: .875rem;
}

@media (prefers-color-scheme: dark) {
  .nb-store-search-overlay, .nb-store-mega-menu {
    background: #111;
    border-bottom: 1px solid #ffffff0d;
  }

  .nb-store-search-header {
    border-bottom: 1px solid #ffffff0d;
  }

  .nb-store-search-item:hover, .nb-store-search-item.is-focused, .nb-store-mega-item:hover {
    background: #ffffff0d;
  }

  .nb-store-search-item, .nb-store-mega-item {
    color: #fff;
  }
}

@keyframes nb-fade-in-scale {
  from {
    opacity: 0;
    transform: scale(.98);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.nb-store-gallery-img {
  will-change: opacity, transform;
  transform-origin: center;
  animation: .4s cubic-bezier(.16, 1, .3, 1) forwards nb-fade-in-scale;
  transform: scale(1);
}

.nb-gallery-thumb {
  border-color: #0f172a14;
  transition: border-color .3s, transform .3s, box-shadow .3s;
}

.nb-gallery-thumb:hover {
  transform: translateY(-2px)scale(1.02);
  border-color: #0f172a40 !important;
}

.nb-gallery-thumb-active {
  transform: scale(1.05);
  box-shadow: 0 4px 12px #0f172a0f;
  border-color: var(--store-primary, #0f172a) !important;
}

.nb-swatch-image {
  transition: opacity .2s ease-in-out;
}

.nb-drawer-overlay, .nb-drawer-content {
  transition: display .3s allow-discrete,
    overlay .3s allow-discrete,
    opacity .3s ease,
    transform .3s ease;
  transition-behavior: allow-discrete;
}

.nb-drawer-overlay {
  -webkit-backdrop-filter: blur();
  backdrop-filter: blur();
}

.nb-drawer-content {
  border-left: 1px solid #0f172a14;
}

@starting-style {
  .nb-drawer-overlay {
    opacity: 0;
    -webkit-backdrop-filter: blur();
    backdrop-filter: blur();
  }

  .nb-drawer-content {
    opacity: .9;
    transform: translateX(100%);
  }
}

.nb-store-product-card {
  transition: transform .3s cubic-bezier(.16, 1, .3, 1), box-shadow .3s cubic-bezier(.16, 1, .3, 1), border-color .3s cubic-bezier(.16, 1, .3, 1);
}

.nb-store-product-card:hover {
  border-color: #0000001f;
  transform: translateY(-4px);
  box-shadow: 0 12px 30px #0000000a, 0 4px 12px #00000005;
}

@media (prefers-color-scheme: dark) {
  .nb-gallery-thumb {
    border-color: #ffffff14;
  }

  .nb-gallery-thumb:hover {
    border-color: #ffffff4d !important;
  }

  .nb-gallery-thumb-active {
    box-shadow: 0 4px 12px #00000080;
    border-color: var(--store-primary, #fff) !important;
  }

  .nb-drawer-content {
    border-left: 1px solid #ffffff14;
    background-color: #121214 !important;
  }

  .nb-store-product-card:hover {
    border-color: #ffffff1f;
    box-shadow: 0 12px 30px #0006;
  }
}

.pixel-pdp-layout {
  grid-template-columns: 1fr;
  gap: 20px;
  display: grid;
}

@media (min-width: 1024px) {
  .pixel-pdp-layout {
    grid-template-columns: 1.2fr .8fr;
    align-items: start;
    gap: 20px;
  }
}

@media (min-width: 768px) {
  .pixel-gallery-thumbs-left {
    flex-direction: row;
    align-items: flex-start;
  }

  .pixel-gallery-thumbs-left .nb-store-product-thumbs {
    flex-flow: column;
    flex-shrink: 0;
    gap: 12px;
    width: 88px;
  }

  .pixel-gallery-thumbs-left .nb-store-product-stage {
    aspect-ratio: 1;
    flex-grow: 1;
    min-height: auto;
  }
}

.pixel-spec-highlight {
  border-left: 4px solid var(--store-primary);
  margin-bottom: 16px;
  padding-left: 16px;
}

.pixel-spec-highlight dt {
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--store-muted);
  font-size: 12px;
  font-weight: 700;
}

@media (min-width: 768px) {
  .pixel-support-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.nb-store-product-lightbox-overlay {
  -webkit-backdrop-filter: blur(8px);
  z-index: 9999;
  background-color: #08080df2;
  position: fixed;
  inset: 0;
}

.nb-store-product-lightbox-content {
  z-index: 10000;
  box-sizing: border-box;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
  display: flex;
  position: fixed;
  inset: 0;
}

.nb-store-product-lightbox-image-wrapper {
  width: 85%;
  max-width: calc(100vw - 120px);
  height: 85%;
  max-height: calc(100vh - 20px);
  position: relative;
}

.nb-store-product-lightbox-close {
  color: #f0ece4;
  cursor: pointer;
  z-index: 10010;
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
}

.nb-store-product-lightbox-close:hover {
  background: #ffffff29;
  border-color: #ffffff3d;
}

.nb-store-product-lightbox-nav {
  color: #f0ece4;
  cursor: pointer;
  z-index: 10010;
  background: #ffffff14;
  border: 1px solid #ffffff1f;
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.nb-store-product-lightbox-nav:hover {
  background: #ffffff29;
  border-color: #ffffff3d;
}

.nb-store-product-lightbox-nav--prev {
  left: 24px;
}

.nb-store-product-lightbox-nav--next {
  right: 24px;
}

@media (max-width: 640px) {
  .nb-store-product-lightbox-image-wrapper {
    max-width: 100%;
    padding: 0 16px;
  }

  .nb-store-product-lightbox-close {
    width: 36px;
    height: 36px;
    top: 12px;
    right: 12px;
  }

  .nb-store-product-lightbox-nav {
    width: 40px;
    height: 40px;
  }

  .nb-store-product-lightbox-nav--prev {
    left: 12px;
  }

  .nb-store-product-lightbox-nav--next {
    right: 12px;
  }
}

.nb-store-product-stage-nav {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  cursor: pointer;
  z-index: 10;
  width: 44px;
  height: 44px;
  color: var(--store-text);
  border-radius: 9999px;
  justify-content: center;
  align-items: center;
  transition: transform .2s, opacity .2s, box-shadow .2s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)scale(1);
  box-shadow: 0 4px 12px #0f172a14;
}

.nb-store-product-stage-nav:hover {
  transform: translateY(-50%)scale(1.05);
  box-shadow: 0 6px 16px #0f172a1f;
}

.nb-store-product-stage-nav--prev {
  left: 16px;
}

.nb-store-product-stage-nav--next {
  right: 16px;
}

@media (max-width: 640px) {
  .nb-store-product-stage-nav {
    width: 36px;
    height: 36px;
  }

  .nb-store-product-stage-nav--prev {
    left: 8px;
  }

  .nb-store-product-stage-nav--next {
    right: 8px;
  }
}

.pixel-pdp-layout {
  grid-template-columns: 1fr;
  gap: 24px;
  padding: 24px 0;
  display: grid;
}

@media (min-width: 1024px) {
  .pixel-pdp-layout {
    grid-template-columns: 1.2fr .8fr;
    align-items: start;
    gap: 32px;
  }
}

.pixel-gallery-thumbs-left {
  flex-direction: column-reverse;
  gap: 16px;
  display: flex;
}

@media (min-width: 768px) {
  .pixel-gallery-thumbs-left {
    flex-direction: row;
    align-items: flex-start;
  }

  .pixel-gallery-thumbs-left .nb-store-product-thumbs {
    flex-flow: column;
    flex-shrink: 0;
    gap: 12px;
    width: 88px;
  }

  .pixel-gallery-thumbs-left .nb-store-product-stage {
    aspect-ratio: 1;
    border: 2px solid var(--store-border);
    border-radius: 12px;
    flex-grow: 1;
    min-height: auto;
    overflow: hidden;
  }
}

.pixel-spec-highlight {
  border-left: 4px solid var(--store-primary);
  background: rgba(var(--store-primary-rgb), .04);
  border-radius: 0 8px 8px 0;
  margin-bottom: 16px;
  padding: 12px 16px;
  transition: all .2s;
}

.pixel-spec-highlight:hover {
  background: rgba(var(--store-primary-rgb), .08);
  border-left-width: 6px;
}

.pixel-spec-highlight dt {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--store-muted);
  margin-bottom: 4px;
  font-size: 11px;
  font-weight: 700;
}

.pixel-spec-highlight dd {
  color: var(--store-text);
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}

.pixel-sticky-subnav {
  z-index: 50;
  border-bottom: 1px solid var(--store-border);
  background: var(--store-bg);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  justify-content: center;
  align-items: center;
  gap: 24px;
  padding: 16px;
  display: flex;
  position: sticky;
  top: 0;
}

.pixel-sticky-subnav a {
  color: var(--store-muted);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: color .2s;
}

.pixel-sticky-subnav a:hover {
  color: var(--store-primary);
}

.pixel-support-grid {
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 24px;
  display: grid;
}

@media (min-width: 768px) {
  .pixel-support-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.pixel-support-card {
  border: 1px solid var(--store-border);
  background: var(--store-surface);
  border-radius: 16px;
  padding: 24px;
  transition: transform .2s, box-shadow .2s;
}

.pixel-support-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px #0000000a;
}

.pixel-support-card-icon {
  color: var(--store-primary);
  margin-bottom: 16px;
}

.pixel-support-card-title {
  color: var(--store-text);
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
}

.pixel-support-card-body {
  color: var(--store-muted);
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.pixel-announcement-bar {
  background: linear-gradient(90deg,
    var(--store-primary) 0%,
    rgba(var(--store-primary-rgb), .8) 100%);
  color: #fff;
  text-align: center;
  letter-spacing: .03em;
  z-index: 60;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 12px 24px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  position: relative;
}

.pixel-announcement-bar a {
  color: #fff;
  text-underline-offset: 2px;
  text-decoration: underline;
}

.pixel-announcement-bar a:hover {
  text-decoration: none;
}

.pixel-product-card {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 12px;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.pixel-product-card:hover {
  box-shadow: 0 12px 32px rgba(var(--store-primary-rgb), .15);
  border-color: var(--store-primary);
  transform: translateY(-4px);
}

.pixel-product-card-badge {
  background: var(--store-primary);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
  z-index: 10;
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  position: absolute;
  top: 12px;
  left: 12px;
}

.pixel-product-card-wishlist {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  cursor: pointer;
  z-index: 10;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 12px;
  right: 12px;
}

.pixel-product-card-wishlist:hover {
  background: var(--store-primary);
  color: #fff;
  border-color: var(--store-primary);
}

.pixel-quick-view-modal {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 16px;
  width: 90%;
  max-width: 480px;
  padding: 24px;
  box-shadow: 0 24px 64px #0003;
}

.pixel-quick-view-title {
  color: var(--store-text);
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
}

.pixel-quick-view-price {
  color: var(--store-primary);
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 800;
}

.pixel-cart-drawer {
  background: var(--store-surface);
  border-left: 1px solid var(--store-border);
  z-index: 1000;
  flex-direction: column;
  width: 400px;
  max-width: 90vw;
  height: 100vh;
  display: flex;
  position: fixed;
  top: 0;
  right: 0;
  box-shadow: -8px 0 32px #0000001a;
}

.pixel-cart-drawer-header {
  border-bottom: 1px solid var(--store-border);
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  display: flex;
}

.pixel-cart-drawer-title {
  color: var(--store-text);
  margin: 0;
  font-size: 18px;
  font-weight: 700;
}

.pixel-cart-drawer-items {
  flex: 1;
  padding: 16px 24px;
  overflow-y: auto;
}

.pixel-cart-drawer-item {
  border-bottom: 1px solid var(--store-border);
  gap: 16px;
  padding: 16px 0;
  display: flex;
}

.pixel-cart-drawer-item-image {
  background: var(--store-bg);
  border-radius: 8px;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  overflow: hidden;
}

.pixel-cart-drawer-item-info {
  flex: 1;
  min-width: 0;
}

.pixel-cart-drawer-item-name {
  color: var(--store-text);
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
}

.pixel-cart-drawer-item-price {
  color: var(--store-primary);
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

.pixel-cart-drawer-footer {
  border-top: 1px solid var(--store-border);
  background: var(--store-bg);
  padding: 20px 24px;
}

.pixel-cart-drawer-total {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  display: flex;
}

.pixel-cart-drawer-total-label {
  color: var(--store-muted);
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.pixel-cart-drawer-total-value {
  color: var(--store-text);
  margin: 0;
  font-size: 24px;
  font-weight: 800;
}

.pixel-checkout-layout {
  grid-template-columns: 1fr;
  gap: 32px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 24px;
  display: grid;
}

@media (min-width: 1024px) {
  .pixel-checkout-layout {
    grid-template-columns: 1fr 400px;
  }
}

.pixel-checkout-form {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 16px;
  padding: 32px;
}

.pixel-checkout-summary {
  background: var(--store-bg);
  border: 1px solid var(--store-border);
  border-radius: 16px;
  padding: 24px;
  position: sticky;
  top: 24px;
}

.pixel-hero-gaming {
  text-align: center;
  background: linear-gradient(135deg,
    var(--store-bg) 0%,
    rgba(var(--store-primary-rgb), .1) 100%);
  justify-content: center;
  align-items: center;
  min-height: 500px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.pixel-hero-gaming:before {
  content: "";
  background: radial-gradient(ellipse at 20% 80%,
      rgba(var(--store-primary-rgb), .2) 0%,
      transparent 50%),
    radial-gradient(ellipse at 80% 20%,
      rgba(var(--store-primary-rgb), .15) 0%,
      transparent 50%);
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.pixel-hero-gaming-content {
  z-index: 1;
  max-width: 800px;
  padding: 64px 24px;
  position: relative;
}

.pixel-hero-gaming-title {
  color: var(--store-text);
  letter-spacing: -.02em;
  margin: 0 0 16px;
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.1;
}

.pixel-hero-gaming-subtitle {
  color: var(--store-muted);
  margin: 0 0 32px;
  font-size: clamp(1rem, 2vw, 1.25rem);
  line-height: 1.6;
}

.pixel-hero-gaming-cta {
  background: var(--store-primary);
  color: #fff;
  box-shadow: 0 4px 16px rgba(var(--store-primary-rgb), .4);
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s;
  display: inline-flex;
}

.pixel-hero-gaming-cta:hover {
  box-shadow: 0 8px 24px rgba(var(--store-primary-rgb), .5);
  transform: translateY(-2px);
}

.pixel-trust-strip {
  background: var(--store-bg);
  border-top: 1px solid var(--store-border);
  border-bottom: 1px solid var(--store-border);
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  padding: 32px 24px;
  display: grid;
}

.pixel-trust-item {
  text-align: left;
  align-items: center;
  gap: 12px;
  display: flex;
}

.pixel-trust-icon {
  background: rgba(var(--store-primary-rgb), .1);
  width: 48px;
  height: 48px;
  color: var(--store-primary);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.pixel-trust-label {
  color: var(--store-text);
  margin: 0 0 2px;
  font-size: 14px;
  font-weight: 700;
}

.pixel-trust-value {
  color: var(--store-muted);
  margin: 0;
  font-size: 12px;
}

.pixel-reviews-section {
  padding: 48px 0;
}

.pixel-reviews-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  display: flex;
}

.pixel-reviews-title {
  color: var(--store-text);
  margin: 0;
  font-size: 24px;
  font-weight: 800;
}

.pixel-reviews-count {
  color: var(--store-muted);
  margin: 0;
  font-size: 14px;
}

.pixel-review-card {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 12px;
  margin-bottom: 16px;
  padding: 24px;
}

.pixel-review-header {
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.pixel-review-avatar {
  background: rgba(var(--store-primary-rgb), .1);
  width: 40px;
  height: 40px;
  color: var(--store-primary);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  display: flex;
}

.pixel-review-author {
  color: var(--store-text);
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.pixel-review-date {
  color: var(--store-muted);
  margin: 0;
  font-size: 12px;
}

.pixel-review-stars {
  gap: 2px;
  margin-bottom: 12px;
  display: flex;
}

.pixel-review-star {
  color: #fbbf24;
}

.pixel-review-star-empty {
  color: var(--store-border);
}

.pixel-review-text {
  color: var(--store-text);
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}

.pixel-payment-methods {
  padding: 24px 0;
}

.pixel-payment-title {
  color: var(--store-text);
  text-transform: uppercase;
  letter-spacing: .05em;
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 700;
}

.pixel-payment-icons {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.pixel-payment-icon {
  border: 1px solid var(--store-border);
  background: var(--store-surface);
  width: 48px;
  height: 32px;
  color: var(--store-muted);
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  display: flex;
}

.pixel-bundle-section {
  background: var(--store-bg);
  padding: 48px 0;
}

.pixel-bundle-header {
  text-align: center;
  margin-bottom: 32px;
}

.pixel-bundle-title {
  color: var(--store-text);
  margin: 0 0 8px;
  font-size: 28px;
  font-weight: 800;
}

.pixel-bundle-subtitle {
  color: var(--store-muted);
  margin: 0;
  font-size: 16px;
}

.pixel-bundle-badge {
  background: rgba(var(--store-primary-rgb), .1);
  color: var(--store-primary);
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 20px;
  align-items: center;
  gap: 6px;
  margin-top: 12px;
  padding: 6px 14px;
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
}

.pixel-category-rail {
  padding: 32px 0;
  overflow-x: auto;
}

.pixel-category-rail-inner {
  gap: 16px;
  min-width: max-content;
  display: flex;
}

.pixel-category-chip {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  border-radius: 12px;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 120px;
  padding: 16px 24px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.pixel-category-chip:hover {
  border-color: var(--store-primary);
  box-shadow: 0 4px 12px rgba(var(--store-primary-rgb), .15);
}

.pixel-category-chip-icon {
  background: rgba(var(--store-primary-rgb), .1);
  width: 48px;
  height: 48px;
  color: var(--store-primary);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.pixel-category-chip-name {
  color: var(--store-text);
  text-align: center;
  font-size: 13px;
  font-weight: 600;
}

.pixel-category-chip-count {
  color: var(--store-muted);
  font-size: 11px;
}

.pixel-promo-strip {
  background: linear-gradient(90deg,
    var(--store-primary) 0%,
    rgba(var(--store-primary-rgb), .85) 100%);
  color: #fff;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  display: flex;
}

.pixel-promo-text {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

.pixel-promo-cta {
  color: var(--store-primary);
  background: #fff;
  border-radius: 8px;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: all .2s;
  display: inline-flex;
}

.pixel-promo-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px #00000026;
}

.nb-store-nav-link {
  transition: color .3s;
  position: relative;
  overflow: hidden;
}

.nb-store-nav-link:before {
  content: "";
  background: var(--store-primary);
  transform-origin: 100%;
  width: 100%;
  height: 2px;
  transition: transform .3s cubic-bezier(.4, 0, .2, 1);
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scaleX(0);
}

.nb-store-nav-link:hover:before, .nb-store-nav-link.is-active:before {
  transform-origin: 0;
  transform: scaleX(1);
}

.nb-store-nav-link:hover {
  color: var(--store-primary);
}

.nb-store-nav-link.is-active {
  color: var(--store-primary);
  font-weight: 600;
}

.pixel-product-card {
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.pixel-product-card-image {
  aspect-ratio: 1;
  background: var(--store-bg);
  position: relative;
  overflow: hidden;
}

.pixel-product-card-image img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1), opacity .4s;
}

.pixel-product-card:hover .pixel-product-card-image img {
  transform: scale(1.08);
}

.pixel-product-card-actions {
  z-index: 10;
  opacity: 0;
  flex-direction: column;
  gap: 8px;
  transition: opacity .3s, transform .3s;
  display: flex;
  position: absolute;
  top: 12px;
  right: 12px;
  transform: translateX(10px);
}

.pixel-product-card:hover .pixel-product-card-actions {
  opacity: 1;
  transform: translateX(0);
}

.pixel-product-card-action-btn {
  background: var(--store-surface);
  border: 1px solid var(--store-border);
  cursor: pointer;
  width: 36px;
  height: 36px;
  color: var(--store-muted);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  transition: all .2s;
  display: flex;
}

.pixel-product-card-action-btn:hover {
  background: var(--store-primary);
  color: #fff;
  border-color: var(--store-primary);
}

.pixel-product-card-badge {
  animation: 2s ease-in-out infinite pixel-badge-pulse;
}

@keyframes pixel-badge-pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(var(--store-primary-rgb), .4);
  }

  50% {
    box-shadow: 0 0 0 6px rgba(var(--store-primary-rgb), 0);
  }
}

.pixel-hero-carousel {
  background: var(--store-bg);
  width: 100%;
  height: 70vh;
  min-height: 500px;
  max-height: 800px;
  position: relative;
  overflow: hidden;
}

.pixel-hero-carousel-slide {
  opacity: 0;
  transition: opacity .8s ease-in-out;
  position: absolute;
  inset: 0;
}

.pixel-hero-carousel-slide.active {
  opacity: 1;
}

.pixel-hero-carousel-image {
  position: absolute;
  inset: 0;
}

.pixel-hero-carousel-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.pixel-hero-carousel-overlay {
  background: linear-gradient(90deg, #000000b3 0%, #0000004d 50%, #0000 100%);
  align-items: center;
  padding: 0 clamp(40px, 8vw, 120px);
  display: flex;
  position: absolute;
  inset: 0;
}

.pixel-hero-carousel-content {
  color: #fff;
  max-width: 600px;
}

.pixel-hero-carousel-tag {
  background: var(--store-primary);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .1em;
  border-radius: 4px;
  margin-bottom: 20px;
  padding: 6px 16px;
  font-size: 12px;
  font-weight: 700;
  display: inline-block;
}

.pixel-hero-carousel-title {
  text-transform: uppercase;
  letter-spacing: -.02em;
  margin: 0 0 16px;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  line-height: 1.1;
}

.pixel-hero-carousel-description {
  opacity: .9;
  margin: 0 0 32px;
  font-size: 16px;
  line-height: 1.6;
}

.pixel-hero-carousel-cta {
  background: var(--store-primary);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(var(--store-primary-rgb), .4);
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  padding: 16px 32px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: all .3s;
  display: inline-flex;
}

.pixel-hero-carousel-cta:hover {
  background: var(--store-dark);
  box-shadow: 0 8px 30px rgba(var(--store-primary-rgb), .5);
  transform: translateY(-2px);
}

.pixel-hero-carousel-dots {
  z-index: 10;
  gap: 12px;
  display: flex;
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
}

.pixel-hero-carousel-dot {
  cursor: pointer;
  background: #fff6;
  border: none;
  border-radius: 50%;
  width: 12px;
  height: 12px;
  transition: all .3s;
}

.pixel-hero-carousel-dot.active {
  background: var(--store-primary);
  transform: scale(1.2);
}

.pixel-hero-carousel-dot:hover {
  background: #fffc;
}

.pixel-hero-carousel-arrow {
  color: #fff;
  cursor: pointer;
  z-index: 10;
  background: #00000080;
  border: 1px solid #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.pixel-hero-carousel-arrow:hover {
  background: var(--store-primary);
  border-color: var(--store-primary);
}

.pixel-hero-carousel-arrow--prev {
  left: 24px;
}

.pixel-hero-carousel-arrow--next {
  right: 24px;
}

.pixel-category-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  padding: 40px 0;
  display: grid;
}

.pixel-category-card {
  cursor: pointer;
  border-radius: 16px;
  height: 200px;
  text-decoration: none;
  position: relative;
  overflow: hidden;
}

.pixel-category-card-bg {
  background-position: center;
  background-size: cover;
  transition: transform .6s cubic-bezier(.4, 0, .2, 1);
  position: absolute;
  inset: 0;
}

.pixel-category-card:hover .pixel-category-card-bg {
  transform: scale(1.1);
}

.pixel-category-card-overlay {
  background: linear-gradient(#0000 0%, #000000b3 100%);
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  transition: background .3s;
  display: flex;
  position: absolute;
  inset: 0;
}

.pixel-category-card:hover .pixel-category-card-overlay {
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(var(--store-primary-rgb), .8) 100%);
}

.pixel-category-card-title {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
}

.pixel-category-card-count {
  color: #fffc;
  margin: 0;
  font-size: 14px;
}

.pixel-category-card-arrow {
  color: #fff;
  opacity: 0;
  background: #fff3;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  transition: all .3s;
  display: flex;
  position: absolute;
  top: 20px;
  right: 20px;
  transform: translateX(-10px);
}

.pixel-category-card:hover .pixel-category-card-arrow {
  opacity: 1;
  transform: translateX(0);
}

.pixel-announcement-bar-enhanced {
  background: var(--store-dark, #1a1a2e);
  color: #fff;
  letter-spacing: .02em;
  z-index: 60;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding: 10px 24px;
  font-size: 13px;
  font-weight: 600;
  display: flex;
  position: relative;
  overflow: hidden;
}

.pixel-announcement-bar-enhanced-content {
  align-items: center;
  gap: 12px;
  animation: 12s ease-in-out infinite pixel-announcement-slide;
  display: flex;
}

@keyframes pixel-announcement-slide {
  0%, 30% {
    opacity: 1;
    transform: translateY(0);
  }

  33%, 63% {
    opacity: 0;
    transform: translateY(-20px);
  }

  66%, 96% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.pixel-announcement-bar-enhanced-icon {
  color: var(--store-primary);
  flex-shrink: 0;
}

.pixel-announcement-bar-enhanced-link {
  color: var(--store-primary);
  text-underline-offset: 2px;
  font-weight: 700;
  text-decoration: underline;
  transition: color .2s;
}

.pixel-announcement-bar-enhanced-link:hover {
  color: #fff;
  text-decoration: none;
}

.pixel-announcement-bar-enhanced-close {
  color: #fff9;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
  transition: color .2s;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}

.pixel-announcement-bar-enhanced-close:hover {
  color: #fff;
}

.pixel-mega-menu.is-open {
  animation: .3s cubic-bezier(.4, 0, .2, 1) pixel-mega-menu-enter;
}

@keyframes pixel-mega-menu-enter {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pixel-mega-menu-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  display: grid;
}

.pixel-mega-item {
  color: var(--store-text);
  border: 1px solid #0000;
  border-radius: 10px;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  text-decoration: none;
  transition: all .25s cubic-bezier(.4, 0, .2, 1);
  display: flex;
  position: relative;
  overflow: hidden;
}

.pixel-mega-item:before {
  content: "";
  background: linear-gradient(135deg,
    rgba(var(--store-primary-rgb), .08) 0%,
    rgba(var(--store-primary-rgb), .02) 100%);
  opacity: 0;
  transition: opacity .25s;
  position: absolute;
  inset: 0;
}

.pixel-mega-item:hover {
  border-color: rgba(var(--store-primary-rgb), .2);
  transform: translateX(4px);
  box-shadow: 0 4px 12px #0000000d;
}

.pixel-mega-item:hover:before {
  opacity: 1;
}

.pixel-mega-icon {
  background: rgba(var(--store-primary-rgb), .1);
  width: 40px;
  height: 40px;
  color: var(--store-primary);
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  transition: all .25s;
  display: flex;
}

.pixel-mega-item:hover .pixel-mega-icon {
  background: var(--store-primary);
  color: #fff;
  transform: scale(1.05);
}

.pixel-mega-arrow {
  color: var(--store-muted);
  opacity: 0;
  margin-left: auto;
  transition: all .25s;
  transform: translateX(-8px);
}

.pixel-mega-item:hover .pixel-mega-arrow {
  opacity: 1;
  color: var(--store-primary);
  transform: translateX(0);
}

.pixel-product-grid {
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  padding: 24px 0;
  display: grid;
}

@media (min-width: 1024px) {
  .pixel-product-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.pixel-footer {
  background: var(--store-dark, #0a0a1a);
  color: #fff;
  padding: 64px 0 32px;
}

.pixel-footer-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(20px, 4vw, 48px);
  display: grid;
}

.pixel-footer-col-title {
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #fff;
  margin: 0 0 20px;
  font-size: 14px;
  font-weight: 700;
}

.pixel-footer-col-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pixel-footer-col-list li {
  margin-bottom: 12px;
}

.pixel-footer-col-list a {
  color: #ffffffb3;
  font-size: 14px;
  text-decoration: none;
  transition: color .2s;
}

.pixel-footer-col-list a:hover {
  color: var(--store-primary);
}

.pixel-footer-newsletter {
  margin-top: 24px;
}

.pixel-footer-newsletter-form {
  gap: 8px;
  display: flex;
}

.pixel-footer-newsletter-input {
  color: #fff;
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: 8px;
  flex: 1;
  padding: 12px 16px;
  font-size: 14px;
}

.pixel-footer-newsletter-input::placeholder {
  color: #ffffff80;
}

.pixel-footer-newsletter-btn {
  background: var(--store-primary);
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 700;
  transition: all .2s;
}

.pixel-footer-newsletter-btn:hover {
  background: var(--store-dark);
  transform: translateY(-1px);
}

.pixel-footer-social {
  gap: 12px;
  margin-top: 24px;
  display: flex;
}

.pixel-footer-social-link {
  color: #fff;
  background: #ffffff1a;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  text-decoration: none;
  transition: all .2s;
  display: flex;
}

.pixel-footer-social-link:hover {
  background: var(--store-primary);
  transform: translateY(-2px);
}

.pixel-footer-bottom {
  border-top: 1px solid #ffffff1a;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  max-width: 1200px;
  margin: 48px auto 0;
  padding: 24px clamp(20px, 4vw, 48px) 0;
  display: flex;
}

.pixel-footer-copyright {
  color: #ffffff80;
  margin: 0;
  font-size: 13px;
}

.pixel-footer-payments {
  gap: 12px;
  display: flex;
}

.pixel-footer-payment-icon {
  opacity: .6;
  height: 24px;
  transition: opacity .2s;
}

.pixel-footer-payment-icon:hover {
  opacity: 1;
}

/*# sourceMappingURL=apps_web_src_app_02zdc6_._.css.map*/