/* HotMinds brand kit — token e font. Non mettere qui stili di pagina: vanno in site.css. */

@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-900.woff2") format("woff2"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jetbrains-mono-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "JetBrains Mono"; src: url("../fonts/jetbrains-mono-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  --lime: #BFDD2E; --lime-ink: #0B1304; --purple: #6C5CE7;
  --ink: #0A0A0F; --paper: #F4F4EE; --ink-soft: #9097A8; --paper-soft: #4B4F5A;
  --ok: #3FA34D; --warn: #E0A12B; --error: #D6453A; --info: #6C5CE7;

  --font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
}

/* Dark è l'origine: selettore esplicito per vincere sul data-bs-theme di Bootstrap */
:root, [data-bs-theme="dark"] {
  --bg: var(--ink); --fg: #F4F4EE; --muted: var(--ink-soft); --line: #23242C;
  --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
  --bs-secondary-color: var(--muted); --bs-border-color: var(--line);
}
[data-bs-theme="light"] {
  --bg: var(--paper); --fg: #0A0A0F; --muted: var(--paper-soft); --line: #D9D9D0;
  --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
  --bs-secondary-color: var(--muted); --bs-border-color: var(--line);
}
:root {
  --bs-primary: #BFDD2E; --bs-primary-rgb: 191, 221, 46;
  --bs-font-sans-serif: var(--font-sans);
  --bs-font-monospace: var(--font-mono);
}

body { background: var(--bg); color: var(--fg); font-family: var(--font-sans); font-size: 15px; line-height: 24px; }
h1, h2 { font-family: var(--font-sans); }
code, pre, .font-mono { font-family: var(--font-mono); }

.btn-primary { --bs-btn-bg: var(--lime); --bs-btn-color: var(--lime-ink); --bs-btn-border-color: var(--lime);
  --bs-btn-hover-bg: #a8c226; --bs-btn-hover-border-color: #a8c226; --bs-btn-hover-color: var(--lime-ink);
  --bs-btn-active-bg: #a8c226; --bs-btn-active-color: var(--lime-ink);
  min-height: 44px; font-weight: 600; }

a:focus-visible, button:focus-visible, input:focus-visible, .btn:focus-visible {
  outline: 2px solid var(--purple); outline-offset: 2px; box-shadow: none;
}

.hm-caps { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); font-weight: 600; }
.hm-num { font-weight: 900; color: var(--lime); }
[data-bs-theme="light"] .hm-num { color: var(--lime-ink); background: var(--lime); padding: 0 .3em; }
.hm-logo { height: 28px; width: auto; color: var(--fg); }
