/* Custom styles — no JavaScript */

/* Brand utility classes (Tailwind v2 extension) */
.bg-cyber-slate { background-color: #0D1117 !important; }
.bg-anthracite { background-color: #161B22 !important; }
.bg-amethyst { background-color: #8A2BE2 !important; }
.hover\:bg-amethyst-deep:hover { background-color: #6A1BB2 !important; }
.bg-amethyst-deep { background-color: #6A1BB2 !important; }
.text-platinum { color: #F0F3F6 !important; }
.text-slate-muted { color: #8B949E !important; }
.text-amethyst { color: #8A2BE2 !important; }
.text-amber-muted { color: #FFB300 !important; }
.border-amber-muted { border-color: #FFB300 !important; }
.hover\:text-platinum:hover { color: #F0F3F6 !important; }
.hover\:text-amethyst:hover { color: #8A2BE2 !important; }
.hover\:border-amethyst\/50:hover { border-color: rgba(138, 43, 226, 0.5) !important; }
.border-amethyst\/30 { border-color: rgba(138, 43, 226, 0.3) !important; }
.border-amethyst\/50 { border-color: rgba(138, 43, 226, 0.5) !important; }
.from-amethyst\/10 { background-image: linear-gradient(to bottom right, rgba(138, 43, 226, 0.1), transparent); }
.from-amethyst\/20 { background: linear-gradient(to right, rgba(138, 43, 226, 0.2), transparent); }
.to-amethyst-deep\/20 { background-color: rgba(106, 27, 178, 0.2); }
.bg-amethyst\/20 { background-color: rgba(138, 43, 226, 0.2) !important; }
.bg-anthracite\/30 { background-color: rgba(22, 27, 34, 0.3) !important; }
.bg-anthracite\/50 { background-color: rgba(22, 27, 34, 0.5) !important; }
.bg-anthracite\/95 { background-color: rgba(22, 27, 34, 0.95) !important; }
.bg-amber-muted\/20 { background-color: rgba(255, 179, 0, 0.2) !important; }
.border-amber-muted\/30 { border-color: rgba(255, 179, 0, 0.3) !important; }
.border-amber-muted\/40 { border-color: rgba(255, 179, 0, 0.4) !important; }

:root {
  --bg-deep: #0D1117;
  --bg-secondary: #161B22;
  --accent: #8A2BE2;
  --accent-hover: #6A1BB2;
  --warning: #FFB300;
  --text-heading: #F0F3F6;
  --text-body: #8B949E;
}

body {
  background-color: var(--bg-deep);
  color: var(--text-body);
}

/* Homepage hero — background image */
.hero-home__bg {
  background-image: url('../img/Hero_section.jpg');
}

.hero-home__overlay {
  background: linear-gradient(
    to bottom,
    rgba(13, 17, 23, 0.75) 0%,
    rgba(13, 17, 23, 0.85) 50%,
    rgba(13, 17, 23, 0.92) 100%
  );
}

/* CSS Marquee — server status ticker */
.marquee-wrap {
  overflow: hidden;
  background: var(--bg-secondary);
  border-top: 1px solid #30363d;
  border-bottom: 1px solid #30363d;
}

.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee-scroll 28s linear infinite;
}

.marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3fb950;
  box-shadow: 0 0 8px #3fb950;
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Mobile nav — checkbox hack */
#nav-toggle:checked ~ .nav-overlay {
  display: block !important;
}

#nav-toggle:checked ~ .nav-panel {
  transform: translateX(0) !important;
}

/* FAQ accordion */
.faq-item input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.faq-item .faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.3s ease;
  opacity: 0;
}

.faq-item input:checked ~ .faq-answer {
  max-height: 800px;
  opacity: 1;
}

.faq-item input:checked ~ .faq-label .faq-icon {
  transform: rotate(180deg);
}

.faq-icon {
  transition: transform 0.3s ease;
}

/* Cookie banner */
.cookie-banner {
  animation: slide-up 0.5s ease;
}

@keyframes slide-up {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* CTA pulse enhancement */
.cta-pulse {
  animation: cta-glow 2.5s ease-in-out infinite;
}

@keyframes cta-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(138, 43, 226, 0.5); }
  50% { box-shadow: 0 0 24px 4px rgba(138, 43, 226, 0.35); }
}

/* Star rating */
.star-filled {
  color: var(--warning);
}

/* Table responsive */
.table-wrap {
  overflow-x: auto;
}

/* Legal prose */
.legal-content h2 {
  color: var(--text-heading);
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.legal-content h3 {
  color: var(--text-heading);
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.legal-content p,
.legal-content li {
  margin-bottom: 0.75rem;
  line-height: 1.7;
}

.legal-content ul {
  list-style: disc;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}
