/* ============================================================================
   RPG PLOT RELEVANT CHARACTER – STYLES

   Hinweis: Der Formular-Block im UCP nutzt die Layout-Klassen des
   rpg_charactercreator (rpg-charcreator-section, rpg-charcreator-field,
   rpg-charcreator-select). Hier daher KEINE eigenen Layout-Regeln für
   den Formular-Block – nur PRC-spezifische Ergänzungen wie Period-Toggle,
   Hinweistext und die Badges.
   ============================================================================ */

/* ----------------------------------------------------------------------------
   Zeitraum-Block – wird per JS auf "Plot Relevant Character"-Auswahl getoggelt
   ---------------------------------------------------------------------------- */

/* Wrapper bekommt etwas Abstand zum Charaktertyp-Feld */
.rpg-prc-period {
    margin-top: 0.5rem;
}

/* Klasse zum Ausblenden – wird per JS gesetzt, wenn Vollcharakter gewählt ist */
.rpg-prc-period.is-hidden {
    display: none;
}

/* Hinweistext unter den Monats-Dropdowns */
.rpg-prc-period__hint {
    margin: 0.75rem 0 0 0;
    font-size: 0.75rem;
    color: var(--text-dark, #4D4D4D);
    line-height: 1.5;
    font-style: italic;
}

/* ----------------------------------------------------------------------------
   Profil-Badge (drei Zustände: full, prc, expired)

   Position: absolut oben rechts im .lam-prf__hero (Brutalist-Profil). Außerhalb
   des Brutalist-Themes greift die absolute Position nicht – dann sitzt der
   Badge als normaler inline-block im Profil-Header, was auch OK ist.
   ---------------------------------------------------------------------------- */

.lam-prf__hero .rpg-prc-badge {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    z-index: 2;
}

.rpg-prc-badge {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    padding: 0.5rem 0.75rem;
    /* Background bleibt immer dunkel – sieht in Dark- und Light-Mode wie ein
       klarer Stempel/Sticker aus. Text-Farben unten sind passend hardcoded,
       damit der Kontrast in beiden Modes erhalten bleibt. */
    background: rgba(0, 0, 0, 0.75);
    border-left: 3px solid #B3B3B3;
    font-family: var(--font-mono, monospace);
}

/* Kleines Tag-Label "// CHAR TYPE" über dem eigentlichen Badge-Text */
.rpg-prc-badge__tag {
    font-size: 0.5rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #B3B3B3;
}

/* Hauptlabel – kompakt, klein, uppercase wie die anderen Brutalist-Tags */
.rpg-prc-badge__label {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #F5F5F5;
}

/* Zeitraum als zweite Zeile unter dem PRC-Label */
.rpg-prc-badge__period {
    font-size: 0.55rem;
    letter-spacing: 0.1em;
    color: #B3B3B3;
}

/* Variante: Vollcharakter – neutral, kein Akzent */
.rpg-prc-badge--full {
    border-left-color: #B3B3B3;
}

/* Variante: aktiver/pending PRC – Akzentfarbe als Highlight.
   Accent funktioniert in beiden Modes (rot bleibt rot). */
.rpg-prc-badge--prc {
    border-left-color: var(--accent, #FF4500);
}

.rpg-prc-badge--prc .rpg-prc-badge__label {
    color: var(--accent, #FF4500);
}

/* Variante: abgelaufener PRC – Warnfarbe, leicht ausgegraut */
.rpg-prc-badge--expired {
    border-left-color: var(--error, #808080);
    opacity: 0.75;
}

.rpg-prc-badge--expired .rpg-prc-badge__label {
    color: #B3B3B3;
}

/* ----------------------------------------------------------------------------
   Postbit-Badge

   Sitzt im Brutalist-Postbit rechts unter dem GIF im Header. Per absolute
   Position innerhalb des Headers, sodass er sich nicht in den Flex-Fluss
   einreiht und unabhängig vom GIF-Inhalt platziert bleibt.
   ---------------------------------------------------------------------------- */

/* Header braucht relative Position, damit unser absolutes Badge daran ankert */
.lam-post__header {
    position: relative;
}

.rpg-prc-postbit {
    /* Absolutes Positioning unten rechts im Header (Brutalist).
       Bottom-Anker statt Top, damit der Badge nicht an die Detail-Felder
       (Age, Job, Status etc.) im Info-Bereich stößt. Der Avatar gibt dem
       Header eine Mindesthöhe von 200px, der Badge landet damit ca. 70px
       unter dem GIF-Bottom und deutlich unter den Detail-Feldern. */
    position: absolute;
    right: var(--space-xl, 2rem);
    bottom: var(--space-xl, 2rem);
    z-index: 1;

    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    padding: 0.4rem 0.6rem;
    background: rgba(0, 0, 0, 0.75);
    border-left: 3px solid #B3B3B3;
    font-family: var(--font-mono, monospace);
}

/* Kleines Tag-Label "// CHAR TYPE" */
.rpg-prc-postbit__tag {
    font-size: 0.45rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #B3B3B3;
}

/* Hauptlabel */
.rpg-prc-postbit__label {
    font-size: 0.55rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #F5F5F5;
}

/* Varianten */

/* Full Character ist der Standardfall und auf JEDEM Post sichtbar – daher
   reduziert auf reinen Mono-Text ohne Hintergrund-Block und ohne Border.
   Farbe kommt aus dem Theme (text-dim), damit Light- und Dark-Mode jeweils
   gut lesbar bleiben. Das Tag-Label "// CHAR TYPE" entfällt komplett. */
.rpg-prc-postbit--full {
    background: transparent;
    border-left: none;
    padding: 0;
    opacity: 1;
}

.rpg-prc-postbit--full .rpg-prc-postbit__tag {
    display: none;
}

.rpg-prc-postbit--full .rpg-prc-postbit__label {
    color: var(--text-dim, #808080);
    opacity: 0.7;
    font-size: 0.55rem;
}

.rpg-prc-postbit--prc {
    border-left-color: var(--accent, #FF4500);
}

.rpg-prc-postbit--prc .rpg-prc-postbit__label {
    color: var(--accent, #FF4500);
}

.rpg-prc-postbit--expired {
    border-left-color: var(--error, #808080);
    opacity: 0.75;
}

.rpg-prc-postbit--expired .rpg-prc-postbit__label {
    color: #B3B3B3;
}

/* Responsive: auf schmalen Bildschirmen ist das Postbit-Layout sowieso
   umgebrochen – wir lassen den Badge dann inline in den Fluss laufen.
   Bottom-Position auf normalen Größen braucht keine Anpassung, weil sie
   am Header-Unterkanten-Anker hängt und nicht an GIF-Höhen. */
@media (max-width: 700px) {
    .rpg-prc-postbit {
        position: static;
        margin-top: 0.5rem;
        align-self: flex-end;
    }
}

/* ----------------------------------------------------------------------------
   ModCP – Brutalist-konforme Tabelle mit eigenen Spalten und Status-Badges
   ---------------------------------------------------------------------------- */

/* Tabellen-Spalten: Charakter | Spieler | Zeitraum | Status | Erstellt | Aktionen */
.modcp-card__columns--rpgprc,
.modcp-row--rpgprc {
    grid-template-columns: 1.3fr 1.3fr 1.5fr 0.8fr 1fr 1.3fr;
    gap: 0.5rem;
}

/* Filter-Tabs oben (Alle / Pending / Active / Expired) */
.rpgprc-modcp-filter {
    display: inline-flex;
    gap: 0.75rem;
}

.rpgprc-modcp-filter--active {
    color: var(--text) !important;
    border-bottom: 1px solid var(--accent, #FF4500);
}

/* Inhaltszellen */
.rpgprc-modcp-cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Status-Pill in der Tabelle */
.rpgprc-status {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    font-family: var(--font-mono, monospace);
    font-size: 0.5rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    border-left: 3px solid #B3B3B3;
    background: rgba(0, 0, 0, 0.2);
}

.rpgprc-status--pending {
    border-left-color: var(--accent, #FF4500);
    color: var(--accent, #FF4500);
}

.rpgprc-status--active {
    border-left-color: #4caf50;
    color: #4caf50;
}

.rpgprc-status--expired {
    border-left-color: var(--error, #808080);
    color: var(--text-dim, #B3B3B3);
    opacity: 0.7;
}

/* Aktions-Buttons in der Zeile (eigene kleine Forms je Aktion) */
.rpgprc-modcp-actions {
    display: flex;
    gap: 0.35rem;
    flex-wrap: wrap;
}

.rpgprc-modcp-action {
    display: inline;
    margin: 0;
}

.rpgprc-modcp-action .modcp-btn {
    font-size: 0.5rem;
    padding: 0.3rem 0.5rem;
}

/* Leere Liste */
.rpgprc-modcp-empty {
    text-align: center;
    color: var(--text-dim, #B3B3B3);
    font-style: italic;
    padding: 1.5rem;
}

/* ----------------------------------------------------------------------------
   Expired-Banner – globaler Hinweis im Header, dass ein PRC abgelaufen ist.
   Wird per global_intermediate-Hook an  angehängt.
   ---------------------------------------------------------------------------- */

.rpg-prc-banner {
    max-width: var(--content-max, 1200px);
    margin: 1rem auto;
    padding: 1rem 1.25rem;
    background: rgba(255, 69, 0, 0.08);
    border-left: 4px solid var(--accent, #FF4500);
    font-family: var(--font-body, sans-serif);
    color: var(--text, #F5F5F5);
}

.rpg-prc-banner__head {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    margin-bottom: 0.5rem;
}

.rpg-prc-banner__tag {
    font-family: var(--font-mono, monospace);
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--accent, #FF4500);
}

.rpg-prc-banner__title {
    font-family: var(--font-display, sans-serif);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text, inherit);
}

.rpg-prc-banner__intro {
    margin: 0 0 0.75rem 0;
    font-size: 0.875rem;
    line-height: 1.5;
}

.rpg-prc-banner__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rpg-prc-banner__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-top: 1px solid rgba(255, 69, 0, 0.2);
}

.rpg-prc-banner__item:first-child {
    border-top: none;
}

.rpg-prc-banner__name {
    font-weight: 600;
    color: var(--accent, #FF4500);
}

/* Mini-Form für den Dismiss (POST statt GET, damit Browser-Prefetch nicht
   versehentlich den Banner als gelesen markiert). */
.rpg-prc-banner__dismiss-form {
    margin: 0;
    display: inline-block;
}

.rpg-prc-banner__dismiss {
    font-family: var(--font-mono, monospace);
    font-size: 0.55rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--text-dim, #B3B3B3);
    text-decoration: none;
    padding: 0.3rem 0.6rem;
    background: transparent;
    border: 1px solid var(--text-dark, #4D4D4D);
    cursor: pointer;
    transition: all 0.2s;
}

.rpg-prc-banner__dismiss:hover {
    color: var(--text, #F5F5F5);
    border-color: var(--accent, #FF4500);
    text-decoration: none;
}

/* ----------------------------------------------------------------------------
   Responsive
   ---------------------------------------------------------------------------- */

@media (max-width: 768px) {
    .rpg-prc-badge {
        flex-wrap: wrap;
    }

    .rpg-prc-badge__period {
        margin-left: 0;
        padding-left: 0;
        border-left: none;
        width: 100%;
    }
}