/**
 * Genpro Futuristic — Layout shell (header, footer, ambient, cards)
 */

html.genpro-futuristic {
  scroll-behavior: smooth;
}

body.genpro-futuristic {
  background: var(--fx-bg-deep);
  color: var(--fx-text);
  font-family: var(--fx-font-body);
  font-size: var(--fx-text-base);
  line-height: var(--fx-line-body);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

/* Ambient background mesh */
body.genpro-futuristic::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  background:
    radial-gradient(ellipse 80% 50% at 20% -10%, rgba(255, 102, 0, 0.12), transparent 55%),
    radial-gradient(ellipse 60% 40% at 90% 20%, rgba(0, 229, 255, 0.08), transparent 50%),
    radial-gradient(ellipse 50% 60% at 50% 100%, rgba(168, 85, 247, 0.06), transparent 55%),
    linear-gradient(180deg, var(--fx-bg-deep) 0%, #080a10 50%, var(--fx-bg-deep) 100%);
  pointer-events: none;
}

body.genpro-futuristic::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.04;
  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.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events: none;
}

/* Particle canvas sits above ambient bg */
#genpro-ambient-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.5;
}

/* Header / nav: see header_floating.css (fx-nav-glass). Legacy .site-header hidden there. */

/* ─── Main content sections ─── */
body.genpro-futuristic main {
  position: relative;
  z-index: 1;
}

body.genpro-futuristic .container {
  position: relative;
}

/* Glass cards on listings / home sections */
body.genpro-futuristic .services-enhanced,
body.genpro-futuristic .products-section,
body.genpro-futuristic .testimonials-section,
body.genpro-futuristic .partners-section,
body.genpro-futuristic .about-section {
  position: relative;
}

body.genpro-futuristic .service-card-enhanced,
body.genpro-futuristic .product-card,
body.genpro-futuristic .project-card,
body.genpro-futuristic .news-card,
body.genpro-futuristic .blog-card,
body.genpro-futuristic .testimonial-card-enhanced,
body.genpro-futuristic .brand-logo-card {
  background: var(--fx-bg-glass) !important;
  backdrop-filter: var(--fx-blur);
  -webkit-backdrop-filter: var(--fx-blur);
  border: 1px solid var(--fx-border) !important;
  border-radius: var(--fx-radius-md) !important;
  box-shadow: var(--fx-shadow-glass);
  transition: transform var(--fx-duration-base) var(--fx-ease-out),
    box-shadow var(--fx-duration-base) var(--fx-ease-out),
    border-color var(--fx-duration-base) var(--fx-ease-out);
}

body.genpro-futuristic .service-card-enhanced:hover,
body.genpro-futuristic .product-card:hover,
body.genpro-futuristic .project-card:hover,
body.genpro-futuristic .news-card:hover,
body.genpro-futuristic .blog-card:hover {
  transform: translateY(-4px);
  border-color: var(--fx-border-accent) !important;
  box-shadow: var(--fx-shadow-glass), var(--fx-shadow-neon);
}

body.genpro-futuristic h1,
body.genpro-futuristic h2,
body.genpro-futuristic h3,
body.genpro-futuristic .section-title-enhanced {
  color: var(--fx-text);
}

body.genpro-futuristic p,
body.genpro-futuristic .section-subtitle-enhanced {
  color: var(--fx-text-muted);
}

body.genpro-futuristic .btn-primary,
body.genpro-futuristic .cta-btn-enhanced,
body.genpro-futuristic .hero-btn-primary-enhanced {
  background: linear-gradient(135deg, var(--fx-accent), var(--fx-accent-bright)) !important;
  border: none !important;
  box-shadow: var(--fx-shadow-neon);
  border-radius: var(--fx-radius-pill) !important;
  min-height: 44px;
}

/* ─── Footer ─── */
body.genpro-futuristic .site-footer.footer-enhanced {
  background: var(--fx-bg-glass-strong);
  backdrop-filter: var(--fx-blur-heavy);
  border-top: 1px solid var(--fx-border-accent);
  margin-top: var(--fx-section-y);
  position: relative;
}

body.genpro-futuristic .footer-nav-heading-enhanced,
body.genpro-futuristic .newsletter-title-enhanced {
  color: var(--fx-text);
  letter-spacing: 0.08em;
}

body.genpro-futuristic .footer-nav-links-enhanced a,
body.genpro-futuristic .legal-link-enhanced,
body.genpro-futuristic .privacy-link-enhanced {
  color: var(--fx-text-muted);
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

body.genpro-futuristic .footer-nav-links-enhanced a:hover {
  color: var(--fx-accent-bright);
}

body.genpro-futuristic .newsletter-input-enhanced {
  background: var(--fx-surface);
  border: 1px solid var(--fx-border);
  color: var(--fx-text);
  border-radius: var(--fx-radius-sm);
}

body.genpro-futuristic .newsletter-btn-enhanced {
  background: linear-gradient(135deg, var(--fx-accent), var(--fx-accent-bright));
  border-radius: var(--fx-radius-sm);
  min-height: 44px;
}

/* Hide legacy chat styles when futuristic assistant is active */
body.genpro-futuristic .chat-assistant-btn:not(.fx-ai-fab),
body.genpro-futuristic .chat-widget:not(.fx-ai-panel) {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  body.genpro-futuristic .service-card-enhanced:hover,
  body.genpro-futuristic .product-card:hover {
    transform: none;
  }
}
