/* Go Go Goldorak — overrides CSS (rétro-futurisme, halftone, motion) */

:root {
  --gg-navy: #0B0F2E;
  --gg-navy-light: #151b45;
  --gg-flame: #FF4E1F;
  --gg-flame-dark: #d63c14;
  --gg-gold: #F5B700;
  --gg-cream: #F4EFE4;
  --gg-ink: #1A1F3B;
}

html {
  scroll-behavior: smooth;
}

body {
  background-color: var(--gg-cream);
  color: var(--gg-ink);
  font-family: 'Jost', sans-serif;
}

.font-display {
  font-family: 'Righteous', cursive;
}

/* Halftone texture overlay */
.halftone::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(11, 15, 46, 0.55) 1px, transparent 1.5px);
  background-size: 5px 5px;
  mix-blend-mode: overlay;
  opacity: 0.35;
  pointer-events: none;
}

/* Scanline / CRT texture for hero sections */
.crt-glow::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(244, 239, 228, 0.05) 0px,
    rgba(244, 239, 228, 0.05) 1px,
    transparent 2px,
    transparent 4px
  );
  pointer-events: none;
}

/* Entrance animations */
@keyframes gg-fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes gg-power-glow {
  0%, 100% { text-shadow: 0 0 12px rgba(245, 183, 0, 0.55), 0 0 2px rgba(255, 78, 31, 0.4); }
  50% { text-shadow: 0 0 26px rgba(245, 183, 0, 0.9), 0 0 8px rgba(255, 78, 31, 0.7); }
}

.gg-anim-1 { animation: gg-fade-up 0.8s ease-out 0.05s both; }
.gg-anim-2 { animation: gg-fade-up 0.8s ease-out 0.25s both; }
.gg-anim-3 { animation: gg-fade-up 0.8s ease-out 0.45s both; }

.gg-glow-title {
  animation: gg-power-glow 3.5s ease-in-out infinite;
}

/* Scroll reveal (toggled via IntersectionObserver in main.js) */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Hover flame glow for CTAs */
.btn-flame {
  transition: box-shadow 0.3s ease, transform 0.3s ease, background-color 0.3s ease;
}
.btn-flame:hover {
  box-shadow: 0 0 0 3px rgba(245, 183, 0, 0.35), 0 0 24px rgba(255, 78, 31, 0.55);
  transform: translateY(-2px);
}

/* Image hover: zoom + saturate + halftone reveal */
.img-hover-wrap {
  overflow: hidden;
  position: relative;
}
.img-hover-wrap img {
  transition: transform 0.6s ease, filter 0.6s ease;
  filter: saturate(0.92);
}
.img-hover-wrap:hover img {
  transform: scale(1.06);
  filter: saturate(1.25);
}

/* Dropdown menus */
.gg-dropdown { display: none; }
.gg-dropdown-group:hover .gg-dropdown,
.gg-dropdown-group:focus-within .gg-dropdown {
  display: block;
}

/* Mobile menu */
#mobile-menu.hidden { display: none; }

/* Accordion */
.gg-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}
.gg-accordion-item.open .gg-accordion-content {
  max-height: 600px;
}
.gg-accordion-item.open .gg-accordion-icon {
  transform: rotate(45deg);
}
.gg-accordion-icon {
  transition: transform 0.3s ease;
}
