/* UroStabilix – Neon Surgical Dark Theme */

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&display=swap');

/* ================================================================
   CSS VARIABLES
================================================================ */
:root {
  --c-bg:        #050a12;
  --c-panel:     #080f1c;
  --c-alt:       #060d1a;
  --c-cyan:      #00d4ff;
  --c-cyan2:     #0099cc;
  --c-green:     #00ffaa;
  --c-green2:    #00cc88;
  --c-text:      #d6eaff;
  --c-text-dim:  #5a8aaa;
  --c-border:    rgba(0,212,255,0.22);
  --c-border2:   rgba(0,212,255,0.50);
  --c-glow:      rgba(0,212,255,0.45);
  --c-glow2:     rgba(0,255,170,0.35);
  --c-scan:      rgba(0,212,255,0.03);
}

/* ================================================================
   ANIMATIONS
================================================================ */
@keyframes pulseGlow {
  0%,100% { opacity: 0.7; }
  50%      { opacity: 1; }
}
@keyframes accentBar {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes scanlines {
  from { background-position: 0 0; }
  to   { background-position: 0 8px; }
}

/* ================================================================
   GLOBAL BODY — darkest background, scanline texture
================================================================ */
html body,
html body.u-body {
  font-family: 'Inter', 'Segoe UI', sans-serif !important;
  color: var(--c-text) !important;
  background-color: var(--c-bg) !important;
  -webkit-font-smoothing: antialiased;
}

/* Full-page dot-grid background */
html body.u-body::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-image:
    radial-gradient(circle, rgba(0,212,255,0.08) 1px, transparent 1px) !important;
  background-size: 32px 32px !important;
}

/* ================================================================
   TYPOGRAPHY
================================================================ */
html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body .u-body h1, html body .u-body h2,
html body .u-body h3, html body .u-body h4 {
  font-family: 'Space Grotesk', 'Segoe UI', sans-serif !important;
  color: var(--c-text) !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

html body h1 {
  color: var(--c-cyan) !important;
  text-shadow:
    0 0 20px var(--c-glow),
    0 0 50px rgba(0,212,255,0.18) !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
}
html body h2 {
  color: var(--c-text) !important;
  text-shadow: 0 0 18px var(--c-glow) !important;
}
html body h3 {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 14px var(--c-glow) !important;
}

html body p,
html body .u-text-1, html body .u-text-2,
html body .u-text-3, html body .u-text-4,
html body .u-text-5, html body .u-text-6,
html body .u-text-7, html body .u-text-8,
html body .u-text-default, html body .u-text-variant {
  color: var(--c-text) !important;
  line-height: 1.7 !important;
}

html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo) {
  color: var(--c-green) !important;
  text-decoration: none !important;
  transition: color 0.2s, text-shadow 0.2s !important;
}
html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo):hover {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 10px var(--c-glow) !important;
}

/* ================================================================
   LOGO
================================================================ */
html body .u-logo.u-logo-text,
html body a.u-logo.u-logo-text {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 1.55rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  color: var(--c-text) !important;
  text-decoration: none !important;
  padding: 0.4em 0 !important;
  min-height: auto !important;
  width: auto !important;
  transition: color 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
}
html body .u-logo.u-logo-text::before {
  content: '' !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  width: 4px !important;
  height: 1.4em !important;
  background: linear-gradient(180deg, var(--c-cyan) 0%, var(--c-green) 100%) !important;
  border-radius: 4px !important;
  box-shadow: 0 0 12px var(--c-glow), 0 0 24px var(--c-glow2) !important;
  animation: pulseGlow 2.4s ease-in-out infinite !important;
}
html body .u-logo.u-logo-text:hover {
  color: var(--c-cyan) !important;
}

/* ================================================================
   HEADER — glassmorphism dark bar
================================================================ */
html body .u-header,
html body .u-header.u-palette-4-light-3,
html body header.u-header,
.u-palette-4-light-3,
section.u-palette-4-light-3,
.u-palette-4-light-3 > .u-container-layout,
.u-palette-4-light-3 > .u-inner-container-layout,
.u-container-layout.u-container-layout.u-palette-4-light-3 {
  background-color: rgba(5,10,18,0.92) !important;
  backdrop-filter: blur(20px) saturate(1.5) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.5) !important;
  border-bottom: 1px solid var(--c-border2) !important;
  box-shadow:
    0 4px 30px rgba(0,0,0,0.7),
    0 1px 0 var(--c-border) !important;
  color: var(--c-text) !important;
}

/* Header ::before (Nicepage uses this for section bg — zero it out) */
section.u-palette-4-light-3::before,
.u-palette-4-light-3 > .u-container-layout::before,
.u-palette-4-light-3 > .u-inner-container-layout::before,
.u-container-layout.u-container-layout.u-palette-4-light-3::before {
  background-color: transparent !important;
}

/* Nav links */
html body .u-nav-link,
html body .u-palette-4-light-3 .u-nav-link,
html body .u-palette-4-light-3 .u-text-grey-90,
html body .u-palette-4-light-3 .u-text-palette-1-base {
  color: var(--c-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.9rem !important;
  letter-spacing: 0.04em !important;
  transition: color 0.2s !important;
}
html body .u-nav-link:hover,
html body .u-palette-4-light-3 .u-nav-link:hover {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 8px var(--c-glow) !important;
}

/* ================================================================
   ALL SECTIONS — dark base
================================================================ */
html body section,
html body .u-section-1,
html body .u-section-2,
html body .u-section-3,
html body .u-section-4,
html body .u-section-5,
html body .u-section-6,
html body .u-section-7,
html body .u-section-8 {
  background-color: var(--c-bg) !important;
  position: relative !important;
  z-index: 1 !important;
}

/* ================================================================
   WHITE SECTIONS — dark glass panels
================================================================ */
.u-white,
section.u-white,
html body .u-white,
html body section.u-white {
  background-color: var(--c-panel) !important;
  color: var(--c-text) !important;
}

/* Override the Nicepage ::before that carries the white background */
section.u-white::before,
.u-white > .u-container-layout::before,
.u-white > .u-inner-container-layout::before,
.u-white > .u-audio-main-layout-wrapper::before,
.u-white.u-sidenav::before,
.u-container-layout.u-container-layout.u-white::before {
  background-color: var(--c-panel) !important;
}

/* Cyan top-edge glow line on white sections */
section.u-white::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-cyan) 30%,
    var(--c-green) 70%,
    transparent 100%) !important;
  opacity: 0.6 !important;
  z-index: 2 !important;
}

.u-white .u-text-1, .u-white .u-text-2, .u-white .u-text-3,
.u-white .u-text-4, .u-white .u-text-5, .u-white .u-text-6,
.u-white .u-text-7, .u-white .u-text-8, .u-white p,
.u-white h3, .u-white h2, .u-white h1 {
  color: var(--c-text) !important;
}
.u-white h3 {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 14px var(--c-glow) !important;
}

/* ================================================================
   ALTERNATING PALETTE SECTIONS — slightly different dark shade
================================================================ */
html body .u-section-2,
html body .u-section-4,
html body .u-section-6,
html body .u-section-8,
html body section.u-palette-4-light-3:not(.u-header):not(.u-sticky) {
  background-color: var(--c-alt) !important;
}

section.u-palette-4-light-3:not(.u-header)::before,
.u-palette-4-light-3:not(.u-header) > .u-container-layout::before,
.u-palette-4-light-3:not(.u-header) > .u-inner-container-layout::before {
  background-color: var(--c-alt) !important;
}

html body .u-section-2 h3,
html body .u-section-4 h3,
html body .u-section-6 h3,
html body .u-section-8 h3,
html body .u-palette-4-light-3 h3 {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 16px var(--c-glow) !important;
}

html body .u-section-2 .u-text-1,
html body .u-section-4 .u-text-1,
html body .u-section-6 .u-text-1 {
  color: var(--c-cyan) !important;
  text-shadow: 0 0 12px var(--c-glow) !important;
}

/* Cyan bottom-edge line for alt sections */
html body .u-section-2::after,
html body .u-section-4::after,
html body .u-section-6::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-green) 30%,
    var(--c-cyan) 70%,
    transparent 100%) !important;
  opacity: 0.5 !important;
  z-index: 2 !important;
}

/* ================================================================
   LAYOUT CELLS — glass card style
================================================================ */
html body .u-layout-cell.u-white,
html body .u-layout-cell.u-white.u-layout-cell-1,
html body .u-layout-cell.u-white.u-layout-cell-2,
html body .u-layout-cell.u-white.u-layout-cell-3,
html body .u-layout-cell.u-white.u-layout-cell-4 {
  background-color: rgba(0, 20, 45, 0.7) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px !important;
  backdrop-filter: blur(10px) !important;
  box-shadow:
    0 8px 32px rgba(0,0,0,0.4),
    0 0 0 1px rgba(0,212,255,0.08),
    inset 0 1px 0 rgba(0,212,255,0.1) !important;
  transition: box-shadow 0.3s !important;
}
html body .u-layout-cell.u-white:hover {
  box-shadow:
    0 12px 40px rgba(0,0,0,0.5),
    0 0 0 1px var(--c-border),
    inset 0 1px 0 rgba(0,212,255,0.15) !important;
}

html body .u-layout-cell.u-white .u-container-layout::before,
html body .u-layout-cell.u-white > .u-container-layout::before {
  background-color: transparent !important;
}

/* ================================================================
   FOOTER
================================================================ */
html body .u-footer,
html body .u-footer.u-grey-90,
html body footer.u-footer,
html body .u-grey-90 {
  background-color: #020509 !important;
  border-top: 1px solid var(--c-border2) !important;
  box-shadow: 0 -10px 50px rgba(0,0,0,0.8) !important;
  color: var(--c-text-dim) !important;
  position: relative !important;
}

html body .u-footer::before,
html body .u-grey-90::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg,
    transparent,
    var(--c-green) 30%,
    var(--c-cyan) 70%,
    transparent) !important;
  opacity: 0.8 !important;
}

html body .u-footer .u-text-1,
html body .u-footer .u-text-2,
html body .u-footer .u-text-legal,
html body .u-grey-90 .u-text-variant,
html body .u-grey-90 .u-text-1,
html body .u-grey-90 p {
  color: var(--c-text-dim) !important;
  font-size: 0.82rem !important;
  line-height: 1.7 !important;
}

html body .u-footer a,
html body .u-grey-90 a {
  color: var(--c-cyan) !important;
  transition: color 0.2s !important;
}
html body .u-footer a:hover,
html body .u-grey-90 a:hover {
  color: var(--c-green) !important;
  text-shadow: 0 0 8px var(--c-glow2) !important;
}
html body .u-text-palette-1-light-3,
html body .u-btn.u-text-palette-1-light-3 {
  color: var(--c-cyan) !important;
}

/* ================================================================
   BUTTONS
================================================================ */
html body .u-btn-submit,
html body .u-button-style.u-palette-1-dark-3,
html body .u-active-palette-1-dark-3,
html body .u-hover-palette-1-dark-1,
html body a.u-btn.u-btn-submit {
  background: linear-gradient(135deg, var(--c-cyan) 0%, var(--c-cyan2) 100%) !important;
  color: #020a14 !important;
  border: none !important;
  border-radius: 6px !important;
  text-transform: none !important;
  letter-spacing: 0.03em !important;
  font-weight: 600 !important;
  font-family: 'Space Grotesk', sans-serif !important;
  box-shadow:
    0 4px 20px var(--c-glow),
    0 0 0 1px rgba(0,212,255,0.25) !important;
  transition: all 0.25s ease !important;
}
html body .u-btn-submit:hover,
html body .u-button-style.u-palette-1-dark-3:hover {
  background: linear-gradient(135deg, var(--c-green) 0%, var(--c-green2) 100%) !important;
  color: #020a14 !important;
  box-shadow:
    0 6px 28px var(--c-glow2),
    0 0 0 1px rgba(0,255,170,0.3) !important;
  transform: translateY(-2px) !important;
}

/* ================================================================
   FORM INPUTS
================================================================ */
html body .u-input,
html body .u-input-rectangle,
html body .u-form-group input,
html body .u-form-group textarea {
  background-color: rgba(0, 16, 36, 0.85) !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 6px !important;
  font-family: 'Inter', sans-serif !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
html body .u-input:focus,
html body .u-form-group input:focus,
html body .u-form-group textarea:focus {
  border-color: var(--c-cyan) !important;
  box-shadow:
    0 0 0 3px rgba(0,212,255,0.14),
    0 0 18px var(--c-glow) !important;
  outline: none !important;
}
html body .u-input::placeholder,
html body .u-input-rectangle::placeholder {
  color: var(--c-text-dim) !important;
  opacity: 0.75 !important;
}

/* ================================================================
   DIVIDERS
================================================================ */
html body .u-line-horizontal,
html body .u-border-grey-dark-1,
html body .u-line.u-line-horizontal {
  background: linear-gradient(90deg,
    transparent,
    var(--c-cyan),
    transparent) !important;
  border: none !important;
  height: 1px !important;
  opacity: 0.45 !important;
}

/* ================================================================
   IMAGES — subtle cool tint
================================================================ */
html body .u-image img {
  filter: contrast(1.06) saturate(0.88) brightness(0.92) !important;
}

/* ================================================================
   MOBILE NAV
================================================================ */
html body .u-sidenav,
html body .u-menu-overlay {
  background-color: rgba(2, 5, 12, 0.97) !important;
  border-left: 1px solid var(--c-border2) !important;
  backdrop-filter: blur(24px) !important;
}
html body .u-sidenav .u-nav-link {
  color: var(--c-text) !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 500 !important;
}
html body .u-sidenav .u-nav-link:hover {
  color: var(--c-cyan) !important;
}

/* ================================================================
   OVERLAP HEADER FIX
================================================================ */
html body .u-overlap:not(.u-sticky-scroll) .u-header,
.u-overlap:not(.u-sticky-scroll) .u-header {
  background-color: rgba(5, 10, 18, 0.92) !important;
  backdrop-filter: blur(20px) !important;
}

/* ================================================================
   FORCE ALL SECTION TEXT VISIBLE
================================================================ */
html body .u-section-1 p, html body .u-section-1 .u-text-1,
html body .u-section-2 p, html body .u-section-2 .u-text-2,
html body .u-section-2 .u-text-4, html body .u-section-2 .u-text-6,
html body .u-section-2 .u-text-8, html body .u-section-2 .u-text-default,
html body .u-section-3 p, html body .u-section-3 .u-text-2,
html body .u-section-4 p, html body .u-section-4 .u-text-2,
html body .u-section-5 p, html body .u-section-5 .u-text-2,
html body .u-section-6 p, html body .u-section-6 .u-text-2,
html body .u-section-7 p, html body .u-section-7 .u-text-2,
html body .u-section-8 p, html body .u-section-8 .u-text-1,
html body .u-section-8 .u-text-2 {
  color: var(--c-text) !important;
}

/* ================================================================
   OVERRIDE NICEPAGE BUTTON-STYLE.U-WHITE (has !important in nicepage.css)
================================================================ */
html body .u-button-style.u-white,
html body .u-button-style.u-white[class*="u-border-"],
html body a.u-button-link.u-white,
html body a.u-btn.u-white {
  color: var(--c-cyan) !important;
  background-color: transparent !important;
}
html body .u-button-style.u-white:hover {
  color: var(--c-green) !important;
}

/* Footer nav links */
html body .u-footer .u-btn.u-button-link,
html body .u-footer a.u-button-link {
  color: var(--c-cyan) !important;
  background-color: transparent !important;
}
html body .u-footer .u-btn.u-button-link:hover {
  color: var(--c-green) !important;
}
