/* ==========================================================================
   Zocker-Loge – Inhalts-Typografie
   Stellt in Beiträgen, Seiten, Spiele- und Tipp-Texten die normale
   Formatierung wieder her (Listen, Abstände, Überschriften, Zitate, Tabellen,
   Bilder) und gibt den Gutenberg-Blöcken den Steam-Dark-Look.
   Gilt NUR für Inhaltsbereiche – der Rest des Themes bleibt unberührt.
   ========================================================================== */

.entry-content,
.game-desc,
.home-text-inner,
.zl-content {
    --zlc-text: var(--steam-text, #c6d4df);
    --zlc-dim: var(--steam-text-dim, #8f98a0);
    --zlc-head: #ffffff;
    --zlc-blue: var(--steam-blue, #66c0f4);
    --zlc-accent: #1a9fff;
    --zlc-border: var(--steam-border, #2a475e);
    --zlc-surface: rgba(0, 0, 0, 0.25);
    --zlc-gap: 1.15em;

    color: var(--zlc-text);
    font-size: 16px;
    line-height: 1.75;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* ---------- Grundabstand zwischen allen Elementen ---------- */
.entry-content > *,
.game-desc > *,
.home-text-inner > *,
.zl-content > * {
    margin-top: 0;
    margin-bottom: var(--zlc-gap);
}
.entry-content > *:last-child,
.game-desc > *:last-child,
.home-text-inner > *:last-child,
.zl-content > *:last-child { margin-bottom: 0; }

.entry-content p,
.game-desc p,
.home-text-inner p,
.zl-content p {
    margin: 0 0 var(--zlc-gap);
    padding: 0;
}

/* ---------- Überschriften ---------- */
.entry-content :is(h1, h2, h3, h4, h5, h6),
.game-desc :is(h1, h2, h3, h4, h5, h6),
.home-text-inner :is(h1, h2, h3, h4, h5, h6),
.zl-content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--zlc-head);
    font-weight: 700;
    line-height: 1.3;
    margin: 1.8em 0 0.6em;
    padding: 0;
}
.entry-content :is(h1, h2, h3, h4, h5, h6):first-child,
.game-desc :is(h1, h2, h3, h4, h5, h6):first-child,
.home-text-inner :is(h1, h2, h3, h4, h5, h6):first-child,
.zl-content :is(h1, h2, h3, h4, h5, h6):first-child { margin-top: 0; }

.entry-content h1, .game-desc h1, .home-text-inner h1, .zl-content h1 { font-size: 1.9em; }
.entry-content h2, .game-desc h2, .home-text-inner h2, .zl-content h2 {
    font-size: 1.5em;
    color: var(--zlc-blue);
    padding-bottom: 0.3em;
    border-bottom: 1px solid var(--zlc-border);
}
.entry-content h3, .game-desc h3, .home-text-inner h3, .zl-content h3 { font-size: 1.25em; }
.entry-content h4, .game-desc h4, .home-text-inner h4, .zl-content h4 { font-size: 1.1em; color: var(--zlc-blue); }
.entry-content h5, .game-desc h5, .home-text-inner h5, .zl-content h5 { font-size: 1em; text-transform: uppercase; letter-spacing: 0.5px; }
.entry-content h6, .game-desc h6, .home-text-inner h6, .zl-content h6 { font-size: 0.9em; color: var(--zlc-dim); text-transform: uppercase; letter-spacing: 0.5px; }

/* ---------- Links & Textauszeichnung ---------- */
.entry-content a:not(.wp-block-button__link):not(.wp-element-button),
.game-desc a:not(.wp-block-button__link):not(.wp-element-button),
.home-text-inner a:not(.wp-block-button__link):not(.wp-element-button),
.zl-content a:not(.wp-block-button__link):not(.wp-element-button) {
    color: var(--zlc-blue);
    text-decoration: underline;
    text-decoration-color: rgba(102, 192, 244, 0.4);
    text-underline-offset: 3px;
    transition: color 0.15s, text-decoration-color 0.15s;
}
.entry-content a:not(.wp-block-button__link):hover,
.game-desc a:not(.wp-block-button__link):hover,
.home-text-inner a:not(.wp-block-button__link):hover,
.zl-content a:not(.wp-block-button__link):hover {
    color: #ffffff;
    text-decoration-color: currentColor;
}

.entry-content :is(strong, b), .game-desc :is(strong, b), .home-text-inner :is(strong, b), .zl-content :is(strong, b) { color: #ffffff; font-weight: 700; }
.entry-content :is(em, i), .game-desc :is(em, i), .home-text-inner :is(em, i), .zl-content :is(em, i) { font-style: italic; }
.entry-content mark, .game-desc mark, .home-text-inner mark, .zl-content mark { background: rgba(232, 180, 58, 0.25); color: #ffffff; padding: 0 3px; border-radius: 2px; }
.entry-content small, .game-desc small, .home-text-inner small, .zl-content small { font-size: 0.85em; color: var(--zlc-dim); }
.entry-content abbr[title], .game-desc abbr[title], .zl-content abbr[title] { text-decoration: underline dotted; cursor: help; }
.entry-content :is(sub, sup), .game-desc :is(sub, sup), .zl-content :is(sub, sup) { font-size: 0.75em; line-height: 0; }

/* ---------- Listen (das war das Hauptproblem: Einrückung & Punkte fehlten) ---------- */
.entry-content :is(ul, ol),
.game-desc :is(ul, ol),
.home-text-inner :is(ul, ol),
.zl-content :is(ul, ol) {
    margin: 0 0 var(--zlc-gap);
    padding: 0 0 0 1.6em;
}
.entry-content ul, .game-desc ul, .home-text-inner ul, .zl-content ul { list-style: disc outside; }
.entry-content ol, .game-desc ol, .home-text-inner ol, .zl-content ol { list-style: decimal outside; }
.entry-content ul ul, .game-desc ul ul, .home-text-inner ul ul, .zl-content ul ul { list-style-type: circle; }
.entry-content ul ul ul, .game-desc ul ul ul, .home-text-inner ul ul ul, .zl-content ul ul ul { list-style-type: square; }
.entry-content ol ol, .game-desc ol ol, .home-text-inner ol ol, .zl-content ol ol { list-style-type: lower-alpha; }

.entry-content li, .game-desc li, .home-text-inner li, .zl-content li {
    display: list-item;
    margin: 0 0 0.4em;
    padding: 0 0 0 0.2em;
}
.entry-content li > :is(ul, ol), .game-desc li > :is(ul, ol), .home-text-inner li > :is(ul, ol), .zl-content li > :is(ul, ol) {
    margin: 0.4em 0 0;
}
.entry-content li::marker, .game-desc li::marker, .home-text-inner li::marker, .zl-content li::marker {
    color: var(--zlc-blue);
}
.entry-content ol > li::marker, .game-desc ol > li::marker, .zl-content ol > li::marker { font-weight: 700; }

/* Definitionslisten */
.entry-content dl, .game-desc dl, .zl-content dl { margin: 0 0 var(--zlc-gap); }
.entry-content dt, .game-desc dt, .zl-content dt { color: #ffffff; font-weight: 700; margin-top: 0.6em; }
.entry-content dd, .game-desc dd, .zl-content dd { margin: 0 0 0 1.6em; color: var(--zlc-text); }

/* ---------- Zitate ---------- */
.entry-content blockquote,
.game-desc blockquote,
.home-text-inner blockquote,
.zl-content blockquote,
.entry-content .wp-block-quote,
.game-desc .wp-block-quote,
.zl-content .wp-block-quote {
    margin: 1.5em 0;
    padding: 1em 1.4em;
    background: var(--zlc-surface);
    border: 0;
    border-left: 3px solid var(--zlc-accent);
    border-radius: 0 4px 4px 0;
    color: #dfe7ee;
    font-style: italic;
}
.entry-content blockquote p:last-of-type,
.game-desc blockquote p:last-of-type,
.zl-content blockquote p:last-of-type { margin-bottom: 0; }
.entry-content blockquote :is(cite, footer),
.game-desc blockquote :is(cite, footer),
.zl-content blockquote :is(cite, footer),
.entry-content .wp-block-quote cite,
.game-desc .wp-block-quote cite {
    display: block;
    margin-top: 0.6em;
    font-size: 0.85em;
    font-style: normal;
    color: var(--zlc-dim);
}
.entry-content blockquote :is(cite, footer)::before,
.game-desc blockquote :is(cite, footer)::before,
.zl-content blockquote :is(cite, footer)::before { content: "— "; }

.entry-content .wp-block-pullquote,
.game-desc .wp-block-pullquote,
.zl-content .wp-block-pullquote {
    margin: 2em 0;
    padding: 1.5em 1em;
    border-top: 3px solid var(--zlc-accent);
    border-bottom: 3px solid var(--zlc-accent);
    text-align: center;
}
.entry-content .wp-block-pullquote blockquote,
.game-desc .wp-block-pullquote blockquote,
.zl-content .wp-block-pullquote blockquote {
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    font-size: 1.35em;
    line-height: 1.5;
    color: #ffffff;
}

/* ---------- Code ---------- */
.entry-content :is(code, kbd, samp),
.game-desc :is(code, kbd, samp),
.home-text-inner :is(code, kbd, samp),
.zl-content :is(code, kbd, samp) {
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: 0.88em;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid var(--zlc-border);
    border-radius: 3px;
    padding: 0.1em 0.4em;
    color: #a3cf06;
}
.entry-content kbd, .game-desc kbd, .zl-content kbd { border-bottom-width: 2px; color: #ffffff; }
.entry-content pre,
.game-desc pre,
.zl-content pre,
.entry-content .wp-block-code,
.game-desc .wp-block-code,
.zl-content .wp-block-code {
    margin: 0 0 var(--zlc-gap);
    padding: 1em 1.2em;
    background: #0b0e12;
    border: 1px solid var(--zlc-border);
    border-radius: 4px;
    overflow-x: auto;
    font-size: 0.88em;
    line-height: 1.6;
    white-space: pre;
}
.entry-content pre code, .game-desc pre code, .zl-content pre code { background: none; border: 0; padding: 0; color: #c6d4df; }

/* ---------- Trennlinie ---------- */
.entry-content hr, .game-desc hr, .home-text-inner hr, .zl-content hr,
.entry-content .wp-block-separator, .game-desc .wp-block-separator, .zl-content .wp-block-separator {
    height: 0;
    margin: 2em auto;
    border: 0;
    border-top: 1px solid var(--zlc-border);
    background: none;
    opacity: 1;
}
.entry-content .wp-block-separator.is-style-wide, .game-desc .wp-block-separator.is-style-wide { width: 100%; }
.entry-content .wp-block-separator:not(.is-style-wide):not(.is-style-dots),
.game-desc .wp-block-separator:not(.is-style-wide):not(.is-style-dots) { width: 120px; border-top-width: 2px; border-top-color: var(--zlc-accent); }
.entry-content .wp-block-separator.is-style-dots, .game-desc .wp-block-separator.is-style-dots { border: 0; text-align: center; }
.entry-content .wp-block-separator.is-style-dots::before, .game-desc .wp-block-separator.is-style-dots::before { content: "···"; color: var(--zlc-dim); font-size: 1.5em; letter-spacing: 1em; }

/* ---------- Tabellen ---------- */
.entry-content .wp-block-table, .game-desc .wp-block-table, .zl-content .wp-block-table { overflow-x: auto; margin: 0 0 var(--zlc-gap); }
.entry-content table, .game-desc table, .home-text-inner table, .zl-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 var(--zlc-gap);
    font-size: 0.95em;
    background: var(--zlc-surface);
}
.entry-content .wp-block-table table, .game-desc .wp-block-table table { margin: 0; }
.entry-content :is(th, td), .game-desc :is(th, td), .home-text-inner :is(th, td), .zl-content :is(th, td) {
    padding: 0.6em 0.9em;
    border: 1px solid var(--zlc-border);
    text-align: left;
    vertical-align: top;
}
.entry-content th, .game-desc th, .home-text-inner th, .zl-content th,
.entry-content thead td, .game-desc thead td {
    background: rgba(0, 0, 0, 0.35);
    color: var(--zlc-blue);
    font-weight: 700;
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.entry-content tbody tr:nth-child(even), .game-desc tbody tr:nth-child(even), .zl-content tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.02); }
.entry-content .wp-block-table.is-style-stripes td, .game-desc .wp-block-table.is-style-stripes td { border-color: var(--zlc-border); }
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd), .game-desc .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: rgba(102, 192, 244, 0.05); }
.entry-content figcaption, .game-desc figcaption, .zl-content figcaption,
.entry-content .wp-element-caption, .game-desc .wp-element-caption {
    margin-top: 0.5em;
    font-size: 0.85em;
    color: var(--zlc-dim);
    text-align: center;
    font-style: italic;
}

/* ---------- Bilder & Medien ---------- */
.entry-content :is(img, video, iframe, embed, object),
.game-desc :is(img, video, iframe, embed, object),
.home-text-inner :is(img, video, iframe, embed, object),
.zl-content :is(img, video, iframe, embed, object) {
    max-width: 100%;
}
.entry-content img, .game-desc img, .home-text-inner img, .zl-content img {
    height: auto;
    border-radius: 4px;
    vertical-align: middle;
}
.entry-content figure, .game-desc figure, .home-text-inner figure, .zl-content figure { margin: 0 0 var(--zlc-gap); }
.entry-content .wp-block-image img, .game-desc .wp-block-image img { border: 1px solid var(--zlc-border); }
.entry-content .wp-block-image.is-style-rounded img, .game-desc .wp-block-image.is-style-rounded img { border-radius: 9999px; }

/* Ausrichtungen (Klassik-Editor & Gutenberg) */
.entry-content .alignleft, .game-desc .alignleft, .home-text-inner .alignleft, .zl-content .alignleft { float: left; margin: 0.3em 1.5em 1em 0; max-width: 50%; }
.entry-content .alignright, .game-desc .alignright, .home-text-inner .alignright, .zl-content .alignright { float: right; margin: 0.3em 0 1em 1.5em; max-width: 50%; }
.entry-content .aligncenter, .game-desc .aligncenter, .home-text-inner .aligncenter, .zl-content .aligncenter { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.entry-content .wp-block-image .aligncenter, .game-desc .wp-block-image .aligncenter { display: table; }
.entry-content .alignwide, .game-desc .alignwide { width: 100%; }
.entry-content .alignfull, .game-desc .alignfull { width: 100%; }
.entry-content::after, .game-desc::after, .home-text-inner::after, .zl-content::after { content: ""; display: table; clear: both; }
.entry-content .wp-caption, .game-desc .wp-caption { max-width: 100%; }
.entry-content .wp-caption-text, .game-desc .wp-caption-text { font-size: 0.85em; color: var(--zlc-dim); text-align: center; margin-top: 0.4em; }

/* Videos/Embeds responsiv (YouTube & Co.) */
.entry-content .wp-block-embed, .game-desc .wp-block-embed, .zl-content .wp-block-embed { margin: 0 0 var(--zlc-gap); }
.entry-content .wp-block-embed__wrapper, .game-desc .wp-block-embed__wrapper { position: relative; }
.entry-content .wp-embed-aspect-16-9 .wp-block-embed__wrapper, .game-desc .wp-embed-aspect-16-9 .wp-block-embed__wrapper { aspect-ratio: 16 / 9; }
.entry-content .wp-embed-aspect-4-3 .wp-block-embed__wrapper, .game-desc .wp-embed-aspect-4-3 .wp-block-embed__wrapper { aspect-ratio: 4 / 3; }
.entry-content .wp-block-embed__wrapper iframe, .game-desc .wp-block-embed__wrapper iframe {
    position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 4px;
}
.entry-content .wp-block-video video, .game-desc .wp-block-video video { width: 100%; border-radius: 4px; }

/* Galerie */
.entry-content .wp-block-gallery, .game-desc .wp-block-gallery, .zl-content .wp-block-gallery {
    display: flex; flex-wrap: wrap; gap: 0.6em; padding: 0; list-style: none;
}
.entry-content .wp-block-gallery .wp-block-image, .game-desc .wp-block-gallery .wp-block-image { margin: 0; }
.entry-content .wp-block-gallery img, .game-desc .wp-block-gallery img { width: 100%; height: 100%; object-fit: cover; }
.entry-content .gallery, .game-desc .gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6em; }
.entry-content .gallery-item, .game-desc .gallery-item { margin: 0; }

/* ---------- Spalten, Gruppen, Cover ---------- */
.entry-content .wp-block-columns, .game-desc .wp-block-columns, .zl-content .wp-block-columns {
    display: flex; flex-wrap: wrap; gap: 1.5em; margin: 0 0 var(--zlc-gap);
}
.entry-content .wp-block-column, .game-desc .wp-block-column, .zl-content .wp-block-column { flex: 1 1 0; min-width: 0; }
.entry-content .wp-block-column > *:last-child, .game-desc .wp-block-column > *:last-child { margin-bottom: 0; }
.entry-content :is(.wp-block-group, .has-background):not(.wp-block-button__link),
.game-desc :is(.wp-block-group, .has-background):not(.wp-block-button__link) {
    border-radius: 4px;
}
.entry-content .wp-block-group.has-background, .game-desc .wp-block-group.has-background,
.entry-content p.has-background, .game-desc p.has-background { padding: 1.2em 1.4em; }
.entry-content .wp-block-cover, .game-desc .wp-block-cover { border-radius: 4px; overflow: hidden; margin: 0 0 var(--zlc-gap); }
.entry-content .wp-block-cover :is(h1, h2, h3, p), .game-desc .wp-block-cover :is(h1, h2, h3, p) { color: #ffffff; border: 0; }

/* ---------- Buttons ---------- */
.entry-content .wp-block-buttons, .game-desc .wp-block-buttons, .zl-content .wp-block-buttons {
    display: flex; flex-wrap: wrap; gap: 0.6em; margin: 0 0 var(--zlc-gap);
}
.entry-content .wp-block-buttons.is-content-justification-center, .game-desc .wp-block-buttons.is-content-justification-center { justify-content: center; }
.entry-content .wp-block-buttons.is-content-justification-right, .game-desc .wp-block-buttons.is-content-justification-right { justify-content: flex-end; }
.entry-content .wp-block-button__link,
.game-desc .wp-block-button__link,
.zl-content .wp-block-button__link,
.entry-content .wp-element-button,
.game-desc .wp-element-button {
    display: inline-block;
    padding: 0.7em 1.4em;
    border: 0;
    border-radius: 2px;
    background: linear-gradient(90deg, #06bfff, #2d73ff);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 0.95em;
    line-height: 1.3;
    text-decoration: none !important;
    cursor: pointer;
    transition: filter 0.15s;
}
.entry-content .wp-block-button__link:hover, .game-desc .wp-block-button__link:hover { filter: brightness(1.15); }
.entry-content .is-style-outline .wp-block-button__link,
.game-desc .is-style-outline .wp-block-button__link {
    background: transparent;
    border: 2px solid var(--zlc-blue);
    color: var(--zlc-blue) !important;
}
/* vom Editor gewählte Hintergrundfarbe behalten */
.entry-content .wp-block-button__link.has-background, .game-desc .wp-block-button__link.has-background { background-image: none; }

/* ---------- Details/Aufklapper ---------- */
.entry-content details, .game-desc details, .zl-content details {
    margin: 0 0 var(--zlc-gap);
    padding: 0.8em 1.1em;
    background: var(--zlc-surface);
    border: 1px solid var(--zlc-border);
    border-radius: 4px;
}
.entry-content summary, .game-desc summary, .zl-content summary { cursor: pointer; font-weight: 700; color: #ffffff; }
.entry-content details[open] summary, .game-desc details[open] summary { margin-bottom: 0.6em; }

/* ---------- Textausrichtung & Schriftgrößen aus dem Editor ---------- */
.entry-content .has-text-align-center, .game-desc .has-text-align-center, .zl-content .has-text-align-center { text-align: center; }
.entry-content .has-text-align-right, .game-desc .has-text-align-right, .zl-content .has-text-align-right { text-align: right; }
.entry-content .has-text-align-left, .game-desc .has-text-align-left { text-align: left; }
.entry-content .has-small-font-size, .game-desc .has-small-font-size { font-size: 0.85em; }
.entry-content .has-medium-font-size, .game-desc .has-medium-font-size { font-size: 1.15em; }
.entry-content .has-large-font-size, .game-desc .has-large-font-size { font-size: 1.5em; line-height: 1.4; }
.entry-content :is(.has-x-large-font-size, .has-huge-font-size), .game-desc :is(.has-x-large-font-size, .has-huge-font-size) { font-size: 2em; line-height: 1.3; }
.entry-content .has-drop-cap:not(:focus)::first-letter, .game-desc .has-drop-cap:not(:focus)::first-letter {
    float: left; font-size: 3.4em; line-height: 0.9; font-weight: 800; margin: 0.05em 0.12em 0 0; color: var(--zlc-blue);
}

/* ---------- Mobil ---------- */
@media (max-width: 700px) {
    .entry-content, .game-desc, .home-text-inner, .zl-content { font-size: 15px; }
    .entry-content :is(.alignleft, .alignright), .game-desc :is(.alignleft, .alignright) { float: none; margin: 0 0 var(--zlc-gap); max-width: 100%; }
    .entry-content .wp-block-columns, .game-desc .wp-block-columns { flex-direction: column; }
    .entry-content h1, .game-desc h1 { font-size: 1.6em; }
    .entry-content h2, .game-desc h2 { font-size: 1.35em; }
}
