/* ==========================================================================
   SHADOWX TECHNOLOGIES / SHADOWX STUDIOS
   DAYLIGHT THEME & LAMP PULL-CORD SYSTEM
   Inspired by EC-Council Hackers4Humanity (eccouncil.org/hackers4humanity)
   ========================================================================== */

/* ── 1. DAYLIGHT THEME DESIGN TOKENS (H4H CYBER ENTERPRISE) ── */
[data-theme="light"] {
  /* High-Contrast Corporate Cyber Palettes */
  --bg-dark:        #F3F4F6; /* EC-Council Cool Light Page Canvas */
  --bg-primary:     #FFFFFF; /* Pure White Section Surface */
  --bg-surface:     #FFFFFF; /* Pure White Surface */
  --bg-card:        #FFFFFF; /* Elevated White Card */
  --bg-card-hover:  #F8FAFC; /* Subtle Crisp Lift */
  --bg-terminal:    #0B0E14; /* Terminal Stays Dark Cyber (H4H Signature) */

  /* Daylight Contrast Brand Accents */
  --accent-cyan:          #007A99; /* Deep High-Contrast Cyan */
  --accent-cyan-glow:     rgba(0, 122, 153, 0.18);
  --accent-crimson:       #D91648; /* High-Contrast Threat Crimson */
  --accent-crimson-glow:  rgba(217, 22, 72, 0.18);
  --accent-green:         #059669; /* Emerald Green */
  --accent-amber:         #D97706; /* Amber Warning */

  /* Ink & Typography */
  --text-primary:   #0F172A; /* Deep Slate Ink (WCAG AAA contrast) */
  --text-secondary: #334155; /* Slate Body Text */
  --text-muted:     #64748B; /* Slate Muted Subheaders */
  --text-dim:       #94A3B8; /* Slate Borders & Dividers */

  /* Crisp Light Borders & Outlines */
  --border-color:   rgba(15, 23, 42, 0.09);
  --border-cyan:    rgba(0, 122, 153, 0.35);
  --border-crimson: rgba(217, 22, 72, 0.35);

  --card-shadow: 0 4px 20px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.03);
}

/* ── 2. LIGHT MODE OVERRIDES & POLISH ── */

/* Remove Dark CRT Scanline and Grid in Daylight Mode */
[data-theme="light"] body::after {
  opacity: 0 !important;
}
[data-theme="light"] body {
  background-color: var(--bg-dark) !important;
  background-image: none !important;
  color: var(--text-primary) !important;
}

/* Text Selection */
[data-theme="light"] ::selection {
  background: var(--accent-cyan) !important;
  color: #FFFFFF !important;
}

/* Light Scrollbar */
[data-theme="light"] ::-webkit-scrollbar-track {
  background: #E2E8F0;
}
[data-theme="light"] ::-webkit-scrollbar-thumb {
  background: #CBD5E1;
  border: 1px solid rgba(0, 122, 153, 0.25);
  border-radius: 4px;
}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
  background: var(--accent-cyan);
}

/* Header in Light Mode */
[data-theme="light"] .header {
  background: rgba(255, 255, 255, 0.94) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 2px 16px rgba(15, 23, 42, 0.04) !important;
}

[data-theme="light"] .brand-top {
  color: #0F172A !important;
}
[data-theme="light"] .brand-sub {
  color: #007A99 !important;
}
[data-theme="light"] .status-pill {
  background: rgba(5, 150, 105, 0.08) !important;
  border-color: rgba(5, 150, 105, 0.3) !important;
  color: #059669 !important;
}

[data-theme="light"] .nav-link {
  color: #475569 !important;
}
[data-theme="light"] .nav-link:hover,
[data-theme="light"] .nav-link.active {
  color: var(--accent-cyan) !important;
}

[data-theme="light"] .nav-cta-btn {
  background: rgba(0, 122, 153, 0.08) !important;
  border-color: var(--accent-cyan) !important;
  color: var(--accent-cyan) !important;
}
[data-theme="light"] .nav-cta-btn:hover {
  background: var(--accent-cyan) !important;
  color: #FFFFFF !important;
}

/* Headings & Text in Light Mode */
[data-theme="light"] h1,
[data-theme="light"] h2,
[data-theme="light"] h3,
[data-theme="light"] h4,
[data-theme="light"] h5,
[data-theme="light"] h6 {
  color: #0F172A !important;
}

[data-theme="light"] .hero-title {
  color: #0F172A !important;
}

[data-theme="light"] .hero-description {
  color: #334155 !important;
}

[data-theme="light"] .section-prefix {
  color: #64748B !important;
}

[data-theme="light"] .text-gradient {
  background: linear-gradient(135deg, #0F172A 0%, #007A99 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
[data-theme="light"] .text-gradient-crimson {
  background: linear-gradient(135deg, #0F172A 0%, #D91648 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Cards & Containers in Light Mode (Pure White with Crisp Elevation) */
[data-theme="light"] .card,
[data-theme="light"] .division-card,
[data-theme="light"] .threat-card,
[data-theme="light"] .stat-card,
[data-theme="light"] .feature-spec-card,
[data-theme="light"] .threat-item,
[data-theme="light"] .entity-card,
[data-theme="light"] .entity-subcard,
[data-theme="light"] .legal-box,
[data-theme="light"] .intel-card,
[data-theme="light"] .product-card,
[data-theme="light"] .matrix-box,
[data-theme="light"] .bio-card,
[data-theme="light"] .timeline-item,
[data-theme="light"] .lookup-container,
[data-theme="light"] .article-card,
[data-theme="light"] .hub-feature-box,
[data-theme="light"] .news-card,
[data-theme="light"] .blog-card,
[data-theme="light"] .policy-card,
[data-theme="light"] .privacy-card,
[data-theme="light"] .contact-card,
[data-theme="light"] .verdict-box,
[data-theme="light"] .cert-deck-wrapper,
[data-theme="light"] .process-step,
[data-theme="light"] .counter-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04), 0 1px 3px rgba(15, 23, 42, 0.02) !important;
}

[data-theme="light"] .process-step {
  border-top: 3px solid var(--accent-crimson) !important;
}
[data-theme="light"] .process-step:hover {
  border-top-color: var(--accent-cyan) !important;
}
[data-theme="light"] .process-num {
  color: var(--accent-cyan) !important;
}
[data-theme="light"] .process-title {
  color: #0F172A !important;
}
[data-theme="light"] .process-desc {
  color: #475569 !important;
}
[data-theme="light"] .counter-val,
[data-theme="light"] .counter-number {
  color: #0F172A !important;
}
[data-theme="light"] .counter-label {
  color: #64748B !important;
}

[data-theme="light"] .entity-showcase-box {
  background: #FFFFFF !important;
  border: 1px solid rgba(15, 23, 42, 0.09) !important;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05) !important;
}
[data-theme="light"] .entity-subcard {
  background: #F8FAFC !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.03) !important;
}
[data-theme="light"] .entity-subcard:hover {
  background: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(0, 122, 153, 0.1) !important;
}
[data-theme="light"] .entity-name {
  color: #0F172A !important;
}
[data-theme="light"] .entity-desc {
  color: #475569 !important;
}

[data-theme="light"] .card:hover,
[data-theme="light"] .division-card:hover,
[data-theme="light"] .threat-card:hover,
[data-theme="light"] .feature-spec-card:hover,
[data-theme="light"] .article-card:hover,
[data-theme="light"] .news-card:hover {
  border-color: var(--accent-cyan) !important;
  box-shadow: 0 12px 32px rgba(0, 122, 153, 0.12), 0 2px 6px rgba(15, 23, 42, 0.04) !important;
  transform: translateY(-3px);
}

/* Division card badges & tags */
[data-theme="light"] .division-tag,
[data-theme="light"] .tech-tag,
[data-theme="light"] .tag-pill {
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  color: #475569 !important;
}

/* H4H Signature: Terminal Boxes & Command Tags STAY Dark Cyber in Light Mode */
[data-theme="light"] .cmd-tag {
  background: #0B0E14 !important;
  border: 1px solid rgba(0, 255, 102, 0.3) !important;
  color: #00FF66 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
}
[data-theme="light"] .cmd-tag.cyan {
  background: #0B0E14 !important;
  border-color: rgba(0, 242, 254, 0.3) !important;
  color: #00F2FE !important;
}
[data-theme="light"] .cmd-tag.crimson {
  background: #0B0E14 !important;
  border-color: rgba(255, 42, 95, 0.3) !important;
  color: #FF2A5F !important;
}

[data-theme="light"] .terminal-window,
[data-theme="light"] .terminal-box,
[data-theme="light"] .hud-terminal-preview,
[data-theme="light"] #demoOutputBox,
[data-theme="light"] pre,
[data-theme="light"] code {
  background: #0B0E14 !important;
  color: #F8FAFC !important;
  border-color: rgba(0, 242, 254, 0.3) !important;
}

/* Buttons in Light Mode (Bold H4H Solid and Crisp Outline) */
[data-theme="light"] .btn-cyber-primary {
  background: var(--accent-cyan) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--accent-cyan) !important;
  box-shadow: 0 4px 14px rgba(0, 122, 153, 0.25) !important;
}
[data-theme="light"] .btn-cyber-primary:hover {
  background: #00607A !important;
  border-color: #00607A !important;
  box-shadow: 0 6px 20px rgba(0, 122, 153, 0.35) !important;
  color: #FFFFFF !important;
}

[data-theme="light"] .btn-cyber-crimson {
  background: var(--accent-crimson) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--accent-crimson) !important;
  box-shadow: 0 4px 14px rgba(217, 22, 72, 0.25) !important;
}
[data-theme="light"] .btn-cyber-crimson:hover {
  background: #B01038 !important;
  border-color: #B01038 !important;
  box-shadow: 0 6px 20px rgba(217, 22, 72, 0.35) !important;
  color: #FFFFFF !important;
}

[data-theme="light"] .btn-cyber-outline {
  background: #FFFFFF !important;
  border: 1px solid rgba(15, 23, 42, 0.2) !important;
  color: #0F172A !important;
}
[data-theme="light"] .btn-cyber-outline:hover {
  background: #0F172A !important;
  color: #FFFFFF !important;
  border-color: #0F172A !important;
}

/* Form Inputs, Select Dropdowns & Textareas in Light Mode */
[data-theme="light"] .form-input,
[data-theme="light"] .form-textarea,
[data-theme="light"] .form-select,
[data-theme="light"] input[type="text"],
[data-theme="light"] input[type="email"],
[data-theme="light"] input[type="password"],
[data-theme="light"] select,
[data-theme="light"] textarea,
[data-theme="light"] .lookup-input {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  color: #0F172A !important;
}
[data-theme="light"] select option {
  background: #FFFFFF !important;
  color: #0F172A !important;
}
[data-theme="light"] input:focus,
[data-theme="light"] select:focus,
[data-theme="light"] textarea:focus,
[data-theme="light"] .lookup-input:focus {
  border-color: var(--accent-cyan) !important;
  box-shadow: 0 0 0 3px rgba(0, 122, 153, 0.15) !important;
}
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
  color: #94A3B8 !important;
}

/* AdSense Banners & Sponsored Placeholders */
[data-theme="light"] .adsense-banner-wrapper,
[data-theme="light"] .adsense-box,
[data-theme="light"] .ad-banner {
  background: #F8FAFC !important;
  border: 1px dashed #CBD5E1 !important;
  color: #64748B !important;
}

/* Continuous Security Ticker Tape in Light Mode */
[data-theme="light"] .security-ticker-wrapper {
  background: rgba(241, 244, 248, 0.95) !important;
  border-top: 1px solid rgba(0, 122, 153, 0.2) !important;
  border-bottom: 1px solid rgba(0, 122, 153, 0.2) !important;
}
[data-theme="light"] .security-ticker-track {
  color: var(--accent-cyan) !important;
}

/* Back to Top Floating Button in Light Mode */
[data-theme="light"] .back-to-top-btn {
  background: #FFFFFF !important;
  color: #0F172A !important;
  border-color: rgba(15, 23, 42, 0.15) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] .back-to-top-btn:hover {
  background: #0F172A !important;
  color: #FFFFFF !important;
  border-color: #0F172A !important;
}

/* Footer in Light Mode */
[data-theme="light"] .footer {
  background: #E2E8F0 !important;
  border-top: 1px solid rgba(15, 23, 42, 0.08) !important;
  color: #475569 !important;
}
[data-theme="light"] .footer a {
  color: #334155 !important;
}
[data-theme="light"] .footer a:hover {
  color: var(--accent-cyan) !important;
}

/* Mobile Menu Drawer in Light Mode */
[data-theme="light"] .nav-links.active,
[data-theme="light"] .nav-links.open {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12) !important;
}
[data-theme="light"] .nav-links .nav-link {
  color: #1E293B !important;
  border-bottom: 1px dashed rgba(15, 23, 42, 0.1) !important;
}
[data-theme="light"] .nav-links .nav-link:hover,
[data-theme="light"] .nav-links .nav-link.active {
  color: var(--accent-cyan) !important;
}
[data-theme="light"] .mobile-menu-btn {
  background: rgba(0, 122, 153, 0.08) !important;
  border-color: rgba(0, 122, 153, 0.3) !important;
  color: var(--accent-cyan) !important;
}


/* ── 3. LAMP TOGGLE COMPONENT & PULL-CORD PHYSICS ── */

.lamp-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 44px;
  cursor: pointer;
  flex-shrink: 0;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  z-index: 1002;
  transition: transform 0.2s ease;
}

.lamp-toggle:hover {
  transform: scale(1.08);
}

.lamp-toggle:focus-visible {
  outline: 2px solid var(--accent-cyan);
  outline-offset: 4px;
  border-radius: 6px;
}

/* SVG Lamp Icon Dimensions */
.lamp-svg {
  width: 30px;
  height: 42px;
  overflow: visible;
  transform-origin: 50% 6px; /* Pivot at the lamp neck */
}

/* Lamp Shade */
.lamp-shade {
  fill: #94A3B8;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
  transition: fill 0.3s ease !important;
}
[data-theme="light"] .lamp-shade {
  fill: #475569;
}

/* Lamp Stand & Base */
.lamp-stand,
.lamp-base {
  fill: #64748B;
  transition: fill 0.3s ease !important;
}
[data-theme="light"] .lamp-stand,
[data-theme="light"] .lamp-base {
  fill: #334155;
}

/* Bulb (Off State in Dark Mode) */
.lamp-bulb {
  fill: #1E293B;
  filter: none;
  transition: fill 0.3s ease, filter 0.3s ease !important;
}

/* Bulb (Lit State in Daylight Mode) */
[data-theme="light"] .lamp-bulb {
  fill: #FBBF24;
  filter: drop-shadow(0 0 6px rgba(251, 191, 36, 0.95)) drop-shadow(0 0 14px rgba(245, 158, 11, 0.7));
}

/* Pull Cord Line */
.lamp-cord {
  stroke: #94A3B8;
  stroke-width: 1.5;
  stroke-linecap: round;
  transition: stroke 0.3s ease !important;
}
[data-theme="light"] .lamp-cord {
  stroke: #475569;
}

/* Pull Cord Bead/Ball */
.lamp-cord-ball {
  fill: var(--accent-cyan);
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.4));
  transition: fill 0.3s ease !important;
  transform-origin: 20px 34px;
}
[data-theme="light"] .lamp-cord-ball {
  fill: #F59E0B;
}

/* Interactive Ambient Glow Ring */
.lamp-glow-ring {
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  pointer-events: none;
  opacity: 0;
}
[data-theme="light"] .lamp-glow-ring {
  background: radial-gradient(circle, rgba(251, 191, 36, 0.4) 0%, transparent 70%);
  opacity: 1;
  animation: lamp-glow-pulse 2.5s ease-in-out infinite;
}
@keyframes lamp-glow-pulse {
  0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.7; }
  50%      { transform: translateX(-50%) scale(1.5); opacity: 0.3; }
}

/* Tooltip on Hover */
.lamp-toggle::after {
  content: attr(data-tip);
  position: absolute;
  bottom: -28px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--bg-card);
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
  padding: 3px 8px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
  z-index: 1005;
}
.lamp-toggle:hover::after {
  opacity: 1;
  transform: translateX(-50%) translateY(2px);
}


/* ── 4. SPRING & PULL ANIMATIONS ── */

/* Lamp Swing Tilt */
@keyframes lamp-tilt-swing {
  0%   { transform: rotate(0deg); }
  20%  { transform: rotate(-14deg); }
  45%  { transform: rotate(9deg); }
  65%  { transform: rotate(-4deg); }
  85%  { transform: rotate(2deg); }
  100% { transform: rotate(0deg); }
}

.lamp-toggle.animating .lamp-svg {
  animation: lamp-tilt-swing 0.65s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Pull-Cord Spring Down & Up */
@keyframes cord-spring-bounce {
  0%   { transform: translateY(0); }
  25%  { transform: translateY(8px); }
  50%  { transform: translateY(-3px); }
  75%  { transform: translateY(4px); }
  90%  { transform: translateY(-1px); }
  100% { transform: translateY(0); }
}

.lamp-toggle.animating .lamp-cord-ball {
  animation: cord-spring-bounce 0.65s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

/* Bulb Flash Ignite */
@keyframes bulb-ignite-flash {
  0%   { opacity: 0.3; r: 4; }
  35%  { opacity: 1; r: 7.5; }
  70%  { opacity: 0.8; r: 5.5; }
  100% { opacity: 1; r: 5; }
}

.lamp-toggle.animating .lamp-bulb {
  animation: bulb-ignite-flash 0.55s ease-out forwards;
}


/* ── 5. CIRCULAR CLIP-PATH WIPE TRANSITION ── */

#theme-wipe {
  position: fixed;
  inset: 0;
  z-index: 99998;
  pointer-events: none;
  background: #F3F4F6;
  clip-path: circle(0% at var(--wipe-x, 90%) var(--wipe-y, 38px));
  will-change: clip-path;
}

#theme-wipe.wipe-to-light {
  background: #F3F4F6;
  animation: circular-wipe-expand 0.65s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

#theme-wipe.wipe-to-dark {
  background: #07090C;
  animation: circular-wipe-expand 0.65s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes circular-wipe-expand {
  0% {
    clip-path: circle(0% at var(--wipe-x, 90%) var(--wipe-y, 38px));
  }
  100% {
    clip-path: circle(150vmax at var(--wipe-x, 90%) var(--wipe-y, 38px));
  }
}
