/* SMART CAMERA 47 — dark header/hero + bright, readable shopping sections.
   Presentation overrides ONLY: no changes to product/admin/storage logic. */
:root {
  --hy-navy: #101827;
  --hy-night: #0a1425;
  --hy-ink: #142238;
  --hy-muted: #53657b;
  --hy-blue: #2563eb;
  --hy-blue-light: #dbeafe;
  --hy-paper: #f5f8fc;
  --hy-line: #dbe4ee;
  --tr-blue: #2563eb;
  --tr-green: #2563eb;
  --tr-green-dark: #1d4ed8;
  --tr-gradient-brand: linear-gradient(125deg, #2563eb, #408bff);
  --tr-shadow-glow: 0 14px 34px rgba(37,99,235,.23);
  --smart-green: #2563eb;
  --smart-green-dark: #1d4ed8;
}
html { scroll-padding-top: 90px; }
body { background: var(--hy-paper); color: var(--hy-ink); }
/* Navigation sits visually with the dark hero. The logo PNG is transparent;
   keep it borderless and brighten it slightly for contrast on the dark header. */
.topbar { background: #07101e !important; color: #d8e5f8 !important; }
.topbar-contact { color: #bfdbfe !important; }
.site-header {
  background: rgba(13, 24, 42, .97) !important;
  border-bottom: 1px solid rgba(186, 205, 239, .18) !important;
  box-shadow: 0 8px 24px rgba(2, 8, 24, .15);
  -webkit-backdrop-filter: blur(16px) !important;
  backdrop-filter: blur(16px) !important;
}
.site-header .logo, .site-header .site-logo {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.site-header .brand-logo {
  max-width: 100%;
  object-fit: contain !important;
  filter: brightness(1.55) saturate(1.08) drop-shadow(0 3px 10px rgba(0,0,0,.28));
}
.footer-brand-logo {
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  filter: brightness(1.55) saturate(1.08) drop-shadow(0 3px 10px rgba(0,0,0,.28)) !important;
}
.site-header .desktop-nav a { color: #e7eef9 !important; }
.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible { color: #93c5fd !important; }
.site-header .desktop-nav a::after { background: #60a5fa !important; }
.site-header .icon-button,
.site-header .header-action-button,
.site-header .admin-access-link {
  background: rgba(255,255,255,.09) !important;
  color: #f2f6ff !important;
  border: 1px solid rgba(222,233,255,.22) !important;
}
.site-header .header-action-button span:not(.cart-count),
.site-header .header-search-pill { color: #f2f6ff !important; }
.site-header .icon-button:hover,
.site-header .header-action-button:hover,
.site-header .admin-access-link:hover {
  background: rgba(96,165,250,.20) !important;
  border-color: #93c5fd !important;
  color: #fff !important;
}
.site-header .admin-access-link span:first-child { color: #93c5fd !important; }
.site-header .cart-count { background: var(--hy-blue) !important; color: #fff !important; }
.site-header .header-search,
.site-header .mobile-nav {
  background: #15243a !important;
  border-color: rgba(255,255,255,.14) !important;
}
.site-header .mobile-nav a { color: #eef5ff !important; border-color: rgba(255,255,255,.13) !important; }
.site-header .header-search-inner input { background: #fff !important; color: var(--hy-ink) !important; }
/* DARK INTRO: all copy stays legible regardless of dynamic hero content. */
.nova-hero {
  background: linear-gradient(119deg, #0d1728 0%, #132b4a 57%, #0a172b 100%) !important;
  color: #fff !important;
}
.nova-hero::before {
  background:
    radial-gradient(circle at 76% 30%, rgba(54,125,255,.30), transparent 43%),
    radial-gradient(circle at 6% 96%, rgba(28,89,159,.22), transparent 48%) !important;
}
.nova-hero-content .section-eyebrow {
  background: rgba(147,197,253,.14) !important;
  border: 1px solid rgba(147,197,253,.27) !important;
  color: #bfdbfe !important;
}
.nova-hero-content h1 { color: #fff !important; text-wrap: balance; }
.nova-hero-content h1 span {
  background: linear-gradient(115deg, #c8e4ff, #71b5ff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
.nova-hero-description { color: #d2def0 !important; }
.nova-hero .primary-button {
  background: linear-gradient(125deg,#2563eb,#3b82f6) !important;
  color: #fff !important;
  box-shadow: 0 14px 32px rgba(37,99,235,.28) !important;
}
.nova-hero .secondary-button {
  background: rgba(255,255,255,.08) !important;
  border: 1.5px solid rgba(219,234,254,.55) !important;
  color: #f5f9ff !important;
}
.nova-hero .secondary-button:hover { background: rgba(255,255,255,.17) !important; color: #fff !important; }
.hero-stats { border-top: 1px solid rgba(221,234,255,.24) !important; }
.hero-stat strong {
  background: linear-gradient(125deg,#e8f5ff,#88baff) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
.hero-stat span, .hero-dots-label { color: #c5d5e9 !important; }
.hero-category-strip span, .hero-annotation { color: #f1f7ff !important; }
.hero-annotation-bottom { color: #93c5fd !important; }
.hero-dot { background: rgba(219,234,254,.38) !important; }
.hero-dot.active { background: #60a5fa !important; }
/* A pale photo surface keeps the actual camera images crisp and true to color. */
.hero-main-card { background: linear-gradient(150deg, #f8fbff, #eaf2ff) !important;
  box-shadow: 0 34px 80px rgba(0,0,0,.32) !important; }
.hero-feature-item { background: rgba(255,255,255,.97) !important; color: var(--hy-ink) !important; }
.hero-floating-badge { background: #fff !important; }
.hero-floating-badge > span, .hero-floating-badge small { color: #1d4ed8 !important; }
.hero-badge-arrow { background: var(--tr-gradient-brand) !important; }
/* LIGHT PRODUCT DISCOVERY — overrides the prior dark background from style.css. */
.use-cases { background: #eaf1fa !important; padding: 30px 0 !important; }
.use-case-card {
  background: #fff !important;
  border: 1px solid #dce6f2 !important;
  color: var(--hy-ink) !important;
  box-shadow: 0 8px 20px rgba(15,35,62,.045) !important;
}
.use-case-card strong { color: var(--hy-ink) !important; }
.use-case-card > span:not(.use-case-kicker) { color: var(--hy-muted) !important; opacity: 1 !important; }
.use-case-card i { color: #1d4ed8 !important; }
.use-case-card .use-case-kicker { color: #2563eb !important; }
.best-sellers-section, .products-section {
  background-image: none !important;
  background-color: #f2f6fc !important;
  background: #f2f6fc !important;
  color: var(--hy-ink) !important;
  border: 0 !important;
}
.best-sellers-section { background: #eaf1fa !important; border-top: 1px solid #dce6f2 !important; }
.products-section { background: #f7f9fd !important; }
.best-sellers-section::before, .products-section::before { content: none !important; }
.best-sellers-section .section-heading h2,
.products-section .section-heading h2 { color: #142238 !important; }
.best-sellers-section .section-eyebrow,
.products-section .section-eyebrow,
.section-heading h2 span { color: #1d4ed8 !important; }
.best-sellers-section .view-all-link,
.products-section .view-all-link { color: #1d4ed8 !important; }
.products-heading-meta { color: #53657b !important; }
.product-toolbar, .advanced-filter-panel, .products-catalog-sidebar {
  background: #fff !important;
  border-color: #dbe4ee !important;
  color: var(--hy-ink) !important;
  box-shadow: 0 8px 26px rgba(19,39,70,.035) !important;
}
.product-toolbar-search input, .product-sort-select,
.products-section input, .products-section select {
  background: #fff !important;
  color: #142238 !important;
  border-color: #cbd7e7 !important;
}
.filter-button, .filter-chip {
  background: #fff !important;
  border-color: #cfdae8 !important;
  color: #263c58 !important;
}
.filter-button:hover, .filter-chip:hover { background: #eaf2ff !important; color: #1d4ed8 !important; }
.filter-button.active, .filter-chip.active {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #fff !important;
}
.product-card { background: #fff !important;
  border: 1px solid #e0e8f2 !important;
  box-shadow: 0 12px 30px rgba(22,42,70,.07) !important; }
.product-card:hover { box-shadow: 0 22px 42px rgba(22,42,70,.14) !important; }
.product-card-image-wrap { background: #f5f8fd !important; }
.product-card-image-link { background: #f6f9fd !important; }
.product-card-badge { background: #2563eb !important; box-shadow: 0 8px 18px rgba(37,99,235,.2) !important; }
.product-card-brand, .product-card-price { color: #1d4ed8 !important; }
.product-card-title { color: var(--hy-ink) !important; }
.product-card-specs { color: var(--hy-muted) !important; }
.product-card-button { color: var(--hy-ink) !important; border-color: #ccd8e9 !important; }
.product-card-button:hover { background: #2563eb !important; color: #fff !important; border-color: #2563eb !important; }
.products-empty-state { color: var(--hy-ink) !important; }
.rail-arrow { background: #fff !important; color: var(--hy-ink) !important; border: 1px solid #dbe4ee !important; }
.trust-strip { background: #f7f9fd !important; }
.trust-grid { background: #eaf1fa !important; }
.trust-grid > div { border-color: #d2dfee !important; }
.trust-grid strong { color: var(--hy-ink) !important; }
.trust-grid span { color: var(--hy-muted) !important; }
/* Dark finishing band balances the dark top; public detail stays light. */
.nova-newsletter { background: #14243b !important; color: #f8fbff !important; border-top: none !important; }
.nova-newsletter-copy strong, .nova-newsletter-copy h2 { color: #fff !important; }
.nova-newsletter-copy p { color: #cbd9ec !important; }
.nova-newsletter-form button { background: #2563eb !important; color: #fff !important; }
.site-footer { background: #0a1425 !important; }
.site-footer::before { background: linear-gradient(90deg,#2563eb,#60a5fa) !important; }
/* The detailed product's content and existing description/video widgets stay light. */
.product-page, .related-products-section { background: #f7f9fd !important; color: var(--hy-ink) !important; }
.product-detail-info, .product-gallery, .product-description-block { color: var(--hy-ink); }
.product-detail-price { color: #1d4ed8 !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid #60a5fa !important;
  outline-offset: 3px;
}
@media (max-width: 760px) {
  .site-header .logo, .site-header .site-logo { padding: 0 !important; border-radius: 0 !important; background: transparent !important; }
  .nova-hero { padding-top: 38px !important; }
  .nova-hero-content h1 { font-size: clamp(36px,9.5vw,54px) !important; }
  .hero-feature-panel { gap: 8px; }
  .use-cases { padding: 20px 0 !important; }
}
