/* ==========================================================================
   DEMO-PROMPTFENSTER  ·  ki.seo-manager.info
   ==========================================================================
   Wird NACH verzeichnis.css und artikel.css geladen und benutzt deren
   Variablen. --accent, --accent-text, --accent-on und --accent-flaeche
   setzt parts.php je Mandant; dieses Stylesheet legt also keine eigene
   Markenfarbe fest, sondern uebernimmt die eingestellte.

   Alle Klassen tragen das Praefix .kid-, damit sie mit nichts im Kern
   kollidieren.
   ========================================================================== */

.kid {
    max-width: 1180px;
    margin: 0 auto;
    padding: 3.5rem 1.5rem 1rem;
}

.kid-kopf { max-width: 760px; margin-bottom: 1.75rem; }

/* --------------------------------------------------------------------------
   Das Fenster
   -------------------------------------------------------------------------- */
.kid-box {
    background: var(--gradient-hero, linear-gradient(145deg, #020617 0%, #0F172A 40%, #1E293B 100%));
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: var(--border-radius-lg, 20px);
    padding: 1.6rem 1.6rem 1.3rem;
    color: #E2E8F0;
    box-shadow: 0 18px 45px rgba(2, 6, 23, 0.28);
}

/* Nur fuer Bildschirmleser */
.kid-sr {
    position: absolute;
    width: 1px; height: 1px;
    margin: -1px; padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* --------------------------------------------------------------------------
   Modellauswahl
   -------------------------------------------------------------------------- */
.kid-modelle { border: 0; margin: 0 0 1.25rem; padding: 0; }

.kid-legende {
    padding: 0;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.7px;
    text-transform: uppercase;
    color: #94A3B8;
    margin-bottom: 0.7rem;
}
.kid-legende-hint {
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: #64748B;
}

.kid-chips {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 0.55rem;
}

.kid-chip { display: block; cursor: pointer; }

/* Das Ankreuzfeld bleibt bedienbar und fuer Bildschirmleser sichtbar -
   es wird nur aus dem Bild geschoben, nicht mit display:none entfernt.
   Mit display:none waere es aus der Tabulatorreihenfolge verschwunden
   und die Auswahl per Tastatur unmoeglich. */
.kid-chip input {
    position: absolute;
    opacity: 0;
    width: 1px; height: 1px;
}

.kid-chip-body {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.85rem;
    border: 1.5px solid rgba(255, 255, 255, 0.13);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    transition: var(--transition, all 0.25s ease);
}
.kid-chip:hover .kid-chip-body { border-color: rgba(255, 255, 255, 0.28); }

.kid-chip input:checked + .kid-chip-body {
    border-color: var(--accent, #0D9488);
    background: rgba(255, 255, 255, 0.10);
    box-shadow: inset 0 0 0 1px var(--accent, #0D9488);
}

/* Tastaturfokus muss sichtbar sein - das Ankreuzfeld selbst ist es nicht. */
.kid-chip input:focus-visible + .kid-chip-body {
    outline: 3px solid var(--accent, #0D9488);
    outline-offset: 2px;
}

.kid-chip-icon { font-size: 1.25rem; line-height: 1; flex: 0 0 auto; }
.kid-chip-text { display: flex; flex-direction: column; min-width: 0; }
.kid-chip-name {
    font-size: 0.93rem;
    font-weight: 700;
    color: #F1F5F9;
    line-height: 1.3;
}
.kid-chip-meta {
    font-size: 0.75rem;
    color: #94A3B8;
    line-height: 1.4;
    margin-top: 0.1rem;
}

/* Häkchen für ausgewählte Modelle */
.kid-chip input:checked + .kid-chip-body .kid-chip-name::after {
    content: " ✓";
    color: var(--accent, #0D9488);
    font-weight: 800;
}

/* --------------------------------------------------------------------------
   Eingabe
   -------------------------------------------------------------------------- */
.kid-eingabe {
    display: block;
    width: 100%;
    padding: 0.95rem 1.05rem;
    font-family: var(--font, system-ui, sans-serif);
    font-size: 1rem;
    line-height: 1.6;
    color: #F8FAFC;
    background: rgba(2, 6, 23, 0.55);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    resize: vertical;
    min-height: 5.5rem;
}
.kid-eingabe::placeholder { color: #64748B; }
.kid-eingabe:focus {
    outline: 3px solid var(--accent, #0D9488);
    outline-offset: 2px;
    border-color: var(--accent, #0D9488);
}

.kid-leiste {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.kid-tastatur {
    margin: 0;
    font-family: var(--mono, monospace);
    font-size: 0.75rem;
    color: #64748B;
}

.kid-senden {
    padding: 0.75rem 1.7rem;
    font-family: inherit;
    font-size: 0.97rem;
    font-weight: 700;
    color: var(--accent-on, #FFFFFF);
    background: var(--accent-flaeche, var(--accent, #0D9488));
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    transition: var(--transition, all 0.25s ease);
}
.kid-senden:hover:not(:disabled) { filter: brightness(1.12); }
.kid-senden:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 2px; }
.kid-senden:disabled { opacity: 0.55; cursor: progress; }

/* --------------------------------------------------------------------------
   Beispielfragen
   -------------------------------------------------------------------------- */
.kid-bsp {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.1rem;
}
.kid-bsp-titel {
    font-size: 0.78rem;
    color: #94A3B8;
    margin-right: 0.2rem;
}
.kid-bsp-knopf {
    padding: 0.42rem 0.8rem;
    font-family: inherit;
    font-size: 0.8rem;
    line-height: 1.4;
    color: #CBD5E1;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    cursor: pointer;
    text-align: left;
    transition: var(--transition, all 0.25s ease);
}
.kid-bsp-knopf:hover {
    color: #F8FAFC;
    border-color: var(--accent, #0D9488);
    background: rgba(255, 255, 255, 0.10);
}
.kid-bsp-knopf:focus-visible { outline: 3px solid var(--accent, #0D9488); outline-offset: 2px; }

/* --------------------------------------------------------------------------
   Dauerhinweis
   -------------------------------------------------------------------------- */
.kid-hinweis {
    margin: 1.2rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.10);
    font-size: 0.85rem;
    line-height: 1.65;
    color: #94A3B8;
}

/* --------------------------------------------------------------------------
   Antworten
   -------------------------------------------------------------------------- */
.kid-antworten { margin-top: 1.5rem; }
.kid-antworten:empty { margin-top: 0; }

.kid-frage {
    margin: 0 0 1rem;
    padding: 0.7rem 1rem;
    background: var(--light, #F1F5F9);
    border-left: 4px solid var(--accent, #0D9488);
    border-radius: 0 8px 8px 0;
    font-size: 0.92rem;
    font-weight: 600;
    color: var(--text-dark, #0F172A);
}

.kid-karte {
    margin-bottom: 0.9rem;
    padding: 1.15rem 1.35rem 1.25rem;
    background: var(--white, #FFFFFF);
    border: 1.5px solid var(--light-gray, #CBD5E1);
    border-radius: 14px;
}

.kid-karte-kopf {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding-bottom: 0.7rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px solid var(--light, #F1F5F9);
}
.kid-karte-icon { font-size: 1.2rem; line-height: 1; }
.kid-karte-name {
    font-size: 0.97rem;
    font-weight: 700;
    color: var(--text-dark, #0F172A);
}
.kid-karte-status {
    margin-left: auto;
    font-family: var(--mono, monospace);
    font-size: 0.7rem;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    color: var(--medium-gray, #606F85);
}
.kid-karte-status--fertig { color: var(--warning-text, #986207); }

.kid-karte-text {
    /* pre-wrap, weil die Antworten Absaetze und teilweise Quelltext mit
       eigener Einrueckung enthalten. Sie werden ueber textContent
       gesetzt - Zeilenumbrueche stehen also als \n im Text. */
    white-space: pre-wrap;
    font-size: 0.96rem;
    line-height: 1.75;
    color: var(--text-medium, #475569);
    min-height: 1.5rem;
}

.kid-karte-fuss {
    margin: 0.95rem 0 0;
    padding-top: 0.7rem;
    border-top: 1px dashed var(--light-gray, #CBD5E1);
    font-size: 0.79rem;
    line-height: 1.6;
    color: var(--medium-gray, #606F85);
}

/* Gedankenkette des Reasoning-Modells */
.kid-gedanken {
    margin: 0 0 0.9rem;
    padding: 0.7rem 0.9rem;
    background: var(--off-white, #F8FAFC);
    border: 1px dashed var(--light-gray, #CBD5E1);
    border-radius: 10px;
}
.kid-gedanken > summary {
    cursor: pointer;
    font-family: var(--mono, monospace);
    font-size: 0.72rem;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--medium-gray, #606F85);
}
.kid-gedanken > summary:focus-visible { outline: 3px solid var(--accent, #0D9488); outline-offset: 2px; }
.kid-gedanken-text {
    margin: 0.6rem 0 0;
    font-family: var(--mono, monospace);
    font-size: 0.78rem;
    line-height: 1.7;
    color: #475569;
    white-space: pre-wrap;
    overflow-x: auto;
}

.kid-meldung,
.kid-abschluss {
    margin: 0.9rem 0 0;
    padding: 0.85rem 1.1rem;
    background: var(--off-white, #F8FAFC);
    border: 1px solid var(--light-gray, #CBD5E1);
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.7;
    color: var(--text-medium, #475569);
}
.kid-abschluss a { color: var(--accent-text, #0B6B62); font-weight: 700; }

.kid-noscript {
    margin-top: 1.25rem;
    padding: 1rem 1.2rem;
    background: var(--off-white, #F8FAFC);
    border-left: 4px solid var(--warning, #F59E0B);
    border-radius: 0 8px 8px 0;
    font-size: 0.92rem;
    line-height: 1.7;
    color: var(--text-medium, #475569);
}

/* --------------------------------------------------------------------------
   Kleine Bildschirme
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
    .kid { padding: 2.5rem 1rem 0.5rem; }
    .kid-box { padding: 1.15rem 1.1rem 1rem; border-radius: 14px; }
    .kid-chips { grid-template-columns: 1fr; }
    .kid-leiste { flex-direction: column-reverse; align-items: stretch; }
    .kid-senden { width: 100%; }
    .kid-tastatur { text-align: center; }
}

/* --------------------------------------------------------------------------
   Druck: Das Fenster ist eine Bedienoberflaeche und auf Papier sinnlos.
   Die bereits erzeugten Antworten bleiben, weil jemand sie mitnehmen
   koennte - dann aber lesbar auf Weiss.
   -------------------------------------------------------------------------- */
@media print {
    .kid-box, .kid-bsp, .kid-noscript { display: none; }
    .kid-karte { border: 1px solid #333; page-break-inside: avoid; }
    .kid-karte-text { color: #000; }
    .kid-gedanken { display: none; }
}
