/* ── Inter font ─────────────────────────────────────────────────────────── */

/* Self-hosted from @fontsource/inter (lib/vendor-assets.js serves /vendor/inter):
   latin covers English and French; latin-ext the rarer accented characters. */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('/vendor/inter/inter-latin-ext-400-normal.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+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('/vendor/inter/inter-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,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-display: swap;
  font-weight: 500;
  src: url('/vendor/inter/inter-latin-ext-500-normal.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+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url('/vendor/inter/inter-latin-500-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,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-display: swap;
  font-weight: 600;
  src: url('/vendor/inter/inter-latin-ext-600-normal.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+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url('/vendor/inter/inter-latin-600-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,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-display: swap;
  font-weight: 700;
  src: url('/vendor/inter/inter-latin-ext-700-normal.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+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('/vendor/inter/inter-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,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-display: swap;
  font-weight: 800;
  src: url('/vendor/inter/inter-latin-ext-800-normal.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+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-display: swap;
  font-weight: 800;
  src: url('/vendor/inter/inter-latin-800-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ── Design tokens ──────────────────────────────────────────────────────── */

:root {
  /* Colour */
  --color-bg:             #050d50;
  --color-surface:        #0a1565;
  --color-surface-alt:    #0d1a70;
  --color-border:         #1c2e8c;
  --color-primary:        #f7aa14;
  --color-primary-hover:  #e09a0d;
  --color-primary-light:  #fcd268;
  --color-accent:         #66ccff;
  --color-text:           #ffffff;
  --color-paper:          #ffffff;   /* always-white surfaces such as QR codes (they need black on white) */
  --color-text-muted:     #8ca4c8;
  --color-text-secondary: #d1d5db;
  --color-success:        #10b981;
  --color-warning:        #f59e0b;
  --color-error:          #ef4444;
  --color-error-dark:     #dc2626;
  --color-error-text:     #fca5a5;
  --color-success-text:   #6ee7b7;
  --color-warning-text:   #fcd34d;
  --color-navy-mid:       #004489;
  /* Channel palette (config/channels.js CHANNEL_COLOURS); read well on navy */
  --color-channel-gold:   #f7aa14;
  --color-channel-sky:    #66ccff;
  --color-channel-mint:   #34d399;
  --color-channel-coral:  #fb7185;
  --color-channel-violet: #a78bfa;
  --color-channel-pink:   #f472b6;
  --color-channel-lime:   #a3e635;
  --color-channel-silver: #cbd5e1;

  /* Shape */
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;

  /* Typography */
  --font-sans: 'Inter', system-ui, sans-serif;
}

/* ── Bootstrap 5.3 dark-mode overrides ─────────────────────────────────── */

[data-bs-theme="dark"] {
  --bs-body-bg:                   #050d50;
  --bs-body-color:                #ffffff;
  --bs-secondary-color:           #8ca4c8;
  --bs-border-color:              #1c2e8c;
  --bs-border-color-translucent:  rgba(28, 46, 140, 0.6);

  /* Cards */
  --bs-card-bg:                   #0a1565;
  --bs-card-border-color:         #1c2e8c;
  --bs-card-cap-bg:               #0d1a70;

  /* Modals */
  --bs-modal-bg:                  #0a1565;
  --bs-modal-header-border-color: #1c2e8c;
  --bs-modal-footer-border-color: #1c2e8c;
  --bs-modal-color:               #ffffff;

  /* Forms */
  --bs-input-bg:                  #050d50;
  --bs-input-disabled-bg:         #0d1a70;
  --bs-input-border-color:        #1c2e8c;
  --bs-input-color:               #ffffff;
  --bs-input-focus-border-color:  #f7aa14;
  --bs-input-focus-box-shadow:    0 0 0 0.25rem rgba(247, 170, 20, 0.25);
  --bs-input-placeholder-color:   #8ca4c8;

  /* Select */
  --bs-form-select-bg:            #050d50;
  --bs-form-select-border-color:  #1c2e8c;
  --bs-form-select-color:         #ffffff;

  /* Navbar */
  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.2);
  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C 255%2C 255%2C 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

  /* Tables */
  --bs-table-bg:             transparent;
  --bs-table-border-color:   #1c2e8c;
  --bs-table-striped-bg:     rgba(255, 255, 255, 0.03);
  --bs-table-hover-bg:       rgba(255, 255, 255, 0.04);

  /* Dropdown */
  --bs-dropdown-bg:              #0a1565;
  --bs-dropdown-border-color:    #1c2e8c;
  --bs-dropdown-link-color:      #ffffff;
  --bs-dropdown-link-hover-bg:   #1c2e8c;
  --bs-dropdown-divider-bg:      #1c2e8c;
}

/* Override btn-close for dark backgrounds */
[data-bs-theme="dark"] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

/* Focus ring */
[data-bs-theme="dark"] :focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* ── Brand IQ suffix ────────────────────────────────────────────────────── */

.brand-iq {
  color: var(--color-primary);
}
