/*
Theme Name: Nexus Tech
Theme URI: https://nexustech.example
Author: Nexus Tech
Author URI: https://nexustech.example
Description: A high-end, futuristic WordPress theme for Nexus Tech — AI-driven software solutions.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: nexus-tech
*/

/* Base variables for graceful fallback if Tailwind is unavailable */
:root {
  --nx-primary: #00F5E1;
  --nx-secondary: #865DFF;
  --nx-dark: #0a0f1f;
  --nx-muted: #94a3b8;
}

html, body {
  margin: 0;
  padding: 0;
  background: radial-gradient(1200px 600px at 10% -10%, rgba(134,93,255,0.15), transparent),
              radial-gradient(800px 400px at 90% 10%, rgba(0,245,225,0.12), transparent),
              #0a0f1f;
  color: #e5e7eb;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* Simple utility fallbacks (if Tailwind CDN is blocked) */
.container { max-width: 1200px; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }
.btn { display: inline-flex; align-items: center; gap: .5rem; padding: .75rem 1.25rem; border-radius: .75rem; font-weight: 600; text-decoration: none; }
.btn-primary { background: linear-gradient(135deg, var(--nx-primary), var(--nx-secondary)); color: #0b1020; }
.btn-outline { border: 1px solid rgba(148, 163, 184, 0.25); color: #e5e7eb; }
.card { background: rgba(2,6,23,0.6); border: 1px solid rgba(148,163,184,0.15); border-radius: 1rem; backdrop-filter: blur(6px); }

/* Micro-interactions */
.card { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease; }
.card:hover,
.card.revealed:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(134,93,255,0.18), 0 8px 24px rgba(0,245,225,0.10); border-color: rgba(148,163,184,0.35); background: rgba(2,6,23,0.7); }
.card.reveal:hover { transform: translateY(-4px); box-shadow: 0 14px 40px rgba(134,93,255,0.18), 0 8px 24px rgba(0,245,225,0.10); border-color: rgba(148,163,184,0.35); background: rgba(2,6,23,0.7); }

.btn { transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(134,93,255,0.20), 0 4px 12px rgba(0,245,225,0.10); }
.btn:active { transform: translateY(0); box-shadow: none; }

.btn-primary:hover { filter: brightness(1.05); }
.btn-outline:hover { border-color: rgba(148,163,184,0.45); background: rgba(148,163,184,0.06); }

/* Header nav underline animation */
.site-header nav a { position: relative; }
.site-header nav a::after { content: ""; position: absolute; left: 0; bottom: -6px; height: 2px; width: 0; background: linear-gradient(90deg, var(--nx-primary), var(--nx-secondary)); transition: width .25s ease; opacity: .85; }
.site-header nav a:hover::after { width: 100%; }

/* Focus outlines for accessibility */
a:focus-visible, button:focus-visible { outline: 2px solid rgba(0,245,225,0.7); outline-offset: 2px; border-radius: 8px; }

/* Scroll reveal defaults */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease; }
.revealed { opacity: 1; transform: none; }

/* Glass hover glow (for glass panels) */
.glass { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease; }
.glass:hover,
.glass.revealed:hover { transform: translateY(-3px); box-shadow: 0 12px 34px rgba(134,93,255,0.16), 0 6px 18px rgba(0,245,225,0.10); border-color: rgba(148,163,184,0.30); }
.glass.reveal:hover { transform: translateY(-3px); box-shadow: 0 12px 34px rgba(134,93,255,0.16), 0 6px 18px rgba(0,245,225,0.10); border-color: rgba(148,163,184,0.30); }

/* Touch-friendly hover equivalents */
@media (hover: none) {
  .card:active,
  .card:focus-within { transform: translateY(-3px); box-shadow: 0 12px 34px rgba(134,93,255,0.16), 0 6px 18px rgba(0,245,225,0.10); border-color: rgba(148,163,184,0.30); background: rgba(2,6,23,0.7); }
  .glass:active,
  .glass:focus-within { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(134,93,255,0.14), 0 6px 16px rgba(0,245,225,0.08); border-color: rgba(148,163,184,0.28); }
}

/* Navigation fallback */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(10,15,31,0.65); backdrop-filter: blur(10px); border-bottom: 1px solid rgba(148,163,184,0.15); }
.site-footer { border-top: 1px solid rgba(148,163,184,0.15); background: rgba(10,15,31,0.65); }

/* Breathing animation for hero elements */
@keyframes nx-breath {
  0% { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(134,93,255,0); }
  50% { transform: translateY(-1px) scale(1.015); box-shadow: 0 6px 18px rgba(134,93,255,0.18), 0 2px 8px rgba(0,245,225,0.10); }
  100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 rgba(134,93,255,0); }
}
.breath { animation: nx-breath 3.2s ease-in-out infinite; will-change: transform, box-shadow; }
.breath-alt { animation: nx-breath 2.8s ease-in-out infinite; will-change: transform, box-shadow; }
.breath-delay { animation-delay: .8s; }

/* Typography fallbacks */
h1,h2,h3 { color: #f8fafc; }
.lead { color: #cbd5e1; }
