/*
Theme Name: Vinxey Theme
Theme URI: https://vinxey.com
Author: Vinxey by Emerson
Author URI: https://vinxey.com
Description: Arquitectura de software inteligente y soluciones de ingeniería para la era de la IA. Child theme de Astra optimizado para la economía de la inteligencia artificial.
Template: astra
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: binbash-theme
Tags: one-column, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-width-template, theme-options, translation-ready
*/

/* ==========================================================================
   Vinxey Child Theme — Global Style Overrides
   Hereda de Astra, aplica identidad de marca Vinxey

   NOTA: Las variables CSS (--vx-*) se definen aquí mismo antes de usarlas,
   ya que global.css se carga DESPUÉS de style.css en la cascada de WordPress.
   ========================================================================== */

/* --- CSS Custom Properties (Design Tokens) — definidas aquí para uso inmediato --- */
:root {
  /* Colores de marca */
  --vx-primary: #DC0000;
  --vx-primary-dark: #B30000;
  --vx-primary-light: #FF1A1A;
  --vx-primary-glow: rgba(220, 0, 0, 0.12);
  --vx-primary-glow-strong: rgba(220, 0, 0, 0.3);

  /* Neutros */
  --vx-dark: #1A1A1A;
  --vx-dark-soft: #2D2D2D;
  --vx-dark-muted: #3D3D3D;
  --vx-gray: #6B7280;
  --vx-gray-light: #F3F4F6;
  --vx-gray-lighter: #F9FAFB;
  --vx-white: #FFFFFF;

  /* Acento tech */
  --vx-accent: #0EA5E9;

  /* Tipografía */
  --vx-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --vx-font-mono: 'JetBrains Mono', 'Fira Code', 'Courier New', monospace;

  /* Radios */
  --vx-radius-sm: 4px;
  --vx-radius-md: 8px;
  --vx-radius-lg: 12px;
  --vx-radius-xl: 16px;
  --vx-radius-full: 9999px;

  /* Sombras */
  --vx-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --vx-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --vx-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --vx-shadow-red: 0 8px 25px rgba(220, 0, 0, 0.25);

  /* Transiciones */
  --vx-transition-fast: 0.15s ease;
  --vx-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --vx-transition-slow: 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  --vx-transition-spring: 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Espaciado */
  --vx-space-xs: 0.25rem;
  --vx-space-sm: 0.5rem;
  --vx-space-md: 1rem;
  --vx-space-lg: 1.5rem;
  --vx-space-xl: 2rem;
  --vx-space-2xl: 3rem;
  --vx-space-3xl: 4rem;
  --vx-space-4xl: 6rem;
  --vx-space-5xl: 8rem;

  /* Layout */
  --vx-container: 1140px;
  --vx-container-wide: 1320px;
}

/* --- Smooth scrolling global --- */
html {
  scroll-behavior: smooth;
}

/* --- Body defaults --- */
body {
  font-family: var(--vx-font-body);
  color: var(--vx-dark);
  background-color: var(--vx-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* --- Selection color --- */
::selection {
  background-color: var(--vx-primary);
  color: var(--vx-white);
}

/* --- Focus visible for accessibility --- */
:focus-visible {
  outline: 2px solid var(--vx-primary);
  outline-offset: 2px;
}

/* --- Override Astra default link colors --- */
a {
  color: var(--vx-primary);
  transition: color 0.2s ease;
}

a:hover,
a:focus {
  color: var(--vx-primary-dark);
}

/* --- Override Astra button styles --- */
.wp-block-button__link,
.ast-button,
a.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
  background-color: var(--vx-primary) !important;
  color: var(--vx-white) !important;
  border: none !important;
  border-radius: var(--vx-radius-md) !important;
  font-weight: 600 !important;
  font-family: var(--vx-font-body) !important;
  letter-spacing: 0.02em;
  padding: 14px 32px !important;
  transition: all var(--vx-transition-base) !important;
  cursor: pointer;
  text-transform: none;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  display: inline-block;
}

.wp-block-button__link:hover,
.ast-button:hover,
a.wp-block-button__link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: var(--vx-primary-dark) !important;
  transform: translateY(-2px);
  box-shadow: var(--vx-shadow-red) !important;
}

.wp-block-button__link:active,
input[type="submit"]:active,
button[type="submit"]:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(220, 0, 0, 0.2) !important;
}

/* --- Outline button variant --- */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: var(--vx-primary) !important;
  border: 2px solid var(--vx-primary) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--vx-primary) !important;
  color: var(--vx-white) !important;
}

/* --- Headings --- */
h1, h2, h3, h4, h5, h6,
.entry-title {
  font-family: var(--vx-font-body);
  color: var(--vx-dark);
  font-weight: 700;
  line-height: 1.2;
}
