/* Fortitudo Handball — Brand-Tokens & Bausteine
   Abgeleitet aus fortitudohandball.ch. Siehe docs/styleguide.md.
   Nur für öffentliche Seiten (/p, /v, /scan) — NICHT für das /intern-Panel. */

:root {
    /* Farben */
    --forti-red: #E3000B;
    --forti-red-dark: #C4000A;
    --ink: #0A0A0A;
    --graphite: #2A2A2A;
    --offwhite: #FEFEFE;
    --muted: #6b7280;

    /* Semantik */
    --ok: #16A34A;
    --bad: var(--forti-red);

    /* Typografie */
    --font-display: 'Futura', 'Century Gothic', 'Jost', 'Trebuchet MS', system-ui, sans-serif;
    --font-body: 'Helvetica Neue', Helvetica, Arial, system-ui, sans-serif;

    /* Form */
    --radius-card: 14px;
}

* { box-sizing: border-box; }

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--graphite);
    -webkit-font-smoothing: antialiased;
}

/* Versal-Display-Typo für Titel, Labels, Buttons */
.brand-display {
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* Dunkle Header-Leiste mit Logo + Kontext-Label */
.brand-topbar {
    background: var(--ink);
    color: var(--offwhite);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
}
.brand-topbar img.logo { height: 34px; width: auto; display: block; }
.brand-topbar .context {
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: 12px;
    opacity: .85;
}

/* Button — Forti-Rot, Versalien, scharfkantig (Marken-Signal) */
.brand-btn {
    display: inline-block;
    padding: 13px 24px;
    background: var(--forti-red);
    color: var(--offwhite);
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 15px;
    text-decoration: none;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    transition: background .15s ease;
}
.brand-btn:hover { background: var(--forti-red-dark); }
.brand-btn--ghost {
    background: rgba(255, 255, 255, .16);
    color: var(--offwhite);
}
.brand-btn--ghost:hover { background: rgba(255, 255, 255, .26); }

/* Kategorie-Badge — neutral (grau), nicht als Signalfarbe */
.brand-badge {
    display: inline-block;
    padding: 5px 14px;
    background: #e5e7eb;
    color: var(--graphite);
    font-family: var(--font-display);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-size: 12px;
    border-radius: 0;
}

/* Avatar mit rotem Ring */
.brand-avatar {
    border-radius: 50%;
    object-fit: cover;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-weight: 700;
    background: #e5e7eb;
    color: var(--muted);
    box-shadow: 0 0 0 3px #d1d5db;
}
