/*
Theme Name: Nonvago
Theme URI: https://nonvago.com
Description: Tema oficial de Nonvago — All Jobs. One Tape. Diseño VHS retro.
Version: 1.0.0
Author: Nonvago
Text Domain: nonvago
*/

/* ── GOOGLE FONTS ── */
@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap');

/* ── VARIABLES ── */
:root {
  --nvg-cyan:    #00FFFF;
  --nvg-red:     #FF0000;
  --nvg-blue:    #1a0aff;
  --nvg-dark:    #00001a;
  --nvg-darker:  #000010;
  --nvg-card:    rgba(0, 0, 80, 0.55);
  --nvg-gold:    #FFD700;
  --nvg-white:   #FFFFFF;
  --nvg-font:    'Space Mono', 'Courier New', monospace;
}

/* ── RESET Y BASE ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

body {
  background-color: var(--nvg-darker) !important;
  color: var(--nvg-white) !important;
  font-family: var(--nvg-font) !important;
  text-transform: uppercase;
  letter-spacing: 1px;
  overflow-x: hidden;
  position: relative;
}

/* ── SCANLINES (efecto CRT) ── */
body::before {
  content: '';
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px, transparent 3px,
    rgba(0,0,0,0.12) 3px, rgba(0,0,0,0.12) 4px
  );
  pointer-events: none;
  z-index: 9999;
}

/* ── LINKS ── */
a { color: var(--nvg-cyan); text-decoration: none; }
a:hover { text-shadow: 0 0 8px rgba(0,255,255,0.5); }

/* ── BOTONES WORDPRESS (wp:button) ── */
.wp-block-buttons { gap: 16px !important; }

.wp-block-button__link,
.wp-element-button {
  font-family: var(--nvg-font) !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  transition: all 0.2s !important;
}

/* Estilo primario (cian) */
.wp-block-button.is-style-primary .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: var(--nvg-cyan) !important;
  color: var(--nvg-darker) !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 0 20px rgba(0,255,255,0.4) !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  background: #fff !important;
  box-shadow: 0 0 30px rgba(0,255,255,0.8) !important;
  transform: translateY(-1px);
}

/* Estilo outline (borde cian) */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--nvg-cyan) !important;
  border: 1px solid var(--nvg-cyan) !important;
  box-shadow: 0 0 10px rgba(0,255,255,0.2) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(0,255,255,0.1) !important;
  box-shadow: 0 0 20px rgba(0,255,255,0.5) !important;
}

/* ── HEADINGS GUTENBERG ── */
h1, h2, h3, h4, h5, h6,
.wp-block-heading {
  font-family: var(--nvg-font) !important;
  text-transform: uppercase !important;
  letter-spacing: 4px !important;
  line-height: 1.1 !important;
  color: var(--nvg-white) !important;
}

/* ── PÁRRAFOS GUTENBERG ── */
.wp-block-paragraph,
p {
  font-family: var(--nvg-font) !important;
  letter-spacing: 1.5px;
  line-height: 1.8;
}

/* ── SEPARADORES ── */
.wp-block-separator {
  border-color: transparent !important;
  background: linear-gradient(90deg, transparent, rgba(0,255,255,0.25), transparent) !important;
  height: 1px !important;
  margin: 0 !important;
}

/* ── COLUMNAS ── */
.wp-block-columns { gap: 24px !important; }

/* ── GRUPOS (secciones) ── */
.wp-block-group { position: relative; }

/* ── CLASES VHS PARA GRUPOS ── */

/* Hero */
.nvg-hero {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 140px 40px 80px !important;
  position: relative;
  overflow: hidden;
}
.nvg-hero::before {
  content: '';
  position: absolute;
  top: 0; left: 50%;
  transform: translateX(-50%);
  width: 600px; height: 600px;
  background: radial-gradient(ellipse, rgba(0,0,255,0.1) 0%, transparent 70%);
  pointer-events: none;
}

/* Título principal con glow */
.nvg-hero .wp-block-heading {
  font-size: clamp(52px, 11vw, 110px) !important;
  font-weight: 700 !important;
  letter-spacing: 8px !important;
  color: var(--nvg-white) !important;
  text-shadow: 0 0 40px rgba(255,255,255,0.12);
  margin-bottom: 12px !important;
}

/* Tagline del hero */
.nvg-tagline {
  font-size: clamp(13px, 2vw, 20px) !important;
  color: rgba(255,255,255,0.45) !important;
  letter-spacing: 6px !important;
  margin-bottom: 8px !important;
}

/* Subtítulo del hero */
.nvg-subtitle {
  font-size: 11px !important;
  color: rgba(0,255,255,0.6) !important;
  letter-spacing: 3px !important;
  margin-bottom: 40px !important;
}

/* Sección estándar */
.nvg-section {
  padding: 90px 40px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

/* Sección con fondo oscuro */
.nvg-section-dark {
  padding: 90px 40px !important;
  background: rgba(0,0,20,0.4) !important;
}
.nvg-section-dark > .wp-block-group__inner-container {
  max-width: 1100px;
  margin: 0 auto;
}

/* Encabezado de sección */
.nvg-section-header {
  text-align: center;
  margin-bottom: 56px;
}

/* Tag de sección (ej: // FUNCIONALIDADES) */
.nvg-tag {
  font-size: 10px !important;
  color: var(--nvg-cyan) !important;
  letter-spacing: 4px !important;
  border: 1px solid rgba(0,255,255,0.3) !important;
  padding: 4px 14px !important;
  display: inline-block !important;
  margin-bottom: 16px !important;
}

/* Título de sección con acento cian */
.nvg-title-accent { color: var(--nvg-cyan) !important; text-shadow: 0 0 15px rgba(0,255,255,0.4); }

/* Descripción de sección */
.nvg-section-desc {
  font-size: 11px !important;
  color: rgba(255,255,255,0.45) !important;
  letter-spacing: 2px !important;
  line-height: 1.9 !important;
  max-width: 540px !important;
  margin: 12px auto 0 !important;
  text-align: center !important;
}

/* Tarjeta de feature */
.nvg-card {
  background: var(--nvg-card) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  padding: 32px 24px !important;
  transition: all 0.3s !important;
  position: relative !important;
  overflow: hidden !important;
}
.nvg-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--nvg-cyan), transparent);
  opacity: 0;
  transition: opacity 0.3s;
}
.nvg-card:hover {
  border-color: rgba(0,255,255,0.3) !important;
  transform: translateY(-4px);
  box-shadow: 0 8px 40px rgba(0,0,0,0.4);
}
.nvg-card:hover::before { opacity: 1; }

.nvg-card .wp-block-heading {
  font-size: 16px !important;
  color: var(--nvg-cyan) !important;
  letter-spacing: 3px !important;
  text-shadow: 0 0 10px rgba(0,255,255,0.25) !important;
  margin-bottom: 12px !important;
}
.nvg-card .wp-block-paragraph {
  font-size: 11px !important;
  color: rgba(255,255,255,0.5) !important;
  letter-spacing: 1.5px !important;
}

/* CTA */
.nvg-cta {
  text-align: center !important;
  padding: 110px 40px !important;
  position: relative;
  overflow: hidden;
}
.nvg-cta::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 700px; height: 400px;
  background: radial-gradient(ellipse, rgba(0,0,255,0.07) 0%, transparent 70%);
  pointer-events: none;
}
.nvg-cta .wp-block-heading {
  font-size: clamp(36px, 7vw, 76px) !important;
  letter-spacing: 6px !important;
}
.nvg-cta .wp-block-paragraph {
  font-size: 11px !important;
  color: rgba(255,255,255,0.35) !important;
  letter-spacing: 4px !important;
}
.nvg-cta .wp-block-buttons { justify-content: center !important; }

/* Texto cian con glow */
.nvg-glow-cyan {
  color: var(--nvg-cyan) !important;
  text-shadow: 0 0 20px rgba(0,255,255,0.6) !important;
}

/* Responsive */
@media (max-width: 768px) {
  .nvg-hero { padding: 120px 20px 60px !important; }
  .nvg-section, .nvg-section-dark { padding: 60px 20px !important; }
  .nvg-cta { padding: 70px 20px !important; }
  .wp-block-columns { flex-direction: column !important; }
}
