/**
 * Nove-Tix design tokens — shared across landing, checkout, and back office
 */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: light;
  --nx-bg: #fafafa;
  --nx-surface: #ffffff;
  --nx-text: #0a0a0a;
  --nx-muted: #737373;
  --nx-subtle: #a3a3a3;
  --nx-border: #e5e5e5;
  --nx-border-soft: #f0f0f0;
  /* Brand palette */
  --nx-primary: #1e90ff;
  --nx-primary-hover: #1878d6;
  --nx-primary-rgb: 30, 144, 255;
  --nx-secondary: #8ee53f;
  --nx-secondary-hover: #7acc32;
  --nx-accent-1: #87cefa;
  --nx-accent-2: #8ee53f;
  --nx-accent: var(--nx-primary);
  --nx-accent-hover: var(--nx-primary-hover);
  --nx-on-accent: #ffffff;
  --nx-glow: var(--nx-primary);
  --nx-focus-ring: rgba(30, 144, 255, 0.2);
  --nx-card-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  --nx-radius: 10px;
  --nx-radius-lg: 14px;
  --nx-font: 'Manrope', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --bs-font-sans-serif: var(--nx-font);
  --bs-body-font-family: var(--nx-font);
  --bs-primary: #1e90ff;
  --bs-secondary: #8ee53f;
  --bs-primary-rgb: 30, 144, 255;
  --bs-secondary-rgb: 142, 229, 63;
  --nx-sidebar-w: 260px;
  --nx-topbar-h: 60px;
  --nx-gutter: clamp(1rem, 3vw, 1.75rem);
  --nx-logo-height: 40px;
  --nx-logo-wordmark-size: 1.3125rem;
  --nx-success: #8ee53f;
  --nx-danger: #dc2626;
  --nx-warning: #8ee53f;
  --nx-info: #87cefa;
}

[data-theme="dark"] {
  color-scheme: dark;
  --nx-bg: #0a0a0a;
  --nx-surface: #141414;
  --nx-text: #fafafa;
  --nx-muted: #a3a3a3;
  --nx-subtle: #737373;
  --nx-border: #2a2a2a;
  --nx-border-soft: #1f1f1f;
  --nx-primary-hover: #3da0ff;
  --nx-accent: var(--nx-primary);
  --nx-accent-hover: var(--nx-primary-hover);
  --nx-on-accent: #ffffff;
  --nx-focus-ring: rgba(30, 144, 255, 0.35);
  --nx-card-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

html,
body {
  font-family: var(--nx-font);
}

/* Shared site footer (landing, checkout, ticket, static pages) */
.nt-footer a,
.nt-footer a:hover,
.nt-footer a:focus {
  text-decoration: none !important;
}

/* Brand logo — cropped mark, consistent height across public + back office */
.nt-logo-mark,
.nt-header-logo img,
.nt-mobile-menu-head img,
.nt-footer-brand img,
.app-brand-logo img,
.nx-error-logo img,
.nx-auth-logo-link img {
  background: transparent !important;
  object-fit: contain;
  width: auto;
  height: var(--nx-logo-height);
  max-height: var(--nx-logo-height);
}
