/* ==========================================================================
   intro-teamhope.css
   Einstiegsblock über dem Abstract: Logo und die Kernangaben aus dem
   Nachtrag zur Pressekonferenz von #TeamHope.

   Wird NACH report-responsive.css geladen und nutzt deren Tokens (--ink,
   --line, --radius-lg …). Eigene Datei, damit der Block rückstandslos
   entfernbar bleibt: diese Zeile aus dem <head> nehmen und die <section
   class="th-intro"> aus index.html löschen.

   Achtung bei Schriftgrößen: bootstrap.min.css setzt html { font-size: 10px }.
   1rem sind hier also 10px, nicht 16px. Die Größen unten stehen deshalb in
   px und orientieren sich am Fließtext des Reports (.paragraph = 15px).
   ========================================================================== */

:root {
    /* Aus dem Logo entnommen */
    --th-orange: #e2661d;
    --th-navy: #17305a;
    /* Der Hintergrund der Logodatei -- das Bild ist bewusst unbearbeitet,
       die Logofläche nimmt denselben Ton an, damit keine Kante entsteht. */
    --th-logo-bg: #fafafa;
}

.th-intro {
    margin: 0 0 28px;
    padding: 0 0 24px;
    border: 1px solid var(--line);
    border-top: 3px solid var(--th-orange);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: 0 1px 2px rgba(23, 48, 90, 0.06);
    text-align: center;
}

/* ------------------------------------------------------------------ Logo */

.th-intro-mark {
    padding: 22px 20px 4px;
}

.th-intro-logo {
    display: block;
    width: 100%;
    max-width: 300px;
    height: auto;
    margin: 0 auto;
    border-radius: var(--radius);
    background: var(--th-logo-bg);
}

@media (min-width: 768px) {
    .th-intro-mark {
        padding: 26px 24px 6px;
    }

    .th-intro-logo {
        max-width: 340px;
    }

    .th-intro .th-intro-title {
        font-size: 30px;
    }
}

/* ------------------------------------------------------------------ Text */

.th-intro-body {
    padding: 0 20px;
}

@media (min-width: 768px) {
    .th-intro-body {
        padding: 0 32px;
    }
}

.th-intro-eyebrow {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--th-orange);
    line-height: 1.5;
}

/* Der Block gehört nicht zur Kapitelzählung des Reports und darf deshalb
   nicht wie eine Kapitelüberschrift aussehen -- die h3-Auszeichnung aus
   report_final.css wird hier vollständig zurückgenommen. */
.th-intro .th-intro-title {
    margin: 0 0 10px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 26px;
    line-height: 1.25;
    font-weight: 700;
    color: var(--th-navy);
    text-align: center;
}

.th-intro-lead {
    margin: 0 auto 24px;
    max-width: 56ch;
    font-size: 17px;
    line-height: 1.65;
    color: var(--ink);
}

.th-intro-lead b {
    color: var(--th-navy);
    font-weight: 600;
}

.th-intro-listtitle {
    margin: 0 0 12px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ink-muted);
}

/* ------------------------------------------------------------- Kanalliste */

.th-intro-channels {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(255px, 1fr));
    text-align: left;
}

/* Ausgeblendete Kachel. Der Eintrag bleibt im HTML und im Übersetzungs-
   katalog stehen -- zum Wiedereinblenden genügt es, class="is-hidden" am
   betreffenden <li> in index.html zu entfernen. */
.th-intro-channels li.is-hidden {
    display: none;
}

.th-intro-channels li {
    padding: 12px 16px;
    border-left: 3px solid var(--th-navy);
    border-radius: 0 var(--radius) var(--radius) 0;
    background: var(--surface-zebra);
}

.th-intro-channels .th-name {
    display: block;
    font-weight: 600;
    font-size: 16px;
    color: var(--th-navy);
    margin-bottom: 4px;
}

.th-intro-channels .th-handles {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    color: var(--ink-muted);
    overflow-wrap: anywhere;
}

/* ------------------------------------------------------------ Abbinder */

.th-intro-claim {
    margin: 0 0 10px;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--th-orange);
}

.th-intro-source {
    margin: 0;
    font-size: 13px;
    color: var(--ink-muted);
}

/* ------------------------------------------------------------ Druck / PDF */

@media print {
    .th-intro {
        box-shadow: none;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    .th-intro-channels li {
        background: none;
        border-left: 2px solid #555;
    }
}
