/* ============================================================================
   RPG QUOTES — LA MIDNIGHT BRUTALIST
   Author: Rogue RPG BB
   Prefix: .rpgquotes-* (Plugin-Klassen, HTML kommt vom Plugin rpg_quotes)

   Deckt ab:
     1. Postbit-Button ("Ingame Quote")
     2. Modal (Text markieren -> speichern)
     3. Index-Widget (zufaelliges Quote)
     4. Uebersichtsseite (misc.php?action=rpg_quotes)

   Nutzt ausschliesslich die Design-Tokens aus 00-settings.css.
   ============================================================================ */


/* ============================================
   1 — POSTBIT-BUTTON
   Liegt in .lam-post__buttons und erbt dessen
   Mono/Uppercase-Optik; hier nur die Akzentfarbe
   wie beim Standard-Zitieren-Button.
   ============================================ */
.lam-post__buttons .rpgquotes-btn {
    color: var(--accent);
    cursor: pointer;
}

.lam-post__buttons .rpgquotes-btn:hover {
    color: var(--accent-hover);
}

/* Inline-Hinweis "Bitte zuerst Text markieren" neben dem Button */
.rpgquotes-hint {
    display: inline-block;
    margin-left: var(--space-sm);
    font-family: var(--font-mono);
    font-size: 0.55rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--error);
}


/* ============================================
   2 — MODAL
   Vollbild-Overlay + zentriertes Brutalist-Card.
   Sichtbarkeit togglet JS ueber .is-open.
   ============================================ */
.rpgquotes-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.rpgquotes-modal.is-open {
    display: block;
}

.rpgquotes-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
}

.rpgquotes-modal__dialog {
    position: relative;
    max-width: 560px;
    margin: 10vh auto 0;
    padding: var(--space-xl);
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    box-shadow: var(--shadow);
    /* harte Kante — Brutalist */
    border-radius: 0;
}

.rpgquotes-modal__title {
    font-family: var(--font-display);
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.01em;
    color: var(--text);
    margin: 0 0 var(--space-sm);
    text-transform: none;
}

.rpgquotes-modal__hint {
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin: 0 0 var(--space-md);
}

.rpgquotes-modal__text {
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    min-height: 6rem;
    padding: var(--space-md);
    background: var(--bg-input);
    border: 1px solid var(--border);
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.9rem;
    line-height: 1.5;
    border-radius: 0;
}

.rpgquotes-modal__text:focus {
    outline: none;
    border-color: var(--accent);
}

.rpgquotes-modal__feedback {
    min-height: 1.2rem;
    margin: var(--space-md) 0 0;
    font-family: var(--font-mono);
    font-size: 0.65rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.rpgquotes-modal__feedback.is-error {
    color: var(--error);
}

.rpgquotes-modal__feedback.is-success {
    color: var(--success);
}

.rpgquotes-modal__actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
}


/* ============================================
   QUOTE-BAUSTEIN (gemeinsam: Index + Uebersicht)
   <blockquote class="rpgquotes-quote">
   ============================================ */
.rpgquotes-quote {
    margin: 0;
    padding: var(--space-md) 0;
    border-bottom: 1px solid var(--text-dark);
}

.rpgquotes-quote:last-child {
    border-bottom: none;
}

/* Zitat-Text — grosser Display-Font mit Anfuehrungs-Akzent */
.rpgquotes-quote__text {
    position: relative;
    margin: 0 0 var(--space-sm);
    padding-left: var(--space-lg);
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: var(--text);
}

/* Grosses Anfuehrungszeichen als Akzent links */
.rpgquotes-quote__text::before {
    content: "\201C";
    position: absolute;
    left: 0;
    top: -0.15em;
    font-size: 2rem;
    line-height: 1;
    color: var(--accent);
}

/* Meta-Zeile: Autor · Zum Post · Datum · Deaktivieren */
.rpgquotes-quote__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--space-md);
    padding-left: var(--space-lg);
    font-family: var(--font-mono);
    font-size: 0.55rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-dim);
}

.rpgquotes-quote__author a,
.rpgquotes-quote__link {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s var(--ease);
}

.rpgquotes-quote__author a:hover,
.rpgquotes-quote__link:hover {
    color: var(--accent);
}

.rpgquotes-quote__date {
    color: var(--text-dim);
}

/* Mod-Aktion "Deaktivieren" — dezent rot, rechts */
.rpgquotes-quote__deact {
    margin-left: auto;
    color: var(--error);
    text-decoration: none;
    cursor: pointer;
    transition: color 0.2s var(--ease);
}

.rpgquotes-quote__deact:hover {
    color: var(--error);
    text-decoration: underline;
}


/* ============================================
   3 — INDEX-WIDGET
   Modul-Look analog zu .rpgindexpost-wrap.
   Variable {$rpg_random_quote} platziert der
   Theme-Betreiber selbst im index-Template.
   ============================================ */
.rpgquotes-index {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.rpgquotes-index__title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--text);
    text-transform: none;
    margin: 0;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--text-dark);
}

/* Im Index kein eigener Border (Container liefert ihn) */
.rpgquotes-quote--index {
    padding: 0;
    border-bottom: none;
}


/* ============================================
   4 — UEBERSICHTSSEITE  misc.php?action=rpg_quotes
   ============================================ */
.rpgquotes-page {
    max-width: var(--content-max);
    margin: var(--space-xl) 0;
}

.rpgquotes-page__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-md);
    padding-bottom: var(--space-md);
    margin-bottom: var(--space-md);
    border-bottom: 1px solid var(--border-light);
}

.rpgquotes-page__title {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.01em;
    color: var(--text);
    text-transform: none;
    margin: 0;
}

.rpgquotes-page__sort {
    display: flex;
    align-items: baseline;
    gap: var(--space-md);
    font-family: var(--font-mono);
    font-size: 0.6rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.rpgquotes-page__sort-label {
    color: var(--text-dim);
}

.rpgquotes-page__sort a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s var(--ease);
}

.rpgquotes-page__sort a:hover {
    color: var(--accent);
}

.rpgquotes-list {
    display: flex;
    flex-direction: column;
}

.rpgquotes-empty {
    padding: var(--space-2xl) var(--space-md);
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--text-dim);
    border: 1px dashed var(--border-light);
}

.rpgquotes-page__pages {
    margin-top: var(--space-lg);
}