/* ===========================================================================
   Gefolgsleute-Werkstatt V2 — Abenteuergefolge (Osrik, 26.09.2026)
   Bildschirm und Druck. Betrifft ausschließlich Elemente mit .gef-Präfix,
   greift also in keinen anderen Generator ein. Rückbau: Datei entfernen und
   die eine Zeile in index.php löschen.
   =========================================================================== */

/* --- Modusleiste: drei Reiter statt drei Knöpfe ------------------------- */
#main-content .character-generator-form > form.gef-modusleiste {
    background: none;
    border: none;
    border-bottom: 2px solid #5d3a18;
    padding: 0;
    margin: 0 auto 18px;
    gap: 0;
    justify-content: flex-start;
}
#main-content .character-generator-form > form.gef-modusleiste .gef-modusknopf {
    background: rgba(255, 250, 235, 0.35) !important;
    color: #5d3a18 !important;
    border: 2px solid #5d3a18 !important;
    border-bottom: none !important;
    border-radius: 3px 3px 0 0 !important;
    margin: 0 4px -2px 0 !important;
    padding: 0 18px !important;
    height: 34px;
    font-family: 'Cinzel', Georgia, serif !important;
    font-variant: small-caps;
    font-size: 0.82rem !important;
    letter-spacing: 1.2px !important;
    text-transform: none !important;
    cursor: pointer !important;
    flex: 0 0 auto;
    line-height: 1 !important;
}
#main-content .character-generator-form > form.gef-modusleiste .gef-modusknopf:hover {
    background: rgba(255, 250, 235, 0.8) !important;
    color: #5d0000 !important;
}
#main-content .character-generator-form > form.gef-modusleiste .gef-modusknopf.aktiv {
    background: #4a3728 !important;
    color: #f5ead3 !important;
    border-color: #4a3728 !important;
}

/* --- Kopf der Truppkarte ------------------------------------------------ */
.gef-kopf {
    display: flex; justify-content: space-between; align-items: center;
    gap: 14px; flex-wrap: wrap;
    border-bottom: 2px solid #4a3728; padding-bottom: 10px; margin-bottom: 12px;
}
.gef-kopf h2 {
    margin: 0; border: none; color: #5d0000;
    font-family: 'Cinzel', Georgia, serif; font-variant: small-caps; letter-spacing: 2px;
}
.gef-kopf-knoepfe { display: flex; gap: 8px; flex: 0 0 auto; }
.gef-knopf {
    background-color: #4a3728; color: #f5ead3; border: none; border-radius: 3px;
    padding: 9px 15px; cursor: pointer;
    font-family: 'Cinzel', Georgia, serif; font-size: 0.8rem; letter-spacing: 1.2px;
}
.gef-knopf:hover { background-color: #5d0000; }

.gef-bilanz {
    font-family: 'Crimson Text', Georgia, serif; font-size: 1.05rem;
    margin: 0 0 16px; padding: 8px 12px;
    background: rgba(255, 250, 235, 0.6); border-left: 4px solid #5d0000;
}
.gef-bilanz strong { color: #5d0000; }

/* Die Wurfliste steht am Bildschirm, damit nachvollziehbar bleibt, wer
   sich angeboten hat. Auf dem Druckblatt wäre sie nur Ballast. */
.gef-wuerfe {
    font-family: 'Crimson Text', Georgia, serif; font-size: 0.85rem;
    font-style: italic; color: #6a4a22; margin: -8px 0 16px 4px;
}
.gef-formhinweis {
    font-family: 'Crimson Text', Georgia, serif; font-size: 0.88rem;
    font-style: italic; color: #6a4a22;
}

/* --- Die Karten -------------------------------------------------------- */
.gef-karten {
    display: grid; gap: 12px;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    margin-bottom: 22px;
}
.gef-karte {
    border: 1.5px solid #5d3a18; background: rgba(255, 250, 235, 0.55);
    padding: 10px 12px 8px;
    font-family: 'Crimson Text', Georgia, serif;
    break-inside: avoid;
}
.gef-karte-kopf {
    display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
    border-bottom: 1px solid rgba(93, 58, 24, .45); padding-bottom: 5px; margin-bottom: 6px;
}
.gef-karte-name {
    font-family: 'Cinzel', Georgia, serif; font-size: 1rem; color: #5d0000;
    font-variant: small-caps; letter-spacing: 1px;
}
.gef-karte-rolle {
    font-family: 'Cinzel', Georgia, serif; font-size: 0.68rem; color: #6a4a22;
    text-transform: uppercase; letter-spacing: 1.4px; white-space: nowrap;
}
.gef-karte-werte {
    display: flex; flex-wrap: wrap; gap: 4px 14px;
    font-size: 0.88rem; color: #2b1908; margin-bottom: 7px;
}
.gef-karte-werte strong { color: #5d0000; }
.gef-karte-werte i { font-size: 0.78rem; color: #6a4a22; }

/* Trefferkästchen — eines je Treffer, den die Person aushält. Abstreichen. */
.gef-treffer { display: inline-flex; align-items: center; gap: 4px; }
.gef-kaestchen {
    display: inline-block; width: 11px; height: 11px;
    border: 1px solid #6a4a22; border-radius: 1px;
    background: rgba(255, 250, 235, 0.6);
}

/* Zweite Wertezeile: was die Person tragen kann und was sie tatsächlich trägt */
.gef-karte-last {
    display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 14px;
    font-size: 0.86rem; color: #2b1908; margin-bottom: 7px;
}
.gef-karte-last strong { color: #5d0000; }
.gef-karte-last i { font-size: 0.76rem; color: #6a4a22; }
.gef-getragen { white-space: nowrap; color: #6a4a22; }
.gef-linie {
    display: inline-block; min-width: 42px;
    border-bottom: 1px solid rgba(93, 58, 24, .55);
    margin: 0 2px;
}

/* Die leere Box im freien Rasterfeld: blanker Platz für die getragenen
   Gegenstände — ohne Linien, damit auch Skizzen und Listen hineinpassen. */
.gef-karte-leer { display: flex; flex-direction: column; }
.gef-leerlinien { flex: 1 1 auto; min-height: 92px; }
.gef-karte-zeilen { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 2px 10px; }
.gef-karte-zeilen dt {
    font-family: 'Cinzel', Georgia, serif; font-size: 0.64rem; color: #6a4a22;
    text-transform: uppercase; letter-spacing: 1.1px; white-space: nowrap;
    padding-top: 3px;
}
.gef-karte-zeilen dd { margin: 0; font-size: 0.92rem; line-height: 1.35; }

/* --- Gesamtrechnung und Mietlingstabelle -------------------------------- */
.gef-zwischentitel, .gef-hausregel h3 {
    font-family: 'Cinzel', Georgia, serif; font-variant: small-caps;
    letter-spacing: 2px; color: #5d0000; font-size: 1.1rem;
    border-bottom: 1px solid #4a3728; padding-bottom: 4px; margin: 0 0 8px;
}
table.gef-rechnung {
    table-layout: auto; width: 100%; border-collapse: collapse;
    font-family: 'Crimson Text', Georgia, serif; margin-bottom: 20px;
}
table.gef-rechnung th {
    background: rgba(74, 55, 40, .12);
    font-family: 'Cinzel', Georgia, serif; font-size: 0.7rem; color: #6a4a22;
    text-transform: uppercase; letter-spacing: 1.2px; font-weight: 400;
    text-align: left; padding: 5px 8px; border-bottom: 1.5px solid #5d3a18;
}
table.gef-rechnung td {
    padding: 4px 8px; border-bottom: 1px dotted rgba(93, 58, 24, .45);
    font-size: 0.93rem; vertical-align: top;
}
table.gef-rechnung tfoot td { border-bottom: none; }
table.gef-rechnung tr.gef-summe td {
    font-weight: 700; color: #5d0000;
    border-top: 1.5px solid #5d3a18; border-bottom: none; padding-top: 6px;
}
table.gef-mietlinge td:first-child { font-variant: small-caps; letter-spacing: .6px; }

.gef-hinweis { font-size: 0.78rem; color: #6a4a22; font-variant: normal; letter-spacing: 0; }
.gef-quelle { font-size: 0.9rem; font-style: italic; color: #6a4a22; margin: 0 0 14px; }

/* --- Hausregel-Absatz --------------------------------------------------- */
.gef-hausregel {
    border: 1.5px solid #5d0000; background: rgba(93, 0, 0, .045);
    padding: 12px 14px; font-family: 'Crimson Text', Georgia, serif;
}
.gef-hausregel p { margin: 0 0 8px; font-size: 0.95rem; line-height: 1.45; }
.gef-hausregel p:last-child { margin-bottom: 0; }

/* ===========================================================================
   Druck — Truppkarte auf A4. Kopfzeilen, Formular und Knöpfe fallen weg,
   die Karten stehen zweispaltig und brechen nicht mitten durch.
   =========================================================================== */
@media print {
    @page { size: A4 portrait; margin: 14mm 13mm 15mm 13mm; }

    #main-content .gef-kopf-knoepfe,
    #main-content .gef-wuerfe { display: none !important; }

    #main-content .character-sheet.gef-truppkarte {
        border: none !important; background: none !important;
        box-shadow: none !important; padding: 0 !important;
        color: #22262A;
    }
    #main-content .gef-kopf {
        border-bottom: 1.6pt solid #4a3728 !important;
        padding-bottom: 1.5mm !important; margin-bottom: 2.5mm !important;
    }
    #main-content .gef-kopf h2 { font-size: 14pt !important; }
    #main-content .gef-bilanz {
        font-size: 10pt !important; margin: 0 0 3mm !important;
        padding: 1mm 3mm !important; background: none !important;
        border-left: 1.2pt solid #5d0000 !important;
    }

    #main-content .gef-karten {
        grid-template-columns: 1fr 1fr !important;
        gap: 3.2mm !important; margin-bottom: 4mm !important;
    }
    #main-content .gef-karte {
        border: .6pt solid #5d3a18 !important; background: none !important;
        padding: 1.8mm 2.6mm 1.6mm !important;
        break-inside: avoid; page-break-inside: avoid;
    }
    #main-content .gef-karte-name { font-size: 11pt !important; }
    #main-content .gef-karte-rolle { font-size: 6.6pt !important; }
    #main-content .gef-karte-werte { font-size: 8.4pt !important; gap: .6mm 3.2mm !important; margin-bottom: 1.4mm !important; }
    #main-content .gef-karte-werte i { font-size: 7pt !important; }
    #main-content .gef-kaestchen {
        width: 3.1mm !important; height: 3.1mm !important;
        border: .4pt solid #6a4a22 !important; background: none !important;
    }
    #main-content .gef-treffer { gap: 1mm !important; }
    #main-content .gef-karte-last {
        font-size: 8.2pt !important; gap: .4mm 3mm !important; margin-bottom: 1.4mm !important;
    }
    #main-content .gef-karte-last i { font-size: 7pt !important; }
    #main-content .gef-linie { min-width: 13mm !important; border-bottom: .4pt solid #6a4a22 !important; }
    #main-content .gef-leerlinien { min-height: 24mm !important; }
    #main-content .gef-karte-zeilen dt { font-size: 6.2pt !important; padding-top: .5mm !important; }
    #main-content .gef-karte-zeilen dd { font-size: 8.6pt !important; line-height: 1.2 !important; }
    #main-content .gef-karte-zeilen { gap: .2mm 2.6mm !important; }

    #main-content .gef-zwischentitel,
    #main-content .gef-hausregel h3 { font-size: 11pt !important; break-after: avoid; }
    #main-content table.gef-rechnung { margin-bottom: 4mm !important; break-inside: avoid; }
    #main-content table.gef-rechnung th { font-size: 6.6pt !important; padding: 1mm 2mm !important; background: none !important; }
    #main-content table.gef-rechnung td { font-size: 8.4pt !important; padding: .6mm 2mm !important; }

    #main-content .gef-hausregel {
        border: .8pt solid #5d0000 !important; background: none !important;
        padding: 2mm 3mm !important; break-inside: avoid;
    }
    #main-content .gef-hausregel p { font-size: 8pt !important; line-height: 1.25 !important; margin-bottom: 1.2mm !important; }
}
