/* Brand kit HotMinds (.impeccable.md, parte B1–B2). Caricato dopo Bootstrap, che quindi viene sovrascritto. */

@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-semibold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("../fonts/montserrat-black.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; }

/* Bootstrap 5.3 dichiara i propri colori su [data-bs-theme]: stessi selettori, qui dopo, così vincono i nostri. */
:root,
[data-bs-theme="dark"] {
    --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;

    --bg: var(--ink); --fg: #F4F4EE; --muted: var(--ink-soft); --accent: var(--lime);
    --linea: rgba(244, 244, 238, .14);
    --superficie: #13131A;

    --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
    --bs-secondary-color: var(--muted);
    --bs-border-color: var(--linea);
    --bs-primary: #BFDD2E; --bs-primary-rgb: 191, 221, 46;
    --bs-font-sans-serif: "Montserrat", "Helvetica Neue", Arial, sans-serif;
    --bs-font-monospace: "JetBrains Mono", ui-monospace, monospace;
}

[data-bs-theme="light"] {
    --bg: var(--paper); --fg: #0A0A0F; --muted: var(--paper-soft); --accent: var(--lime);
    --linea: rgba(10, 10, 15, .14);
    --superficie: #FFFFFF;
    --bs-body-bg: var(--bg); --bs-body-color: var(--fg);
    --bs-secondary-color: var(--muted);
    --bs-border-color: var(--linea);
}

body { background: var(--bg); color: var(--fg); font-family: var(--bs-font-sans-serif); font-size: 15px; line-height: 24px; }
h1, h2 { font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif; }
code, pre, .font-mono { font-family: "JetBrains Mono", ui-monospace, monospace; }

.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-border-color: #A8C226; --bs-btn-active-color: var(--lime-ink);
    font-weight: 600; }

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

.caps { font-size: 11px; line-height: 16px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; }
.numero { color: var(--accent); font-weight: 900; font-variant-numeric: tabular-nums; }
.testo-attenuato { color: var(--muted); }
