
/* ============ FIX PATCH v1.2 ============ */

/* CSS :hover on .btn-magnetic only fires when JS hasn't taken over */
.btn-magnetic:hover { transform: translateY(-2px) scale(1.03); }
.btn-magnetic.gye-mag-active { transition: transform .12s ease-out !important; }
.btn-magnetic.gye-mag-active:hover { transform: none; }

/* Force body background with !important so Elementor kit CSS cannot override */
body,
body.elementor-page,
body.elementor-kit-8 {
  background: var(--bg) !important;
  color: var(--text) !important;
}

/* Prevent Elementor container padding from breaking full-bleed sections */
.hero-v3, .site-header, .site-footer, .stats-band, .cta-band-v3, .page-hero,
.section, .services-band, .battery-band, .soft-band {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.hero-v3 { padding: 0 !important; }

.contact-form-wrap .wpforms-submit {
  transition: transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease !important;
}

/* ============ RESPONSIVE HARDENING ============ */

@media (max-width: 1024px) {
  .container { padding: 0 24px; }
  .hero-copy h1 { font-size: clamp(36px, 6vw, 64px) !important; }
  .hero-inner { padding: 140px 0 40px !important; }
  .hud-grid { grid-template-columns: repeat(4, 1fr) !important; }
  .hud-a, .hud-b, .hud-c { grid-column: span 2 !important; }
  .hud-d, .hud-e { grid-column: span 2 !important; }
  .hud-f { grid-column: span 4 !important; }
  .stats-grid { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .stat-num { font-size: 36px !important; }
  .services-grid { grid-template-columns: 1fr !important; }
  .services-list { grid-template-columns: 1fr 1fr !important; }
  .battery-grid { grid-template-columns: 1fr !important; }
  .grid-3 { grid-template-columns: 1fr 1fr !important; }
  .contact-grid { grid-template-columns: 1fr !important; }
  .who-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
  .flowchart { flex-direction: column !important; }
  .flow-arrow { transform: rotate(90deg) !important; padding: 0 !important; align-self: center !important; }
}

@media (max-width: 768px) {
  .container { padding: 0 18px !important; }
  .header-row { padding: 12px 18px !important; gap: 12px !important; }
  .nav-desktop { display: none !important; }
  .header-status { display: none !important; }
  .header-actions .theme-toggle { display: none !important; }
  .header-actions .btn-hazard { padding: 10px 16px !important; font-size: 13px !important; }
  .hamburger { display: block !important; }
  .logo-text { font-size: 12px !important; }

  .hero-v3 { min-height: 92vh !important; }
  .hero-copy h1 { font-size: clamp(32px, 8vw, 48px) !important; line-height: 1.1 !important; }
  .hero-inner { padding: 110px 0 32px !important; }
  .hero-ctas { flex-direction: column !important; align-items: stretch !important; gap: 10px !important; }
  .hero-ctas .btn { width: 100% !important; justify-content: center !important; padding: 14px 20px !important; }
  .telemetry-bar { padding: 12px 16px !important; gap: 12px !important; font-size: 11px !important; flex-wrap: wrap !important; }
  .telemetry-sep { display: none !important; }

  .section { padding: 60px 0 !important; }
  .hud-grid { grid-template-columns: 1fr !important; gap: 14px !important; }
  .hud-a, .hud-b, .hud-c, .hud-d, .hud-e, .hud-f { grid-column: span 1 !important; grid-row: auto !important; }
  .hud-panel { padding: 20px !important; }
  .map-embed iframe { min-height: 220px !important; }
  .card-title { font-size: 17px !important; }

  .stats-grid { grid-template-columns: 1fr 1fr !important; gap: 24px !important; }
  .stat-num { font-size: 30px !important; }
  .stat-label { font-size: 10px !important; }

  .services-list { grid-template-columns: 1fr !important; }
  .grid-3 { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; padding: 40px 0 24px !important; }
  .footer-bottom-row { flex-direction: column !important; gap: 8px !important; text-align: center !important; }

  .duration-row { grid-template-columns: 1fr !important; gap: 6px !important; }
  .duration-val { text-align: left !important; }

  .cta-band-inner { flex-direction: column !important; align-items: stretch !important; }
  .newsletter-form { width: 100% !important; max-width: 100% !important; }
  .newsletter-form .btn { width: 100% !important; justify-content: center !important; }

  .contact-form-wrap { padding: 20px !important; }
  .partner-row { justify-content: center !important; }
  .partner-chip { font-size: 12px !important; padding: 9px 16px !important; }

  .floating-cta { right: 14px !important; bottom: 14px !important; padding: 14px !important; }
  .floating-cta span:last-child { display: none !important; }

  .ticker-track { animation-duration: 26s !important; }
  .ticker-item { font-size: 11px !important; gap: 22px !important; }

  .contact-info-col { gap: 12px !important; }
  .contact-info-card { padding: 20px !important; }
}

@media (max-width: 400px) {
  .hero-copy h1 { font-size: 30px !important; }
  .stats-grid { grid-template-columns: 1fr !important; }
  .hud-panel { padding: 18px !important; }
}

.mobile-menu.is-open {
  display: flex !important;
  position: fixed !important;
  inset: 0 !important;
  background: var(--bg) !important;
  z-index: 200 !important;
  padding: 24px !important;
  overflow-y: auto !important;
  flex-direction: column !important;
  gap: 18px !important;
}
.mobile-menu-top { display: flex !important; justify-content: space-between !important; align-items: center !important; }
.mobile-menu nav { display: flex !important; flex-direction: column !important; gap: 12px !important; margin-top: 20px !important; }
.mobile-menu nav a { color: var(--text) !important; text-decoration: none !important; font-size: 22px !important; font-weight: 700 !important; display: flex !important; align-items: center !important; gap: 12px !important; padding: 8px 0 !important; }
.mobile-menu nav a.active { color: var(--lime) !important; }
.mobile-menu nav a .nav-index { font-family: var(--font-mono) !important; color: var(--text-dim) !important; font-size: 12px !important; }
.mobile-menu .btn { justify-content: center !important; padding: 14px 20px !important; }

.e-con-full.hero-v3 { min-height: unset !important; }
.hero-v3 { min-height: 100vh; }
@media (max-width: 768px) { .hero-v3 { min-height: 88vh !important; } }

.ast-scroll-top-icon, #ast-scroll-top { display: none !important; }

.hud-grid { overflow: visible; min-width: 0; }
.hud-panel { min-width: 0; word-wrap: break-word; }

canvas.network-canvas { pointer-events: none !important; }


/* ============ ACTIVE CREWS COUNTER (Team Ready card) ============ */
.status-foot.status-foot-split { display: flex !important; justify-content: space-between !important; align-items: center !important; text-align: left !important; gap: 12px; }
.gye-counter { color: var(--lime); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .02em; display: inline-block; min-width: 1.5ch; text-align: right; }

/* ============ WPForms Name field (First/Last) width fix ============ */
.contact-form-wrap .wpforms-field-name fieldset { min-width: 0 !important; width: 100% !important; padding: 0 !important; border: 0 !important; margin: 0 !important; }
.contact-form-wrap .wpforms-field-name legend { padding: 0 !important; width: 100% !important; }
.contact-form-wrap .wpforms-field-row { width: 100% !important; }
.contact-form-wrap .wpforms-field-row-block { width: auto !important; margin: 0 !important; padding: 0 !important; }
.contact-form-wrap .wpforms-field-name-first, .contact-form-wrap .wpforms-field-name-last { width: 100% !important; }


/* ============ WPForms Name field NUCLEAR - override modern CSS ============ */
.contact-form-wrap .wpforms-container .wpforms-field-medium, .contact-form-wrap .wpforms-field-medium { max-width: 100% !important; width: 100% !important; }
.contact-form-wrap .wpforms-field-name .wpforms-field-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; width: 100% !important; max-width: 100% !important; direction: ltr !important; }
@media(max-width:600px){.contact-form-wrap .wpforms-field-name .wpforms-field-row { grid-template-columns: 1fr !important; }}
.contact-form-wrap .wpforms-field-name .wpforms-field-row .wpforms-first { order: 1 !important; grid-column: 1 !important; float: none !important; width: 100% !important; max-width: 100% !important; }
.contact-form-wrap .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block:not(.wpforms-first) { order: 2 !important; grid-column: 2 !important; float: none !important; width: 100% !important; max-width: 100% !important; }
@media(max-width:600px){.contact-form-wrap .wpforms-field-name .wpforms-field-row .wpforms-first { grid-column: 1 !important; }.contact-form-wrap .wpforms-field-name .wpforms-field-row > .wpforms-field-row-block:not(.wpforms-first) { grid-column: 1 !important; }}
.contact-form-wrap .wpforms-field-name .wpforms-field-name-first, .contact-form-wrap .wpforms-field-name .wpforms-field-name-last { width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
