/* ==========================================================================
   Galatic — Design Tokens 2026-08-14 v1
   Nova identidade visual "Universo dos Jogos" (Light) e
   "Deep Space Boardgame Universe" (Dark).
   Redefine os tokens legados (--ink, --paper, ...) para que o CSS
   existente herde a nova identidade, e adiciona tokens novos (--g-*).
   ========================================================================== */

/* ---------- Fontes self-hosted ---------- */

@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/poppins/poppins-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF9, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/inter/inter-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- LIGHT — "Universo dos Jogos" (tema padrão) ---------- */

:root,
[data-theme="light"] {
  color-scheme: light;

  /* Tipografia */
  --font-display: "Poppins", "Inter", Arial, sans-serif;
  --font-sans: "Inter", Arial, sans-serif;
  --default-font-family: "Inter", Arial, sans-serif;

  /* Tokens legados remapeados para a nova identidade */
  --ink: #0D1B3D;          /* Deep Space Navy — texto principal */
  --muted: #667085;        /* Slate — texto secundário */
  --paper: #FFF6E6;        /* Warm Space — background principal */
  --surface: #FFFFFF;      /* Pure White — cards */
  --soft: #FFF9F1;         /* Soft Cream — background neutro */
  --orange: #FF7A00;       /* Galactic Orange */
  --orange-dark: #C25E00;  /* laranja escuro para texto/hover */
  --yellow: #F6C64E;       /* Solar Yellow */
  --blue: #2563EB;         /* Orbit Blue */
  --line: #E7DFD3;         /* border quente suave */
  --shadow: 0 24px 60px rgba(13, 27, 61, .10);

  /* Tokens novos (--g-*) */
  --g-bg: #FFF6E6;
  --g-bg-soft: #FFF9F1;
  --g-surface: #FFFFFF;
  --g-surface-elevated: #FFFFFF;
  --g-text: #0D1B3D;
  --g-text-muted: #667085;
  --g-primary: #FF7A00;
  --g-primary-hover: #E56D00;
  --g-accent-copy: #A94700;
  --g-primary-contrast: #FFFFFF;
  --g-orbit: #2563EB;
  --g-solar: #F6C64E;
  --g-nebula: #7B61FF;
  --g-cyan: #00BBD6;
  --g-border: #E7DFD3;
  --g-border-strong: #D8CDBB;
  --g-success: #22C55E;
  --g-warning: #F6C64E;
  --g-danger: #E5484D;

  /* Badges de estado de produto */
  --g-badge-novo-bg: #E4EDFD;      --g-badge-novo-fg: #2563EB;
  --g-badge-seminovo-bg: #FFF0E0;  --g-badge-seminovo-fg: #C25E00;
  --g-badge-raro-bg: #EFE9FF;      --g-badge-raro-fg: #7B61FF;
  --g-badge-oferta-bg: #FDF3D7;    --g-badge-oferta-fg: #8A6A00;
  --g-badge-vendido-bg: #EEECE8;   --g-badge-vendido-fg: #667085;

  /* Hero e áreas imersivas (mesma identidade nos dois temas) */
  --g-hero-bg: #0D1B3D;
  --g-hero-text: #FFF9F1;
  --g-hero-accent: #FF8A4D;

  /* Elementos espaciais decorativos */
  --g-star: rgba(13, 27, 61, .28);
  --g-orbit-line: rgba(13, 27, 61, .10);
  --g-glow: rgba(255, 122, 0, .14);

  /* Estrutura */
  --g-radius-sm: 12px;
  --g-radius-md: 16px;
  --g-radius-lg: 24px;
  --g-focus: #2563EB;
}

/* ---------- DARK — "Deep Space Boardgame Universe" ---------- */

[data-theme="dark"] {
  color-scheme: dark;

  /* Tokens legados remapeados */
  --ink: #F3EEE5;          /* Bone white */
  --muted: #B8AEBB;        /* névoa lilás */
  --paper: #070A12;        /* carvão de masmorra */
  --surface: #14111D;      /* ameixa quase preta */
  --soft: #0D101A;         /* pedra noturna */
  --orange: #D56A32;       /* cobre encantado */
  --orange-dark: #E7A06A;
  --yellow: #D6BD86;       /* osso dourado */
  --blue: #65D6A6;         /* brilho espectral */
  --line: #352A3E;
  --shadow: 0 24px 60px rgba(0, 0, 0, .45);

  /* Tokens novos (--g-*) */
  --g-bg: #070A12;
  --g-bg-soft: #0D101A;
  --g-surface: #14111D;
  --g-surface-elevated: #1C1626;
  --g-text: #F3EEE5;
  --g-text-muted: #B8AEBB;
  --g-primary: #D56A32;
  --g-primary-hover: #E47B40;
  --g-accent-copy: #F0A06F;
  --g-primary-contrast: #110A0A;
  --g-orbit: #65D6A6;
  --g-solar: #D6BD86;
  --g-nebula: #8D5EB0;
  --g-cyan: #65D6A6;
  --g-border: #352A3E;
  --g-border-strong: #564162;
  --g-success: #65D6A6;
  --g-warning: #D6BD86;
  --g-danger: #FF6B6B;

  /* Badges de estado de produto */
  --g-badge-novo-bg: rgba(122, 210, 255, .14);   --g-badge-novo-fg: #7AD2FF;
  --g-badge-seminovo-bg: rgba(255, 138, 0, .16); --g-badge-seminovo-fg: #FFB865;
  --g-badge-raro-bg: rgba(176, 124, 255, .15);   --g-badge-raro-fg: #B07CFF;
  --g-badge-oferta-bg: rgba(246, 193, 75, .14);  --g-badge-oferta-fg: #F6C14B;
  --g-badge-vendido-bg: rgba(168, 178, 195, .14); --g-badge-vendido-fg: #A8B2C3;

  /* Hero e áreas imersivas */
  --g-hero-bg: #070A12;
  --g-hero-text: #F3EEE5;
  --g-hero-accent: #65D6A6;

  /* Elementos espaciais decorativos */
  --g-star: rgba(101, 214, 166, .42);
  --g-orbit-line: rgba(101, 214, 166, .11);
  --g-glow: rgba(101, 214, 166, .16);

  /* Estrutura */
  --g-radius-sm: 12px;
  --g-radius-md: 16px;
  --g-radius-lg: 24px;
  --g-focus: #7AD2FF;
}

/* Fallback sem JS: segue o sistema quando nenhum tema foi fixado */
@media (prefers-color-scheme: dark) {
  html:not([data-theme]) {
    color-scheme: dark;
    --ink: #F2F4F7;
    --muted: #A8B2C3;
    --paper: #081020;
    --surface: #121A2E;
    --soft: #101A2E;
    --orange: #FF8A00;
    --orange-dark: #FFB865;
    --yellow: #F6C14B;
    --blue: #7AD2FF;
    --line: #2B3850;
    --shadow: 0 24px 60px rgba(0, 0, 0, .45);
    --g-bg: #081020;
    --g-bg-soft: #101A2E;
    --g-surface: #121A2E;
    --g-surface-elevated: #18243B;
    --g-text: #F2F4F7;
    --g-text-muted: #A8B2C3;
    --g-primary: #FF8A00;
    --g-primary-hover: #FFA133;
    --g-primary-contrast: #081020;
    --g-orbit: #7AD2FF;
    --g-solar: #F6C14B;
    --g-nebula: #B07CFF;
    --g-cyan: #4FD6E8;
    --g-border: #2B3850;
    --g-border-strong: #445470;
    --g-success: #43D17B;
    --g-warning: #F6C14B;
    --g-danger: #FF6B6B;
    --g-badge-novo-bg: rgba(122, 210, 255, .14);   --g-badge-novo-fg: #7AD2FF;
    --g-badge-seminovo-bg: rgba(255, 138, 0, .16); --g-badge-seminovo-fg: #FFB865;
    --g-badge-raro-bg: rgba(176, 124, 255, .15);   --g-badge-raro-fg: #B07CFF;
    --g-badge-oferta-bg: rgba(246, 193, 75, .14);  --g-badge-oferta-fg: #F6C14B;
    --g-badge-vendido-bg: rgba(168, 178, 195, .14); --g-badge-vendido-fg: #A8B2C3;
    --g-hero-bg: #0A1428;
    --g-hero-text: #F2F4F7;
    --g-hero-accent: #FF8A00;
    --g-star: rgba(242, 244, 247, .5);
    --g-orbit-line: rgba(122, 210, 255, .10);
    --g-glow: rgba(255, 138, 0, .18);
    --g-focus: #7AD2FF;
  }
}
