:root {
  --color-bg: #141414;
  --color-bg-elevated: #1f1f1f;
  --color-text: #ffffff;
  --color-text-muted: #b3b3b3;
  --color-accent: #e50914; /* rojo Netflix-like */
  --color-accent-hover: #f40612;
  --header-height: 68px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --font-main: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --transition-fast: 150ms ease;
  --transition-medium: 300ms ease;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-main);
  height: 100%;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
img { display: block; max-width: 100%; }

.hidden { display: none !important; }

/* Clases de dispositivo, asignadas por js/utils/device.js */
body.device-tv .content-row { gap: 24px; }
body.device-mobile .main-nav { display: none; }
