/*
 * Discovery Panel Core — Frontend Design System
 * Datei: assets/css/frontend.css
 *
 * Gliederung:
 *   2.  Design Tokens     (:root CSS Custom Properties)
 *   2b. Basis-Typografie  (.dp-layout-home — Schriften, Hierarchie)
 *   3.  Utilities         (.dp-balance, .dp-notice)
 *  25.  Rev 36            (Featured Cards, Excerpts, Memory, Closing Section)
 *  26.  Rev 37            (WP/GP Theme-Reste, Logo-Polish, Mikro-UX, Mobile)
 *  27.  Rev 38            ([dp_homepage] Wrapper-Alias, Full-Bleed, Typografie-Scope)
 *  28.  Rev 39/40         (Hero-Neustart, Interaction Strip, Cards, GP-Kompatibilität, Kontrast)
 *  29.  Rev 43/48        (Grafik-Assets, Warmth; Sternfeld-Strip entfernt)
 *  32.  Rev 48           (Warm Magazine Reset: Hero-Stage-Layout, Cover-Quadrat, Logo 200px, HP-Footer warm)
 *  34.  Rev 52           (dp_episode Einzelseiten-Template: Hero, Hauptspalte, Sidebar)
 *  35.  Rev 57           (Hero-Verfeinerung: Warmth, Player-Höhe, Hierarchie, Kartenlook)
 *  36.  Rev 58           (Homepage-Sektionen vereinheitlicht: Eyebrows, Strip, Karten, Memory)
 *  37.  Rev 59           (Desktop-Nav Member-Dropdown: Trigger, Dropdown, Ausgeloggt-Gruppe)
 *  43.  Rev 70           (Keep us connected…: Landingpage [dp_game_page], Homepage Game-Panel)
 *  35.  Rev 74           (Hero-Player: Script-Embed-Wrapper dp-hero-stage__player-embed, dynamische Höhe)
 *  38.  Rev 81           (Homepage Großer Wurf: Cover-Höhe, Player-Spalte, fixed Podigee URL,
 *                         Rail 2/3+1/3, Reels-Panel, Scroll-Arrow, Neue Folgen Podcast-Grid)
 *  40.  Rev 85           (Vertikales Dropdown: L1→L2→L3, keine Flyouts, Ebenenfarben, Chevrons)
 *  41.  Rev 87           (DP Standard Sidebar: Am meisten gewünscht + Beliebte Episoden)
 *  44.  Rev 92           (Standard-Seiten: Inhalt-Karte, Typografie, Kommentare warmem Magazinstil)
 * Entfernt (Rev 48 Reset):
 *   Section 30 (Rev 44): dp-hero-post__* — Markup nicht mehr aktiv
 *   Section 31 (Rev 45): dp-hero-tile — Markup nicht mehr aktiv
 *   Section 32 alt (Rev 46): Dark Stage Hero (Navy, Sternfeld, Glassmorphism)
 *   Section 33 (Rev 47): Illustrated Dark Editorial (dunkle Gesamtseite)
 *
 *   4. Buttons           (.dp-btn)
 *   5. Cards             (.dp-card)
 *   6. Poll-Block        (.dp-poll)
 *   7. Episode-Block     (.dp-episode)
 *   8. Ranking           (.dp-ranking)
 *   9. Community-Boxen   (.dp-community-box, .dp-support-box, .dp-social-box)
 *
 * Keine externen Abhängigkeiten. Kein Reset. Kein Framework.
 * Fonts: Figtree (Sans) und Bitter (Serif) werden von GeneratePress geladen.
 * Keine @font-face-Definitionen in diesem Plugin — GP verwaltet die Schriften zentral.
 */

/* =========================================================================
   2. Design Tokens — CSS Custom Properties
   ========================================================================= */

:root {
    /* --- Markenfarben --- */
    --dp-primary:        #304a98;
    --dp-primary-dark:   #233878;
    --dp-primary-light:  #4a66c0;
    --dp-primary-subtle: #eff2fd;

    --dp-accent:         #cf1682;
    --dp-accent-dark:    #a8106a;
    --dp-accent-light:   #e83d9f;
    --dp-accent-subtle:  #fdf0f8;

    /* --- Neutral Scale (hell → dunkel) --- */
    --dp-n-0:   #ffffff;
    --dp-n-50:  #f7f8fb;
    --dp-n-100: #eef0f6;
    --dp-n-200: #dde1ee;
    --dp-n-300: #c3cade;
    --dp-n-400: #9aa4c4;
    --dp-n-500: #697491;
    --dp-n-600: #4a5270;
    --dp-n-700: #303652;
    --dp-n-800: #1c2038;
    --dp-n-900: #0d1020;

    /* --- Semantische Farb-Aliases --- */
    --dp-text:          var(--dp-n-800);
    --dp-text-muted:    var(--dp-n-500);
    --dp-text-inverse:  var(--dp-n-0);
    --dp-bg:            var(--dp-n-0);
    --dp-bg-subtle:     var(--dp-n-50);
    --dp-border:        var(--dp-n-200);
    --dp-border-strong: var(--dp-n-300);

    /* --- Zustandsfarben --- */
    --dp-success:    #1a7f37;
    --dp-success-bg: #f0fdf4;
    --dp-error:      #c0392b;
    --dp-error-bg:   #fef2f2;
    --dp-gold:       #c9a227;
    --dp-silver:     #9e9e9e;
    --dp-bronze:     #a0522d;

    /* --- Typografie — Font Stacks ---
       Figtree (Sans) und Bitter (Serif) werden von GeneratePress geladen.
       GP erzeugt CSS-Variablen var(--gp-font--figtree) / var(--gp-font--bitter).
       Wir nutzen diese direkt — kein @font-face nötig. */
    --dp-font-body:     var(--gp-font--figtree, 'Figtree', system-ui, sans-serif);
    --dp-font-headline: var(--gp-font--figtree, 'Figtree', system-ui, sans-serif);
    --dp-font-serif:    var(--gp-font--bitter,  'Bitter',  Georgia, serif);
    --dp-font-ui:       var(--gp-font--figtree, 'Figtree', system-ui, sans-serif);
    --dp-font-mono:     ui-monospace, 'SFMono-Regular', 'Consolas', 'Courier New', monospace;

    /* --- Typografie — Semantische Farb-Aliases --- */
    --dp-text-heading:  var(--dp-n-900);   /* Maximaler Kontrast für Headlines */
    --dp-text-body:     var(--dp-n-700);   /* Ruhiger für Lesetext */

    /* --- Typografie — Zeilenhöhen --- */
    --dp-lh-tight:  1.15;   /* Display-Headlines */
    --dp-lh-snug:   1.35;   /* Card-Titel, H3–H4 */
    --dp-lh-base:   1.65;   /* Fließtext */
    --dp-lh-loose:  1.80;   /* Lead-Absätze */

    /* --- Typografie — Letter-Spacing --- */
    --dp-tracking-tight:  -.030em;  /* Display-Headlines */
    --dp-tracking-snug:   -.015em;  /* H2–H3 */
    --dp-tracking-normal:  .010em;  /* Body (leicht geöffnet) */
    --dp-tracking-wide:    .070em;  /* Eyebrows, Labels in Caps */

    /* --- Abstände --- */
    --dp-sp-1:  .25rem;
    --dp-sp-2:  .5rem;
    --dp-sp-3:  .75rem;
    --dp-sp-4:  1rem;
    --dp-sp-5:  1.25rem;
    --dp-sp-6:  1.5rem;
    --dp-sp-7:  1.75rem;
    --dp-sp-8:  2rem;
    --dp-sp-10: 2.5rem;
    --dp-sp-12: 3rem;

    /* --- Borders & Radien --- */
    --dp-radius-sm: 4px;
    --dp-radius:    8px;
    --dp-radius-lg: 14px;
    --dp-radius-xl: 20px;
    --dp-line:         1px solid var(--dp-border);
    --dp-line-strong:  1px solid var(--dp-border-strong);

    /* --- Schatten-Scale --- */
    --dp-shadow-sm:  0 1px 3px rgba(13,16,32,.08), 0 1px 2px rgba(13,16,32,.05);
    --dp-shadow-md:  0 4px 16px rgba(13,16,32,.10), 0 2px 4px rgba(13,16,32,.05);
    --dp-shadow-lg:  0 12px 40px rgba(13,16,32,.14), 0 4px 8px rgba(13,16,32,.06);
    --dp-shadow-focus-primary: 0 0 0 3px rgba(48,74,152,.25);
    --dp-shadow-focus-accent:  0 0 0 3px rgba(207,22,130,.25);

    /* --- Flächen --- */
    --dp-surface:        #f5f7fc;   /* leichter Blauschimmer — Section-Hintergrund */
    --dp-surface-raised: #ffffff;   /* Karten auf Surface */

    /* --- RGB-Werte für rgba() --- */
    --dp-primary-rgb: 48, 74, 152;
    --dp-accent-rgb:  207, 22, 130;

    /* --- Typografische Größenskala --- */
    --dp-text-xs:   .68rem;      /* Labels, Eyebrows */
    --dp-text-sm:   .775rem;     /* Meta, sekundärer Text */
    --dp-text-base: .875rem;     /* Fließtext */
    --dp-text-lead: .9375rem;    /* Lead-Text */
    --dp-text-lg:   1.25rem;     /* kleine Überschriften */
    --dp-text-xl:   1.5625rem;   /* Section Titles */
    --dp-text-2xl:  2.0625rem;   /* Section Headlines */
    --dp-text-3xl:  2.75rem;     /* Display */

    /* --- Transitions --- */
    --dp-t:      150ms ease;
    --dp-t-slow: 280ms ease;
}

/* =========================================================================
   2a. Global font-size override — GeneratePress defaults to 17px, we want 15px.
       Our plugin CSS loads after GP's all.css, so this safely wins.
   ========================================================================= */

body,
button,
input,
select,
textarea {
    font-size: 15px;
}

/* =========================================================================
   3. Utilities
   ========================================================================= */

/* --- Kontostand --- */

.dp-balance {
    font-family: var(--dp-font-body);
    font-weight: 600;
    color: var(--dp-success);
}

/* --- Notices / Feedback --- */

.dp-notice {
    font-family: var(--dp-font-body);
    padding: var(--dp-sp-3) var(--dp-sp-4);
    margin: var(--dp-sp-4) 0;
    border-left: 3px solid var(--dp-border-strong);
    background: var(--dp-bg-subtle);
    border-radius: 0 var(--dp-radius-sm) var(--dp-radius-sm) 0;
    font-size: .9rem;
    color: var(--dp-text);
}

.dp-notice p {
    margin: 0;
}

.dp-notice a {
    color: var(--dp-primary);
}

.dp-notice--success {
    border-color: var(--dp-success);
    background: var(--dp-success-bg);
    color: #14532d;
}

.dp-notice--error {
    border-color: var(--dp-error);
    background: var(--dp-error-bg);
    color: #7f1d1d;
}

.dp-notice--info {
    border-color: var(--dp-primary);
    background: var(--dp-primary-subtle);
    color: var(--dp-primary-dark);
}

.dp-notice--warning {
    border-color: #d97706;
    background: #fffbeb;
    color: #78350f;
}

/* =========================================================================
   4. Buttons — .dp-btn
   ========================================================================= */

.dp-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: var(--dp-sp-3) var(--dp-sp-6);
    font-family: var(--dp-font-body);
    font-size: var(--dp-text-sm);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .025em;
    text-transform: uppercase;
    border: 1px solid transparent;
    border-radius: var(--dp-radius);
    cursor: pointer;
    text-decoration: none;
    transition:
        background var(--dp-t),
        color var(--dp-t),
        border-color var(--dp-t),
        box-shadow var(--dp-t),
        transform var(--dp-t);
    white-space: nowrap;
}

/* Primary — Accent-Farbe */
.dp-btn--primary {
    background: var(--dp-accent);
    color: var(--dp-text-inverse);
    border-color: var(--dp-accent);
    box-shadow: 0 1px 3px rgba(207,22,130,.25), 0 1px 2px rgba(207,22,130,.15);
}

.dp-btn--primary:hover {
    background: var(--dp-accent-dark);
    border-color: var(--dp-accent-dark);
    color: var(--dp-text-inverse);
    box-shadow: 0 6px 18px rgba(207,22,130,.45), 0 2px 6px rgba(207,22,130,.25);
    text-decoration: none;
    transform: translateY(-2px);
}

.dp-btn--primary:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(207,22,130,.25);
}

.dp-btn--primary:focus-visible {
    outline: none;
    box-shadow: var(--dp-shadow-focus-accent);
}

/* Secondary — Outline */
.dp-btn--secondary {
    background: transparent;
    color: var(--dp-primary);
    border-color: var(--dp-primary);
}

.dp-btn--secondary:hover {
    background: var(--dp-primary);
    color: var(--dp-text-inverse);
    box-shadow: 0 6px 18px rgba(0,0,0,.18), 0 2px 6px rgba(0,0,0,.10);
    text-decoration: none;
    transform: translateY(-2px);
}

.dp-btn--secondary:active {
    background: var(--dp-primary-dark);
    border-color: var(--dp-primary-dark);
    color: var(--dp-text-inverse);
    transform: translateY(0);
    box-shadow: none;
}

.dp-btn--secondary:focus-visible {
    outline: none;
    box-shadow: var(--dp-shadow-focus-primary);
}

/* Ghost — nur Text, kein Rahmen */
.dp-btn--ghost {
    background: transparent;
    color: var(--dp-text-muted);
    border-color: transparent;
    letter-spacing: .015em;
}

.dp-btn--ghost:hover {
    color: var(--dp-primary);
    background: var(--dp-primary-subtle);
    text-decoration: none;
}

.dp-btn--ghost:focus-visible {
    outline: none;
    box-shadow: var(--dp-shadow-focus-primary);
}

/* Disabled-Zustand für alle Varianten */
.dp-btn:disabled,
.dp-btn[aria-disabled="true"] {
    opacity: .4;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* =========================================================================
   6. Poll-Block — [dp_poll] / [dp_polls]
   ========================================================================= */

.dp-poll {
    position: relative;
    background: var(--dp-bg);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    padding: var(--dp-sp-6) var(--dp-sp-6) var(--dp-sp-6) calc(var(--dp-sp-6) + 3px);
    margin: var(--dp-sp-6) 0;
    overflow: hidden;
}

/* Akzentlinie links — wie .dp-card--poll */
.dp-poll::before {
    content: '';
    position: absolute;
    left: 0;
    top: var(--dp-sp-5);
    bottom: var(--dp-sp-5);
    width: 3px;
    border-radius: 0 var(--dp-radius-sm) var(--dp-radius-sm) 0;
    background: var(--dp-accent);
}

.dp-poll__title {
    font-family: var(--dp-font-headline);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 var(--dp-sp-2);
    line-height: 1.3;
}

.dp-poll__description {
    font-family: var(--dp-font-body);
    color: var(--dp-text-muted);
    font-size: .9rem;
    margin-bottom: var(--dp-sp-4);
}

.dp-poll__balance {
    font-family: var(--dp-font-body);
    font-size: .85rem;
    color: var(--dp-text-muted);
    margin-bottom: var(--dp-sp-5);
}

/* --- Optionen --- */

.dp-poll__options {
    border: none;
    padding: 0;
    margin: 0 0 var(--dp-sp-4);
}

.dp-poll__options legend {
    font-family: var(--dp-font-body);
    font-weight: 600;
    font-size: .85rem;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin-bottom: var(--dp-sp-3);
    padding: 0;
}

.dp-poll__option {
    display: block;
    padding: var(--dp-sp-2) 0;
    cursor: pointer;
    font-family: var(--dp-font-body);
    font-size: .95rem;
    color: var(--dp-text);
    transition: color var(--dp-t);
}

.dp-poll__option:hover {
    color: var(--dp-accent);
}

.dp-poll__option input[type="radio"] {
    margin-right: var(--dp-sp-2);
    accent-color: var(--dp-accent);
    cursor: pointer;
}

/* --- Formular --- */

.dp-poll__stake {
    margin: var(--dp-sp-3) 0 var(--dp-sp-5);
    display: flex;
    align-items: center;
    gap: var(--dp-sp-3);
    flex-wrap: wrap;
}

.dp-poll__stake label {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    color: var(--dp-text);
}

.dp-poll__stake input[type="number"] {
    width: 6em;
    padding: var(--dp-sp-2) var(--dp-sp-3);
    border: var(--dp-line);
    border-radius: var(--dp-radius);
    font-family: var(--dp-font-body);
    font-size: .9rem;
    color: var(--dp-text);
    background: var(--dp-bg);
    transition: border-color var(--dp-t);
}

.dp-poll__stake input[type="number"]:focus {
    outline: none;
    border-color: var(--dp-accent);
}

.dp-poll__stake input[type="number"]:focus-visible {
    outline: 2px solid var(--dp-accent-light);
    outline-offset: 1px;
}

/* Submit-Button — erbt dp-btn--primary Logik */
.dp-poll__submit {
    display: inline-flex;
    align-items: center;
    padding: var(--dp-sp-3) var(--dp-sp-5);
    font-family: var(--dp-font-body);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.4;
    background: var(--dp-accent);
    color: var(--dp-text-inverse);
    border: 1px solid var(--dp-accent);
    border-radius: var(--dp-radius);
    cursor: pointer;
    transition:
        background var(--dp-t),
        border-color var(--dp-t),
        transform var(--dp-t);
}

.dp-poll__submit:hover {
    background: var(--dp-accent-dark);
    border-color: var(--dp-accent-dark);
}

.dp-poll__submit:active {
    transform: translateY(1px);
}

.dp-poll__submit:focus-visible {
    outline: 3px solid var(--dp-accent-light);
    outline-offset: 2px;
}

.dp-poll__voted {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    color: var(--dp-text-muted);
    font-style: italic;
}

/* --- Ergebnis-Anzeige --- */

.dp-poll__results {
    margin-top: var(--dp-sp-6);
    padding-top: var(--dp-sp-5);
    border-top: var(--dp-line);
}

.dp-poll__results h4 {
    font-family: var(--dp-font-headline);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: 0 0 var(--dp-sp-4);
}

.dp-poll__results-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dp-poll__result-item {
    margin-bottom: var(--dp-sp-4);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--dp-sp-2);
}

.dp-poll__result-label {
    min-width: 10em;
    font-family: var(--dp-font-body);
    font-weight: 600;
    font-size: .9rem;
    color: var(--dp-text);
}

/* width-Attribut bleibt inline (dynamisch); alle anderen Styles hier */
.dp-poll__result-bar {
    display: inline-block;
    height: 8px;
    min-width: 2px;
    background: var(--dp-accent);
    border-radius: var(--dp-radius-sm);
    vertical-align: middle;
    transition: width var(--dp-t-slow);
}

.dp-poll__result-stats {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    color: var(--dp-text-muted);
}

.dp-poll__result-total {
    font-family: var(--dp-font-body);
    color: var(--dp-text-muted);
    font-size: .8rem;
    margin-top: var(--dp-sp-3);
}

/* =========================================================================
   7. Episode-Block — [dp_episode]
   ========================================================================= */

.dp-episode {
    position: relative;
    background: var(--dp-bg);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    padding: var(--dp-sp-6);
    margin: var(--dp-sp-6) 0;
    overflow: hidden;
}

/* Akzentlinie oben: primary bei unbesprochen, success bei besprochen */
.dp-episode::before {
    content: '';
    position: absolute;
    top: 0;
    left: var(--dp-sp-5);
    right: var(--dp-sp-5);
    height: 3px;
    border-radius: 0 0 var(--dp-radius-sm) var(--dp-radius-sm);
    background: var(--dp-primary);
}

.dp-episode--besprochen::before {
    background: var(--dp-success);
}

.dp-episode--geplant::before {
    background: var(--dp-n-300);
}

/* --- Header --- */

.dp-episode__header {
    display: flex;
    gap: var(--dp-sp-4);
    align-items: flex-start;
    margin-bottom: var(--dp-sp-5);
}

.dp-episode__cover-wrap {
    flex-shrink: 0;
    width: 72px;
    height: 72px;
    border-radius: var(--dp-radius);
    overflow: hidden;
    line-height: 0;
}

.dp-episode__cover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dp-episode__header-text {
    flex: 1;
    min-width: 0;
}

.dp-episode__eyebrow {
    font-family: var(--dp-font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: 0 0 var(--dp-sp-1);
}

.dp-episode__title {
    font-family: var(--dp-font-headline);
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 var(--dp-sp-2);
    line-height: 1.25;
}

.dp-episode__status-badge {
    display: inline-block;
    font-family: var(--dp-font-body);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    padding: 2px var(--dp-sp-2);
    border-radius: var(--dp-radius-sm);
    background: var(--dp-primary-subtle);
    color: var(--dp-primary);
}

.dp-episode__status-badge--besprochen {
    background: var(--dp-success-bg);
    color: var(--dp-success);
}

.dp-episode__status-badge--geplant {
    background: var(--dp-n-100);
    color: var(--dp-n-600);
}

/* --- Panelium Community-Pool --- */

.dp-episode__pool {
    margin: var(--dp-sp-5) 0;
    padding: var(--dp-sp-5) var(--dp-sp-5);
    background: var(--dp-bg-subtle);
    border-radius: var(--dp-radius);
    border: var(--dp-line);
}

.dp-episode__pool-count {
    display: flex;
    align-items: baseline;
    gap: var(--dp-sp-2);
    margin-bottom: var(--dp-sp-1);
}

.dp-episode__pool-icon {
    font-size: 1.1rem;
    color: var(--dp-accent);
    line-height: 1;
}

.dp-episode__pool-number {
    font-family: var(--dp-font-headline);
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--dp-text);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.dp-episode__pool-label {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    color: var(--dp-text-muted);
    margin: 0 0 var(--dp-sp-3);
}

.dp-episode__pool-bar-wrap {
    height: 4px;
    background: var(--dp-n-200);
    border-radius: 2px;
    overflow: hidden;
}

.dp-episode__pool-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--dp-primary), var(--dp-accent));
    border-radius: 2px;
    transition: width 0.6s ease;
    min-width: 0;
}

/* --- Voting-Formular --- */

.dp-episode__voting {
    margin-top: var(--dp-sp-3);
}

.dp-episode__form {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-4);
}

.dp-episode__form-row {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
}

.dp-episode__form-label {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    font-weight: 500;
    color: var(--dp-text);
}

.dp-episode__input-group {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-2);
    border: 1.5px solid var(--dp-border-strong);
    border-radius: var(--dp-radius);
    padding: var(--dp-sp-2) var(--dp-sp-3);
    background: var(--dp-bg);
    width: fit-content;
    transition: border-color var(--dp-t);
}

.dp-episode__input-group:focus-within {
    border-color: var(--dp-primary);
    outline: 2px solid var(--dp-primary-subtle);
    outline-offset: 1px;
}

.dp-episode__input-prefix {
    font-size: 1rem;
    color: var(--dp-accent);
    line-height: 1;
    pointer-events: none;
}

.dp-episode__input-group input[type="number"] {
    width: 7em;
    border: none;
    outline: none;
    background: transparent;
    font-family: var(--dp-font-body);
    font-size: 1rem;
    font-weight: 600;
    color: var(--dp-text);
    font-variant-numeric: tabular-nums;
    /* Spinners ausblenden */
    -moz-appearance: textfield;
}

.dp-episode__input-group input[type="number"]::-webkit-outer-spin-button,
.dp-episode__input-group input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.dp-episode__balance-hint {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    color: var(--dp-text-muted);
    margin: 0;
}

.dp-episode__balance-hint strong {
    color: var(--dp-success);
    font-weight: 600;
}

.dp-episode__submit {
    align-self: flex-start;
}

/* --- Voting abgeschlossen --- */

.dp-episode__voting-closed {
    font-family: var(--dp-font-body);
    font-size: .82rem;
    color: var(--dp-text-muted);
    margin: var(--dp-sp-4) 0 0;
    text-align: center;
}

/* --- Player --- */

.dp-episode__player {
    margin-bottom: var(--dp-sp-6);
    border-radius: var(--dp-radius);
    overflow: hidden;
}

/* --- Shownotes --- */

.dp-episode__shownotes {
    /* wrapper, kein eigenes padding — player + body direkt */
}

.dp-episode__shownotes-body {
    font-family: var(--dp-font-body);
    font-size: .95rem;
    line-height: 1.8;
    color: var(--dp-text);
}

/* Typografische Feinheiten innerhalb der Shownotes */
.dp-episode__shownotes-body h1,
.dp-episode__shownotes-body h2,
.dp-episode__shownotes-body h3 {
    font-family: var(--dp-font-headline);
    font-weight: 700;
    color: var(--dp-text);
    margin-top: var(--dp-sp-8);
    margin-bottom: var(--dp-sp-3);
    line-height: 1.3;
}

.dp-episode__shownotes-body h2 { font-size: 1.15rem; }
.dp-episode__shownotes-body h3 { font-size: 1rem; }

.dp-episode__shownotes-body p {
    margin: 0 0 var(--dp-sp-4);
}

.dp-episode__shownotes-body a {
    color: var(--dp-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.dp-episode__shownotes-body a:hover {
    color: var(--dp-primary-dark);
}

.dp-episode__shownotes-body ul,
.dp-episode__shownotes-body ol {
    padding-left: var(--dp-sp-6);
    margin: 0 0 var(--dp-sp-4);
}

.dp-episode__shownotes-body li {
    margin-bottom: var(--dp-sp-2);
}

.dp-episode__shownotes-body strong {
    font-weight: 600;
    color: var(--dp-text);
}

.dp-episode__shownotes-body blockquote {
    margin: var(--dp-sp-5) 0;
    padding: var(--dp-sp-3) var(--dp-sp-5);
    border-left: 3px solid var(--dp-primary-light);
    background: var(--dp-primary-subtle);
    border-radius: 0 var(--dp-radius) var(--dp-radius) 0;
    color: var(--dp-text);
    font-style: italic;
}

/* =========================================================================
   8. Ranking — [dp_top_episodes]
   ========================================================================= */

.dp-ranking {
    margin: var(--dp-sp-6) 0;
    font-family: var(--dp-font-body);
}

.dp-ranking__filter {
    font-size: .8rem;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin-bottom: var(--dp-sp-4);
}

.dp-ranking__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dp-ranking__item {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-3);
    padding: var(--dp-sp-3) 0;
    border-bottom: var(--dp-line);
    flex-wrap: wrap;
    transition: background var(--dp-t);
}

.dp-ranking__item:last-child {
    border-bottom: none;
}

/* --- Rangzahl --- */

.dp-ranking__rank {
    min-width: 2em;
    font-family: var(--dp-font-headline);
    font-weight: 700;
    font-size: .85rem;
    color: var(--dp-text-muted);
    text-align: right;
    flex-shrink: 0;
}

/* Top-3 Metallfarben */
.dp-ranking__item:nth-child(1) .dp-ranking__rank { color: var(--dp-gold);   }
.dp-ranking__item:nth-child(2) .dp-ranking__rank { color: var(--dp-silver); }
.dp-ranking__item:nth-child(3) .dp-ranking__rank { color: var(--dp-bronze); }

/* --- Titel + Link --- */

.dp-ranking__title {
    flex: 1 1 10em;
    font-size: .95rem;
    font-weight: 500;
    color: var(--dp-text);
}

.dp-ranking__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-ranking__title a:hover {
    color: var(--dp-primary);
    text-decoration: underline;
}

.dp-ranking__title a:focus-visible {
    outline: 2px solid var(--dp-primary-light);
    outline-offset: 2px;
    border-radius: var(--dp-radius-sm);
}

/* --- Balken (relative Stärke) --- */

.dp-ranking__bar-wrap {
    flex: 0 0 8em;
    height: 6px;
    background: var(--dp-n-100);
    border-radius: var(--dp-radius);
    overflow: hidden;
}

/* width-Attribut bleibt inline (dynamisch) */
.dp-ranking__bar {
    display: block;
    height: 100%;
    background: var(--dp-primary);
    border-radius: var(--dp-radius);
    min-width: 2px;
}

.dp-ranking__item:nth-child(1) .dp-ranking__bar { background: var(--dp-accent); }

/* --- Panelium-Wert --- */

.dp-ranking__panelium {
    flex-shrink: 0;
    font-size: .82rem;
    font-weight: 600;
    color: var(--dp-success);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* =========================================================================
   9. Body — Platz für die sticky Nav
   ========================================================================= */

/*
 * .has-dp-nav wird via PHP body_class-Filter gesetzt.
 * env(safe-area-inset-bottom) kompensiert iPhone-Homebalken (iOS 11+).
 */
body.has-dp-nav {
    /* 4.25rem Icons + 2rem Status-Bar + .5rem Puffer */
    padding-bottom: calc(6.75rem + env(safe-area-inset-bottom, 0px));
}

@media (min-width: 768px) {
    body.has-dp-nav {
        /* Desktop: kein Status-Bar */
        padding-bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    }
}

/* =========================================================================
   10. Sticky Bottom Navigation — .dp-nav
   ========================================================================= */

.dp-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: #1e1608;
    border-top: 1px solid rgba(201, 163, 38, .22);
    box-shadow: 0 -4px 24px rgba(0, 0, 0, .35);

    /* iPhone-Homebalken-Sicherheitsbereich */
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* --- Status-Bar (über den Icon-Tabs, nur mobil) --- */

.dp-nav__status {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .38rem 1rem;
    background: rgba(0, 0, 0, .25);
    border-bottom: 1px solid rgba(201, 163, 38, .12);
    min-height: 2rem;
}

.dp-nav__status-user {
    display: flex;
    align-items: center;
    gap: .45rem;
    text-decoration: none;
    color: rgba(255, 255, 255, .85);
    font-size: .72rem;
    font-weight: 500;
    line-height: 1;
}
.dp-nav__status-user:hover { color: #c9a326; text-decoration: none; }

.dp-nav__status-avatar {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.dp-nav__status-name {
    color: rgba(255, 255, 255, .75);
    max-width: 9em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dp-nav__status-sep { color: rgba(255, 255, 255, .3); }

.dp-nav__status-balance {
    color: #c9a326;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: .2rem;
}

.dp-nav__status-guest {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: .72rem;
    color: rgba(255, 255, 255, .45);
}

.dp-nav__status-login,
.dp-nav__status-join {
    color: rgba(255, 255, 255, .65);
    text-decoration: none;
    transition: color .15s;
}
.dp-nav__status-login { color: #c9a326; font-weight: 600; }
.dp-nav__status-login:hover  { color: #e8c84a; text-decoration: none; }
.dp-nav__status-join:hover   { color: rgba(255, 255, 255, .9); text-decoration: none; }

.dp-nav__panelium-info-btn {
    background: none;
    border: 1px solid rgba(201,163,38,.40);
    border-radius: 50%;
    color: rgba(201,163,38,.80);
    cursor: pointer;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1;
    padding: 0;
    width: 16px;
    height: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-left: .25rem;
    transition: background .15s, color .15s;
}
.dp-nav__panelium-info-btn:hover {
    background: rgba(201,163,38,.15);
    color: #c9a326;
}

/* Panelium-Info-Popover */
.dp-panelium-popover {
    position: fixed;
    bottom: calc(6.75rem + env(safe-area-inset-bottom, 0px) + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: min(340px, calc(100vw - 32px));
    background: #1e1608;
    border: 1px solid rgba(201,163,38,.35);
    border-radius: 14px;
    padding: 1.1rem 1.2rem 1rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.55);
    z-index: 9999;
    animation: dpPopoverIn .18s ease;
}
@keyframes dpPopoverIn {
    from { opacity: 0; transform: translateX(-50%) translateY(10px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.dp-panelium-popover__close {
    position: absolute;
    top: .6rem; right: .7rem;
    background: none; border: none;
    color: rgba(255,255,255,.45);
    font-size: 1.1rem; line-height: 1;
    cursor: pointer; padding: .1rem .3rem;
}
.dp-panelium-popover__close:hover { color: rgba(255,255,255,.80); }
.dp-panelium-popover__title {
    font-size: .82rem;
    font-weight: 700;
    color: #c9a326;
    margin: 0 0 .5rem;
}
.dp-panelium-popover__text {
    font-size: .78rem;
    line-height: 1.55;
    color: rgba(255,255,255,.72);
    margin: 0 0 .75rem;
}
.dp-panelium-popover__link {
    font-size: .75rem;
    font-weight: 600;
    color: #c9a326;
    text-decoration: none;
}
.dp-panelium-popover__link:hover { text-decoration: underline; }

/* ==========================================================================
   Top-Banner — „Was gab es seit deinem letzten Besuch?"
   Position: fixed top, schiebt sich über den Header.
   Hellgold #ede1a8 auf dunkelbraun #3b2b08, umgekehrtes Trapez via clip-path.
   ========================================================================== */

.dp-top-banner {
    position: fixed;
    top: 0;
    left: 50%;
    max-width: 95vw;
    z-index: 100000;
    color: #3b2b08;
    transform: translateX(-50%) translateY(-100%);
    transition: transform .35s cubic-bezier(.4, 0, .2, 1);
    will-change: transform;
    /* Shadow on outer wrapper — not clipped by the inner clip-path */
    filter: drop-shadow(0 3px 6px rgba(59,43,8,.50)) drop-shadow(0 8px 18px rgba(59,43,8,.28));
}
.dp-top-banner__shape {
    background: #ede1a8;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    /* Inverted trapezoid with softly rounded bottom corners via SVG clipPath */
    clip-path: url(#dp-banner-clip);
}
/* Admin-Bar schiebt den Banner nach unten */
.admin-bar .dp-top-banner {
    top: 32px;
}
@media screen and (max-width: 782px) {
    .admin-bar .dp-top-banner { top: 46px; }
}
.dp-top-banner--visible {
    transform: translateX(-50%) translateY(0);
}
.dp-top-banner__inner {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: 40px;
}
.dp-top-banner__messages {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .4rem .6rem;
    justify-content: center;
    font-size: .72rem;
    font-weight: 600;
    line-height: 1.3;
    padding: .35rem 0;
}
.dp-top-banner__item {
    color: #3b2b08;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity .15s;
}
.dp-top-banner__item:hover {
    opacity: .72;
    text-decoration: underline;
    color: #3b2b08;
}
.dp-top-banner__sep {
    color: rgba(59,43,8,.45);
    font-weight: 400;
    flex-shrink: 0;
}
.dp-top-banner__close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: #3b2b08;
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: .2rem .4rem;
    border-radius: 4px;
    transition: color .15s, background .15s;
}
.dp-top-banner__close:hover {
    color: #3b2b08;
    background: rgba(59,43,8,.10);
}

@media (max-width: 600px) {
    /* Mobil: volle Breite, kein Trapez */
    .dp-top-banner {
        left: 0;
        max-width: 100%;
        transform: translateY(-100%);
    }
    .dp-top-banner--visible {
        transform: translateY(0);
    }
    .dp-top-banner__shape {
        clip-path: none;
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .dp-top-banner__messages {
        font-size: .68rem;
        gap: .3rem .5rem;
    }
    .dp-top-banner__item {
        white-space: normal;
    }
}

/* Status-Bar auf Desktop ausblenden */
@media (min-width: 768px) {
    .dp-nav__status { display: none; }
}

/* --- Icon-Liste --- */

.dp-nav__list {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
    height: 4.25rem;
}

.dp-nav__item {
    flex: 1;
    display: flex;
}

/* --- Link (Icon + Label, vertikal zentriert) --- */

.dp-nav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    width: 100%;
    padding: .5rem .25rem;
    color: rgba(255, 255, 255, .45);
    text-decoration: none;
    font-family: var(--dp-font-body);
    font-size: .65rem;
    font-weight: 500;
    letter-spacing: .03em;
    text-align: center;
    transition: color .15s, background .15s;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.dp-nav__link:hover {
    color: #c9a326;
    background: rgba(201, 163, 38, .08);
    text-decoration: none;
}

/* Aktiver State */
.dp-nav__link--active {
    color: #c9a326;
}

.dp-nav__link--active .dp-nav__icon svg {
    stroke: #c9a326;
}

/* Goldene Oberlinie beim aktiven Item */
.dp-nav__item:has(.dp-nav__link--active) {
    border-top: 2px solid #c9a326;
    margin-top: -1px;
}

/* --- Icon --- */

.dp-nav__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    transition: transform .15s;
}

.dp-nav__link--active .dp-nav__icon {
    transform: translateY(-1px);
}

.dp-nav__icon svg {
    display: block;
    stroke: currentColor;
    transition: stroke .15s;
}

/* --- Label --- */

.dp-nav__label {
    display: block;
    max-width: 5em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
}

/* --- Focus --- */

.dp-nav__link:focus-visible {
    outline: 2px solid #c9a326;
    outline-offset: -2px;
    border-radius: 4px;
}

/* --- Desktop: Nav auf max-width begrenzen --- */

@media (min-width: 768px) {
    .dp-nav {
        left: 50%;
        right: auto;
        transform: translateX(-50%);
        width: 100%;
        max-width: 480px;
        border-radius: 12px 12px 0 0;
        border-left: 1px solid rgba(201, 163, 38, .18);
        border-right: 1px solid rgba(201, 163, 38, .18);
    }
}

/* =========================================================================
   11. Header — [dp_header]
   Branded site header mit Logo, optionalem Panelium-Badge.
   Sticky, light background, klarer primärer Akzentrand.
   ========================================================================= */

.dp-header {
    position: sticky;
    top: 0;
    z-index: 900;
    background: var(--dp-bg);
    border-bottom: 2px solid var(--dp-primary);
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.dp-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dp-sp-6);
    padding: var(--dp-sp-4) var(--dp-sp-6);
    max-width: 1360px;
    margin: 0 auto;
}

/* --- Logo --- */

.dp-header__logo {
    display: flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

.dp-header__logo:focus-visible {
    outline: 2px solid var(--dp-primary-light);
    outline-offset: 4px;
    border-radius: var(--dp-radius-sm);
}

.dp-header__logo-img {
    max-height: 3rem;
    width: auto;
    display: block;
}

@media (min-width: 768px) {
    .dp-header__logo-img {
        max-height: 3.75rem;
    }
}

/* Text-Wortmarke (Fallback wenn kein Bild-Logo) */
.dp-header__logo-text {
    font-family: var(--dp-font-headline);
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--dp-primary);
    letter-spacing: -.03em;
    line-height: 1;
}

@media (min-width: 768px) {
    .dp-header__logo-text {
        font-size: 1.6rem;
    }
}

/* --- Rechte Seite (Balance + künftige Utility-Links) --- */

.dp-header__right {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-3);
    flex-shrink: 0;
}

/* --- Panelium-Balance --- */

.dp-header__balance {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: var(--dp-sp-2) var(--dp-sp-4);
    background: var(--dp-primary-subtle);
    border: 1px solid rgba(48, 74, 152, .25);
    border-radius: 999px;
    cursor: default;
    white-space: nowrap;
    line-height: 1;
}

.dp-header__balance-icon {
    font-size: .95rem;
    color: var(--dp-primary);
    line-height: 1;
}

.dp-header__balance-value {
    font-family: var(--dp-font-body);
    font-size: .85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--dp-primary-dark);
    letter-spacing: .01em;
}

/* =========================================================================
   13. Crew-Teaser + Badge — Subtile Membership-Hinweise
   ========================================================================= */

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

.dp-crew-badge {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-1);
    font-family: var(--dp-font-body);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--dp-accent);
    background: var(--dp-accent-subtle);
    border: 1px solid color-mix(in srgb, var(--dp-accent) 25%, transparent);
    border-radius: var(--dp-radius-sm);
    padding: 2px var(--dp-sp-2);
    /* Fallback für Browser ohne color-mix: */
    border-color: #f4b8dc;
}

/* ---- Teaser-Box (nach Game oder Voting) ---- */

.dp-crew-teaser {
    margin-top: var(--dp-sp-6);
    padding: var(--dp-sp-4) var(--dp-sp-5);
    border-radius: var(--dp-radius);
    background: var(--dp-accent-subtle);
    border: 1px solid color-mix(in srgb, var(--dp-accent) 20%, transparent);
    /* Fallback: */
    border-color: #f4b8dc;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
}

/* Kompaktere Variante innerhalb von Episode-Voting */
.dp-crew-teaser--inline {
    margin-top: var(--dp-sp-5);
    padding: var(--dp-sp-3) var(--dp-sp-4);
}

.dp-crew-teaser__text {
    font-family: var(--dp-font-body);
    font-size: .875rem;
    color: var(--dp-text);
    line-height: 1.55;
    margin: 0;
}

.dp-crew-teaser__link {
    font-family: var(--dp-font-body);
    font-size: .82rem;
    font-weight: 600;
    color: var(--dp-accent-dark);
    text-decoration: none;
    transition: opacity var(--dp-t);
    align-self: flex-start;
}

.dp-crew-teaser__link:hover {
    opacity: .75;
}

.dp-crew-teaser__link:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
    border-radius: var(--dp-radius-sm);
}

/* =========================================================================
   14. Sternenflotte-Seite — [dp_sternenflotte]
   ========================================================================= */

.dp-fleet-page {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-10);
}

/* ---- Intro ---- */

.dp-fleet-page__intro {
    display: flex;
    gap: var(--dp-sp-5);
    align-items: flex-start;
}

.dp-fleet-page__intro-icon {
    flex-shrink: 0;
    color: var(--dp-accent);
    padding-top: 2px;
}

.dp-fleet-page__intro-text {
    flex: 1;
}

.dp-fleet-page__intro-title {
    font-family: var(--dp-font-headline);
    font-size: clamp(1.4rem, 4vw, 2rem);
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 var(--dp-sp-3);
    line-height: 1.2;
}

.dp-fleet-page__intro-body {
    font-family: var(--dp-font-body);
    font-size: 1.05rem;
    color: var(--dp-text-muted);
    line-height: 1.7;
    margin: 0;
}

/* ---- Benefits ---- */

.dp-fleet-page__benefits {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dp-sp-5);
}

@media (min-width: 480px) {
    .dp-fleet-page__benefits {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 800px) {
    .dp-fleet-page__benefits {
        grid-template-columns: repeat(3, 1fr);
    }
}

.dp-fleet-page__benefit {
    padding: var(--dp-sp-6);
    background: var(--dp-bg-subtle);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-fleet-page__benefit-icon {
    color: var(--dp-primary);
    line-height: 0;
}

/* Jede Karte bekommt eine eigene Akzentfarbe für das Icon */
.dp-fleet-page__benefit:nth-child(1) .dp-fleet-page__benefit-icon {
    color: var(--dp-accent);
}

.dp-fleet-page__benefit:nth-child(2) .dp-fleet-page__benefit-icon {
    color: var(--dp-primary);
}

.dp-fleet-page__benefit:nth-child(3) .dp-fleet-page__benefit-icon {
    color: var(--dp-gold);
}

.dp-fleet-page__benefit-title {
    font-family: var(--dp-font-headline);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0;
    line-height: 1.3;
}

.dp-fleet-page__benefit-text {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    color: var(--dp-text-muted);
    line-height: 1.65;
    margin: 0;
}

/* ---- CTA ---- */

.dp-fleet-page__cta-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--dp-sp-4);
    text-align: center;
    padding: var(--dp-sp-8) 0;
    border-top: var(--dp-line);
}

.dp-fleet-page__cta-sub {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    color: var(--dp-text-muted);
    margin: 0;
    font-style: italic;
}

/* =========================================================================
   15. Homepage Layout — [dp_layout_home]
   GeneratePress-kompatibel. Max-Width-Container. Viel Whitespace.
   ========================================================================= */

/* ---- Container ---- */

.dp-container {
    width: 100%;
    max-width: 1360px;
    margin-inline: auto;
    padding-inline: var(--dp-sp-6);
}

.dp-container--narrow {
    max-width: 800px;
}

/* ---- Section-Basis ---- */

.dp-section {
    padding-block: var(--dp-sp-12);
}

@media (min-width: 1100px) {
    .dp-section {
        padding-block: 5rem;
    }
}

/* ---- Section-Header (Eyebrow + Title + Link) ---- */

.dp-section__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--dp-sp-4);
    margin-bottom: var(--dp-sp-8);
    flex-wrap: wrap;
}

.dp-eyebrow,
.dp-section__eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--dp-sp-2);
    font-family: var(--dp-font-body);
    font-size: var(--dp-text-xs);
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #c9a326 !important;
    margin: 0 0 var(--dp-sp-2);
}

/* Horizontale Akzentlinie vor dem Eyebrow-Text */
.dp-eyebrow::before,
.dp-section__eyebrow::before {
    content: '';
    display: block;
    width: 18px;
    height: 2px;
    background: currentColor;
    border-radius: 1px;
    flex-shrink: 0;
    opacity: .7;
}

.dp-section__headline,
.dp-section__title {
    font-family: var(--dp-font-headline);
    font-weight: 700;
    color: var(--dp-text);
    margin: 0;
    line-height: 1.15;
}

.dp-section__headline {
    font-size: clamp(1.65rem, 5vw, 2.75rem);
    letter-spacing: -.03em;
}

.dp-section__title {
    font-size: clamp(1.25rem, 3vw, 1.8rem);
    letter-spacing: -.025em;
}

.dp-section__headline a,
.dp-section__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-section__headline a:hover,
.dp-section__title a:hover {
    color: var(--dp-primary);
}

.dp-section__subline {
    font-family: var(--dp-font-body);
    font-size: var(--dp-text-sm);
    font-weight: 500;
    letter-spacing: .045em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: var(--dp-sp-2) 0 0;
}

.dp-section__lead {
    font-family: var(--dp-font-serif);
    font-size: var(--dp-text-lead);
    line-height: 1.75;
    color: var(--dp-n-600);
    margin: var(--dp-sp-4) 0 0;
    max-width: 54ch;
}

/* "Alle ansehen"-Link mit animiertem Pfeil */
.dp-section__more-link {
    display: inline-flex;
    align-items: center;
    gap: .4em;
    font-family: var(--dp-font-body);
    font-size: var(--dp-text-sm);
    font-weight: 600;
    letter-spacing: .03em;
    color: var(--dp-primary);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--dp-t);
    flex-shrink: 0;
}

.dp-section__more-link::after {
    content: '→';
    transition: transform var(--dp-t);
}

.dp-section__more-link:hover {
    color: var(--dp-primary-dark);
}

.dp-section__more-link:hover::after {
    transform: translateX(3px);
}

/* ---- 1. Hero ---- */

.dp-section--hero {
    padding-block: var(--dp-sp-12) var(--dp-sp-12);
    background: var(--dp-bg);
}

/* ---- 4. Ranking ---- */

.dp-section--ranking {
    background: var(--dp-bg);
}

.dp-ranking-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-ranking-list__item {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-4);
    padding: var(--dp-sp-4) var(--dp-sp-5);
    background: var(--dp-bg-subtle);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    transition: border-color var(--dp-t);
}

.dp-ranking-list__item:hover {
    border-color: var(--dp-border-strong);
}

.dp-ranking-list__item--gold {
    background: linear-gradient(135deg, #fffbeb, #fef9e7);
    border-color: color-mix(in srgb, var(--dp-gold) 30%, transparent);
    /* Fallback: */
    border-color: #e8d06e;
}

.dp-ranking-list__item--silver {
    background: linear-gradient(135deg, #f8f9fa, #f1f3f5);
    border-color: color-mix(in srgb, var(--dp-silver) 30%, transparent);
    /* Fallback: */
    border-color: #c4c4c4;
}

.dp-ranking-list__item--bronze {
    background: linear-gradient(135deg, #fdf6f0, #fbeee5);
    border-color: color-mix(in srgb, var(--dp-bronze) 30%, transparent);
    /* Fallback: */
    border-color: #c9896a;
}

.dp-ranking-list__rank {
    font-family: var(--dp-font-headline);
    font-size: 1rem;
    font-weight: 700;
    color: var(--dp-text-muted);
    min-width: 1.5em;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.dp-ranking-list__item--gold   .dp-ranking-list__rank { color: var(--dp-gold); }
.dp-ranking-list__item--silver .dp-ranking-list__rank { color: var(--dp-silver); }
.dp-ranking-list__item--bronze .dp-ranking-list__rank { color: var(--dp-bronze); }

.dp-ranking-list__info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-1);
}

.dp-ranking-list__episode-num {
    font-family: var(--dp-font-body);
    font-size: .7rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
}

.dp-ranking-list__title {
    font-family: var(--dp-font-headline);
    font-size: .95rem;
    font-weight: 600;
    color: var(--dp-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dp-ranking-list__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-ranking-list__title a:hover {
    color: var(--dp-primary);
}

.dp-ranking-list__bar-wrap {
    height: 3px;
    background: var(--dp-n-200);
    border-radius: 2px;
    overflow: hidden;
    margin-top: var(--dp-sp-1);
}

.dp-ranking-list__bar {
    height: 100%;
    background: linear-gradient(90deg, var(--dp-primary), var(--dp-accent));
    border-radius: 2px;
    transition: width 0.8s ease;
}

.dp-ranking-list__panelium {
    font-family: var(--dp-font-body);
    font-size: .82rem;
    font-weight: 700;
    color: var(--dp-accent);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-shrink: 0;
}

/* ---- 7. Memory Entry ---- */

.dp-section--memory {
    background: var(--dp-n-900);
    position: relative;
    overflow: hidden;
}

.dp-memory {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-6);
    align-items: flex-start;
}

@media (min-width: 640px) {
    .dp-memory {
        flex-direction: row;
        align-items: center;
        gap: var(--dp-sp-8);
    }
}

.dp-section--memory .dp-section__eyebrow {
    color: var(--dp-accent-light);
}

.dp-section--memory .dp-section__title {
    color: var(--dp-n-0);
}

.dp-section--memory .dp-section__lead {
    color: var(--dp-n-400);
    max-width: none;
}

.dp-memory__icon {
    flex-shrink: 0;
}

.dp-memory__symbol {
    font-size: 4rem;
    color: var(--dp-accent);
    line-height: 1;
    display: block;
    opacity: .8;
}

.dp-memory__text {
    flex: 1;
}

.dp-memory__detail {
    font-family: var(--dp-font-headline);
    font-size: 1rem;
    font-style: italic;
    font-weight: 500;
    color: var(--dp-n-500);
    margin: var(--dp-sp-4) 0 0;
    padding-top: var(--dp-sp-4);
    border-top: 1px solid var(--dp-n-800);
}

/* =========================================================================
   16. Podcast-Sektionen — [dp_podcast_hero] + [dp_latest_episodes]
   Bilder IMMER quadratisch, object-fit: cover, kein Verzerren.
   ========================================================================= */

/* ---- [dp_podcast_hero] ---- */

.dp-podcast-hero {
    container-type: inline-size;
    padding: var(--dp-sp-8) 0;
}

.dp-podcast-hero__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dp-sp-8);
    align-items: center;
}

@media (min-width: 680px) {
    .dp-podcast-hero__grid {
        grid-template-columns: minmax(220px, 360px) 1fr;
        gap: var(--dp-sp-10);
    }
}

/* Quadratisches Cover — erzwungen via aspect-ratio */
.dp-podcast-hero__cover-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: var(--dp-radius-lg);
    background: var(--dp-n-100);
    box-shadow: 0 12px 40px rgba(0,0,0,.16);
    line-height: 0;
}

.dp-podcast-hero__cover-wrap--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dp-n-100);
}

.dp-podcast-hero__cover-link {
    display: block;
    width: 100%;
    height: 100%;
}

.dp-podcast-hero__cover {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;      /* kein Verzerren */
    object-position: center;
    transition: transform 0.5s ease;
}

.dp-podcast-hero__cover-link:hover .dp-podcast-hero__cover {
    transform: scale(1.03);
}

/* Body */
.dp-podcast-hero__body {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-podcast-hero__eyebrow {
    font-family: var(--dp-font-body);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: var(--dp-primary);
    margin: 0;
}

.dp-podcast-hero__title {
    font-family: var(--dp-font-headline);
    font-size: clamp(1.35rem, 3.5vw, 2rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--dp-text);
    margin: 0;
}

.dp-podcast-hero__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-podcast-hero__title a:hover {
    color: #c9a326;
    text-decoration: none;
}

.dp-podcast-hero__meta {
    font-family: var(--dp-font-body);
    font-size: .78rem;
    font-weight: 500;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: 0;
}

.dp-podcast-hero__teaser {
    font-family: var(--dp-font-body);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--dp-n-700);
    margin: 0;
}

.dp-podcast-hero__player {
    border-radius: var(--dp-radius);
    overflow: hidden;
    margin-top: var(--dp-sp-1);
}

.dp-podcast-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    margin-top: var(--dp-sp-2);
}

/* ---- [dp_latest_episodes] ---- */

.dp-episodes-section {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-8);
    padding: var(--dp-sp-8) 0;
}

/* Grid — Standard 2 Spalten mobil, 3 Spalten Desktop */
.dp-episodes-section__grid {
    display: grid;
    gap: var(--dp-sp-4);
    grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 720px) {
    .dp-episodes-section__grid--3col {
        grid-template-columns: repeat(3, 1fr);
    }

    .dp-episodes-section__grid--4col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1100px) {
    .dp-episodes-section__grid--4col {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* 2-Spalten-Variante bleibt auch auf Desktop 2 Spalten */
.dp-episodes-section__grid--2col {
    grid-template-columns: repeat(2, 1fr);
}

.dp-episodes-section__more {
    display: flex;
    justify-content: center;
}

/* ---- Episode Card (dp-ep-card) ---- */

.dp-ep-card {
    display: flex;
    flex-direction: column;
    border-radius: var(--dp-radius-lg);
    overflow: hidden;
    background: var(--dp-surface-raised);
    border: var(--dp-line);
    box-shadow: var(--dp-shadow-sm);
    transition:
        box-shadow var(--dp-t-slow),
        transform var(--dp-t-slow),
        border-color var(--dp-t);
}

.dp-ep-card:hover {
    box-shadow: var(--dp-shadow-md);
    transform: translateY(-3px);
    border-color: var(--dp-border-strong);
}

/* Quadratisches Thumbnail — erzwungen via aspect-ratio + object-fit */
.dp-ep-card__thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--dp-n-100);
    line-height: 0;
    position: relative;
}

.dp-ep-card__thumb-link {
    display: block;
    width: 100%;
    height: 100%;
}

.dp-ep-card__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;       /* kein Verzerren — IMMER quadratisch */
    object-position: center;
    transition: transform 0.4s ease;
}

.dp-ep-card:hover .dp-ep-card__thumb img {
    transform: scale(1.06);   /* leichter Zoom bei hover */
}

.dp-ep-card__thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dp-n-300);
}

/* Card Body */
.dp-ep-card__body {
    padding: var(--dp-sp-3) var(--dp-sp-4) var(--dp-sp-4);
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
    flex: 1;
}

.dp-ep-card__meta {
    font-family: var(--dp-font-body);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: 0;
}

.dp-ep-card__title {
    font-family: var(--dp-font-headline);
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.01em;
    color: var(--dp-text);
    margin: 0;
    /* 2-Zeilen-Clamp damit Grid-Reihen bündig bleiben */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dp-ep-card__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-ep-card__title a:hover {
    color: var(--dp-primary);
}

.dp-ep-card__footer {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-2);
    margin-top: auto;
    padding-top: var(--dp-sp-2);
    flex-wrap: wrap;
}

.dp-ep-card__badge {
    font-family: var(--dp-font-body);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    padding: 2px var(--dp-sp-2);
    border-radius: var(--dp-radius-sm);
    background: var(--dp-primary-subtle);
    color: var(--dp-primary);
}

.dp-ep-card__badge--besprochen {
    background: var(--dp-success-bg);
    color: var(--dp-success);
}

.dp-ep-card__badge--geplant {
    background: var(--dp-n-100);
    color: var(--dp-n-600);
}

.dp-ep-card__panelium {
    font-family: var(--dp-font-body);
    font-size: .72rem;
    font-weight: 600;
    color: var(--dp-accent);
    font-variant-numeric: tabular-nums;
    margin-left: auto;
}

/* =============================================================
   17. Reels — [dp_reels]
   ============================================================= */

/* ── Wrapper ─────────────────────────────────────────────── */
.dp-reels {
    /* container-type erlaubt zukünftige Container-Queries */
    container-type: inline-size;
}

/* ── Grid / Scroll-Container ─────────────────────────────── */
.dp-reels__grid {
    display: flex;
    gap: var(--dp-sp-3);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-block-end: var(--dp-sp-2); /* Platz für schmale Scrollbar */
    scrollbar-width: thin;
    scrollbar-color: var(--dp-n-300) transparent;
}

/* Desktop: Grid statt horizontalem Scroll */
@media (min-width: 640px) {
    .dp-reels__grid {
        display: grid;
        overflow-x: visible;
        scroll-snap-type: none;
        padding-block-end: 0;
    }
    .dp-reels__grid--2col { grid-template-columns: repeat(2, 1fr); }
    .dp-reels__grid--3col { grid-template-columns: repeat(3, 1fr); }
    .dp-reels__grid--4col { grid-template-columns: repeat(4, 1fr); }
}

/* ── Card ────────────────────────────────────────────────── */
.dp-reel-card {
    /* Mobile: feste Breite ~72 vw — nächste Card noch sichtbar */
    flex: 0 0 72vw;
    max-width: 280px;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
}

@media (min-width: 640px) {
    .dp-reel-card {
        flex: none;
        max-width: none;
    }
}

/* ── Media-Container (9:16) ──────────────────────────────── */
.dp-reel-card__media {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: var(--dp-radius);
    background: var(--dp-n-900);
}

/* ── Placeholder (Thumbnail + Play-Button) ───────────────── */
.dp-reel-card__placeholder {
    position: absolute;
    inset: 0;
}

.dp-reel-card__thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.dp-reel-card__thumb--empty {
    width: 100%;
    height: 100%;
    background: var(--dp-n-800);
}

/* ── Play-Button ─────────────────────────────────────────── */
.dp-reel-card__play {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, .30);
    border: none;
    cursor: pointer;
    color: #fff;
    transition: background var(--dp-t);
    /* Hover-Zone = gesamte Card */
}

.dp-reel-card__play:hover,
.dp-reel-card__play:focus-visible {
    background: rgba(0, 0, 0, .52);
}

.dp-reel-card__play:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: -3px;
}

.dp-reel-card__play svg {
    /* Schatten für Lesbarkeit auf hellen Thumbnails */
    filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .65));
    transition: transform var(--dp-t);
}

.dp-reel-card__play:hover svg {
    transform: scale(1.12);
}

/* ── Dauer-Badge ─────────────────────────────────────────── */
.dp-reel-card__duration {
    position: absolute;
    bottom: var(--dp-sp-2);
    right: var(--dp-sp-2);
    background: rgba(0, 0, 0, .72);
    color: #fff;
    font-family: var(--dp-font-body);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    padding: 2px 6px;
    border-radius: 4px;
    font-variant-numeric: tabular-nums;
    pointer-events: none; /* kein Click, kein Tab */
}

/* ── iframe nach Klick ───────────────────────────────────── */
/* Ersetzt .dp-reel-card__placeholder, sitzt direkt in .dp-reel-card__media */
.dp-reel-card__iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    border-radius: var(--dp-radius);
    background: var(--dp-n-900);
}

/* WebVTT-Untertitel — ::cue unterstützt kein padding/border-radius, aber bg + shadow */
video.dp-reel-card__iframe::cue {
    background: rgba(0, 0, 0, 0.72);
    color: #ffffff;
    font-size: 1em;
    font-family: var(--dp-font-body, system-ui, sans-serif);
    font-weight: 500;
    line-height: 1.45;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}

/* ── Titel unter der Card ────────────────────────────────── */
.dp-reel-card__title {
    font-family: var(--dp-font-body);
    font-size: .85rem;
    font-weight: 600;
    color: var(--dp-n-800);
    line-height: 1.3;
    margin: 0;
    /* 2-zeiliger Clamp für gleichmäßige Abstände im Grid */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* =============================================================
   18. Shop-Section — [dp_shop_random]
   ============================================================= */

/* ── Wrapper ─────────────────────────────────────────────── */
.dp-shop-section {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-6);
}

.dp-shop-section__heading {
    font-family: var(--dp-font-head);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--dp-n-900);
    margin: 0;
    letter-spacing: -.01em;
}

/* ── Grid ────────────────────────────────────────────────── */
.dp-shop-section__grid {
    display: grid;
    gap: var(--dp-sp-4);
    grid-template-columns: 1fr;
}

@media (min-width: 480px) {
    .dp-shop-section__grid--2col,
    .dp-shop-section__grid--3col,
    .dp-shop-section__grid--4col { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 720px) {
    .dp-shop-section__grid--3col { grid-template-columns: repeat(3, 1fr); }
    .dp-shop-section__grid--4col { grid-template-columns: repeat(4, 1fr); }
}

/* ── Produktkarte ────────────────────────────────────────── */
.dp-product-card {
    background: var(--dp-n-0);
    border: 1px solid var(--dp-n-200);
    border-radius: var(--dp-radius);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--dp-t), transform var(--dp-t);
}

.dp-product-card:hover {
    box-shadow: 0 4px 20px rgba(0, 0, 0, .10);
    transform: translateY(-2px);
}

/* ── Produktbild (quadratisch) ───────────────────────────── */
.dp-product-card__image-link {
    display: block;
    text-decoration: none;
}

.dp-product-card__image-wrap {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--dp-n-100);
}

.dp-product-card__image-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.4s ease;
}

.dp-product-card:hover .dp-product-card__image-wrap img {
    transform: scale(1.05);
}

.dp-product-card__image-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--dp-n-400);
}

/* ── Karten-Inhalt ───────────────────────────────────────── */
.dp-product-card__body {
    padding: var(--dp-sp-3) var(--dp-sp-4);
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
    flex: 1;
}

.dp-product-card__title {
    font-family: var(--dp-font-body);
    font-size: .88rem;
    font-weight: 600;
    color: var(--dp-n-800);
    margin: 0;
    line-height: 1.35;
    /* 2-Zeilen-Clamp */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.dp-product-card__title a {
    color: inherit;
    text-decoration: none;
}

.dp-product-card__title a:hover {
    color: var(--dp-primary);
}

.dp-product-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--dp-sp-2);
    margin-top: auto;
    padding-top: var(--dp-sp-2);
}

.dp-product-card__price {
    font-family: var(--dp-font-body);
    font-size: .9rem;
    font-weight: 700;
    color: var(--dp-accent);
    font-variant-numeric: tabular-nums;
}

/* WooCommerce überschreibt oft den del/ins, hier neutral halten */
.dp-product-card__price del {
    color: var(--dp-n-500);
    font-weight: 400;
    font-size: .8rem;
}

.dp-product-card__link {
    font-family: var(--dp-font-body);
    font-size: .78rem;
    font-weight: 600;
    color: var(--dp-primary);
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--dp-t);
}

.dp-product-card__link:hover {
    color: var(--dp-accent);
}

/* ── "Zum Shop"-Link ─────────────────────────────────────── */
.dp-shop-section__more {
    text-align: center;
}

/* =============================================================
   19. Member Panel — [dp_member_panel]
   ============================================================= */

/* ── Basis ───────────────────────────────────────────────── */
.dp-member-panel {
    border-radius: var(--dp-radius-lg);
    padding: var(--dp-sp-8) var(--dp-sp-6);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--dp-sp-5);
}

/* ── Gast (nicht eingeloggt) ─────────────────────────────── */
.dp-member-panel--guest {
    background: var(--dp-primary-subtle);
    border: 1px solid var(--dp-n-200);
}

.dp-member-panel__icon {
    color: var(--dp-accent);
    line-height: 0;
}

.dp-member-panel__headline {
    font-family: var(--dp-font-head);
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--dp-n-900);
    margin: 0;
    letter-spacing: -.02em;
}

.dp-member-panel__lead {
    font-family: var(--dp-font-body);
    font-size: .95rem;
    color: var(--dp-n-700);
    line-height: 1.6;
    margin: 0;
    max-width: 38ch;
}

.dp-member-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    justify-content: center;
}

.dp-member-panel__hint {
    font-family: var(--dp-font-body);
    font-size: .78rem;
    color: var(--dp-n-500);
    margin: 0;
}

.dp-member-panel__fleet-link {
    color: var(--dp-primary);
    text-decoration: none;
}

.dp-member-panel__fleet-link:hover {
    text-decoration: underline;
}

/* ── Eingeloggt ──────────────────────────────────────────── */
.dp-member-panel--member {
    background: var(--dp-n-900);
    color: var(--dp-n-0);
}

.dp-member-panel__greeting {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-1);
}

.dp-member-panel__eyebrow {
    font-family: var(--dp-font-body);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--dp-accent);
    margin: 0;
}

.dp-member-panel__name {
    font-family: var(--dp-font-head);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--dp-n-0);
    margin: 0;
    letter-spacing: -.02em;
}

.dp-member-panel__level {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    color: var(--dp-n-400);
    margin: 0;
    font-style: italic;
}

/* ── Panelium-Balance ────────────────────────────────────── */
.dp-member-panel__balance {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--dp-sp-1);
    padding: var(--dp-sp-4) var(--dp-sp-6);
    background: rgba(255, 255, 255, .06);
    border-radius: var(--dp-radius);
    border: 1px solid rgba(255, 255, 255, .10);
}

.dp-member-panel__balance-icon {
    font-size: 2rem;
    color: var(--dp-accent);
    line-height: 1;
}

.dp-member-panel__balance-value {
    font-family: var(--dp-font-head);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--dp-n-0);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.dp-member-panel__balance-label {
    font-family: var(--dp-font-body);
    font-size: .72rem;
    color: var(--dp-n-400);
    letter-spacing: .04em;
    text-transform: uppercase;
}

/* Buttons im dunklen Panel: Farb-Override */
.dp-member-panel--member .dp-btn--primary {
    background: var(--dp-accent);
    color: #fff;
    border-color: var(--dp-accent);
}

.dp-member-panel--member .dp-btn--primary:hover {
    filter: brightness(1.1);
}

.dp-member-panel--member .dp-btn--secondary {
    color: var(--dp-n-0);
    border-color: rgba(255, 255, 255, .35);
    background: transparent;
}

.dp-member-panel--member .dp-btn--secondary:hover {
    border-color: var(--dp-n-0);
    background: rgba(255, 255, 255, .08);
}

/* =============================================================
   20. Memory-Seite — [dp_memory]
   ============================================================= */

/* ── Wrapper ─────────────────────────────────────────────── */
.dp-memory {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-5);
}

/* ── Filter-Formular ─────────────────────────────────────── */
.dp-memory__filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: var(--dp-sp-3) var(--dp-sp-4);
    background: var(--dp-n-50, var(--dp-primary-subtle));
    border-radius: var(--dp-radius);
    border: 1px solid var(--dp-n-200);
}

.dp-memory__filter-select {
    font-family: var(--dp-font-body);
    font-size: .85rem;
    color: var(--dp-n-800);
    background: var(--dp-n-0);
    border: 1px solid var(--dp-n-300);
    border-radius: var(--dp-radius-sm);
    padding: var(--dp-sp-2) var(--dp-sp-3);
    cursor: pointer;
    min-width: 140px;
    transition: border-color var(--dp-t);
}

.dp-memory__filter-select:focus-visible {
    outline: 2px solid var(--dp-primary);
    outline-offset: 1px;
    border-color: var(--dp-primary);
}

.dp-memory__filter-submit {
    padding: var(--dp-sp-2) var(--dp-sp-4);
}

.dp-memory__filter-reset {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    color: var(--dp-n-500);
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-memory__filter-reset:hover {
    color: var(--dp-accent);
}

/* ── Header: Count + Legende ─────────────────────────────── */
.dp-memory__header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--dp-sp-3);
}

.dp-memory__count {
    font-family: var(--dp-font-body);
    font-size: .85rem;
    font-weight: 600;
    color: var(--dp-n-600);
    margin: 0;
    font-variant-numeric: tabular-nums;
}

/* Farbcode-Legende */
.dp-memory__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dp-memory__legend-item {
    font-family: var(--dp-font-body);
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .03em;
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--dp-n-600);
}

/* Farbpunkt vor dem Label */
.dp-memory__legend-item::before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    flex-shrink: 0;
}

.dp-memory__legend-item--unbesprochen::before { background: #f97316; }
.dp-memory__legend-item--besprochen::before   { background: var(--dp-success); }
.dp-memory__legend-item--geplant::before      { background: var(--dp-primary); }

/* ── Episode-Grid ────────────────────────────────────────── */
.dp-memory__grid {
    display: grid;
    gap: var(--dp-sp-2);
    grid-template-columns: repeat(3, 1fr); /* Mobil: 3 Spalten */
}

@media (min-width: 480px) {
    .dp-memory__grid { grid-template-columns: repeat(4, 1fr); }
}

@media (min-width: 720px) {
    .dp-memory__grid { grid-template-columns: repeat(5, 1fr); }
}

@media (min-width: 1000px) {
    .dp-memory__grid { grid-template-columns: repeat(6, 1fr); }
}

/* ── Episode-Card ────────────────────────────────────────── */
.dp-memory-card {
    display: block;
    text-decoration: none;
    border-radius: var(--dp-radius-sm);
    overflow: hidden;
    /* Farbrahmen je Status (3px solide) */
    border: 3px solid transparent;
    transition: border-color var(--dp-t), transform var(--dp-t), box-shadow var(--dp-t);
    background: var(--dp-n-0);
}

.dp-memory-card--unbesprochen { border-color: #f97316; }
.dp-memory-card--besprochen   { border-color: var(--dp-success); }
.dp-memory-card--geplant      { border-color: var(--dp-primary); }

.dp-memory-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .15);
}

/* ── Thumbnail (immer quadratisch) ───────────────────────── */
.dp-memory-card__thumb-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: var(--dp-n-100);
}

.dp-memory-card__thumb-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

.dp-memory-card:hover .dp-memory-card__thumb-wrap img {
    transform: scale(1.08);
}

/* ── Beschreibungs-Overlay ───────────────────────────────── */
.dp-memory-card__desc {
    position: absolute;
    inset: 0;
    background: rgba(10, 5, 20, .86);
    color: rgba(255, 255, 255, .93);
    font-size: .62rem;
    line-height: 1.5;
    padding: .4rem .5rem;
    display: flex;
    align-items: center;
    opacity: 0;
    transition: opacity .2s ease;
    overflow: hidden;
    pointer-events: none;
}
.dp-memory-card:hover .dp-memory-card__desc { opacity: 1; }
@media (hover: none) {
    .dp-memory-card__desc { display: none; }
}
html.dp-dark .dp-memory-card__desc { background: rgba(0, 0, 0, .88) !important; }

/* Placeholder (kein Thumbnail) */
.dp-memory-card__thumb-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--dp-n-800);
    color: var(--dp-n-400);
    font-family: var(--dp-font-body);
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-align: center;
    padding: var(--dp-sp-1);
}

/* ── Titel unter dem Bild ────────────────────────────────── */
.dp-memory-card__title {
    font-family: var(--dp-font-body);
    font-size: .62rem;
    font-weight: 600;
    color: var(--dp-n-800);
    line-height: 1.3;
    margin: 0;
    padding: 4px var(--dp-sp-1) 5px;
    background: var(--dp-n-0);
    /* Einzeilig mit Ellipsis */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Kein Ergebnis ───────────────────────────────────────── */
.dp-memory__empty {
    font-family: var(--dp-font-body);
    font-size: .95rem;
    color: var(--dp-n-600);
    text-align: center;
    padding: var(--dp-sp-8) 0;
}

.dp-memory__empty a {
    color: var(--dp-primary);
    text-decoration: underline;
}

/* ── Pagination ──────────────────────────────────────────── */
.dp-memory__pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-1);
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: center;
    align-items: center;
}

.dp-memory__page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 var(--dp-sp-2);
    border: 1px solid var(--dp-n-300);
    border-radius: var(--dp-radius-sm);
    color: var(--dp-n-700);
    text-decoration: none;
    font-family: var(--dp-font-body);
    font-size: .82rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    transition: border-color var(--dp-t), color var(--dp-t), background var(--dp-t);
}

.dp-memory__page-link:hover {
    border-color: var(--dp-primary);
    color: var(--dp-primary);
    background: var(--dp-primary-subtle);
}

.dp-memory__page-link--current {
    background: var(--dp-primary);
    border-color: var(--dp-primary);
    color: #fff;
    pointer-events: none; /* aktuelle Seite nicht klickbar */
}

.dp-memory__page-link--current:hover {
    background: var(--dp-primary);
    color: #fff;
}

.dp-memory__page-link--arrow {
    font-size: 1rem;
    min-width: 40px;
}

.dp-memory__page-link:focus-visible {
    outline: 2px solid var(--dp-accent);
    outline-offset: 2px;
}

.dp-memory__page-ellipsis {
    display: flex;
    align-items: center;
    padding: 0 4px;
    color: var(--dp-n-400);
    font-size: .9rem;
    user-select: none;
}


/* ============================================================
   21. Navigation — Desktop GP-Menü + Mobile Sticky Bottom Nav
   ============================================================ */

/* ── Mobile: Sticky Bottom Nav bereits via Abschnitt 6 (dp-nav) vorhanden.
      Auf Desktop ≥ 768px ausblenden + Body-Padding zurücksetzen. ────────── */
@media (min-width: 768px) {
    .dp-nav {
        display: none !important;
    }

    body.has-dp-nav {
        padding-bottom: 0 !important;
    }
}

/* ── GeneratePress Site-Header — Branding-Upgrade ───────────────────────── */

/* Header-Container */
.site-header {
    background: var(--dp-bg) !important;
    border-bottom: 2px solid var(--dp-primary) !important;
}

/* Mobile: Header sticky — Hamburger-Button bleibt beim Scrollen erreichbar */
@media (max-width: 767px) {
    .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 200 !important;
    }
}

/* Innen-Wrapper auf Systembreite ausrichten */
.site-header .inside-header {
    max-width: 1360px !important;
    padding-block: 1rem !important;
}

/* Custom Logo via WP Customizer */
.site-header .site-logo img,
.site-header .custom-logo {
    max-height: 3.75rem !important;
    width: auto !important;
    height: auto !important;
    display: block;
}

/* Site-Title als Wortmarke (kein Bild-Logo) */
.site-header .site-title,
.site-header .site-title a,
.site-header .site-title a:visited {
    font-family: var(--dp-font-headline) !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--dp-text) !important;
    text-decoration: none !important;
    letter-spacing: -.025em !important;
    line-height: 1.1;
}

.site-header .site-title a:hover {
    color: var(--dp-primary) !important;
}

.site-header .site-description {
    font-size: .75rem;
    color: var(--dp-text-muted);
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-top: 2px;
}

/* ── GeneratePress Primärmenü — warm, kein Blau ──────────────────────────── */
@media (min-width: 768px) {

    /* Nav-Liste: keine Überlappung, genug Luft zum Button-Bereich */
    .main-navigation .main-nav > ul {
        gap: 0;
        flex-wrap: nowrap;
        align-items: center;
    }

    /* Basis-Link */
    .main-navigation .main-nav ul > li > a,
    .main-navigation .main-nav ul > li > a:visited {
        color: #3a3228;
        font-family: var(--dp-font-body);
        font-size: .875rem;
        font-weight: 600;
        letter-spacing: .005em;
        padding: .5rem .75rem;
        border-radius: 0;
        position: relative;
        transition: color var(--dp-t);
        background: transparent;
    }

    /* Unterline-Indikator — warm gold */
    .main-navigation .main-nav ul > li > a::after {
        content: '';
        position: absolute;
        inset-inline: .75rem;
        bottom: 0;
        height: 2px;
        background: #c9a326;
        border-radius: 1px;
        transform: scaleX(0);
        transform-origin: center;
        transition: transform var(--dp-t);
    }

    .main-navigation .main-nav ul > li > a:hover,
    .main-navigation .main-nav ul > li > a:focus-visible {
        color: #c9a326;
        background: transparent;
        outline: none;
    }

    .main-navigation .main-nav ul > li > a:hover::after,
    .main-navigation .main-nav ul > li > a:focus-visible::after {
        transform: scaleX(1);
    }

    /* Aktiver Menüpunkt */
    .main-navigation .main-nav ul > li.current-menu-item > a,
    .main-navigation .main-nav ul > li.current-menu-ancestor > a {
        color: #c9a326;
    }

    .main-navigation .main-nav ul > li.current-menu-item > a::after,
    .main-navigation .main-nav ul > li.current-menu-ancestor > a::after {
        transform: scaleX(1);
    }

    /* GP Dropdown-Toggle-Button (Pfeil) — warm, kein Überlapp */
    .main-navigation .main-nav ul > li .dropdown-menu-toggle {
        color: #8a7560;
        padding: 0 .35rem;
        background: transparent;
        border: none;
    }
    .main-navigation .main-nav ul > li .dropdown-menu-toggle:hover {
        color: #c9a326;
    }
    .main-navigation .main-nav ul > li .dropdown-menu-toggle svg {
        width: 12px; height: 12px;
    }

    /* Tablet-Fix: Label und Pfeil immer auf einer Zeile — verhindert dass bei
       knappem Platz der Pfeil unter den Menüpunkt-Text rutscht */
    .main-navigation .main-nav ul > li.menu-item-has-children {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        position: relative; /* sicherstellen, damit sub-menu sich relativ zum li positioniert */
    }
    .main-navigation .main-nav ul > li.menu-item-has-children > a {
        white-space: nowrap;
        flex: 1 1 auto;
        min-width: 0;
    }
    .main-navigation .main-nav ul > li.menu-item-has-children > .dropdown-menu-toggle {
        flex-shrink: 0;
    }

    /* Dropdown-Fix: display:flex + align-items:center am li verändert die
       CSS-static-position von absolut positionierten Kindern. Das sub-menu muss
       daher explizit unter dem li-Element verankert werden (top:100%, left:0),
       damit es nicht vertikal zentriert oder nach oben verschoben erscheint. */
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul,
    .main-navigation .main-nav > ul > li.menu-item-has-children > ul.sub-menu {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
    }

    /* Dropdown-Submenü */
    .main-navigation .main-nav ul ul {
        background: #fffdf9;
        border: 1px solid rgba(180,150,100,.25);
        border-top: 2px solid #c9a326;
        border-radius: 0 0 8px 8px;
        box-shadow: 0 8px 28px rgba(60,30,10,.10);
        padding: .4rem 0;
        min-width: 260px;
    }

    /* 2. Ebene: li mit Unter-Untermenü — Flex für vertikale Pfeil-Zentrierung */
    .main-navigation .main-nav ul ul li.menu-item-has-children {
        display: flex;
        align-items: center;
    }
    .main-navigation .main-nav ul ul li.menu-item-has-children > a {
        flex: 1 1 auto;
        min-width: 0;
    }
    .main-navigation .main-nav ul ul li.menu-item-has-children .dropdown-menu-toggle {
        float: none;
        flex: 0 0 auto;
        align-self: center;
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 0;
        padding-right: .75rem;
        padding-left: .5rem;
    }

    .main-navigation .main-nav ul ul > li > a,
    .main-navigation .main-nav ul ul > li > a:visited {
        color: #3a3228 !important;
        font-size: .85rem;
        font-weight: 500;
        padding: .5rem 1.2rem;
        border-radius: 0;
        transition: background var(--dp-t), color var(--dp-t);
    }

    .main-navigation .main-nav ul ul > li > a::after {
        display: none;
    }

    .main-navigation .main-nav ul ul > li > a:hover,
    .main-navigation .main-nav ul ul > li > a:focus-visible {
        background: rgba(201,163,38,.08) !important;
        color: #c9a326 !important;
        outline: none;
    }
}

/* ── Panelium-Guthaben Badge im Desktop-Menü ────────────────────────────── */
.dp-nav-balance {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .75rem .3rem .6rem;
    background: rgba(201,163,38,.12);
    border: 1px solid rgba(201,163,38,.35);
    border-radius: 999px;
    line-height: 1;
    pointer-events: none;
    cursor: default;
    white-space: nowrap;
}

/* In GeneratePress-Kontexten sitzt das <li> direkt in der Navliste */
.main-navigation .main-nav ul > li.dp-nav-balance {
    display: inline-flex;
    align-items: center;
    padding: 0 .5rem;
}

.main-navigation .main-nav ul > li.dp-nav-balance > a {
    display: none; /* kein Link-Wrapper beim injizierten <li> */
}

.dp-nav-balance__icon {
    font-size: 1rem;
    color: var(--dp-accent);
    line-height: 1;
}

.dp-nav-balance__value {
    font-family: var(--dp-font-ui);
    font-size: .825rem;
    font-weight: 600;
    color: var(--dp-n-100);
    letter-spacing: .01em;
}

/* Mobile: Badge ausblenden (Balance ist dort per [dp_header]-Shortcode sichtbar) */
@media (max-width: 767px) {
    .dp-nav-balance {
        display: none !important;
    }
}

/* =========================================================================
   9. Community-Boxen — .dp-community-box
   ========================================================================= */

/* ── Basis-Box ─────────────────────────────────────────────────────────── */

.dp-community-box {
    font-family: var(--dp-font-body);
    background: var(--dp-bg-subtle);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    padding: var(--dp-sp-6) var(--dp-sp-8);
    max-width: 560px;
    margin: var(--dp-sp-6) 0;
}

.dp-community-box__title {
    font-family: var(--dp-font-headline);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 var(--dp-sp-3);
    line-height: 1.3;
}

/* ── Support-Box ────────────────────────────────────────────────────────── */

.dp-support-box {
    border-left: 4px solid var(--dp-accent);
}

.dp-support-box .dp-community-box__icon {
    color: var(--dp-accent);
    margin-bottom: var(--dp-sp-3);
    display: block;
}

.dp-community-box__text {
    color: var(--dp-text-muted);
    font-size: .9rem;
    line-height: 1.6;
    margin: 0 0 var(--dp-sp-4);
}

.dp-community-box__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    margin-bottom: var(--dp-sp-3);
}

.dp-community-box__hint {
    font-size: .8rem;
    color: var(--dp-text-muted);
    margin: 0;
}

/* ── Social-Box ─────────────────────────────────────────────────────────── */

.dp-social-box {
    border-left: 4px solid var(--dp-primary);
}

.dp-social-box__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
}

.dp-social-box__item a {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-3);
    color: var(--dp-primary);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 500;
    padding: var(--dp-sp-2) 0;
    transition: color var(--dp-t);
}

.dp-social-box__item a:hover {
    color: var(--dp-primary-dark);
    text-decoration: underline;
}

.dp-social-box__icon {
    flex-shrink: 0;
    color: inherit;
    line-height: 0;
}

.dp-social-box__label {
    line-height: 1.4;
}

/* =========================================================================
   10. STIV-Übersichtsseite — [dp_stiv_overview]
       Star Trek IV: The Voyage Home – Besprechungsreihe
   ========================================================================= */

.dp-stiv-overview {
    font-family: var(--dp-font-body);
    color: var(--dp-text);
}

/* ── Hero / Intro ────────────────────────────────────────────────��────────── */

.dp-stiv-hero {
    background: var(--dp-n-800);
    border-radius: var(--dp-radius-lg);
    padding: var(--dp-sp-10) var(--dp-sp-8);
    margin-bottom: var(--dp-sp-10);
    position: relative;
    overflow: hidden;
}

.dp-stiv-hero::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, var(--dp-primary), var(--dp-accent));
    border-radius: var(--dp-radius-lg) 0 0 var(--dp-radius-lg);
}

.dp-stiv-hero__label {
    font-family: var(--dp-font-body);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--dp-primary-light);
    margin-bottom: var(--dp-sp-3);
}

.dp-stiv-hero__title {
    font-family: var(--dp-font-headline);
    font-size: clamp(1.35rem, 3vw, 1.9rem);
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 var(--dp-sp-4);
    line-height: 1.2;
    letter-spacing: -.01em;
}

.dp-stiv-hero__intro {
    font-size: .93rem;
    color: var(--dp-n-300);
    line-height: 1.72;
    max-width: 640px;
    margin: 0 0 var(--dp-sp-6);
}

.dp-stiv-hero__meta {
    display: flex;
    gap: var(--dp-sp-2);
    flex-wrap: wrap;
}

.dp-stiv-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-1);
    font-family: var(--dp-font-body);
    font-size: .73rem;
    font-weight: 600;
    color: var(--dp-n-300);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 20px;
    padding: 3px 11px;
}

/* ── Trennlinien ──────────────────────────────────────────────────────────── */

.dp-stiv-divider {
    border: none;
    border-top: var(--dp-line);
    margin: var(--dp-sp-10) 0;
}

/* ── Abschnitts-Überschriften ────────────────────────��────────────────────── */

.dp-stiv-section-heading {
    font-family: var(--dp-font-headline);
    font-size: 1.0rem;
    font-weight: 700;
    color: var(--dp-text);
    margin: 0 0 var(--dp-sp-6);
    display: flex;
    align-items: baseline;
    gap: var(--dp-sp-3);
    flex-wrap: wrap;
}

.dp-stiv-section-heading__count {
    font-family: var(--dp-font-body);
    font-size: .8rem;
    font-weight: 400;
    color: var(--dp-text-muted);
}

/* ── Teilpost-Karten ─────────────────────────────────────────────────────���── */

.dp-stiv-parts-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-stiv-part-card {
    display: flex;
    gap: var(--dp-sp-4);
    align-items: flex-start;
    background: var(--dp-bg);
    border: var(--dp-line);
    border-radius: var(--dp-radius);
    padding: var(--dp-sp-4) var(--dp-sp-5);
    position: relative;
    overflow: hidden;
    transition: border-color var(--dp-t), box-shadow var(--dp-t);
    text-decoration: none;
}

.dp-stiv-part-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--dp-border-strong);
    transition: background var(--dp-t-slow);
}

.dp-stiv-part-card:hover {
    border-color: var(--dp-border-strong);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.dp-stiv-part-card:hover::before {
    background: var(--dp-primary);
}

.dp-stiv-part-card__num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--dp-font-headline);
    font-size: .78rem;
    font-weight: 700;
    color: var(--dp-text-muted);
    background: var(--dp-bg-subtle);
    border: var(--dp-line);
    border-radius: 50%;
    margin-top: 1px;
    flex-shrink: 0;
}

.dp-stiv-part-card__body {
    flex: 1;
    min-width: 0;
}

.dp-stiv-part-card__title {
    font-family: var(--dp-font-headline);
    font-size: .94rem;
    font-weight: 700;
    color: var(--dp-text);
    text-decoration: none;
    display: block;
    line-height: 1.35;
    margin-bottom: var(--dp-sp-1);
    transition: color var(--dp-t);
}

.dp-stiv-part-card__title:hover {
    color: var(--dp-primary);
    text-decoration: none;
}

.dp-stiv-part-card__meta {
    font-size: .74rem;
    color: var(--dp-text-muted);
    margin-bottom: var(--dp-sp-2);
    display: flex;
    gap: var(--dp-sp-2);
    align-items: center;
    flex-wrap: wrap;
}

.dp-stiv-part-card__dot {
    color: var(--dp-border-strong);
}

.dp-stiv-part-card__excerpt {
    font-size: .865rem;
    color: var(--dp-n-600);
    line-height: 1.57;
    margin: 0;
}

/* ── Kommentare-Abschnitt ─────────────────────────────────────────────────── */

.dp-stiv-comments-empty {
    font-style: italic;
    color: var(--dp-text-muted);
    font-size: .9rem;
    padding: var(--dp-sp-5) var(--dp-sp-6);
    background: var(--dp-bg-subtle);
    border-radius: var(--dp-radius);
    border: var(--dp-line);
    text-align: center;
}

.dp-stiv-comment-group {
    margin-bottom: var(--dp-sp-8);
}

.dp-stiv-comment-group__header {
    display: flex;
    align-items: baseline;
    gap: var(--dp-sp-2);
    flex-wrap: wrap;
    padding: var(--dp-sp-3) var(--dp-sp-4);
    background: var(--dp-primary-subtle);
    border-left: 3px solid var(--dp-primary);
    border-radius: 0 var(--dp-radius-sm) var(--dp-radius-sm) 0;
    margin-bottom: var(--dp-sp-4);
}

.dp-stiv-comment-group__from {
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .09em;
    color: var(--dp-primary);
    flex-shrink: 0;
}

.dp-stiv-comment-group__link {
    font-family: var(--dp-font-headline);
    font-size: .88rem;
    font-weight: 700;
    color: var(--dp-text);
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-stiv-comment-group__link:hover {
    color: var(--dp-primary);
    text-decoration: none;
}

.dp-stiv-comment-group__count {
    font-size: .73rem;
    color: var(--dp-text-muted);
    margin-left: auto;
    white-space: nowrap;
    flex-shrink: 0;
}

.dp-stiv-comment-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-stiv-comment {
    background: var(--dp-bg);
    border: var(--dp-line);
    border-radius: var(--dp-radius);
    padding: var(--dp-sp-4) var(--dp-sp-5);
}

.dp-stiv-comment__meta {
    font-size: .76rem;
    color: var(--dp-text-muted);
    margin-bottom: var(--dp-sp-2);
    display: flex;
    gap: var(--dp-sp-2);
    align-items: center;
    flex-wrap: wrap;
}

.dp-stiv-comment__author {
    font-weight: 600;
    color: var(--dp-n-700);
}

.dp-stiv-comment__dot {
    color: var(--dp-border-strong);
}

.dp-stiv-comment__body {
    font-size: .89rem;
    line-height: 1.63;
    color: var(--dp-text);
}

.dp-stiv-comment__body p {
    margin: 0 0 var(--dp-sp-2);
}

.dp-stiv-comment__body p:last-child {
    margin-bottom: 0;
}

/* ── Leer-Zustand ───────────────────────────────────────────────────────���─── */

.dp-stiv-empty {
    font-style: italic;
    color: var(--dp-text-muted);
    padding: var(--dp-sp-8);
    background: var(--dp-bg-subtle);
    border: var(--dp-line);
    border-radius: var(--dp-radius);
    text-align: center;
    font-size: .9rem;
}

/* ── Responsive ───────────────────────────────────────────────────────────��─ */

@media (max-width: 600px) {
    .dp-stiv-hero {
        padding: var(--dp-sp-8) var(--dp-sp-5);
        margin-bottom: var(--dp-sp-8);
    }

    .dp-stiv-part-card {
        gap: var(--dp-sp-3);
        padding: var(--dp-sp-3) var(--dp-sp-4);
    }

    .dp-stiv-part-card__num {
        width: 24px;
        height: 24px;
        font-size: .7rem;
    }

    .dp-stiv-comment-group__count {
        margin-left: 0;
    }

    .dp-stiv-divider {
        margin: var(--dp-sp-8) 0;
    }
}

/* =========================================================================
   23/24. (HomepageLayout + HomepageShortcode CSS removed — shortcodes unregistered)
   ========================================================================= */

/* =========================================================================
   25. Homepage Rev 36 — Featured Cards, Excerpts, Memory, Closing Section
   ========================================================================= */

/* ---- Memory-Sektion: Dual-CTAs ---- */

.dp-memory__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    margin-top: var(--dp-sp-6);
}

/* ---- Closing Section — drei dunkle Tiles ---- */

.dp-section--closing {
    background: var(--dp-n-900);
    background-image:
        radial-gradient(ellipse at 15% 60%, rgba(48,74,152,.20) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 20%, rgba(207,22,130,.12) 0%, transparent 50%);
}

.dp-section--closing .dp-section__eyebrow {
    color: var(--dp-accent-light);
}

.dp-section--closing .dp-section__title {
    color: var(--dp-n-0);
}

/* Zentrierter Header (kein Space-between) */
.dp-section__header--centered {
    justify-content: center;
    text-align: center;
}

/* Tile-Grid: 1 Spalte → 3 Spalten ab 640 px */
.dp-closing-tiles {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dp-sp-6);
    margin-top: var(--dp-sp-8);
}

@media (min-width: 640px) {
    .dp-closing-tiles {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--dp-sp-7);
    }
}

/* Einzelne Tile */
.dp-closing-tile {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: var(--dp-radius-xl);
    padding: var(--dp-sp-8) var(--dp-sp-7);
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-4);
    transition: background var(--dp-t);
}

.dp-closing-tile:hover {
    background: rgba(255, 255, 255, .07);
}

/* Sternenflotte-Tile — blaue Akzentborder */
.dp-closing-tile--fleet {
    border-color: rgba(48, 74, 152, .35);
}

/* Tile-Icon */
.dp-closing-tile__icon {
    font-size: 2rem;
    line-height: 1;
    color: var(--dp-primary-light);
}

.dp-closing-tile--fleet .dp-closing-tile__icon {
    color: var(--dp-primary-light);
}

.dp-closing-tile--podcast .dp-closing-tile__icon {
    color: var(--dp-accent-light);
}

.dp-closing-tile--shop .dp-closing-tile__icon {
    color: var(--dp-n-400);
}

/* SVG-Icons in Tiles: feste Größe über CSS */
.dp-closing-tile__icon svg {
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    opacity: .7;
}

/* Tile-Titel */
.dp-closing-tile__title {
    font-family: var(--dp-font-headline);
    font-size: var(--dp-text-lg);
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: var(--dp-lh-tight);
    letter-spacing: var(--dp-tracking-snug);
}

/* Tile-Text */
.dp-closing-tile__text {
    font-size: var(--dp-text-sm);
    color: var(--dp-n-400);
    line-height: var(--dp-lh-base);
    margin: 0;
    flex: 1;                          /* drückt CTA ans Ende */
}

/* =========================================================================
   26. Landingpage Polish — WP/GP Theme-Reste + Final Polish
   ========================================================================= */

/* ── C. Hero-Sektion: visueller Übergangs-Streifen am unteren Rand */
.dp-section--hero {
    position: relative;
}

.dp-section--hero::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--dp-border-strong) 25%,
        var(--dp-border-strong) 75%,
        transparent 100%
    );
    pointer-events: none;
}

/* ── D. Ghost-Buttons auf dunklem Hintergrund sichtbar machen ────────────── */

.dp-section--memory .dp-btn--ghost,
.dp-section--closing .dp-btn--ghost {
    color:        var(--dp-n-200);
    border-color: rgba(255, 255, 255, .2);
}

.dp-section--memory .dp-btn--ghost:hover,
.dp-section--closing .dp-btn--ghost:hover {
    background:   rgba(255, 255, 255, .07);
    color:        #fff;
    border-color: rgba(255, 255, 255, .4);
    text-decoration: none;
    transform:    translateY(-1px);
}

.dp-section--memory .dp-btn--ghost:focus-visible,
.dp-section--closing .dp-btn--ghost:focus-visible {
    outline:    none;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .25);
}

/* ── E. Mikro-UX ─────────────────────────────────────────────────────────── */

/* Touch-Target: Mindestgröße für Accessibility */
.dp-btn {
    min-height: 44px;
}

/* Ranking-Listeneinträge: Hover subtiler machen */
.dp-ranking-list__item {
    cursor: default;
}

.dp-ranking-list__title a {
    cursor: pointer;
}

/* =========================================================================
   27. [dp_homepage] — Wrapper-Alias für das neue Homepage-System (Rev 38)
   =========================================================================
   Alle Scoped-Regeln, die bisher .dp-layout-home als Selektor hatten,
   gelten jetzt auch für .dp-homepage. So bleibt der alte Shortcode-Wrapper
   kompatibel, falls er noch irgendwo im DB-Content auftaucht.
   ========================================================================= */

/* Basis-Layout — Flex-Column analog zu .dp-layout-home */
.dp-homepage {
    display: flex;
    flex-direction: column;
}

/* Full-Bleed: .dp-homepage bricht aus dem GP-Container aus */
body.dp-full-layout .dp-homepage {
    margin-left: calc(50% - 50vw);
    width: 100vw;
    box-sizing: border-box;
}

/* Verhindert horizontale Scrollleiste durch 100vw > sichtbarer Viewport (Windows-Scrollbar ~17px).
   clip statt hidden: kein Scroll-Container → position:sticky der Navbar bleibt funktional. */
body.dp-full-layout {
    overflow-x: clip;
}

/* Homepage Lightmode: Body auf GP-Streifen-Farbe zwingen, Alternierung warm */
html:not(.dp-dark) body.dp-full-layout {
    background-color: #ebe8e2 !important;
}

html:not(.dp-dark) .dp-homepage .dp-section:nth-child(even) {
    background: #f5f2eb;
}

/* Typografie-Scope — identisch zu .dp-layout-home (Section 2b) */
.dp-homepage {
    font-family:      var(--dp-font-body);
    font-size:        var(--dp-text-base);
    line-height:      var(--dp-lh-base);
    color:            var(--dp-text-body);
    -webkit-font-smoothing:  antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.dp-homepage h1,
.dp-homepage h2,
.dp-homepage h3 {
    font-family:    var(--dp-font-headline);
    color:          var(--dp-text-heading);
    letter-spacing: var(--dp-tracking-tight);
    line-height:    var(--dp-lh-tight);
    font-weight:    700;
    margin-top:     0;
    margin-bottom:  var(--dp-sp-3);
}

.dp-homepage h1 { font-size: var(--dp-text-3xl); }
.dp-homepage h2 { font-size: var(--dp-text-2xl); }
.dp-homepage h3 {
    font-size:      var(--dp-text-xl);
    letter-spacing: var(--dp-tracking-snug);
}

.dp-homepage h4,
.dp-homepage h5,
.dp-homepage h6 {
    font-family:    var(--dp-font-headline);
    color:          var(--dp-text-heading);
    letter-spacing: var(--dp-tracking-snug);
    line-height:    var(--dp-lh-snug);
    font-weight:    600;
    margin-top:     0;
    margin-bottom:  var(--dp-sp-2);
}

.dp-homepage h4 { font-size: var(--dp-text-lg); }
.dp-homepage h5 { font-size: var(--dp-text-base); }
.dp-homepage h6 { font-size: var(--dp-text-sm); }

.dp-homepage p {
    margin-top:    0;
    margin-bottom: var(--dp-sp-3);
    color:         var(--dp-text-body);
}

.dp-homepage .dp-lead {
    font-size:   var(--dp-text-lg);
    line-height: var(--dp-lh-snug);
    color:       var(--dp-text-muted);
}

.dp-homepage a {
    color:           var(--dp-primary);
    text-decoration: none;
}

.dp-homepage a:hover {
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.dp-homepage button,
.dp-homepage input,
.dp-homepage select,
.dp-homepage textarea {
    font-family: var(--dp-font-ui);
}

/* Marken-Textauswahl */
.dp-homepage ::selection {
    background: rgba(var(--dp-accent-rgb), .18);
    color: inherit;
}

/* Fokus-Ring: sichtbar für Tastatur-Navigation */
.dp-homepage a:focus-visible:not(.dp-btn) {
    outline:        2px solid var(--dp-primary);
    outline-offset: 2px;
    border-radius:  var(--dp-radius-sm);
}

/* ── F. Mobile Polish — kein Kollaps, sauberes Stacking ─────────────────── */

@media (max-width: 599px) {

    /* Section-Padding reduzieren — weniger Leerraum auf kleinen Screens */
    .dp-section {
        padding-block: var(--dp-sp-10);
    }

    /* Container: schmalere seitliche Abstände */
    .dp-container {
        padding-inline: var(--dp-sp-4);
    }

    /* Closing Tiles: weniger Padding, Buttons volle Breite */
    .dp-closing-tile {
        padding: var(--dp-sp-6) var(--dp-sp-5);
    }

    .dp-closing-tile .dp-btn {
        width: 100%;
        justify-content: center;
    }

    /* Memory-Aktionen: untereinander statt nebeneinander */
    .dp-memory__actions {
        flex-direction: column;
    }

    .dp-memory__actions .dp-btn {
        width: 100%;
        justify-content: center;
    }

    /* Section-Header: kein zu enger Abstand */
    .dp-section__header {
        margin-bottom: var(--dp-sp-6);
    }
}

/* =========================================================================
   28. Rev 39 — Visueller Neustart: Hero · Interaction Strip · Cards · Nav
   =========================================================================

   A.  Hero-Markenband  (Logo only, kein Claim-Text)
   B.  Hero-Post-Karte  (quadratisches Cover + Content + Player)
   C.  Community-Sidebar
   D.  Interaction Strip (Game · Bewerten · Sternenflotte)
   E.  Card-Upgrades (multi-layer shadow, Panel-Look)
   F.  Grafische Elemente (Glow, Divider, Texture)
   G.  Bottom Navigation (Desktop ausblenden)
   ========================================================================= */

/* ── C. Interaction Strip ────────────────────────────────────────────────── */

.dp-interaction-strip {
    background: var(--dp-n-900);
    background-image:
        radial-gradient(circle at 20% 50%, rgba(48, 74, 152, .18) 0%, transparent 60%),
        radial-gradient(circle at 80% 50%, rgba(207, 22, 130, .10) 0%, transparent 60%);
    padding-block: var(--dp-sp-5);
    position: relative;
}

/* Feine Scan-Line-Textur */
.dp-interaction-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 3px,
        rgba(255, 255, 255, .015) 3px,
        rgba(255, 255, 255, .015) 4px
    );
    pointer-events: none;
}

.dp-interaction-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1px;
    background: rgba(255, 255, 255, .06);
    border-radius: var(--dp-radius-lg);
    overflow: hidden;
}

@media (min-width: 560px) {
    .dp-interaction-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.dp-interaction-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--dp-sp-2);
    padding: var(--dp-sp-5) var(--dp-sp-4);
    background: rgba(255, 255, 255, .03);
    text-decoration: none;
    color: var(--dp-n-300);
    text-align: center;
    transition:
        background var(--dp-t),
        color var(--dp-t);
    position: relative;
    cursor: pointer;
}

.dp-interaction-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) scaleX(0);
    width: 40%;
    height: 2px;
    border-radius: 0 0 2px 2px;
    transition: transform var(--dp-t-slow);
}

.dp-interaction-card--game::before  { background: var(--dp-primary); }
.dp-interaction-card--vote::before  { background: var(--dp-accent); }
.dp-interaction-card--fleet::before { background: #3dd6c0; }

.dp-interaction-card:hover {
    background: rgba(255, 255, 255, .07);
    color: #fff;
    text-decoration: none;
}

.dp-interaction-card:hover::before {
    transform: translateX(-50%) scaleX(1);
}

.dp-interaction-card:hover .dp-interaction-card__icon {
    transform: translateY(-2px);
}

.dp-interaction-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform var(--dp-t-slow);
    color: inherit;
}

.dp-interaction-card--game:hover  .dp-interaction-card__icon { color: var(--dp-primary-light, #7fa0ff); }
.dp-interaction-card--vote:hover  .dp-interaction-card__icon { color: var(--dp-accent); }
.dp-interaction-card--fleet:hover .dp-interaction-card__icon { color: #3dd6c0; }

.dp-interaction-card__label {
    font-family: var(--dp-font-headline);
    font-size: var(--dp-text-sm);
    font-weight: 700;
    letter-spacing: var(--dp-tracking-snug);
    color: inherit;
    line-height: 1.2;
}

.dp-interaction-card__sub {
    font-size: var(--dp-text-xs);
    color: var(--dp-n-500);
    letter-spacing: var(--dp-tracking-normal);
    line-height: 1.3;
}

/* ── E. Card-Upgrades — Panel-Look, Materialität ─────────────────────────── */

/* Ranking-Liste: Panel-Look */
.dp-ranking-list__item {
    background: var(--dp-surface-raised);
    border: 1px solid rgba(0, 0, 0, .05);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .04);
    border-radius: var(--dp-radius);
    margin-bottom: var(--dp-sp-2);
    transition: box-shadow var(--dp-t), border-color var(--dp-t);
}

.dp-ranking-list__item:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, .08), 0 0 0 1px rgba(48, 74, 152, .1);
    border-color: rgba(48, 74, 152, .12);
}

.dp-ranking-list__panelium {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* ── F. Grafische Elemente: Glow, Divider ────────────────────────────────── */

/* Hero-Section: leichter Tiefen-Gradient */
.dp-section--hero {
    background:
        radial-gradient(ellipse at 60% 0%, rgba(48, 74, 152, .07) 0%, transparent 60%),
        var(--dp-bg);
    position: relative;
    padding-top: 0;
}

/* Dekorativer Divider zwischen Hero und Interaction Strip */
.dp-section--hero::after {
    display: none; /* kein zusätzlicher after — Strip hat eigenes BG */
}

/* Sektions-Divider: feine Linie mit Mittelpunkt-Ornament */
.dp-section + .dp-section {
    position: relative;
}

/* Memory-Sektion: Panel-Icon aufwerten */
.dp-memory__icon {
    color: rgba(255, 255, 255, .3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.dp-memory__symbol {
    display: none; /* altes ◈-Zeichen — durch SVG im PHP ersetzt */
}

/* ── G. Bottom Navigation ────────────────────────────────────────────────── */

/* Desktop: Nav ausblenden — nur Mobile sinnvoll */
@media (min-width: 860px) {
    .dp-nav {
        display: none;
    }
}

/* Mobile: Nav wieder auf volle Breite (kein Center-Crop) */
@media (max-width: 859px) {
    .dp-nav {
        left: 0;
        right: 0;
        transform: none;
        width: 100%;
        max-width: none;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
}

/* ── H. Section Hero: zusätzliche Desktop-Optimierungen ─────────────────── */

/* Auf sehr breiten Screens: mehr Luft im Hero-Grid */
@media (min-width: 1100px) {
    .dp-section--hero > .dp-container {
        padding-top: var(--dp-sp-10);
        padding-bottom: var(--dp-sp-12);
    }
}

/* Interaction Strip: Mobile — volle Karten statt Side-by-Side */
@media (max-width: 559px) {
    .dp-interaction-card {
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
        padding: var(--dp-sp-4) var(--dp-sp-5);
        gap: var(--dp-sp-4);
    }
    .dp-interaction-card::before {
        width: 100%;
        left: 0;
        transform: scaleX(0);
        transform-origin: left;
    }
    .dp-interaction-card:hover::before {
        transform: scaleX(1);
    }
}

/* ── Rev 40 — GP-Kompatibilität, Kontrast, Korrekturen ─────────────────── */

/* Hero Section: Atemraum nach dem GP-Site-Header */
.dp-section--hero {
    padding-top: var(--dp-sp-10);
}

@media (min-width: 860px) {
    .dp-section--hero {
        padding-top: var(--dp-sp-12);
    }
}

/* ── Interaction Strip — besser lesbar und kontrastreicher ───────────────── */

/* Karten: mehr Grundhelligkeit auf dunklem Grund */
.dp-interaction-card {
    background: rgba(255, 255, 255, .06);
    border-bottom: 1px solid rgba(255, 255, 255, .04);
}

.dp-interaction-card:hover {
    background: rgba(255, 255, 255, .12);
}

/* Label: helleres Weiß */
.dp-interaction-card__label {
    color: var(--dp-n-100);   /* fast weiß statt n-300 */
}

/* Sub-Text: besser lesbar */
.dp-interaction-card__sub {
    color: var(--dp-n-400);   /* heller als bisheriges n-500 */
}

/* Trennlinie zwischen Grid-Zellen sichtbarer */
.dp-interaction-grid {
    background: rgba(255, 255, 255, .08);
}

/* Ranking: sichtbarere Trennung */
.dp-ranking-list__item {
    border-color: var(--dp-border);
}

/* ── Desktop Bottom-Nav Padding: bereits 768px abgedeckt ────────────────── */
/* Sicherheitshalber auch bei 860px aufheben (Section 28 override) */
@media (min-width: 860px) {
    body.has-dp-nav {
        padding-bottom: 0;
    }
}

/* ── News-Panel ──────────────────────────────────────────────────────────── */

.dp-news-panel {
    background: var(--dp-surface-raised);
    border-radius: var(--dp-radius-xl);
    border: 1px solid var(--dp-border);
    border-top: 3px solid var(--dp-secondary, #cf1682);
    box-shadow:
        0 1px 4px rgba(0, 0, 0, .05),
        0 4px 16px rgba(0, 0, 0, .07);
    overflow: hidden;
}

.dp-news-panel__eyebrow {
    font-size: var(--dp-text-xs);
    font-weight: 600;
    letter-spacing: var(--dp-tracking-wide);
    text-transform: uppercase;
    color: var(--dp-secondary, #cf1682);
    margin: 0;
    padding: var(--dp-sp-4) var(--dp-sp-5) 0;
}

.dp-news-panel__thumb {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    overflow: hidden;
    background: var(--dp-n-100);
    margin-top: var(--dp-sp-3);
}

.dp-news-panel__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}

.dp-news-panel:hover .dp-news-panel__thumb img {
    transform: scale(1.04);
}

.dp-news-panel__body {
    padding: var(--dp-sp-4) var(--dp-sp-5) var(--dp-sp-5);
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-2);
}

.dp-news-panel__date {
    font-size: var(--dp-text-xs);
    color: var(--dp-text-muted);
    margin: 0;
}

.dp-news-panel__title {
    font-family: var(--dp-font-headline);
    font-size: var(--dp-text-base);
    font-weight: 700;
    color: var(--dp-text-heading);
    letter-spacing: var(--dp-tracking-snug);
    line-height: var(--dp-lh-snug);
    margin: 0;
}

.dp-news-panel__title a {
    color: inherit;
    text-decoration: none;
    transition: color var(--dp-t);
}

.dp-news-panel__title a:hover {
    color: var(--dp-primary);
}

.dp-news-panel__excerpt {
    font-size: var(--dp-text-sm);
    color: var(--dp-text-muted);
    line-height: var(--dp-lh-base);
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.dp-news-panel__link {
    font-size: var(--dp-text-sm);
    font-weight: 600;
    color: var(--dp-primary);
    text-decoration: none;
    margin-top: var(--dp-sp-1);
    transition: color var(--dp-t);
}

.dp-news-panel__link:hover {
    color: var(--dp-primary);
    text-decoration: underline;
}

/* ══════════════════════════════════════════════════════════════════════════
   Section 29 — Rev 43 · Grafik-Assets aus uploads/graphics
   ══════════════════════════════════════════════════════════════════════════

   Asset-Mapping:
     panelium.png  → Panelium-Badge (Hexagon, Gold, "PANELIUM")
     2.png.png  → Interaction-Strip-Hintergrund (Sternfeld / Milchstraße)
     3.png.png  → Memory-Sektion Hintergrund (warmer Partikel-Glow)
     4.png      → Sektion-Divider (goldene Zierlinie + Diamant-Ornament)
*/

/* ── Interaction Strip: subtile Radial-Akzente, kein Sternfeld ──────────
   Warme Magazin-Richtung: kein Space-/Galaxy-Foto-Hintergrund.
*/
.dp-interaction-strip {
    background-image:
        radial-gradient(circle at 20% 50%, rgba(48, 74, 152, .10) 0%, transparent 60%),
        radial-gradient(circle at 80% 50%, rgba(207, 22, 130, .07) 0%, transparent 60%);
}

/* ── Memory-Sektion: Partikel-Glow als atmosphärischer Hintergrund ───────
   Dunkle Semi-Transparenz-Schicht oben, damit Text lesbar bleibt.
   Der warme goldene Kern des Fotos scheint sichtbar durch.
   position: relative und overflow: hidden sind im Basis-CSS bereits gesetzt.
*/
.dp-section--memory {
    background-image:
        linear-gradient(rgba(4, 8, 20, .70), rgba(4, 8, 20, .58)),
        url('/wp-content/uploads/graphics/3.png.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

/* Memory-Sektion: Textfarben bleiben lesbar (bereits in Basis-CSS definiert,
   aber explizit hier als Rev-43-Absicherung */
.dp-section--memory .dp-memory__detail {
    color: rgba(255, 255, 255, .45);
    border-top-color: rgba(255, 255, 255, .12);
}

/* ── Panelium-Badge (PNG-Asset 1) ────────────────────────────────────────
   Wird in Memory-Sektion (96px) und Closing-Fleet-Tile (72px) eingesetzt.
   border-radius: 50% schneidet den dunklen Außenrand des PNGs sauber ab
   und macht den Badge zu einer runden, badge-artigen Darstellung.
*/
.dp-panelium-badge {
    display: block;
    border-radius: 50%;
    object-fit: cover;
}

/* Im Memory-Block: etwas größer, leichter Glow-Ring zur Betonung */
.dp-memory__icon .dp-panelium-badge {
    width: 96px;
    height: 96px;
    box-shadow:
        0 0 0 1px rgba(200, 132, 42, .25),
        0 0 24px rgba(200, 132, 42, .20),
        0 4px 16px rgba(0, 0, 0, .45);
}

/* Im Closing-Fleet-Tile: kompakter, passend zur Tile-Größe */
.dp-panelium-badge--tile {
    width: 72px;
    height: 72px;
    box-shadow:
        0 0 0 1px rgba(200, 132, 42, .20),
        0 0 16px rgba(200, 132, 42, .15);
}


/* ── Allgemeine Warmth-Verbesserungen ────────────────────────────────────
   Subtile Anpassungen die das Layout weniger steril wirken lassen.
*/

/* Hero-Section: wärmerer Schatten unten — visuelle Schwere */
.dp-section--hero {
    box-shadow: 0 4px 40px rgba(0, 0, 0, .06);
}

/* Closing-Fleet-Tile: wärmere Akzentborder */
.dp-closing-tile--fleet {
    border-color: rgba(200, 132, 42, .30);   /* Gold statt Blau */
    border-top: 2px solid rgba(200, 132, 42, .50);
}

/* Ranking-Items: etwas mehr Substanz */
.dp-ranking-list__item {
    transition: background var(--dp-t);
}

.dp-ranking-list__item:hover {
    background: var(--dp-primary-subtle);
}

/*
   Sections 30 + 31 entfernt (Rev 48 Reset, 2026-04-13).
   Section 30: dp-hero-post__* Klassen — Markup aus Rev 44 nicht mehr aktiv.
   Section 31: dp-hero-tile Klassen    — Markup aus Rev 45 nicht mehr aktiv.
   Kein aktiver PHP-Code verwendet diese Klassen.
*/

/* [Section 30/31 CSS hier entfernt — siehe Kommentar oben] */
/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Section 32 â€” Rev 48 Â· Warm Magazine Reset (2026-04-13)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•

   Design-Reset: Warmes Magazin / Fanzine. Entfernt:
   - Dark Stage Hero (Navy + Sternfeld + Glassmorphism) aus Rev 46
   - Illustrated Dark Editorial System aus Rev 47

   Feste Invarianten:
   1. Cover quadratisch â€” immer, ueberall (padding-top-Trick, browseruebergreifend).
   2. Logo gross + praesent â€” max 200x200px auf der Homepage.
*/

/* â”€â”€ Homepage: warmes Off-White â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.dp-homepage {
    background: #f5f2ec;
}

.dp-section--ranking {
    background: transparent;
}

/* â”€â”€ Hero-Stage Layout (dp-hero-stage) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.dp-section--hero {
    padding-top: 0;
}

.dp-section--hero > .dp-container {
    padding-top: var(--dp-sp-8);
    padding-bottom: var(--dp-sp-10);
}

/*
 * Hero-Stage Grid: 3 Zonen horizontal auf Desktop, gestapelt auf Mobile.
 *
 * Zone 1 (cover):  quadratisches Episodenbild — Invariante
 * Zone 2 (text):   Titel + Excerpt + CTA
 * Zone 3 (player): Podigee-Player NEBEN Text auf Desktop
 * Zone 4 (rail):   Community + News — immer eine Reihe darunter
 *
 * Grid-Template-Areas erlauben explizite Platzierung ohne Reihenfolge-Probleme.
 * Kein player im DOM (--no-player) → text übernimmt player-Spalte.
 */

/* Mobile: gestapelt */
.dp-hero-stage {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "cover"
        "text"
        "player"
        "rail";
    gap: var(--dp-sp-4);
    align-items: start;
}

.dp-hero-stage__cover   { grid-area: cover; }
.dp-hero-stage__text    { grid-area: text; }
.dp-hero-stage__player  { grid-area: player; }
.dp-hero-stage__rail    { grid-area: rail; }
.dp-hero-stage__fallback { grid-area: text / text / player / player; }

/* Tablet 680px: Cover links, Text rechts / Player + Rail voll */
@media (min-width: 680px) {
    .dp-hero-stage {
        grid-template-columns: 220px 1fr;
        grid-template-areas:
            "cover  text"
            "player player"
            "rail   rail";
        gap: var(--dp-sp-5);
    }
}

/* Desktop 900px: Cover | Text | Player nebeneinander — Rail darunter */
@media (min-width: 900px) {
    .dp-hero-stage {
        grid-template-columns: 260px 1fr 300px;
        grid-template-areas:
            "cover text   player"
            "rail  rail   rail";
        gap: var(--dp-sp-5);
    }
    .dp-hero-stage__rail {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--dp-sp-4);
    }
    /* Kein Player: Text übernimmt Player-Spalte */
    .dp-hero-stage--no-player {
        grid-template-areas:
            "cover text  text"
            "rail  rail  rail";
    }
    /* Kein Post: Fallback über Cover+Text+Player */
    .dp-hero-stage--no-post {
        grid-template-areas:
            "fallback fallback fallback"
            "rail     rail     rail";
    }
    .dp-hero-stage--no-post .dp-hero-stage__fallback {
        grid-area: fallback;
    }
}

@media (min-width: 1200px) {
    .dp-hero-stage {
        grid-template-columns: 300px 1fr 340px;
        gap: var(--dp-sp-6);
    }
}

/* â”€â”€ Cover: Bulletproof quadratisch â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Invariante: Cover IMMER quadratisch â€” keine Ausnahmen.
   padding-top: 100% erzwingt das Quadrat in jedem Grid- und Flex-Kontext.
*/
.dp-hero-stage__cover {
    position: relative;
    aspect-ratio: unset;
    height: auto;
    min-height: unset;
    align-self: start;
    border-radius: var(--dp-radius-xl);
    overflow: hidden;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, .10),
        0 8px 32px rgba(0, 0, 0, .12);
}

.dp-hero-stage__cover::before {
    content: '';
    display: block;
    padding-top: 100%;
}

.dp-hero-stage__cover img,
.dp-hero-stage__cover-link {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.dp-hero-stage__cover img {
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .55s ease;
}

.dp-hero-stage__cover:hover img {
    transform: scale(1.04);
}

@media (max-width: 679px) {
    .dp-hero-stage__cover {
        max-width: 240px;
        margin: 0 auto;
    }
}

.dp-hero-stage__cover--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(
        135deg,
        rgba(48, 74, 152, .08) 0%,
        rgba(255, 248, 235, .80) 50%,
        rgba(207, 22, 130, .06) 100%
    );
    color: var(--dp-primary);
}

/* â”€â”€ Body: Text + Player â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

/* dp-hero-stage__body entfernt (Rev 49) — text und player sind jetzt direkte Grid-Kinder */

.dp-hero-stage__text {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
    min-width: 0;
    align-self: start;
}

.dp-hero-stage__eyebrow {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--dp-primary);
    opacity: .80;
    margin: 0;
}

.dp-hero-stage__title {
    font-family: var(--dp-font-headline);
    font-size: clamp(1.4rem, 2.2vw, 2.0rem);
    font-weight: 800;
    color: var(--dp-n-900);
    line-height: 1.15;
    letter-spacing: -.03em;
    margin: 0;
}

.dp-hero-stage__title a {
    color: inherit;
    text-decoration: none;
    transition: color .2s;
}

.dp-hero-stage__title a:hover {
    color: #c9a326;
    text-decoration: none;
}

.dp-hero-stage__meta {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: var(--dp-n-500, #6b7280);
    margin: 0;
}

.dp-hero-stage__excerpt {
    font-family: var(--dp-font-serif);
    font-size: var(--dp-text-lead);
    line-height: 1.75;
    color: var(--dp-n-700);
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.dp-hero-stage__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--dp-sp-3);
    margin-top: var(--dp-sp-2);
}

/* â”€â”€ Player â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.dp-hero-stage__player {
    background: var(--dp-surface, #f5f7ff);
    border: 1px solid rgba(0, 0, 0, .07);
    border-radius: var(--dp-radius-xl);
    overflow: hidden;
    align-self: start;  /* nicht auf Grid-Zeilenhöhe strecken */
}

.dp-hero-stage__player-label {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: var(--dp-sp-3) var(--dp-sp-4) 0;
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--dp-text-muted);
    margin: 0;
}

.dp-hero-stage__player-label svg {
    opacity: .55;
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.dp-hero-stage__player iframe {
    /* Basisregel — Section 35 / Inline-Style vom Podigee JS überschreiben height */
    width: 100%;
    min-height: 200px;
    border: none;
    display: block;
    background: transparent;
}

/* â”€â”€ Rail â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.dp-hero-stage__rail {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-4);
}

/* â”€â”€ Fallback (kein Post) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */

.dp-hero-stage__fallback {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-4);
    padding: var(--dp-sp-6) 0;
    /* Grid-Area wird in den Breakpoint-Regeln oben gesetzt */
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   GP-Anpassungen auf der Homepage (body.dp-full-layout)
   Scope: nur Homepage â€” kein Eingriff in andere Seiten.
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* GP-Footer: ausgeblendet auf allen DP-Seiten — dp-hp-footer ersetzt ihn */

body.has-dp-nav .site-footer {
    display: none !important;
}

/* -- GP-Wrapper: Padding + Constraints entfernen -- dp-homepage bricht full-bleed aus */

body.dp-full-layout .site-main {
    margin: 0 !important;
}

body.dp-full-layout .inside-article {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body.dp-full-layout .entry-header {
    display: none !important;
}

body.dp-full-layout .entry-content {
    max-width: none !important;
    padding: 0 !important;
}

/* â”€â”€ GP-Header: Logo gross + praesent â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€
   Ziel: mind. 200 x 200 px auf der Homepage.
   Kein Dark-Glass, kein Farb-Override. Nur Logo-Groesse und Header-Padding.
   Eine Logo-Instanz. Keine Theme-Kollision.
*/
body.dp-full-layout .site-header .custom-logo,
body.dp-full-layout .site-header .custom-logo-link img,
body.dp-full-layout .site-header .site-logo img,
body.dp-full-layout .site-header img.custom-logo {
    max-height: 200px !important;
    max-width: 200px !important;
    width: auto !important;
    height: auto !important;
}

body.dp-full-layout .site-header {
    padding-top: var(--dp-sp-4) !important;
    padding-bottom: var(--dp-sp-4) !important;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   Homepage-Footer (dp-hp-footer) â€” Warmes Creme
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.dp-hp-footer {
    background: #f0ebe0;
    border-top: 1px solid rgba(0, 0, 0, .10);
    padding: var(--dp-sp-12) 0 var(--dp-sp-8);
}

.dp-hp-footer__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--dp-sp-8);
}

@media (min-width: 640px) {
    .dp-hp-footer__inner {
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: var(--dp-sp-10);
        align-items: start;
    }
}

.dp-hp-footer__site-name {
    font-family: var(--dp-font-headline);
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--dp-n-900);
    margin: 0 0 var(--dp-sp-3);
    letter-spacing: -.02em;
}

.dp-hp-footer__claim {
    font-family: var(--dp-font-serif);
    font-size: var(--dp-text-sm);
    line-height: 1.65;
    color: var(--dp-n-600, #5a5e6b);
    margin: 0 0 var(--dp-sp-4);
    max-width: 22ch;
}

.dp-hp-footer__panelium-note {
    display: flex;
    align-items: center;
    gap: var(--dp-sp-2);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(140, 90, 20, .80);
    margin: 0;
}

.dp-hp-footer__panelium-note svg {
    opacity: .70;
    flex-shrink: 0;
}

.dp-hp-footer__col-label {
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--dp-n-500, #6b7280);
    margin: 0 0 var(--dp-sp-4);
}

.dp-hp-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3);
}

.dp-hp-footer__links li a {
    font-size: var(--dp-text-sm);
    color: var(--dp-n-700);
    text-decoration: none;
    transition: color .2s;
}

.dp-hp-footer__links li a:hover {
    color: var(--dp-primary);
}

.dp-social-row {
    display: flex;
    justify-content: center;
    gap: 16px;
    padding: 20px 0 8px;
    border-top: 1px solid rgba(255,255,255,.10);
    margin-top: 8px;
}
.dp-social-row__link {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: .65;
    transition: opacity .2s, transform .2s;
    border-radius: 8px;
}
.dp-social-row__link:hover {
    opacity: 1;
    transform: translateY(-3px);
}
.dp-social-row__link img {
    width: 128px;
    height: 128px;
    object-fit: contain;
    display: block;
}

/* Share-Leiste über Kommentaren */
.dp-share-bar {
    padding: 28px 0 16px;
    border-top: 1px solid rgba(0,0,0,.10);
    margin-bottom: 24px;
    text-align: center;
}
.dp-share-bar__label {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: rgba(0,0,0,.40);
    margin: 0 0 14px;
}
.dp-share-bar__links {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.dp-share-bar__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    opacity: .60;
    transition: opacity .2s, transform .2s;
    border-radius: 8px;
    text-decoration: none;
}
.dp-share-bar__btn:hover {
    opacity: 1;
    transform: translateY(-3px);
    background: none;
}
.dp-share-bar__btn img {
    width: 128px;
    height: 128px;
    object-fit: contain;
    display: block;
}

.dp-hp-footer__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--dp-sp-4);
    margin-top: var(--dp-sp-10);
    padding-top: var(--dp-sp-6);
    border-top: 1px solid rgba(0, 0, 0, .08);
}

.dp-hp-footer__copy {
    font-size: 0.7rem;
    color: var(--dp-n-500, #6b7280);
    margin: 0;
}

.dp-hp-footer__legal {
    display: flex;
    gap: var(--dp-sp-5);
}

.dp-hp-footer__legal a {
    font-size: 0.7rem;
    color: var(--dp-n-600, #5a5e6b);
    text-decoration: none;
    transition: color .2s;
}

.dp-hp-footer__legal a:hover {
    color: var(--dp-primary);
}
/* ══════════════════════════════════════════════════════════════════════════
   Section 33 — Rev 49 · Header Member-Panel + Mobile-Overrides
   ══════════════════════════════════════════════════════════════════════════

   Nav-Struktur:
     GP-Primärmenü <ul> = flex-row
     Letzte <li>: dp-nav-member (eingeloggt) oder dp-nav-login (Gast)
     margin-left: auto schiebt dieses li an den rechten Rand der Nav.

   Mobile: Member-Panel und Login ausgeblendet (Hamburger-Menü unverändert).
*/

/* ── Nav-Liste: flex-row sicherstellen ───────────────────────────────────── */
/* WICHTIG: nur > ul (direkte Kind-UL = Root-Menü), NICHT ul (alle Nachkommen).
   Ein zu breites `ul` würde auch .sub-menu erfassen und deren Eintraege horizontal
   layouten (flex-row). Korrigiert in Rev 88. */

@media (min-width: 768px) {
    .main-navigation .main-nav > ul {
        display: flex;
        align-items: center;
    }
}

/* ── Member-Panel: rechts in der Nav ────────────────────────────────────── */

.main-navigation .main-nav ul > li.dp-nav-member,
.main-navigation .main-nav ul > li.dp-nav-login {
    margin-left: auto;
    padding: 0 var(--dp-sp-2);
}

/* Member: Name + Balance als kompaktes Badge */
.dp-nav-member__inner {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: .26rem .75rem .26rem .6rem;
    background: rgba(180,150,100,.10);
    border: 1px solid rgba(180,150,100,.30);
    border-radius: 999px;
    white-space: nowrap;
    cursor: default;
    pointer-events: none;
    line-height: 1;
}

.dp-nav-member__name {
    font-size: .78rem;
    font-weight: 600;
    color: var(--dp-n-700);
    letter-spacing: .005em;
    max-width: 12ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dp-nav-member__balance {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    padding-left: var(--dp-sp-2);
    border-left: 1px solid rgba(0, 0, 0, .10);
}

.dp-nav-member__balance-icon {
    font-size: .85rem;
    color: var(--dp-accent);
    line-height: 1;
}

.dp-nav-member__balance-value {
    font-family: var(--dp-font-ui, var(--dp-font-body));
    font-size: .78rem;
    font-weight: 700;
    color: var(--dp-n-700);
    letter-spacing: .01em;
}

/* Login: Pill — passend zum eingeloggten Panel.
   Hohe Spezifität nötig: GP setzt font-size:15px + line-height:60px via
   .main-navigation .main-nav ul li a (0,2,3) */
.main-navigation .main-nav ul li a.dp-nav-login__link {
    display: inline-flex;
    align-items: center;
    padding: .28rem .75rem .28rem .65rem;
    background: rgba(180,150,100,.10);
    border: 1px solid rgba(180,150,100,.30);
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .005em;
    color: #3a3228;
    text-decoration: none;
    white-space: nowrap;
    transition: background .18s, border-color .18s;
    box-shadow: none;
}

.main-navigation .main-nav ul li a.dp-nav-login__link:hover {
    background: rgba(180,150,100,.18);
    border-color: rgba(180,150,100,.50);
    color: #3a3228;
    box-shadow: none;
}

/* Mobile: Member-Panel und Login ausblenden */
@media (max-width: 767px) {
    .main-navigation .main-nav ul > li.dp-nav-member,
    .main-navigation .main-nav ul > li.dp-nav-login {
        display: none !important;
    }
}

/* ── Mobile Cover: volle Breite (kein 240px-Cap) ────────────────────────── */

@media (max-width: 679px) {
    .dp-hero-stage__cover {
        max-width: 280px;
        margin: 0 auto;
    }
}

/* ── Player auf Tablet: volle Breite; Höhe dynamisch via Podigee JS ─────── */
/* (Kein height-Override nötig — Podigee Script-Embed setzt Inline-Höhe) */


/* ==========================================================================
   Section 34 — dp_episode Einzelseiten-Template (rev 52)
   Warmes Magazin / Fanzine — Archiv-Seite fuer unbesprochene Episoden
   ========================================================================== */

/* -- Seiten-Wrapper -------------------------------------------------------- */

.dp-episode-page-wrap {
    background: #f5f2ec;
    min-height: 60vh;
    padding: 0 0 4rem;
}

.dp-ep-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* -- Hero ------------------------------------------------------------------ */

.dp-ep-hero {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 2rem;
    align-items: start;
    padding: 1.5rem 0 1.25rem;
    border-bottom: 1px solid #e0d9ce;
    margin-bottom: 1.25rem;
}

/* Cover: quadratisch (padding-top-Trick) */
.dp-ep-cover-wrap {
    position: relative;
    width: 100%;
    padding-top: 100%;
    border-radius: 10px;
    overflow: hidden;
    background: #e8e2d8;
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
}

.dp-ep-cover-inner {
    position: absolute;
    inset: 0;
}

.dp-ep-cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.dp-ep-cover-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #d9b36c22 0%, #8c6b4222 100%);
}

.dp-ep-cover-placeholder__icon {
    font-size: 3rem;
    color: #c4a97a;
    opacity: .6;
}

.dp-ep-hero__text {
    display: flex;
    flex-direction: column;
    gap: .6rem;
    padding-top: .3rem;
}

.dp-ep-eyebrow {
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #8c7a62;
    margin: 0;
}

.dp-ep-title {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1c2038;
    margin: 0;
}

.dp-ep-title-en {
    font-size: 1.05rem;
    color: #6b5f4e;
    font-style: italic;
    margin: 0;
}

.dp-ep-air-date {
    font-size: .85rem;
    color: #9a8b77;
    margin: .2rem 0 0;
}

/* Status-Badges */
.dp-ep-status {
    display: inline-block;
    margin-top: .4rem;
    padding: .28rem .75rem;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dp-ep-status--unbesprochen {
    background: #fdf5e6;
    color: #8c5a1a;
    border: 1px solid #e8c87a;
}

.dp-ep-status--geplant {
    background: #f0f5ff;
    color: #2f4f88;
    border: 1px solid #b8c8e8;
}

.dp-ep-status--besprochen {
    background: #edf7f0;
    color: #1f6b40;
    border: 1px solid #90d4a8;
}

/* -- Zwei-Spalten-Layout --------------------------------------------------- */

.dp-ep-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 2rem;
    align-items: start;
}

/* -- Gemeinsame Section-Karte ---------------------------------------------- */

.dp-ep-section {
    background: #fff;
    border: 1px solid #e8e2d8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: .75rem;
}

.dp-ep-section:last-child { margin-bottom: 0; }

.dp-ep-section__heading {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9a8b77;
    margin: 0 0 .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #ede7dc;
}

/* -- Aufklappbare Abschnitte (details/summary) ------------------------------ */

.dp-ep-collapsible {
    cursor: default;
}

.dp-ep-collapsible > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
    transition: color .15s;
}

.dp-ep-collapsible > summary::-webkit-details-marker { display: none; }

.dp-ep-collapsible > summary::after {
    content: '▸';
    font-size: .65rem;
    margin-left: auto;
    color: #c4a97a;
    transition: transform .2s;
    flex-shrink: 0;
}

.dp-ep-collapsible[open] > summary::after {
    transform: rotate(90deg);
}

.dp-ep-collapsible[open] > summary {
    margin-bottom: .75rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #ede7dc;
}

.dp-ep-collapsible > summary:hover { color: #6b5a3a; }

@keyframes dp-details-fade {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0);    }
}
.dp-ep-collapsible[open] > *:not(summary) {
    animation: dp-details-fade .2s ease;
}

/* -- Kurzbeschreibung ------------------------------------------------------- */

.dp-ep-description__text {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #3a3020;
    margin: .25rem 0 0;
    font-style: italic;
}

/* -- Metadatenblock --------------------------------------------------------- */

.dp-ep-facts__list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem 1.5rem;
    margin: 0;
}

.dp-ep-facts__row { display: contents; }

.dp-ep-facts__label {
    font-size: .82rem;
    font-weight: 600;
    color: #9a8b77;
    white-space: nowrap;
    padding: .15rem 0;
}

.dp-ep-facts__value {
    font-size: .88rem;
    color: #3a3020;
    padding: .15rem 0;
}

/* -- Themen-/Trigger-Tags -------------------------------------------------- */

.dp-ep-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.dp-ep-tag {
    display: inline-block;
    padding: .28rem .8rem;
    background: #faf6ee;
    border: 1px solid #d9c9a8;
    border-radius: 999px;
    font-size: .78rem;
    color: #6b5430;
    text-decoration: none;
    font-weight: 500;
    transition: background .15s, border-color .15s;
}

.dp-ep-tag:hover {
    background: #f0e6cc;
    border-color: #c4a96a;
    color: #4a3418;
}

/* -- Kreativteam ----------------------------------------------------------- */

.dp-ep-credits__list {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: .4rem 1.5rem;
    margin: 0;
}

.dp-ep-credits__row { display: contents; }

.dp-ep-credits__label {
    font-size: .82rem;
    font-weight: 600;
    color: #9a8b77;
    white-space: nowrap;
    padding: .15rem 0;
}

.dp-ep-credits__value {
    font-size: .88rem;
    color: #3a3020;
    padding: .15rem 0;
}

/* -- Shownotes ------------------------------------------------------------- */

.dp-ep-player { margin-bottom: 1.25rem; }

.dp-ep-shownotes__lead {
    font-family: var(--dp-font-serif);
    font-size: 1.05rem;
    line-height: 1.75;
    color: var(--dp-text);
    margin-bottom: 1.5rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.dp-ep-shownotes__body {
    font-size: .95rem;
    line-height: 1.75;
    color: var(--dp-text);
}

/* -- Sidebar --------------------------------------------------------------- */

.dp-ep-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dp-ep-card {
    background: #fff;
    border: 1px solid #e8e2d8;
    border-radius: 10px;
    padding: 1.25rem 1.4rem;
}

.dp-ep-card__heading {
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #9a8b77;
    margin: 0 0 1rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #ede7dc;
}

.dp-ep-card__note {
    font-size: .82rem;
    color: #9a8b77;
    margin: .75rem 0 0;
    line-height: 1.5;
}

.dp-ep-card__note a {
    color: var(--dp-primary);
    text-decoration: underline;
}

.dp-ep-card__note--login {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
}
.dp-ep-card__note--login a.dp-nav-login__trigger {
    color: #3a3228;
    text-decoration: none;
    flex-shrink: 0;
}

/* ── Sternebewertung (interaktiv) ─────────────────────────────────────── */

.dp-ep-stars {
    display: flex;
    gap: .15rem;
    margin: .5rem 0 .75rem;
}

/* Stern-Buttons: kein Browser-Default */
.dp-ep-star {
    flex: 1;
    background: none;
    border: none;
    padding: .25rem .1rem;
    font-size: clamp(1.5rem, 6vw, 2.25rem);
    line-height: 1;
    color: #d0c4b0;
    cursor: pointer;
    transition: color .1s, transform .1s;
    text-align: center;
}
.dp-ep-star:focus-visible { outline: 2px solid var(--dp-primary); border-radius: 2px; }

/* Aktiv-Zustand (gespeichert) */
.dp-ep-star--active {
    color: #d9a93c;
}

/* Hover-Zustand (Mouse über dem Star-Container) */
.dp-ep-star--hover {
    color: #d9a93c;
    transform: scale(1.15);
}

/* Community-Durchschnitt */
.dp-ep-rating-aggregate {
    display: flex;
    align-items: baseline;
    gap: .35rem;
    margin-bottom: .6rem;
}
.dp-ep-rating-average {
    font-size: 1.9rem;
    font-weight: 700;
    color: #3a3020;
    line-height: 1;
}
.dp-ep-rating-max {
    font-size: .9rem;
    color: #9a8b77;
}
.dp-ep-rating-count {
    font-size: .75rem;
    color: #9a8b77;
}

/* Eigene Bewertungs-Anzeige */
.dp-ep-rating-current {
    font-size: .8rem;
    color: #6b5f4e;
    margin: .4rem 0;
}
.dp-ep-rating-current strong { color: #3a3020; }

/* +Panelium-Hinweis */
.dp-ep-rating-bonus {
    display: flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    color: #6b5f4e;
    background: #f0ead8;
    border-radius: 6px;
    padding: .35rem .6rem;
    margin: .5rem 0;
}
.dp-ep-rating-bonus__icon { color: #d9b36c; font-size: .9rem; }
.dp-ep-rating-bonus--earned { color: #5a6e45; background: #edf4e0; }
.dp-ep-rating-bonus--earned .dp-ep-rating-bonus__icon { color: #7aab50; }

/* Submit-Button der Rating-Form */
.dp-ep-rating-form__submit {
    width: 100%;
    margin-top: .6rem;
}
.dp-ep-rating-form__submit:disabled {
    opacity: .45;
    cursor: not-allowed;
}

/* Panelium-Pool-Bar */
.dp-ep-pool { margin-bottom: .75rem; }

.dp-ep-pool__count {
    display: flex;
    align-items: baseline;
    gap: .3rem;
    margin-bottom: .4rem;
}

.dp-ep-pool__icon { font-size: 1.1rem; color: #d9b36c; }

.dp-ep-pool__number {
    font-size: 1.4rem;
    font-weight: 700;
    color: #3a3020;
    line-height: 1;
}

.dp-ep-pool__label { font-size: .75rem; color: #9a8b77; }

.dp-ep-pool__bar-wrap {
    height: 5px;
    background: #ede7dc;
    border-radius: 99px;
    overflow: hidden;
}

.dp-ep-pool__bar {
    height: 100%;
    background: linear-gradient(90deg, #d9b36c, #c49240);
    border-radius: 99px;
    transition: width .4s ease;
    min-width: 0;
}

/* Vote-Formular */
.dp-ep-vote-form {
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

.dp-ep-vote-form__label {
    font-size: .82rem;
    font-weight: 600;
    color: #6b5f4e;
}

.dp-ep-vote-form__input-wrap {
    display: flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid #d9c9a8;
    border-radius: 6px;
    padding: .35rem .6rem;
    background: #faf6ee;
}

.dp-ep-vote-form__prefix {
    color: #d9b36c;
    font-size: 1rem;
    flex-shrink: 0;
}

.dp-ep-vote-form__input-wrap input[type=number] {
    border: none;
    background: transparent;
    font-size: .95rem;
    color: #3a3020;
    width: 100%;
    outline: none;
    -moz-appearance: textfield;
}

.dp-ep-vote-form__balance {
    font-size: .78rem;
    color: #9a8b77;
    margin: 0;
}

.dp-ep-vote-form__submit {
    width: 100%;
    justify-content: center;
}

/* -- Feedback ------------------------------------------------------------- */

.dp-ep-feedback-wrap { margin-bottom: 1.5rem; }

/* -- Kommentare ------------------------------------------------------------ */

.dp-ep-comments-wrap {
    margin-top: 2.5rem;
    padding-top: 2rem;
    border-top: 1px solid #e0d9ce;
}

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

@media (max-width: 860px) {
    .dp-ep-layout {
        grid-template-columns: 1fr;
    }
    .dp-ep-sidebar {
        order: -1;
        flex-direction: column;
    }
    .dp-ep-card {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .dp-ep-hero {
        grid-template-columns: 1fr;
        gap: 1.25rem;
        padding: 1.5rem 0;
    }
    .dp-ep-hero__cover-area {
        max-width: 220px;
        margin: 0 auto;
        width: 100%;
    }
    .dp-ep-title { font-size: 1.5rem; }
    .dp-ep-sidebar { flex-direction: column; }
    .dp-ep-section,
    .dp-ep-card { padding: .85rem 1rem; }
}

/* ==========================================================================
   Section 36 — Rev 58 · Homepage-Sektionen vereinheitlicht
   Warmes Magazin / Fanzine — Sektion-Eyebrows, Karten, Interaction Strip,
   Ranking, Memory-Sektion.
   Scope: .dp-homepage — kein Eingriff auf anderen Seiten.
   Keine Struktur- oder Grid-Änderungen.
   ========================================================================== */

/* ── 1. Sektion-Eyebrows und -Titel: warm Amber statt Primary-Blau ──────────
   dp-section__eyebrow::before nutzt background: currentColor —
   Farb-Change reicht, kein eigenes ::before nötig.
   Ausnahmen: memory + closing sind dunkel und behalten ihre hellen Farben.
*/

.dp-homepage .dp-eyebrow,
.dp-homepage .dp-section__eyebrow {
    color: #c9a326 !important;
    opacity: 1;
}

.dp-homepage .dp-section__title {
    color: #1a1510;
}

.dp-homepage .dp-section__more-link {
    color: #7a5c28;
}

.dp-homepage .dp-section__more-link:hover {
    color: #4a3410;
}

/* Dunkle Sektionen: Gold bleibt, ist gut lesbar auf dunklem Hintergrund */
.dp-homepage .dp-section--memory .dp-eyebrow,
.dp-homepage .dp-section--memory .dp-section__eyebrow,
.dp-homepage .dp-section--closing .dp-eyebrow,
.dp-homepage .dp-section--closing .dp-section__eyebrow {
    color: #c9a326 !important;
    opacity: 1;
}

.dp-homepage .dp-section--memory .dp-section__title,
.dp-homepage .dp-section--closing .dp-section__title {
    color: var(--dp-n-0);
}

.dp-homepage .dp-section--memory .dp-section__more-link,
.dp-homepage .dp-section--closing .dp-section__more-link {
    color: rgba(240, 220, 175, .85);
}

/* Sektion-Abstand: etwas mehr Luft für Magazin-Rhythmus */
.dp-homepage .dp-section--ranking {
    padding-top: var(--dp-sp-12);
    padding-bottom: var(--dp-sp-12);
}

/* ── 2. Interaction Strip: warm-dunkel statt cold navy ──────────────────────
   Übergang Hero (warm cream) → Strip (warm dark) → Episoden (warm cream):
   weniger Fremdkörper-Effekt, mehr Magazin-Rhythmus.
*/

.dp-homepage .dp-interaction-strip {
    background: #1e1610;
    background-image:
        radial-gradient(ellipse at 15% 55%, rgba(160, 120, 50, .12) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 45%, rgba(140, 80, 30, .08) 0%, transparent 55%);
}

/* Trennstriche zwischen Karten: leicht sichtbar auf warm-dunklem Grund */
.dp-homepage .dp-interaction-grid {
    background: rgba(255, 248, 220, .04);
}

.dp-homepage .dp-interaction-card {
    background: rgba(255, 248, 220, .03);
    border-bottom-color: rgba(255, 248, 220, .06);
}

.dp-homepage .dp-interaction-card:hover {
    background: rgba(255, 248, 220, .08);
}

/* ── Persönliche Episodenstatistik (Interaction Strip) ──────────────────── */

.dp-hp-ep-stats {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .35rem .75rem;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.1);
    font-size: .78rem;
    color: rgba(255,255,255,.55);
}

.dp-hp-ep-stats__label {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #c9a326;
    margin-right: .25rem;
}

.dp-hp-ep-stats__item {
    color: rgba(255,255,255,.65);
}

.dp-hp-ep-stats__item strong {
    color: #fff;
    font-weight: 700;
}

.dp-hp-ep-stats__sep {
    color: rgba(255,255,255,.25);
}

/* Dark mode: strip ist bereits dunkel, Regel trotzdem für Konsistenz */
html.dp-dark .dp-hp-ep-stats           { border-top-color: rgba(255,255,255,.08); }
html.dp-dark .dp-hp-ep-stats__label    { color: #c9a326; }
html.dp-dark .dp-hp-ep-stats__item     { color: rgba(255,255,255,.6); }
html.dp-dark .dp-hp-ep-stats__item strong { color: #f5f0fa; }

/* ── 3. Ranking: warme Borders, Fortschrittsbalken Gold ─────────────────────
   Goldene Bar-Füllung passt besser zum Magazin-Fanzine-Stil als blau.
*/

.dp-homepage .dp-ranking-list__item {
    border-color: rgba(180, 150, 100, .25);
    background: rgba(255, 252, 245, .80);
}

.dp-homepage .dp-ranking-list__item:hover {
    border-color: rgba(180, 150, 100, .50);
    background: rgba(255, 252, 245, 1);
}

/* Platz-Nummer: warm braun statt neutral */
.dp-homepage .dp-ranking-list__rank {
    color: #a07830;
}

/* Fortschrittsbalken-Hintergrund + Füllung */
.dp-homepage .dp-ranking-list__bar-wrap {
    background: rgba(180, 150, 100, .18);
}

.dp-homepage .dp-ranking-list__bar {
    background: linear-gradient(90deg, #c9a227 0%, #e8c870 100%);
}

/* Panelium-Zahl rechts: warm */
.dp-homepage .dp-ranking-list__panelium {
    color: #8a6530;
}

/* Gold/Silber/Bronze-Items behalten ihre eigenen Gradient-Hintergründe */

/* ── 6. Memory-Sektion: warm-dunkler Hintergrund + angepasste Texte ─────────
   Partikel-Glow-Foto (3.png.png) bleibt — nur das dunkle Overlay wird warm.
   bg: kühles #040814 → warmes #1a1208.
*/

.dp-homepage .dp-section--memory {
    background: #1a1208;
    background-image:
        linear-gradient(rgba(26, 18, 8, .72), rgba(26, 18, 8, .55)),
        url('/wp-content/uploads/graphics/3.png.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.dp-homepage .dp-section--memory .dp-section__lead {
    color: rgba(220, 195, 150, .85);
}

.dp-homepage .dp-memory__detail {
    color: rgba(210, 185, 135, .60);
    border-top-color: rgba(210, 185, 135, .18);
}

/* Ghost-Buttons in der Memory-Sektion: warm */
.dp-homepage .dp-section--memory .dp-btn--ghost {
    color: rgba(240, 220, 170, .90);
    border-color: rgba(240, 220, 170, .30);
}

.dp-homepage .dp-section--memory .dp-btn--ghost:hover {
    background: rgba(240, 220, 170, .10);
    border-color: rgba(240, 220, 170, .55);
    color: rgba(255, 240, 200, 1);
}


/* =========================================================================
   Section 35 — Rev 57 · Hero-Verfeinerung
   Warmes Magazin / Fanzine — Hierarchie, Player-Höhe, Kartenlook, Warmth
   Keine Grid-Änderungen — rein visuell.
   ========================================================================== */

/* ── 1. Hero-Sektion: warmer Hintergrund + untere Trennlinie ─────────────── */

.dp-section--hero {
    background: #faf8f4;   /* wärmeres Off-White, hebt sich von der Seite ab */
    border-bottom: 1px solid rgba(180, 150, 100, .15);
}

/* ── 2. Cover: wärmerer Schatten, leichter Glow ─────────────────────────── */

.dp-hero-stage__cover {
    box-shadow:
        0 2px 8px  rgba(100, 60, 20, .10),
        0 8px 32px rgba(0, 0, 0, .13);
}

/* ── 3. Text-Zone: etwas mehr Luft zwischen den Elementen ───────────────── */

.dp-hero-stage__text {
    gap: var(--dp-sp-4);    /* sp-3 → sp-4: Elemente atmen mehr */
    padding-top: var(--dp-sp-2);
}

/* Eyebrow: letter-spacing-Feintuning für Hero-Kontext */
.dp-hero-stage__eyebrow {
    letter-spacing: .14em;
}

/* Titel: GP liefert Space Grotesk; Größe & Gewicht bleiben, Farbe minimal wärmer */
.dp-hero-stage__title {
    color: #1a1510;         /* warm near-black statt neutralem n-900 */
}

/* Meta (Datum): etwas wärmer als neutral-grau */
.dp-hero-stage__meta {
    color: #8a7560;
    letter-spacing: .08em;
}

/* Excerpt: bessere Lesbarkeit — vollständiger Fließtext-Kontrast */
.dp-hero-stage__excerpt {
    color: #3a3228;
    font-size: var(--dp-text-lead);
    -webkit-line-clamp: 5;
}

/* ── 4. Player-Karte: warm, mit Goldakzent oben ─────────────────────────── */

.dp-hero-stage__player {
    background: #faf8f4;                        /* warm statt bluish #f5f7ff */
    border: 1px solid rgba(180, 150, 100, .20); /* warm statt rgba(0,0,0,.07) */
    border-top: 3px solid #c9a227;              /* Goldakzent oben */
    box-shadow: 0 2px 12px rgba(100, 60, 20, .07);
    /*
     * Kein overflow: hidden hier — der Script-Embed erzeugt ein iframe, dessen
     * Höhe Podigee JS via postMessage dynamisch setzt. Die Karte soll mitwachsen.
     * border-radius-Clipping übernimmt der ::before-Trick (oder der Label-Gap reicht).
     * overflow: hidden wird via Section 32 gesetzt — wir überschreiben es hier NICHT,
     * weil Section 32's overflow:hidden beim height:auto-Container korrekt funktioniert:
     * der Container wächst auf die iframe-Höhe, es gibt kein Overflow-Clipping.
     */
}

/* Player-Label: warm Amber statt text-muted (blaugrau) */
.dp-hero-stage__player-label {
    color: #a07830;
    padding-bottom: var(--dp-sp-2);  /* Luft zwischen Label und Embed-Wrapper */
}

.dp-hero-stage__player-label svg {
    opacity: .70;
}

/*
 * Embed-Wrapper: Behälter für das Podigee Script-Embed.
 * Das Podigee JS erzeugt ein <iframe> direkt nach dem <script>-Tag.
 * Der Wrapper stellt sicher, dass das iframe die volle Karten-Breite bekommt
 * und der Container sauber mitwächst.
 */
.dp-hero-stage__player-embed {
    display: block;
    width: 100%;
    /* min-height: Platzhalterhöhe während das Podigee-JS noch lädt */
    min-height: 230px;
    /* Kein overflow: hidden hier — das iframe soll ungehindert wachsen */
}

/*
 * iframe vom Podigee Script-Embed:
 * Podigee JS setzt via postMessage style="height: Xpx" als Inline-Style.
 * CSS height wird durch den Inline-Style überschrieben — kein festes height.
 * GP/Theme-Override-Schutz: !important auf width verhindert Theme-Einschränkung.
 */
.dp-hero-stage__player-embed iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;     /* GP-Reset-Schutz: embed,iframe{max-width:100%} ist fine */
    min-height: 230px;              /* Fallback wenn Podigee JS sich verzögert */
    border: none !important;
    /* Kein height — Podigee JS setzt Inline-Style height */
}

/* Noscript-Fallback iframe (kein JS): direkt im embed-wrapper, statisch 230px */
.dp-hero-stage__player-embed noscript iframe {
    height: 230px;
    min-height: 230px;
}

/* ── 5. Rail-Karten: warmer Akzent statt Primary-Blau ───────────────────── */

/* Community-Panel im Hero: Amber-Goldlinie statt Primary */
.dp-hero-stage__rail .dp-sidebar-panel {
    border-top: 3px solid #c9a227;
    background: #ffffff;
    box-shadow: 0 1px 8px rgba(100, 60, 20, .06);
}

/* News-Panel im Hero: subtiler Warm-Akzent */
.dp-hero-stage__rail .dp-news-panel {
    border: 1px solid rgba(180, 150, 100, .18);
    border-top: 3px solid rgba(200, 165, 85, .45);
    background: #ffffff;
    box-shadow: 0 1px 8px rgba(100, 60, 20, .06);
}


/* ── 6. Aktions-Buttons im Hero: kleiner Hover-Warmth ───────────────────── */

.dp-hero-stage__actions .dp-btn--primary {
    background: var(--dp-primary);
}

.dp-hero-stage__actions .dp-btn--ghost {
    color: #6b5a3e;
    border-color: rgba(180, 150, 100, .40);
}

.dp-hero-stage__actions .dp-btn--ghost:hover {
    background: rgba(180, 150, 100, .10);
    border-color: rgba(180, 150, 100, .60);
    color: #3d2f1a;
}

/* ==========================================================================
   Section 37 — Rev 59 · Desktop-Nav Member-Dropdown
   Trigger-Button (Name + Panelium) öffnet Dropdown-Menü mit Mitglieder-Links.
   Ausgeloggt: Einloggen + Mitglied werden.
   Mobile (≤767px): durch bestehende Regel display:none — keine Änderung nötig.
   ========================================================================== */

/* ── Trigger: interaktiver Button, visuell identisch zum alten Badge ─────── */

/* position: relative ermöglicht das absolute-positionierte Dropdown */
.main-navigation .main-nav ul > li.dp-nav-member {
    position: relative;
}

.dp-nav-member__trigger {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-2);
    padding: .28rem .75rem .28rem .65rem;
    background: rgba(180,150,100,.10);
    border: 1px solid rgba(180,150,100,.30);
    border-radius: 999px;
    white-space: nowrap;
    cursor: pointer;
    line-height: 1;
    font-family: inherit;
    color: #3a3228;
    transition: background var(--dp-t), border-color var(--dp-t);
}

.dp-nav-member__trigger:hover,
.dp-nav-member--open .dp-nav-member__trigger {
    background: rgba(180,150,100,.18);
    border-color: rgba(180,150,100,.50);
}

.dp-nav-member__trigger:focus-visible {
    outline: 2px solid #c9a326;
    outline-offset: 2px;
}

/* Chevron-Pfeil: dreht sich beim Öffnen */
.dp-nav-member__chevron {
    width: 11px;
    height: 11px;
    color: var(--dp-n-500);
    margin-left: .1rem;
    flex-shrink: 0;
    transition: transform .18s ease;
}

.dp-nav-member--open .dp-nav-member__chevron {
    transform: rotate(180deg);
}

/* ── Tier-Creature-Avatar im Trigger (kleines Bild) ─────────────────────── */

.dp-nav-member__tier-avatar {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
    filter: drop-shadow(0 1px 3px rgba(0,0,0,.18));
    /* Kein border-radius: transparente PNGs sehen als Kreis seltsam aus */
}

/* ── Dropdown-Menü ───────────────────────────────────────────────────────── */

.dp-nav-member__dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    min-width: 210px;
    background: #ffffff;
    border: 1px solid rgba(180, 150, 100, .28);
    border-radius: var(--dp-radius-lg, 14px);
    box-shadow:
        0 2px 8px  rgba(0, 0, 0, .08),
        0 8px 32px rgba(0, 0, 0, .13);
    list-style: none;
    margin: 0;
    padding: var(--dp-sp-2) 0;
    z-index: 99999;
    /* hidden-Attribut steuert Sichtbarkeit via JS;
       CSS-Animation wird nur beim Einblenden aktiv */

    /* GP setzt display:flex auf alle ul im Nav — hier explizit überschreiben */
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
}

/* Jedes li im Dropdown: volle Breite, kein flex-item-Shrink */
.dp-nav-member__dropdown > li {
    display: block !important;
    flex-shrink: 0;
    width: 100%;
}

/* Einblende-Animation (nur wenn hidden entfernt wird) */
.dp-nav-member--open .dp-nav-member__dropdown {
    animation: dp-dd-in .15s ease forwards;
}

@keyframes dp-dd-in {
    from { opacity: 0; transform: translateY(-5px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Dropdown-Links */
.dp-nav-member__dd-link {
    display: block;
    padding: .5rem var(--dp-sp-5);
    font-size: .825rem;
    font-weight: 500;
    color: var(--dp-n-700, #303652);
    text-decoration: none;
    white-space: nowrap;
    transition: background var(--dp-t), color var(--dp-t);
    outline: none;
}

.dp-nav-member__dd-link:hover,
.dp-nav-member__dd-link:focus {
    background: rgba(245, 242, 236, .95);
    color: #1a1510;
}

.dp-nav-member__dd-link:focus-visible {
    outline: 2px solid var(--dp-primary);
    outline-offset: -2px;
}

/* Trennlinie zwischen Gruppen */
.dp-nav-member__dd-sep {
    height: 1px;
    background: rgba(180, 150, 100, .22);
    margin: var(--dp-sp-2) 0;
    list-style: none;
}

/* ── Ausgeloggt: Einloggen-Dropdown ─────────────────────────────────────── */

.main-navigation .main-nav ul > li.dp-nav-login {
    position: relative;
}

/* Trigger-Button */
.dp-nav-login__trigger {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .28rem .75rem .28rem .75rem;
    background: rgba(180,150,100,.10);
    border: 1px solid rgba(180,150,100,.30);
    border-radius: 999px;
    white-space: nowrap;
    cursor: pointer;
    line-height: 1;
    font-family: inherit;
    font-size: .82rem;
    font-weight: 600;
    color: #3a3228;
    transition: background var(--dp-t), border-color var(--dp-t);
}

.dp-nav-login__trigger:hover,
.dp-nav-login--open .dp-nav-login__trigger {
    background: rgba(180,150,100,.18);
    border-color: rgba(180,150,100,.50);
}

.dp-nav-login__trigger:focus-visible {
    outline: 2px solid #c9a326;
    outline-offset: 2px;
}

.dp-nav-login__chevron {
    width: 11px;
    height: 11px;
    color: var(--dp-n-500);
    flex-shrink: 0;
    transition: transform .18s ease;
}

.dp-nav-login--open .dp-nav-login__chevron {
    transform: rotate(180deg);
}

/* Dropdown-Panel */
.dp-nav-login__panel {
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    width: 260px;
    background: #ffffff;
    border: 1px solid rgba(180,150,100,.28);
    border-radius: var(--dp-radius-lg, 14px);
    box-shadow:
        0 2px 8px  rgba(0,0,0,.08),
        0 8px 32px rgba(0,0,0,.13);
    z-index: 99999;
    padding: 1.1rem 1.2rem 1rem;
}

.dp-nav-login--open .dp-nav-login__panel {
    animation: dp-dd-in .15s ease forwards;
}

/* Formular-Elemente */
.dp-nav-login__form {
    display: flex;
    flex-direction: column;
    gap: .45rem;
}

.dp-nav-login__label {
    font-size: .75rem;
    font-weight: 600;
    color: #5a4a38;
    margin-bottom: .1rem;
}

.dp-nav-login__input {
    width: 100%;
    padding: .45rem .65rem;
    font-size: .82rem;
    font-family: inherit;
    color: #2a2010;
    background: #faf8f4;
    border: 1px solid rgba(180,150,100,.35);
    border-radius: 7px;
    outline: none;
    transition: border-color .15s;
    box-sizing: border-box;
}

.dp-nav-login__input:focus {
    border-color: #c9a326;
    background: #fff;
}

.dp-nav-login__remember {
    display: flex;
    align-items: center;
    gap: .4rem;
    font-size: .76rem;
    color: #6b5a40;
    cursor: pointer;
    margin-top: .1rem;
}

.dp-nav-login__submit {
    margin-top: .35rem;
    width: 100%;
    padding: .5rem;
    background: #c9a326;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: .82rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: background .15s;
}

.dp-nav-login__submit:hover {
    background: #b8921f;
}

.dp-nav-login__error {
    background: #fff4f4;
    border: 1px solid #f5c0c0;
    border-radius: 7px;
    padding: .4rem .65rem;
    font-size: .76rem;
    color: #8b2222;
    margin-bottom: .65rem;
}

.dp-nav-login__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    margin-top: .65rem;
    padding-top: .65rem;
    border-top: 1px solid rgba(180,150,100,.20);
}

.dp-nav-login__forgot,
.dp-nav-login__join {
    font-size: .73rem;
    color: #8c7a60;
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s;
}

.dp-nav-login__forgot:hover { color: #3a2e1a; }

.dp-nav-login__join {
    font-weight: 600;
    color: #a07820;
}

.dp-nav-login__join:hover { color: #6b4c10; }

/* Mobile: kein Eingriff nötig — übergeordnete Regel (display:none !important)
   auf li.dp-nav-login blendet das gesamte Element aus. */

/* ── Warenkorb-Pille ─────────────────────────────────────────────────────── */
/* Cart-Li: Mobile ausblenden, Desktop flex */
.main-navigation .main-nav ul > li.dp-nav-cart {
    display: none;
}
@media (min-width: 768px) {
    .main-navigation .main-nav ul > li.dp-nav-cart {
        display: flex;
        align-items: center;
        padding: 0 var(--dp-sp-2);
    }
}
/* Leer: immer ausgeblendet (Fragment schaltet --empty) */
.main-navigation .main-nav ul > li.dp-nav-cart.dp-nav-cart--empty {
    display: none !important;
}

/* Cart-Link: GP-Overrides explizit neutralisieren */
.main-navigation .main-nav ul > li.dp-nav-cart > a.dp-nav-cart__link {
    display:          inline-flex !important;
    align-items:      center !important;
    gap:              0 !important;
    padding:          0 !important;
    background:       transparent !important;
    border:           none !important;
    border-radius:    0 !important;
    text-decoration:  none !important;
    color:            inherit !important;
    line-height:      1;
}

/* Innere Pille — identisch zu .dp-nav-member__inner */
.dp-nav-cart__inner {
    display:       inline-flex;
    align-items:   center;
    gap:           .35rem;
    padding:       .26rem .65rem .26rem .55rem;
    background:    rgba(180,150,100,.10);
    border:        1px solid rgba(180,150,100,.30);
    border-radius: 999px;
    white-space:   nowrap;
    line-height:   1;
    transition:    background .15s, border-color .15s;
    color:         #3a3228;
}
.main-navigation .main-nav ul > li.dp-nav-cart > a.dp-nav-cart__link:hover .dp-nav-cart__inner {
    background:   rgba(180,150,100,.18);
    border-color: rgba(180,150,100,.50);
}
.main-navigation .main-nav ul > li.dp-nav-cart > a.dp-nav-cart__link:focus-visible {
    outline:        2px solid #c9a326;
    outline-offset: 2px;
    border-radius:  999px;
}

.dp-nav-cart__count {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    min-width:       1.1rem;
    height:          1.1rem;
    padding:         0 .25rem;
    background:      #c9a326;
    color:           #fff;
    font-size:       .62rem;
    font-weight:     800;
    border-radius:   999px;
    line-height:     1;
}

/* =============================================================================
   Section 38 — Mitgliederbereich-Landingpage [dp_mein_konto]
   Warmer Magazin/Fanzine-Stil; keine Abhängigkeit von .dp-homepage
   ============================================================================= */

/* ── Wrapper ──────────────────────────────────────────────────────────────── */

.dp-member-page {
    background: #faf8f4;
    color: #3a3228;
}

/* ── 1. Hero ──────────────────────────────────────────────────────────────── */

.dp-member-hero {
    background: #faf8f4;
    border-bottom: 1px solid rgba(180,150,100,.15);
    padding: var(--dp-sp-16, 4rem) 0 var(--dp-sp-12, 3rem);
    text-align: center;
}

.dp-member-hero .dp-section__eyebrow {
    color: #a07830;
    opacity: 1;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--dp-sp-3, .75rem);
}

.dp-member-hero__title {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    color: #1a1510;
    line-height: 1.15;
    margin: 0 0 var(--dp-sp-5, 1.25rem);
}

.dp-member-hero__name {
    color: #c9a227;
}

.dp-member-hero__lead {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: #5a4a38;
    max-width: 560px;
    margin: 0 auto var(--dp-sp-8, 2rem);
}

/* Balance badge (margin-bottom jetzt im __meta-Wrapper) */
.dp-member-hero__balance {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-2, .5rem);
    background: rgba(201,162,39,.10);
    border: 1px solid rgba(201,162,39,.30);
    border-radius: 999px;
    padding: .4rem 1.1rem;
    margin-bottom: 0;
}

.dp-member-hero__balance-icon {
    color: #c9a227;
    font-size: 1.1rem;
    line-height: 1;
}

.dp-member-hero__balance-value {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1510;
    letter-spacing: .01em;
}

.dp-member-hero__balance-label {
    font-size: .78rem;
    font-weight: 600;
    color: #a07830;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* ── Meta-Zeile: Tier-Badge + Panelium-Balance in einer Flex-Zeile ───────── */

.dp-member-hero__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    flex-wrap: wrap;
    margin-bottom: 1.75rem;
}

/* Balance margin: vom Wrapper übernommen */
.dp-member-hero__meta .dp-member-hero__balance {
    margin-bottom: 0;
}

/* ── Tier-Badge ───────────────────────────────────────────────────────────── */

.dp-member-hero__tier {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,150,100,.25);
    border-radius: 999px;
    padding: .3rem .9rem .3rem .45rem;
    margin: 0;
}

.dp-member-hero__tier-img {
    width: 36px;
    height: 36px;
    object-fit: contain;
    filter: drop-shadow(0 2px 6px rgba(0,0,0,.13));
    flex-shrink: 0;
}

.dp-member-hero__tier-name {
    font-weight: 700;
    font-size: .92rem;
    color: #2a1e10;
    letter-spacing: -.01em;
}

.dp-member-hero__tier-sep {
    color: #c0b098;
    font-size: .8rem;
    line-height: 1;
}

.dp-member-hero__tier-price {
    font-size: .8rem;
    color: #7a6a58;
}

/* Kein aktives Tier — subtiler Upgrade-Hinweis */
.dp-member-hero__tier--none {
    background: rgba(245,240,232,.8);
    padding: .4rem 1rem;
}

.dp-member-hero__tier-upgrade {
    font-size: .84rem;
    color: #5a4a38;
}

.dp-member-hero__tier-upgrade a {
    color: #304a98;
    font-weight: 600;
    text-decoration: none;
}

.dp-member-hero__tier-upgrade a:hover {
    text-decoration: underline;
}

/* ── Member-Since-Badge ──────────────────────────────────────────────────── */

.dp-member-hero__since {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-2, .5rem);
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(180,150,100,.25);
    border-radius: 999px;
    padding: .4rem 1.1rem;
}

.dp-member-hero__since-icon {
    color: #c9a326;
    font-size: 1rem;
    flex-shrink: 0;
    line-height: 1;
}

.dp-member-hero__since-label {
    font-size: .78rem;
    font-weight: 600;
    color: #a07830;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.dp-member-hero__since-value {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1a1510;
    letter-spacing: .01em;
    white-space: nowrap;
}

/* ── Episoden-Statistik (Übersicht-Tab) ───────────────────────────────────── */

.dp-ep-stats {
    max-width: 680px;
    margin: 0 auto 1.5rem;
    padding: 1.1rem 1.4rem;
    background: #fff;
    border: 1px solid #e8e2d8;
    border-radius: 12px;
    border-top: 3px solid #c9a326;
}

.dp-ep-stats__title {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #9a8b77;
    margin: 0 0 .85rem;
}

.dp-ep-stats__grid {
    display: flex;
    gap: 0;
    flex-wrap: wrap;
}

.dp-ep-stats__stat {
    flex: 1 1 0;
    min-width: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: .2rem;
    padding: .5rem .75rem;
    border-right: 1px solid #e8e2d8;
}

.dp-ep-stats__stat:last-child {
    border-right: none;
}

.dp-ep-stats__value {
    font-size: 1.6rem;
    font-weight: 800;
    color: #2a1e10;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.dp-ep-stats__value--series {
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: -.01em;
    white-space: nowrap;
}

.dp-ep-stats__label {
    font-size: .65rem;
    font-weight: 600;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: #9a8b77;
}

html.dp-dark .dp-ep-stats {
    background: linear-gradient(145deg, #2a1a44 0%, #221538 100%);
    border-color: #52328a;
    border-top-color: #c9a326;
}
html.dp-dark .dp-ep-stats__title  { color: #b8a8cc; }
html.dp-dark .dp-ep-stats__stat   { border-right-color: rgba(255,255,255,.08); }
html.dp-dark .dp-ep-stats__value  { color: #f5f0fa; }
html.dp-dark .dp-ep-stats__label  { color: #b8a8cc; }

/* CTA buttons row */
.dp-member-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--dp-sp-3, .75rem);
}

/* ── 2. Feature Cards ─────────────────────────────────────────────────────── */

.dp-member-features {
    padding: var(--dp-sp-14, 3.5rem) 0;
    background: #fff;
}

.dp-member-features__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--dp-sp-5, 1.25rem);
}

.dp-member-feature-card {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3, .75rem);
    padding: var(--dp-sp-7, 1.75rem);
    background: #faf8f4;
    border: 1px solid rgba(180,150,100,.22);
    border-top: 3px solid rgba(201,162,39,.45);
    border-radius: var(--dp-radius-lg, 14px);
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s, border-top-color .2s, transform .15s;
}

.dp-member-feature-card:hover {
    box-shadow: 0 4px 20px rgba(100,60,20,.12);
    border-top-color: #c9a227;
    transform: translateY(-2px);
    color: inherit;
    text-decoration: none;
}

/* Accent colours per card type */
.dp-member-feature-card--panelium { border-top-color: #c9a227; }
.dp-member-feature-card--game     { border-top-color: #7a8fcc; }
.dp-member-feature-card--vote     { border-top-color: #6aaa84; }
.dp-member-feature-card--fleet    { border-top-color: #b08060; }

.dp-member-feature-card__icon {
    color: #a07830;
    line-height: 1;
}
.dp-member-feature-card--game  .dp-member-feature-card__icon { color: #6070b0; }
.dp-member-feature-card--vote  .dp-member-feature-card__icon { color: #4a8a68; }
.dp-member-feature-card--fleet .dp-member-feature-card__icon { color: #906848; }

.dp-member-feature-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1a1510;
    margin: 0;
}

.dp-member-feature-card__text {
    font-size: .9rem;
    line-height: 1.6;
    color: #5a4a38;
    margin: 0;
    flex-grow: 1;
}

.dp-member-feature-card__cta {
    font-size: .8rem;
    font-weight: 600;
    color: #a07830;
    letter-spacing: .03em;
    margin-top: auto;
}

/* ── 3. How it works (Gäste) ─────────────────────────────────────────────── */

.dp-member-how {
    padding: var(--dp-sp-14, 3.5rem) 0;
    background: #faf8f4;
    border-top: 1px solid rgba(180,150,100,.15);
}

.dp-member-how .dp-section__eyebrow {
    color: #a07830;
    opacity: 1;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--dp-sp-2, .5rem);
}

.dp-member-how__title {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    font-weight: 700;
    color: #1a1510;
    margin: 0 0 var(--dp-sp-10, 2.5rem);
}

.dp-member-steps {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-7, 1.75rem);
}

@media (min-width: 640px) {
    .dp-member-steps {
        flex-direction: row;
        align-items: flex-start;
    }
    .dp-member-step {
        flex: 1;
    }
}

.dp-member-step {
    display: flex;
    gap: var(--dp-sp-4, 1rem);
    align-items: flex-start;
}

.dp-member-step__num {
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(201,162,39,.12);
    border: 1px solid rgba(201,162,39,.30);
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 700;
    color: #a07830;
    line-height: 1;
}

.dp-member-step__title {
    font-size: .95rem;
    font-weight: 700;
    color: #1a1510;
    margin: 0 0 var(--dp-sp-1, .25rem);
}

.dp-member-step__text {
    font-size: .875rem;
    line-height: 1.65;
    color: #5a4a38;
    margin: 0;
}

/* ── 4. CTA-Streifen ──────────────────────────────────────────────────────── */

.dp-member-cta-strip {
    background: #1a1208;
    background-image: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(201,162,39,.10) 0%, transparent 70%);
    color: var(--dp-n-0, #fff);
    padding: var(--dp-sp-14, 3.5rem) 0;
    text-align: center;
}

.dp-member-cta-strip__headline {
    font-size: clamp(1.3rem, 3vw, 1.7rem);
    font-weight: 700;
    color: var(--dp-n-0, #fff);
    margin: 0 0 var(--dp-sp-7, 1.75rem);
}

.dp-member-cta-strip__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--dp-sp-3, .75rem);
    margin-bottom: var(--dp-sp-5, 1.25rem);
}

.dp-member-cta-strip__note {
    font-size: .8rem;
    color: rgba(255,255,255,.55);
    margin: 0;
}


/* =============================================================================
   Section 39 — Panelium Pocket [dp_panelium_pocket]
   Hub-Seite für die Panelium-Währung: Guthaben · Verdienen · Ausgeben · Historie
   ============================================================================= */

/* ── Wrapper ──────────────────────────────────────────────────────────────── */

.dp-pocket-page {
    background: #faf8f4;
    color: #3a3228;
}

/* ── 1. Hero ──────────────────────────────────────────────────────────────── */

.dp-pocket-hero {
    background: #faf8f4;
    border-bottom: 1px solid rgba(180,150,100,.15);
    padding: var(--dp-sp-16, 4rem) 0 var(--dp-sp-12, 3rem);
    text-align: center;
}

.dp-pocket-hero .dp-section__eyebrow {
    color: #a07830;
    opacity: 1;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--dp-sp-3, .75rem);
}

.dp-pocket-hero__title {
    font-size: clamp(1.8rem, 4.5vw, 2.8rem);
    font-weight: 700;
    color: #1a1510;
    margin: 0 0 var(--dp-sp-8, 2rem);
}

/* Balance display */
.dp-pocket-balance {
    display: inline-flex;
    align-items: center;
    gap: var(--dp-sp-5, 1.25rem);
    background: rgba(201,162,39,.08);
    border: 1px solid rgba(201,162,39,.28);
    border-radius: var(--dp-radius-lg, 14px);
    padding: var(--dp-sp-6, 1.5rem) var(--dp-sp-10, 2.5rem);
    margin-bottom: var(--dp-sp-7, 1.75rem);
}

.dp-pocket-balance__icon {
    color: #c9a227;
    flex-shrink: 0;
    line-height: 1;
}

.dp-pocket-balance__amount {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .1rem;
}

.dp-pocket-balance__value {
    font-size: clamp(2.4rem, 6vw, 3.5rem);
    font-weight: 800;
    color: #1a1510;
    line-height: 1;
    letter-spacing: -.02em;
}

.dp-pocket-balance__unit {
    font-size: .78rem;
    font-weight: 600;
    color: #a07830;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dp-pocket-hero__sub {
    font-size: .9375rem;
    line-height: 1.7;
    color: #6a5840;
    max-width: 520px;
    margin: 0 auto;
}

/* Guest hero variant */
.dp-pocket-hero--guest .dp-pocket-hero__lead {
    font-size: 1.0625rem;
    line-height: 1.7;
    color: #5a4a38;
    max-width: 560px;
    margin: 0 auto var(--dp-sp-5, 1.25rem);
}

.dp-pocket-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--dp-sp-3, .75rem);
    margin-top: var(--dp-sp-7, 1.75rem);
}

/* ── 2 & 3. Sektionen (Verdienen / Ausgeben / Historie) ───────────────────── */

.dp-pocket-section {
    padding: var(--dp-sp-14, 3.5rem) 0;
}

.dp-pocket-section--earn {
    background: #fff;
    border-bottom: 1px solid rgba(180,150,100,.12);
}

.dp-pocket-section--spend {
    background: #faf8f4;
    border-bottom: 1px solid rgba(180,150,100,.12);
}

.dp-pocket-section--history {
    background: #fff;
}

.dp-pocket-section__header {
    text-align: center;
    margin-bottom: var(--dp-sp-10, 2.5rem);
}

.dp-pocket-section__header .dp-section__eyebrow {
    color: #a07830;
    opacity: 1;
    letter-spacing: .14em;
    font-size: .72rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: var(--dp-sp-2, .5rem);
}

.dp-pocket-section__title {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    font-weight: 700;
    color: #1a1510;
    margin: 0 0 var(--dp-sp-3, .75rem);
}

.dp-pocket-section__lead {
    font-size: .9375rem;
    color: #6a5840;
    max-width: 500px;
    margin: 0 auto;
    line-height: 1.65;
}

/* ── Cards grid ───────────────────────────────────────────────────────────── */

.dp-pocket-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: var(--dp-sp-5, 1.25rem);
}

/* Two-column layout for spend section */
.dp-pocket-cards--two {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    max-width: 720px;
    margin: 0 auto;
}

.dp-pocket-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-3, .75rem);
    padding: var(--dp-sp-7, 1.75rem);
    background: #faf8f4;
    border: 1px solid rgba(180,150,100,.20);
    border-radius: var(--dp-radius-lg, 14px);
}

.dp-pocket-card--earn {
    border-top: 3px solid rgba(201,162,39,.40);
}

.dp-pocket-card--spend {
    background: #fff;
    border: 1px solid rgba(180,150,100,.22);
    border-top: 3px solid rgba(180,150,100,.45);
    text-align: center;
    align-items: center;
}

.dp-pocket-card--spend .dp-pocket-card__icon {
    color: #6a5840;
    margin-bottom: var(--dp-sp-1, .25rem);
}

/* Badge (Täglich / Monatlich / Bald verfügbar) */
.dp-pocket-card__badge {
    position: absolute;
    top: var(--dp-sp-4, 1rem);
    right: var(--dp-sp-4, 1rem);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #a07830;
    background: rgba(201,162,39,.12);
    border: 1px solid rgba(201,162,39,.28);
    border-radius: 999px;
    padding: .18rem .55rem;
    line-height: 1.4;
}

.dp-pocket-card__icon {
    color: #a07830;
    line-height: 1;
}

.dp-pocket-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: #1a1510;
    margin: 0;
}

.dp-pocket-card__text {
    font-size: .875rem;
    line-height: 1.65;
    color: #5a4a38;
    margin: 0;
    flex-grow: 1;
}

.dp-pocket-card__cta {
    font-size: .8rem;
    font-weight: 600;
    color: #a07830;
    text-decoration: none;
    letter-spacing: .03em;
    margin-top: auto;
    transition: color .15s;
}

.dp-pocket-card__cta:hover {
    color: #c9a227;
}

.dp-pocket-card__cta--muted {
    font-size: .8rem;
    color: #7a6a58;
    font-style: italic;
}

.dp-pocket-card__btn {
    margin-top: var(--dp-sp-2, .5rem);
}

/* ── 4. Buchungshistorie ──────────────────────────────────────────────────── */

.dp-pocket-history {
    border: 1px solid rgba(180,150,100,.18);
    border-radius: var(--dp-radius-lg, 14px);
    overflow: hidden;
    font-size: .875rem;
}

.dp-pocket-history__head {
    display: grid;
    grid-template-columns: 9rem 1fr 2fr 6rem;
    gap: 0;
    background: rgba(201,162,39,.07);
    border-bottom: 1px solid rgba(180,150,100,.18);
    padding: var(--dp-sp-3, .75rem) var(--dp-sp-5, 1.25rem);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #a07830;
}

.dp-pocket-history__row {
    display: grid;
    grid-template-columns: 9rem 1fr 2fr 6rem;
    gap: 0;
    padding: var(--dp-sp-3, .75rem) var(--dp-sp-5, 1.25rem);
    border-bottom: 1px solid rgba(180,150,100,.10);
    align-items: center;
    transition: background .12s;
}

.dp-pocket-history__row:last-child {
    border-bottom: none;
}

.dp-pocket-history__row:hover {
    background: rgba(201,162,39,.04);
}

.dp-pocket-history__date {
    color: #8a7560;
    white-space: nowrap;
}

.dp-pocket-history__source {
    font-weight: 500;
    color: #3a3228;
}

.dp-pocket-history__notes {
    color: #6a5840;
    font-size: .8125rem;
}

.dp-pocket-history__amount {
    text-align: right;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.dp-pocket-history__row--credit .dp-pocket-history__amount {
    color: #4a8a68;
}

.dp-pocket-history__row--debit .dp-pocket-history__amount {
    color: #c05050;
}

/* Mobile: history wird scrollbar */
@media (max-width: 640px) {
    .dp-pocket-history {
        overflow-x: auto;
    }

    .dp-pocket-history__head,
    .dp-pocket-history__row {
        grid-template-columns: 7rem 1fr 4rem;
        /* Notiz-Spalte ausblenden auf kleinen Screens */
    }

    .dp-pocket-history__head span:nth-child(3),
    .dp-pocket-history__notes {
        display: none;
    }
}

/* =============================================================================
   Section 37 — Ergänzung: Logout-Link im Member-Dropdown
   ============================================================================= */

.dp-nav-member__dd-link--logout {
    color: #a04040;
}

.dp-nav-member__dd-link--logout:hover {
    background: rgba(180, 60, 60, .06);
    color: #c03030;
}


/* =============================================================================
   Section 41 — Rev 92 · DP Standard Sidebar (normale Seiten + Beitraege)

   Redesign: Episodenseiten-Niveau. Weisse Karten, farbige Oberkanten je Block-Typ,
   nummeriertes Ranking (gross, lesbar), kleinere Typografie als Haupt-Content.

   Farbcodierung:
     .dp-sb-block--voted  — Panelium-Gold  #d9b36c  (◈ Wunsch-Ranking)
     .dp-sb-block--rated  — Stern-Amber    #e8a030  (★ Bewertungs-Ranking)
   ============================================================================= */

/* ── Warmton fuer normale Inhaltsseiten ──────────────────────────────────── */

body.dp-standard-page {
    background: #f5f2ec;
}

/* ── Sidebar-Block-Karte ─────────────────────────────────────────────────── */

.dp-sb-block {
    background:    #fff;
    border:        1px solid #e8e2d8;
    border-radius: 10px;
    padding:       1.1rem 1.25rem 1.15rem;
    margin-bottom: 1rem;
    overflow:      hidden; /* Damit border-top-radius greift */
}

.dp-sb-block:last-child {
    margin-bottom: 0;
}

/* Farbige Akzentlinie oben je Block-Typ */
.dp-sb-block--voted {
    border-top: 3px solid #d9b36c;
}

.dp-sb-block--rated {
    border-top: 3px solid #e8a030;
}

/* ── Block-Ueberschrift mit Icon ──────────────────────────────────────────── */

.dp-sb-block__title {
    display:        flex;
    align-items:    center;
    gap:            .35rem;
    font-size:      .68rem;
    font-weight:    700;
    letter-spacing: .10em;
    text-transform: uppercase;
    color:          #9a8b77;
    margin:         0 0 .85rem;
    padding-bottom: .45rem;
    border-bottom:  1px solid #ede7dc;
}

/* Icon-Farbe je Block-Typ */
.dp-sb-block--voted .dp-sb-block__title-icon {
    color: #d9b36c;
    font-size: .85rem;
}

.dp-sb-block--rated .dp-sb-block__title-icon {
    color: #e8a030;
    font-size: .85rem;
}

/* ── Episodenliste ────────────────────────────────────────────────────────── */

.dp-sb-ep-list {
    list-style: none;
    margin:     0;
    padding:    0;
}

.dp-sb-ep-list__item {
    border-bottom: 1px solid #f0ebe2;
}

.dp-sb-ep-list__item:last-child {
    border-bottom: none;
}

/* Filler-Episoden (kein Ranking-Eintrag) */
.dp-sb-ep-list__item--filler {
    opacity: .45;
}

/* ── Listenzeile: Rang + Text ──────────────────────────────────────────────── */

.dp-sb-ep-list__link {
    display:         flex;
    gap:             .6rem;
    align-items:     center;
    padding:         .55rem 0;
    text-decoration: none;
    color:           inherit;
}

.dp-sb-ep-list__link:hover .dp-sb-ep-list__title {
    color:                 var(--dp-primary, #304a98);
    text-decoration:       underline;
    text-underline-offset: 2px;
    text-decoration-color: rgba(48, 74, 152, .35);
}

.dp-sb-ep-list__link:focus-visible {
    outline:        2px solid #304a98;
    outline-offset: 3px;
    border-radius:  3px;
}

/* Rang-Zahl: gross, tabellarisch, goldfarbig */
.dp-sb-ep-list__rank {
    flex-shrink:          0;
    width:                1.7rem;
    font-size:            .95rem;
    font-weight:          800;
    font-variant-numeric: tabular-nums;
    color:                #ddc48a;
    text-align:           right;
    line-height:          1;
    user-select:          none;
}

/* Top-3: satter gold fuer Platz 1-3 */
.dp-sb-ep-list__item:nth-child(1) .dp-sb-ep-list__rank { color: #c9a030; }
.dp-sb-ep-list__item:nth-child(2) .dp-sb-ep-list__rank { color: #c0a848; }
.dp-sb-ep-list__item:nth-child(3) .dp-sb-ep-list__rank { color: #b8b060; }

/* Text-Block */
.dp-sb-ep-list__info {
    flex:           1;
    min-width:      0;
    display:        flex;
    flex-direction: column;
    gap:            2px;
}

/* Serien-Slug */
.dp-sb-ep-list__series {
    font-size:      .56rem;
    font-weight:    700;
    letter-spacing: .10em;
    text-transform: uppercase;
    color:          #b89a6a;
    line-height:    1.2;
}

/* Episodentitel — etwas kleiner als Haupt-Content */
.dp-sb-ep-list__title {
    font-size:          .78rem;
    font-weight:        600;
    color:              var(--dp-text);
    line-height:        1.35;
    overflow:           hidden;
    display:            -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    transition:         color .1s;
}

/* Meta: Votes (◈) oder Sterne (★) */
.dp-sb-ep-list__meta {
    display:     flex;
    align-items: center;
    gap:         .2rem;
    font-size:   .63rem;
    font-weight: 600;
    color:       #c4a05a;
    line-height: 1;
    margin-top:  2px;
}

.dp-sb-ep-list__meta-count {
    font-weight: 400;
    color:       #7a6a58;
}

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .dp-sb-block {
        padding: .85rem .9rem 1rem;
    }
}

/* =========================================================================
   44. Rev 92 — Standard-Seiten (body.dp-standard-page): Inhalt + Kommentare
       Benchmark: dp_episode-Einzelseiten (Section 34/35)
       Warmes Magazin-Layout, weiße Karten, warme Typografie, smoothe Kommentare
   ========================================================================= */

/* ── Seitenhintergrund ───────────────────────────────────────────────────── */
body.dp-standard-page {
    background: #f5f2ec;
}

/* ── Artikel-Karte (inside-article) ─────────────────────────────────────── */
body.dp-standard-page .inside-article {
    background:    #fff;
    border:        1px solid #e8e2d8;
    border-radius: 10px;
    padding:       1.75rem 2rem 2rem;
}

/* ── Seitentitel ─────────────────────────────────────────────────────────── */
body.dp-standard-page h1.entry-title {
    font-size:     1.65rem;
    font-weight:   800;
    color:         #2a2010;
    line-height:   1.2;
    letter-spacing: -.01em;
    margin-bottom: .6rem;
    padding-bottom: .65rem;
    border-bottom: 2px solid #ede7dc;
}

/* ── Fließtext ───────────────────────────────────────────────────────────── */
body.dp-standard-page .entry-content {
    font-size:   .98rem;
    line-height: 1.8;
    color:       #3a3020;
}

body.dp-standard-page .entry-content p {
    margin-bottom: 1.1em;
}

body.dp-standard-page .entry-content h2 {
    font-size:      1.25rem;
    font-weight:    700;
    color:          #2a2010;
    margin-top:     1.8rem;
    margin-bottom:  .5rem;
    padding-bottom: .35rem;
    border-bottom:  1px solid #ede7dc;
}

body.dp-standard-page .entry-content h3 {
    font-size:     1.05rem;
    font-weight:   700;
    color:         #3a2e1a;
    margin-top:    1.4rem;
    margin-bottom: .35rem;
}

body.dp-standard-page .entry-content h4 {
    font-size:     .95rem;
    font-weight:   700;
    color:         #4a3d26;
    margin-top:    1.1rem;
    margin-bottom: .3rem;
}

body.dp-standard-page .entry-content blockquote {
    border-left:  4px solid #d9b36c;
    background:   #faf7f2;
    margin:       1.3em 0;
    padding:      .85rem 1.1rem .85rem 1.2rem;
    border-radius: 0 6px 6px 0;
    font-style:   italic;
    color:        #5a4a30;
    font-size:    .96rem;
}

body.dp-standard-page .entry-content blockquote p:last-child {
    margin-bottom: 0;
}

body.dp-standard-page .entry-content a {
    color:                  #304a98;
    text-underline-offset:  2px;
}

body.dp-standard-page .entry-content a:hover {
    color: #1a2e6e;
}

body.dp-standard-page .entry-content ul,
body.dp-standard-page .entry-content ol {
    padding-left: 1.4rem;
    margin-bottom: 1em;
}

body.dp-standard-page .entry-content li {
    margin-bottom: .3em;
}

body.dp-standard-page .entry-content code {
    background:    #f0ece4;
    border:        1px solid #ddd6c8;
    border-radius: 3px;
    padding:       .1em .35em;
    font-size:     .875em;
    color:         #4a3520;
}

body.dp-standard-page .entry-content pre {
    background:    #f0ece4;
    border:        1px solid #ddd6c8;
    border-radius: 6px;
    padding:       1rem 1.2rem;
    overflow-x:    auto;
    font-size:     .875rem;
    line-height:   1.65;
}

/* ── Post-Meta (Datum, Autor) ─────────────────────────────────────────────── */
body.dp-standard-page .entry-header .entry-meta {
    font-size:     .76rem;
    color:         #9a8b77;
    margin-bottom: .9rem;
    letter-spacing: .01em;
}

/* ── Kommentarbereich ────────────────────────────────────────────────────── */
body.dp-standard-page .comments-area {
    margin-top:    1.5rem;
    background:    #fff;
    border:        1px solid #e4ddd2;
    border-radius: 12px;
    padding:       1rem 1.5rem 1.5rem;
    box-shadow:    0 2px 12px rgba(60,40,10,.06);
}

body.dp-standard-page .comments-title {
    font-size:      .65rem;
    font-weight:    700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color:          #9a8b77;
    margin-bottom:  1.2rem;
    padding-bottom: .6rem;
    border-bottom:  2px solid #ede7dc;
}

/* ── Einzelner Kommentar ─────────────────────────────────────────────────── */
body.dp-standard-page .comment-list {
    list-style:    none;
    margin:        0;
    padding:       0;
    display:       flex;
    flex-direction: column;
    gap:           .4rem;
}

/* Top-Level */
body.dp-standard-page .comment-list > .comment {
    background:    #faf8f4;
    border:        1px solid #e4ddd2;
    border-radius: 10px;
    padding:       .65rem 1.1rem .55rem;
    transition:    box-shadow .15s;
}
body.dp-standard-page .comment-list > .comment:hover {
    box-shadow: 0 2px 10px rgba(60,40,10,.07);
}

/* Antworten — deutlich abgegrenzt */
body.dp-standard-page .comment-list .children {
    list-style:  none;
    margin:      .4rem 0 0 0;
    padding:     0 0 0 1rem;
    display:     flex;
    flex-direction: column;
    gap:         .35rem;
    border-left: 2px solid #d9cfc3;
}

body.dp-standard-page .comment-list .children .comment {
    background:    #f0ede6;
    border:        1px solid #dbd3c7;
    border-radius: 8px;
    padding:       .55rem .9rem .45rem;
}

/* 3. Ebene+ */
body.dp-standard-page .comment-list .children .children {
    padding-left:    .85rem;
    border-left-color: #c9bfb3;
}
body.dp-standard-page .comment-list .children .children .comment {
    background:  #e8e3da;
    border-color: #d0c8bc;
}

/* Kommentar-Autor */
body.dp-standard-page .comment-author {
    display:     flex;
    align-items: center;
    gap:         .55rem;
    margin-bottom: .25rem;
}

body.dp-standard-page .comment-author .fn,
body.dp-standard-page .comment-author b {
    font-size:   .80rem;
    font-weight: 700;
    color:       var(--dp-text);
}

body.dp-standard-page .comment-author a {
    color:           inherit;
    text-decoration: none;
    pointer-events:  none;
    cursor:          default;
}

/* Standard-Avatar */
body.dp-standard-page .comment-author img.avatar {
    width:         32px;
    height:        32px;
    border-radius: 50%;
    border:        1px solid #d0c8bc;
    flex-shrink:   0;
    object-fit:    contain;
    background:    #f5f2ec;
}

/* Tier-Avatar */
body.dp-standard-page .comment-author img.dp-tier-avatar {
    width:         36px;
    height:        36px;
    border-radius: 6px;
    border:        1px solid rgba(180,150,100,.30);
    background:    #faf8f4;
    padding:       2px;
    object-fit:    contain;
}

/* Meta-Zeile (Datum) */
body.dp-standard-page .comment-metadata {
    font-size:     .64rem;
    color:         #7a6a58;
    margin-bottom: .5rem;
    line-height:   1;
}

body.dp-standard-page .comment-metadata a {
    color:           inherit;
    text-decoration: none;
    pointer-events:  none;
    cursor:          default;
}

/* GP setzt .comment-body { padding: 30px 0 } und .comment-content { padding: 30px; margin-top: 1.5em } — beides nullen */
body.dp-standard-page .comment-body    { padding: 0; }
body.dp-standard-page .comment-content { padding: 0; margin-top: .4rem; border: none; }

/* Kommentar-Text */
body.dp-standard-page .comment-content {
    font-size:   .82rem;
    line-height: 1.65;
    color:       #3a3020;
}

body.dp-standard-page .comment-content p { margin-bottom: .5em; }
body.dp-standard-page .comment-content p:last-child { margin-bottom: 0; }

/* Antworten-Link */
body.dp-standard-page .reply { margin-top: .4rem; }
body.dp-standard-page .reply a.comment-reply-link {
    display:         inline-flex;
    align-items:     center;
    margin-top:      0;
    font-size:       .62rem;
    font-weight:     700;
    letter-spacing:  .08em;
    text-transform:  uppercase;
    color:           #9a8b77;
    text-decoration: none;
    padding:         .2em .65em;
    border:          1px solid #d0c8bc;
    border-radius:   12px;
    transition:      background .15s, color .15s, border-color .15s;
}

body.dp-standard-page .reply a.comment-reply-link:hover {
    background:   rgba(201,163,38,.10);
    color:        #6b4c10;
    border-color: rgba(180,140,50,.45);
}

/* ── Kommentar-Formular ──────────────────────────────────────────────────── */
body.dp-standard-page .comment-respond {
    margin-top:    1.2rem;
    background:    #f5f2ec;
    border:        1px solid #dbd3c7;
    border-radius: 8px;
    padding:       1rem 1.2rem 1.2rem;
}

body.dp-standard-page .comments-area > .comment-respond {
    margin-top:    1.4rem;
    background:    #faf8f4;
    border:        1px solid #e4ddd2;
    border-radius: 10px;
    padding:       1.3rem 2rem 1.5rem;
}

body.dp-standard-page #reply-title {
    font-size:      .65rem;
    font-weight:    700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color:          #9a8b77;
    margin-bottom:  .9rem;
}

body.dp-standard-page #reply-title small a {
    font-size:      .65rem;
    margin-left:    .5rem;
    color:          #7a6a58;
    text-transform: none;
    letter-spacing: 0;
}

body.dp-standard-page .comment-form label {
    display:       block;
    font-size:     .70rem;
    font-weight:   600;
    color:         #7a6a58;
    margin-bottom: .3rem;
    letter-spacing: .02em;
}

body.dp-standard-page .comment-form input[type="text"],
body.dp-standard-page .comment-form input[type="email"],
body.dp-standard-page .comment-form textarea {
    width:         100%;
    background:    #fff;
    border:        1px solid #d0c8bc;
    border-radius: 6px;
    padding:       .48rem .72rem;
    font-size:     .82rem;
    color:         var(--dp-text);
    line-height:   1.5;
    transition:    border-color .15s, box-shadow .15s;
    box-sizing:    border-box;
}

body.dp-standard-page .comment-form input[type="text"]:focus,
body.dp-standard-page .comment-form input[type="email"]:focus,
body.dp-standard-page .comment-form textarea:focus {
    outline:     none;
    border-color: #c4a97a;
    box-shadow:  0 0 0 3px rgba(196,169,122,.18);
}

body.dp-standard-page .comment-form textarea {
    min-height:  100px;
    resize:      vertical;
}

body.dp-standard-page .comment-form .form-submit { margin-top: .75rem; }

body.dp-standard-page .comment-form #submit {
    display:        inline-block;
    background:     linear-gradient(135deg, #c9a326 0%, #b8911e 100%);
    color:          #fff;
    border:         none;
    border-radius:  6px;
    padding:        .5rem 1.3rem;
    font-size:      .80rem;
    font-weight:    700;
    letter-spacing: .03em;
    cursor:         pointer;
    transition:     opacity .15s;
    box-shadow:     0 2px 6px rgba(180,140,30,.30);
}

body.dp-standard-page .comment-form #submit:hover { opacity: .88; }

body.dp-standard-page .comment-form #submit:focus-visible {
    outline:        2px solid #c9a326;
    outline-offset: 3px;
}

/* ── Logged-in notice + privacy hint ────────────────────────────────────── */
body.dp-standard-page .logged-in-as {
    font-size:     .70rem;
    color:         #9a8b77;
    margin-bottom: .65rem;
}

body.dp-standard-page .logged-in-as a { color: #7a6a58; }

body.dp-standard-page .comment-notes {
    font-size:     .70rem;
    color:         #7a6a58;
    margin-bottom: .65rem;
}

/* ── Mobile ──────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    body.dp-standard-page .inside-article {
        padding: 1.2rem 1.1rem 1.3rem;
        border-radius: 8px;
    }

    body.dp-standard-page .comments-area {
        padding: 1.1rem 1.1rem 1.3rem;
        border-radius: 8px;
    }

    body.dp-standard-page h1.entry-title { font-size: 1.3rem; }

    body.dp-standard-page .comment-respond { padding: 1rem 1.1rem 1.1rem; }

    body.dp-standard-page .comment-list .children { padding-left: .65rem; }
}

/* ==========================================================================
   Section 45 — WooCommerce Shop · Sidebar · dp-product-card
   Konsolidiert aus: dp-wc-styles.php, dp-shop-cards.php, dp-gzd-fix.php
   2026-04-16 — ersetzt alle Shop-bezogenen MU-Plugin-Inline-CSS vollständig.
   ========================================================================== */

/* ── Seiten-Hintergrund (warm) ─────────────────────────────────────────── */
body {
    background-color: #f0ede7;
}

/* ── dp-product-card (ShopSectionShortcode / [dp_shop_random]) ─────────── */
.dp-product-card {
    border-radius:  10px !important;
    overflow:       hidden !important;
    transition:     box-shadow .2s ease, transform .2s ease !important;
    display:        flex !important;
    flex-direction: column !important;
}
html:not(.dp-dark) .dp-product-card {
    background:  #ffffff !important;
    border:      1px solid #e8e2d8 !important;
    box-shadow:  0 1px 4px rgba(13,16,32,.07) !important;
}
.dp-product-card:hover {
    box-shadow: 0 6px 22px rgba(13,16,32,.12) !important;
    transform:  translateY(-3px) !important;
}
.dp-product-card__image-wrap {
    width:        100% !important;
    aspect-ratio: 1 / 1 !important;
    overflow:     hidden !important;
    background:   #eef0f6 !important;
}
.dp-product-card__image-wrap img {
    display:    block !important;
    width:      100% !important;
    height:     100% !important;
    object-fit: cover !important;
    transition: transform .4s ease !important;
}
.dp-product-card:hover .dp-product-card__image-wrap img {
    transform: scale(1.04) !important;
}
.dp-product-card__body {
    padding:        .85rem 1rem !important;
    display:        flex !important;
    flex-direction: column !important;
    gap:            .4rem !important;
    flex:           1 !important;
}
.dp-product-card__title {
    font-family: 'Space Grotesk', system-ui, sans-serif !important;
    font-size:   .85rem !important;
    font-weight: 700 !important;
    color:       #1c2038 !important;
    margin:      0 !important;
    line-height: 1.35 !important;
}
.dp-product-card__title a {
    color:           inherit !important;
    text-decoration: none !important;
}
.dp-product-card__title a:hover { color: #cf1682 !important; }

.dp-product-card__footer {
    display:         flex !important;
    align-items:     center !important;
    justify-content: space-between !important;
    flex-wrap:       wrap !important;
    gap:             .35rem !important;
    padding-top:     .5rem !important;
    margin-top:      auto !important;
    border-top:      1px solid #f0ebe3 !important;
}
.dp-product-card__price {
    font-size:   .88rem !important;
    font-weight: 700 !important;
    color:       #1c2038 !important;
}
.dp-product-card__price del {
    color:       #9a8b77 !important;
    font-weight: 400 !important;
    font-size:   .82em !important;
}
.dp-product-card__link {
    font-size:       .76rem !important;
    font-weight:     600 !important;
    color:           #cf1682 !important;
    text-decoration: none !important;
    transition:      color .15s !important;
}
.dp-product-card__link:hover { color: #a8126a !important; }

/* ── dp-shop-section (Wrapper + Grid) ─────────────────────────────────── */
.dp-shop-section {
    display:        flex !important;
    flex-direction: column !important;
    gap:            1.5rem !important;
}
.dp-shop-section__heading {
    font-family:    'Space Grotesk', system-ui, sans-serif !important;
    font-size:      1.1rem !important;
    font-weight:    700 !important;
    color:          #0d1020 !important;
    letter-spacing: -.015em !important;
    margin:         0 !important;
}
.dp-shop-section__more { text-align: center !important; }

/* ── dp-shop-archive-header ────────────────────────────────────────────── */
html:not(.dp-dark) .dp-shop-archive-header { border-bottom: 2px solid #e8e2d8 !important; }
html.dp-dark .dp-shop-archive-header { border-bottom: 2px solid #42286a; }
.dp-shop-archive-header {
    margin-bottom:  1.5rem !important;
    padding-bottom: 1rem !important;
}
html:not(.dp-dark) .dp-shop-archive-header__title { color: #2a1a0e !important; }
html.dp-dark .dp-shop-archive-header__title { color: #f5f0fa; }
.dp-shop-archive-header__title {
    font-family:    'Space Grotesk', system-ui, sans-serif !important;
    font-size:      1.6rem !important;
    font-weight:    700 !important;
    letter-spacing: -.025em !important;
    margin:         0 0 .3rem !important;
    line-height:    1.2 !important;
}
html:not(.dp-dark) .dp-shop-archive-header__desc { color: #7a6a58 !important; }
html.dp-dark .dp-shop-archive-header__desc { color: #b8a8cc; }
.dp-shop-archive-header__desc {
    font-size:   .88rem !important;
    margin:      0 !important;
    line-height: 1.5 !important;
}
/* WC-Doppeltitel auf der Archivseite ausblenden */
.dp-shop-archive .woocommerce-products-header__title.page-title {
    display: none !important;
}

/* ── WooCommerce Produktraster: Float → Flexbox (gleiche Kartenhöhe) ─── */
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }

.woocommerce ul.products {
    display:     flex !important;
    flex-wrap:   wrap !important;
    align-items: stretch !important;
    gap:         1.25rem !important;
    margin:      0 0 1.5rem !important;
    padding:     0 !important;
}

/* 3 Spalten, float deaktiviert */
.woocommerce ul.products li.product {
    float:          none !important;
    width:          calc(33.333% - .84rem) !important;
    margin:         0 !important;
    display:        flex !important;
    flex-direction: column !important;
    border-radius:  10px !important;
    overflow:       hidden !important;
    transition:     transform .18s, box-shadow .18s !important;
    padding:        0 !important;
}
html:not(.dp-dark) .woocommerce ul.products li.product {
    background:  #ffffff !important;
    border:      1px solid #e8e2d8 !important;
    box-shadow:  0 1px 4px rgba(0,0,0,.06) !important;
}
html:not(.dp-dark) .woocommerce ul.products li.product:hover {
    transform:  translateY(-3px) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,.1) !important;
}

/* Innerer Link-Block wächst → Button + Pflichtangaben bleiben unten */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display:         flex !important;
    flex-direction:  column !important;
    flex:            1 !important;
    text-decoration: none !important;
}

/* Bild quadratisch */
.woocommerce ul.products li.product a img {
    aspect-ratio: 1 / 1 !important;
    object-fit:   cover !important;
    width:        100% !important;
    display:      block !important;
    flex-shrink:  0 !important;
}

/* Titel */
html:not(.dp-dark) .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #2a1a0e !important; }
html.dp-dark .woocommerce ul.products li.product .woocommerce-loop-product__title { color: #e5dff0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    padding:     .75rem 1rem .25rem !important;
    margin:      0 !important;
    font-size:   .82rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

/* Preis: nach unten schieben */
html:not(.dp-dark) .woocommerce ul.products li.product .price { color: #3a2a1a !important; }
html.dp-dark .woocommerce ul.products li.product .price { color: #e83d9f; }
.woocommerce ul.products li.product .price {
    padding:     0 1rem .5rem !important;
    margin-top:  auto !important;
    font-size:   .88rem !important;
    font-weight: 700 !important;
    display:     block !important;
}
.woocommerce ul.products li.product .price del {
    color:   #7a6a58 !important;
    opacity: 1 !important;
}
.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color:           #cf1682 !important;
}

/* Sale-Badge */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale {
    background:    #cf1682 !important;
    color:         #ffffff !important;
    border-radius: 5px !important;
    min-height:    auto !important;
    min-width:     auto !important;
    font-size:     .72rem !important;
    padding:       .2em .55em !important;
}

/* Sternchen */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before { color: #d9b36c !important; }
.woocommerce ul.products li.product .star-rating {
    padding: 0 1rem !important;
}

/* ── WC Germanized: Pflichtangaben (Steuer + Versand) ──────────────────── */
.woocommerce ul.products li.product p.tax-info,
.woocommerce ul.products li.product p.shipping-costs-info,
.woocommerce ul.products li.product p.wc-gzd-additional-info {
    padding:     0 1rem .3rem !important;
    margin:      0 !important;
    font-size:   .72rem !important;
    line-height: 1.4 !important;
    color:       #9a8b77 !important;
}
.woocommerce ul.products li.product p.shipping-costs-info a,
.woocommerce ul.products li.product p.wc-gzd-additional-info a {
    color:           #cf1682 !important;
    text-decoration: none !important;
    font-size:       inherit !important;
}
.woocommerce ul.products li.product p.shipping-costs-info a:hover {
    text-decoration: underline !important;
}

/* ── "In den Warenkorb"-Button: Abstand wie der Rest ───────────────────── */
.woocommerce ul.products li.product > .button,
.woocommerce ul.products li.product > .add_to_cart_button,
.woocommerce ul.products li.product > .product_type_simple,
.woocommerce ul.products li.product > .product_type_variable {
    margin:     0 1rem .85rem !important;
    display:    block !important;
    text-align: center !important;
}

/* ── WooCommerce Buttons (Rosa statt Blau) ─────────────────────────────── */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product button.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
    background:    #cf1682 !important;
    color:         #ffffff !important;
    border:        none !important;
    border-radius: 7px !important;
    font-weight:   600 !important;
    font-size:     .78rem !important;
    padding:       .55em 1.1em !important;
    display:       inline-block !important;
    transition:    background .15s !important;
}
.woocommerce ul.products li.product a.button:hover,
.woocommerce ul.products li.product button.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
    background: #a8126a !important;
    color:      #ffffff !important;
}

/* ── Ergebniszahl + Sortierung ─────────────────────────────────────────── */
.woocommerce-result-count {
    font-size: .8rem !important;
    color:     #9a8b77 !important;
}
html:not(.dp-dark) .woocommerce-ordering select {
    border:        1px solid #e8e2d8 !important;
    border-radius: 6px !important;
    background:    #ffffff !important;
    color:         #3a2a1a !important;
    font-size:     .82rem !important;
}
html.dp-dark .woocommerce-ordering select {
    background:    #1e0f38;
    color:         #e5dff0;
    border:        1px solid #42286a;
    border-radius: 6px !important;
    font-size:     .82rem !important;
}

/* ── Pagination ────────────────────────────────────────────────────────── */
.woocommerce nav.woocommerce-pagination ul { border: none !important; }
.woocommerce nav.woocommerce-pagination ul li { border: none !important; }
html:not(.dp-dark) .woocommerce nav.woocommerce-pagination ul li a,
html:not(.dp-dark) .woocommerce nav.woocommerce-pagination ul li span {
    border:        1px solid #e8e2d8 !important;
    border-radius: 6px !important;
    color:         #3a2a1a !important;
    background:    #ffffff !important;
}
html.dp-dark .woocommerce nav.woocommerce-pagination ul li a,
html.dp-dark .woocommerce nav.woocommerce-pagination ul li span {
    background:    #1e0f38;
    border:        1px solid #42286a;
    color:         #c8b8e0;
    border-radius: 6px !important;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
    background:   #cf1682 !important;
    border-color: #cf1682 !important;
    color:        #ffffff !important;
}

/* ── Sidebar Widgets (GeneratePress-kompatibel, alle Seiten) ───────────── */
.widget-area,
.sidebar,
.secondary,
.inside-right-sidebar,
#secondary {
    background: transparent !important;
    border:     none !important;
    box-shadow: none !important;
}
html:not(.dp-dark) .widget,
html:not(.dp-dark) .sidebar .widget,
html:not(.dp-dark) .widget-area .widget,
html:not(.dp-dark) #secondary .widget,
html:not(.dp-dark) aside .widget {
    background:    #ffffff !important;
    border:        1px solid #e8e2d8 !important;
    border-radius: 10px !important;
    padding:       1rem 1.15rem !important;
    margin-bottom: 1.1rem !important;
    box-shadow:    0 1px 4px rgba(13,16,32,.05) !important;
}
html:not(.dp-dark) .widget .widget-title,
html:not(.dp-dark) .widget .widgettitle,
html:not(.dp-dark) .sidebar .widget-title,
html:not(.dp-dark) .sidebar .widgettitle,
html:not(.dp-dark) aside .widget-title,
html:not(.dp-dark) aside .widgettitle {
    font-family:    'Inter', system-ui, sans-serif !important;
    font-size:      .68rem !important;
    font-weight:    700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color:          #9a8b77 !important;
    margin:         0 0 .75rem !important;
    padding-bottom: .45rem !important;
    border-bottom:  1px solid #f0ebe3 !important;
}

/* Suchwidget */
.widget_search form,
.widget.widget_search form {
    display: flex !important;
    gap:     .35rem !important;
}
html:not(.dp-dark) .widget_search .search-field {
    flex:          1 !important;
    min-width:     0 !important;
    border:        1px solid #e8e2d8 !important;
    border-radius: 6px !important;
    padding:       .42em .7em !important;
    font-size:     .84rem !important;
    background:    #ffffff !important;
    color:         #2a1a0e !important;
}
html.dp-dark .widget_search .search-field {
    flex:          1 !important;
    min-width:     0 !important;
    border:        1px solid #42286a;
    border-radius: 6px !important;
    padding:       .42em .7em !important;
    font-size:     .84rem !important;
    background:    #1e0f38;
    color:         #e5dff0;
}
.widget_search .search-field:focus {
    outline:      none !important;
    border-color: #cf1682 !important;
    box-shadow:   0 0 0 2px rgba(207,22,130,.12) !important;
}
.widget_search .search-submit {
    background:    #cf1682 !important;
    color:         #ffffff !important;
    border:        none !important;
    border-radius: 6px !important;
    padding:       .42em .9em !important;
    font-size:     .8rem !important;
    font-weight:   600 !important;
    cursor:        pointer !important;
    flex-shrink:   0 !important;
    white-space:   nowrap !important;
}
.widget_search .search-submit:hover { background: #a8126a !important; }

/* Listen-Widgets */
.widget_recent_entries ul,
.widget_recent_comments ul,
.widget_categories ul {
    list-style: none !important;
    margin:     0 !important;
    padding:    0 !important;
}
.widget_recent_entries ul li,
.widget_recent_comments ul li,
.widget_categories ul li {
    padding:       .38em 0 !important;
    border-bottom: 1px solid #f0ebe3 !important;
    font-size:     .82rem !important;
    line-height:   1.45 !important;
}
.widget_recent_entries ul li:last-child,
.widget_recent_comments ul li:last-child,
.widget_categories ul li:last-child { border-bottom: none !important; }
.widget_recent_entries ul li a,
.widget_recent_comments ul li a,
.widget_categories ul li a {
    color:           #3a2a1a !important;
    text-decoration: none !important;
}
.widget_recent_entries ul li a:hover,
.widget_recent_comments ul li a:hover,
.widget_categories ul li a:hover { color: #cf1682 !important; }
.widget_recent_entries ul li .post-date {
    font-size: .7rem !important;
    color:     #9a8b77 !important;
    display:   block !important;
}

/* ==========================================================================
   Section 46 — Rev 125 · Hero-Card + kompakter Header
   Ziele:
   - Cover + Text + Player als ein zusammengehöriger Warm-Card-Block
   - Hero-Sektion weniger hoch (weniger Padding)
   - GP-Header auf Homepage kompakter (Logo 200px → 160px, Padding reduziert)
   - Sticky-Header CSS-Vorbereitung für GP-Sticky (Klasse .stuck / .shrink)
   ========================================================================== */

/* ── 1. dp-hero-stage: vereinfacht zu flex-column (card + rail) ──────────── */

.dp-hero-stage {
    display: flex;
    flex-direction: column;
    gap: var(--dp-sp-4);
}

/* Auf Desktop: Rail zweispaltig (bleibt wie bisher) */
@media (min-width: 900px) {
    .dp-hero-stage__rail {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: var(--dp-sp-4);
    }
}

/* ── 2. dp-hero-card: gemeinsamer Card-Container für Cover + Text + Player ── */

.dp-hero-card {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
        "cover"
        "text"
        "player";
    gap: var(--dp-sp-4);
    padding: var(--dp-sp-4);
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid rgba(180, 150, 100, .22);
    border-top: 3px solid #c9a227;
    box-shadow:
        0 2px 12px rgba(100, 60, 20, .07),
        0 8px 32px rgba(0, 0, 0, .04);
}

/* Tablet 680px: Cover links (feste Breite), Text + Player gestapelt rechts */
@media (min-width: 680px) {
    .dp-hero-card {
        grid-template-columns: 160px 1fr;
        grid-template-areas:
            "cover  text"
            "cover  player";
        gap: var(--dp-sp-4);
        padding: var(--dp-sp-4);
    }
}

/* Desktop 900px: Cover | Text | Player nebeneinander */
@media (min-width: 900px) {
    .dp-hero-card {
        grid-template-columns: 180px 1fr 340px;
        grid-template-areas: "cover  text  player";
        gap: var(--dp-sp-4);
        align-items: start;
    }
}

@media (min-width: 1200px) {
    .dp-hero-card {
        grid-template-columns: 200px 1fr 380px;
        padding: var(--dp-sp-5);
    }
}

/* Card spans all stage columns so its internal grid has the full viewport width */
.dp-hero-stage > .dp-hero-card {
    grid-column: 1 / -1;
}

/* Grid-Areas innerhalb der Card */
.dp-hero-card .dp-hero-stage__cover  { grid-area: cover; }
.dp-hero-card .dp-hero-stage__text   { grid-area: text; }
.dp-hero-card .dp-hero-stage__player { grid-area: player; }

/* ── 3. Cover inside card: eigene border-radius bleibt, Shadow etwas zarter ─ */

/*
   align-self:stretch + aspect-ratio:1/1 + width:auto (Zeile ~11835) würde das Cover
   auf die volle Zeilenhöhe wachsen lassen → quadratisch-riesig.
   Override: Cover füllt nur seine Spalte, richtet sich oben aus.
*/
.dp-hero-card .dp-hero-stage__cover {
    align-self:   start;
    width:        100%;
    height:       auto;
    aspect-ratio: unset; /* ::before übernimmt das Quadrat */
    box-shadow:
        0 1px 4px rgba(100, 60, 20, .08),
        0 4px 16px rgba(0, 0, 0, .10);
}

/* ::before-Padding-Trick reaktivieren — aspect-ratio allein reicht hier nicht */
.dp-hero-card .dp-hero-stage__cover::before {
    display: block;
}

/* Mobile: Cover klein + zentriert — nicht volle Breite */
@media (max-width: 679px) {
    .dp-hero-card .dp-hero-stage__cover {
        max-width: 140px;
        margin: 0 auto;
    }
}

/* ── 4. Player inside card: als Sub-Karte integriert, nicht zu schwer ─────── */

.dp-hero-card .dp-hero-stage__player {
    /* Subtilere Sub-Karte — die Haupt-Card gibt bereits den Rahmen */
    background: #faf8f4;
    border: 1px solid rgba(180, 150, 100, .15);
    border-top: 2px solid #c9a227;
    border-radius: 10px;
    box-shadow: 0 1px 6px rgba(100, 60, 20, .05);
    /* Section 32 setzt overflow:hidden — hier überschreiben, weil Podigee JS
       die iframe-Höhe per postMessage setzt und zoom:0.79 (Inline-CSS) die
       Container-Höhe im zoomed Kontext leicht unterschätzt → unterer Rand
       wurde abgeschnitten. overflow:visible lässt den iframe frei wachsen. */
    overflow: visible;
}

/* ── 5. Hero-Sektion: reduziertes Padding (weniger hoch) ─────────────────── */

.dp-section--hero > .dp-container {
    padding-top: var(--dp-sp-5);      /* war sp-8 (2rem) → 1.25rem */
    padding-bottom: var(--dp-sp-5);   /* war sp-10 (2.5rem) → 1.25rem */
}

@media (min-width: 900px) {
    .dp-section--hero > .dp-container {
        padding-top: var(--dp-sp-6);
        padding-bottom: var(--dp-sp-6);
    }
}

/* ── 6. GP-Header auf Homepage: kompakter + Logo etwas kleiner ───────────── */

/*
 * Logo auf Homepage: 200px → 160px.
 * Invariante bleibt: Logo groß + präsent. 160px ist deutlich präsent.
 * Kein Eingriff auf anderen Seiten (max-height: 3.75rem aus Section 3 bleibt).
 */
body.dp-full-layout .site-header .custom-logo,
body.dp-full-layout .site-header .custom-logo-link img,
body.dp-full-layout .site-header .site-logo img,
body.dp-full-layout .site-header img.custom-logo {
    max-height: 160px !important;
    max-width:  160px !important;
}

/* Header-Padding Homepage: sp-4 (1rem) → sp-2 (0.5rem) je Seite */
body.dp-full-layout .site-header {
    padding-top:    var(--dp-sp-2) !important;
    padding-bottom: var(--dp-sp-2) !important;
}

/* Allgemeiner Header (alle Seiten): etwas kompakter */
.site-header .inside-header {
    padding-block: 0.625rem !important;  /* war 1rem */
}

/* ── 7. Sticky-Header: CSS-Vorbereitung (GP Premium: Klasse .stuck) ─────── */
/*
 * GP Premium / Sticky Navigation fügt .stuck an .site-header an.
 * Diese Regeln greifen sobald Sticky Navigation im Customizer aktiviert ist.
 * Ohne GP Premium: kein Effekt.
 * ADMIN-TASK: Sticky Navigation im GP-Customizer aktivieren (→ Admin-Tasks).
 */

.site-header.stuck {
    box-shadow: 0 2px 16px rgba(0, 0, 0, .10) !important;
    transition: box-shadow .2s ease, padding .2s ease;
}

/* Sticky-Logo auf Homepage: Logo schrumpft im Sticky-State */
body.dp-full-layout .site-header.stuck .custom-logo,
body.dp-full-layout .site-header.stuck .custom-logo-link img,
body.dp-full-layout .site-header.stuck .site-logo img,
body.dp-full-layout .site-header.stuck img.custom-logo {
    max-height: 50px !important;
    max-width:  200px !important;
    transition: max-height .25s ease, max-width .25s ease;
}

body.dp-full-layout .site-header.stuck {
    padding-top:    var(--dp-sp-1) !important;
    padding-bottom: var(--dp-sp-1) !important;
}

/* Sticky auf anderen Seiten: bereits kleines Logo, kein Override nötig */

/* ── 8. Fallback (kein Post): volle Breite in flex-column stage ──────────── */

.dp-hero-stage__fallback {
    /* Wird jetzt direktes flex-Kind von dp-hero-stage — braucht keine Grid-Area */
    max-width: 640px;
}

/* ========================================================================== */

/* ==========================================================================
   Section 47 — StivSeries: Teilpost-Liste mit kleinem Thumbnail links
   ========================================================================== */

.dp-stiv-parts-list {
    list-style: none;
    margin: var(--dp-sp-4) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .6rem;
}

/* Media-Object: Nummer · Bild · Text nebeneinander */
.dp-stiv-part-card {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    background: var(--dp-surface-raised);
    border: var(--dp-line);
    border-radius: var(--dp-radius-lg);
    padding: .75rem 1rem;
    transition: box-shadow .18s, border-color .18s;
}

.dp-stiv-part-card:hover {
    box-shadow: var(--dp-shadow-sm);
    border-color: var(--dp-border-strong);
}

/* Laufende Nummer */
.dp-stiv-part-card__num {
    flex-shrink: 0;
    width: 1.6rem;
    font-size: .8rem;
    font-weight: 800;
    color: var(--dp-text-muted);
    text-align: right;
    padding-top: .15rem;
    line-height: 1;
}

/* Thumbnail */
.dp-stiv-part-card__thumb-link {
    flex-shrink: 0;
    display: block;
    line-height: 0;
    border-radius: var(--dp-radius-sm);
    overflow: hidden;
}

.dp-stiv-part-card__thumb {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--dp-radius-sm);
    transition: transform .3s ease;
}

.dp-stiv-part-card:hover .dp-stiv-part-card__thumb {
    transform: scale(1.04);
}

/* Textspalte */
.dp-stiv-part-card__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.dp-stiv-part-card__title {
    font-family: var(--dp-font-headline);
    font-size: .9rem;
    font-weight: 700;
    color: var(--dp-text-strong);
    text-decoration: none;
    line-height: 1.3;
}

.dp-stiv-part-card__title:hover {
    color: var(--dp-accent);
}

.dp-stiv-part-card__meta {
    font-size: .68rem;
    color: var(--dp-text-muted);
}

.dp-stiv-part-card__excerpt {
    font-size: .78rem;
    color: var(--dp-text);
    line-height: 1.5;
    margin: 0;
}

/* Film-Voting-Karte */
.dp-ep-discuss-card--film .dp-ep-card__note {
    font-style: italic;
}

/* ── Nav-Menü: Zeitalter-Überschriften ───────────────────────────────────── */
.main-navigation .dp-nav-era-label > a,
.main-navigation ul.sub-menu li.dp-nav-era-label > a {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #9ca3af !important;
    pointer-events: none;
    cursor: default;
    padding-top: 12px !important;
    padding-bottom: 2px !important;
    margin-top: 4px;
    border-top: 1px solid rgba(0,0,0,.06);
}
.main-navigation ul.sub-menu li.dp-nav-era-label:first-child > a {
    border-top: none;
    padding-top: 6px !important;
}

/* =========================================================================
   Homepage — Zusatz-CSS (OPcache-sicher, immer in frontend.css)
   ========================================================================= */

/* ── Neue Folgen: Hover-Overlay ── */
.dp-neue-folgen-card__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(8,12,28,.90) 0%, rgba(8,12,28,.50) 60%, transparent 100%);
    display: flex; align-items: flex-end; padding: 12px;
    opacity: 0; transition: opacity .22s;
    border-radius: 12px;
    pointer-events: none;
}
.dp-neue-folgen-card__link:hover .dp-neue-folgen-card__overlay { opacity: 1; }
.dp-neue-folgen-card__overlay-title {
    font-size: .72rem; font-weight: 700; color: #fff;
    line-height: 1.3; margin: 0;
    display: -webkit-box; -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; overflow: hidden;
}

/* ── Sparkle "Überrasch mich" ── */
@keyframes dp-sparkle-pop {
    0%   { transform: scale(0) rotate(0deg);    opacity: 0; }
    20%  { transform: scale(1.4) rotate(20deg);  opacity: 1; }
    70%  { transform: scale(1.1) rotate(10deg);  opacity: .85; }
    100% { transform: scale(0) rotate(45deg);    opacity: 0; }
}
.dp-surprise-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: .65rem 1.8rem;
    background: linear-gradient(135deg, #c9a326 0%, #e4581e 100%);
    color: #fff !important; font-weight: 800; font-size: .88rem;
    border: none; border-radius: 999px; cursor: pointer;
    text-decoration: none !important;
    position: relative; overflow: visible;
    box-shadow: 0 4px 20px rgba(201,163,38,.35);
    transition: transform .2s, box-shadow .2s;
}
.dp-surprise-btn:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 8px 32px rgba(201,163,38,.55);
}
.dp-surprise-btn__spark {
    position: absolute;
    width: 9px; height: 9px; border-radius: 50%;
    pointer-events: none; opacity: 0;
}
.dp-surprise-btn:hover .dp-surprise-btn__spark:nth-child(1) {
    top: -8px; left: 18%;  background: #ffd700;
    animation: dp-sparkle-pop 2.2s .00s ease-in-out infinite;
}
.dp-surprise-btn:hover .dp-surprise-btn__spark:nth-child(2) {
    top: -12px; left: 48%; background: #fff;
    animation: dp-sparkle-pop 2.2s .35s ease-in-out infinite;
}
.dp-surprise-btn:hover .dp-surprise-btn__spark:nth-child(3) {
    top: -8px; left: 78%;  background: #ffa040;
    animation: dp-sparkle-pop 2.2s .70s ease-in-out infinite;
}
.dp-surprise-btn:hover .dp-surprise-btn__spark:nth-child(4) {
    bottom: -8px; left: 28%; background: #ffd700;
    animation: dp-sparkle-pop 2.2s .18s ease-in-out infinite;
}
.dp-surprise-btn:hover .dp-surprise-btn__spark:nth-child(5) {
    bottom: -10px; left: 62%; background: #fff;
    animation: dp-sparkle-pop 2.2s .55s ease-in-out infinite;
}

/* ── Live-Zähler im Game Panel ── */
.dp-game-panel__live {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 1rem; margin-left: .25rem;
    padding: .35rem .85rem;
    border: 1px solid rgba(74,222,128,.30);
    border-radius: 999px;
    font-size: .70rem; font-weight: 600;
    color: rgba(255,255,255,.65);
    background: rgba(74,222,128,.07);
}
.dp-game-panel__live-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: #4ade80; flex-shrink: 0;
    box-shadow: 0 0 0 0 rgba(74,222,128,.6);
    animation: dp-live-pulse 2s ease-in-out infinite;
}
@keyframes dp-live-pulse {
    0%, 100% { box-shadow: 0 0 0 0   rgba(74,222,128,.6); }
    50%       { box-shadow: 0 0 0 5px rgba(74,222,128,0);  }
}


/* ── Rail Top5 Panel ── */
.dp-rail-top10 { display: flex; flex-direction: column; gap: 8px; width: 180px; }
.dp-rail-top10__eyebrow,
.dp-rail-top10 .dp-eyebrow {
    margin: 0 0 4px;
}
.dp-rail-top10__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.dp-rail-top10__link {
    display: flex; align-items: flex-start; gap: 7px;
    text-decoration: none !important; color: #1a1510;
    font-size: .75rem; line-height: 1.35;
    padding: 4px 0;
    border-bottom: 1px solid rgba(0,0,0,.06);
}
.dp-rail-top10__link:hover { color: #c9a326; }
.dp-rail-top10__rank {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; flex-shrink: 0;
    font-size: .85rem; font-weight: 900; color: #6b4c10;
    background: #f5e9c8;
    border: 1px solid rgba(180,140,50,.35);
    border-radius: 4px;
    margin-top: 1px;
}
.dp-rail-top10__item:first-child .dp-rail-top10__rank {
    width: 30px; height: 30px;
    font-size: 1rem;
    color: #fff;
    background: #a07820;
    border-color: #a07820;
    box-shadow: 0 2px 6px rgba(160,120,32,.40);
}
.dp-rail-top10__thumb {
    width: 32px; height: 32px; object-fit: cover;
    border-radius: 4px; flex-shrink: 0;
}
.dp-rail-top10__info {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; gap: 2px;
}
.dp-rail-top10__title {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
    overflow: hidden;
}
.dp-rail-top10__panelium {
    font-size: .62rem; font-weight: 700; color: #c9a326;
}
.dp-rail-top10__item--unvoted .dp-rail-top10__rank { opacity: .45; }
.dp-rail-top10__item--unvoted .dp-rail-top10__panelium { color: #7a6a58; }
.dp-rail-top10__item:first-child {
    background: #ecdfa8;
    border-radius: 8px;
    padding: 5px 6px;
    margin-bottom: 6px;
}
.dp-rail-top10__item:first-child .dp-rail-top10__link {
    border-bottom: none;
    padding-bottom: 0;
}
.dp-rail-top10__item:first-child .dp-rail-top10__title {
    font-weight: 800;
    color: #3a2a08;
}
.dp-rail-top10__item:first-child .dp-rail-top10__panelium {
    color: #8a6a10;
}
.dp-rail-top10__cta {
    display: block; margin-top: 10px;
    font-size: .72rem; font-weight: 700; color: #e4581e !important;
    text-decoration: none !important;
}
.dp-rail-top10__cta:hover { text-decoration: underline !important; }

/* ── Netflix-Style Ranking ── */
.dp-netflix-ranking {
    background: #faf8f4;
    border-top: 1px solid rgba(180,150,100,.15);
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.dp-netflix-list {
    display: grid;
    grid-template-columns: 1.18fr 1fr 1fr 1fr 1fr;
    gap: 0;
    padding-top: .5rem;
}
.dp-netflix-item {
    display: flex;
    align-items: flex-end;
    text-decoration: none !important;
    color: inherit;
    overflow: visible;
    min-width: 0;
}
.dp-netflix-item__num {
    flex: 0 0 2.6rem;
    text-align: right;
    font-family: 'Arial Black', Arial, sans-serif;
    font-size: 8.5rem;
    font-weight: 900;
    line-height: 1;
    color: #ede6d8;
    -webkit-text-stroke: 3px rgba(100,70,20,.65);
    letter-spacing: -.04em;
    margin-right: -1rem;
    position: relative;
    z-index: 0;
    user-select: none;
}
/* First item: number gets more room, card fills the rest naturally */
.dp-netflix-item:first-child .dp-netflix-item__num {
    flex-basis: 2.2rem;
    font-size: 9.5rem;
    margin-right: -1.1rem;
}
.dp-netflix-item__card {
    flex: 1;
    min-width: 0;
    position: relative;
    z-index: 1;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0,0,0,.16);
    transition: transform .2s, box-shadow .2s;
}
.dp-netflix-item:hover .dp-netflix-item__card {
    transform: scale(1.04);
    box-shadow: 0 8px 28px rgba(0,0,0,.22);
}
.dp-netflix-item__card img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
}
.dp-netflix-item__placeholder {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #e0d8c8;
}
.dp-netflix-item__info {
    padding: 8px 10px 10px;
    background: #fff;
}
.dp-netflix-item__title {
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1a1510;
    margin: 0 0 4px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.dp-netflix-item__rating {
    display: block;
    margin-top: 4px;
    font-size: 1.05rem;
    font-weight: 800;
    color: #c9a326;
    letter-spacing: -.01em;
}

@media (max-width: 640px) {
    .dp-netflix-list {
        grid-template-columns: 1fr;
        gap: .5rem;
    }
    .dp-netflix-item {
        align-items: center;
        gap: .5rem;
    }
    .dp-netflix-item__num {
        flex: 0 0 3rem;
        font-size: 4rem !important;
        margin-right: 0 !important;
        text-align: center;
        line-height: 1;
    }
    .dp-netflix-item__card {
        flex: 1;
        display: flex;
        flex-direction: row;
        border-radius: 10px;
        overflow: hidden;
    }
    .dp-netflix-item__card img,
    .dp-netflix-item__placeholder {
        width: 72px;
        min-width: 72px;
        aspect-ratio: 1 / 1;
        height: auto;
    }
    .dp-netflix-item__info {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 10px 12px;
    }
    .dp-netflix-item__title {
        -webkit-line-clamp: 2;
        font-size: .85rem;
    }
}

/* ==========================================================================
   Section 48 — WooCommerce Single Product Page
   ========================================================================== */

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.woocommerce .woocommerce-breadcrumb {
    font-size:  .72rem !important;
    color:      #9a8b77 !important;
    margin:     0 0 1.25rem !important;
    padding:    0 !important;
    background: transparent !important;
    border:     none !important;
}
html:not(.dp-dark) .woocommerce .woocommerce-breadcrumb a { color: #7a6a58 !important; }
html.dp-dark .woocommerce .woocommerce-breadcrumb a { color: #b8a8cc; }
.woocommerce .woocommerce-breadcrumb a { text-decoration: none !important; }
.woocommerce .woocommerce-breadcrumb a:hover { color: #c9a326 !important; }

/* ── Produkt-Wrapper: flex → kein Stretch-Whitespace ───────────────────── */
.woocommerce div.product {
    display:        flex !important;
    flex-wrap:      wrap !important;
    align-items:    flex-start !important;
    gap:            2rem !important;
    border-radius:  14px !important;
    padding:        2rem !important;
    margin-bottom:  2rem !important;
}
html:not(.dp-dark) .woocommerce div.product {
    background:  #ffffff !important;
    border:      1px solid #e8e2d8 !important;
    border-top:  3px solid #c9a326 !important;
}

/* ── Galerie: 45 % Breite, Flexslider-Slider aktiv ─────────────────────── */
.woocommerce div.product div.images {
    flex:      0 0 calc(45% - 1rem) !important;
    max-width: calc(45% - 1rem) !important;
    min-width: 0 !important;
}

/* Galerie-Container */
.woocommerce div.product div.images .woocommerce-product-gallery {
    width:   100% !important;
    margin:  0 !important;
    padding: 0 !important;
}

/* Flexslider Viewport: inline-height überschreiben, volle Breite */
.woocommerce div.product div.images .flex-viewport {
    width:         100% !important;
    height:        auto !important;
    overflow:      hidden !important;
    border-radius: 10px !important;
}
.woocommerce div.product div.images .flex-viewport ul.slides { width: 100% !important; }
.woocommerce div.product div.images .flex-viewport li.woocommerce-product-gallery__image {
    width: 100% !important;
}
.woocommerce div.product div.images .flex-viewport li a {
    display: block !important;
    width:   100% !important;
}
/* Hauptbild: volle Breite, natürliche Höhe */
.woocommerce div.product div.images .flex-viewport img {
    width:      100% !important;
    height:     auto !important;
    max-width:  none !important;
    display:    block !important;
    object-fit: cover !important;
}

/* Thumbnail-Leiste: horizontale Reihe kleiner anklickbarer Bilder */
.woocommerce div.product div.images ol.flex-control-thumbs {
    display:        flex !important;
    flex-wrap:      wrap !important;
    gap:            6px !important;
    margin:         8px 0 0 !important;
    padding:        0 !important;
    list-style:     none !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs li {
    flex:    0 0 calc(25% - 5px) !important;
    margin:  0 !important;
    padding: 0 !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs img {
    width:         100% !important;
    aspect-ratio:  1 / 1 !important;
    object-fit:    cover !important;
    border-radius: 6px !important;
    border:        2px solid transparent !important;
    cursor:        pointer !important;
    display:       block !important;
    opacity:       .7 !important;
    transition:    opacity .15s, border-color .15s !important;
}
.woocommerce div.product div.images ol.flex-control-thumbs img:hover,
.woocommerce div.product div.images ol.flex-control-thumbs img.flex-active {
    opacity:      1 !important;
    border-color: #c9a326 !important;
}

/* Zoom-Icon ausblenden */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger { display: none !important; }

/* Placeholder */
html:not(.dp-dark) .woocommerce div.product div.images img.woocommerce-placeholder {
    object-fit: contain !important;
    padding:    15% !important;
    background: #faf8f4 !important;
}
html.dp-dark .woocommerce div.product div.images img.woocommerce-placeholder {
    object-fit: contain !important;
    padding:    15% !important;
    background: #1e0f38;
}

/* ── Summary: 55 % Breite ────────────────────────────────────────────────── */
.woocommerce div.product div.summary {
    flex:           1 1 calc(55% - 1rem) !important;
    min-width:      0 !important;
    display:        flex !important;
    flex-direction: column !important;
    gap:            .75rem !important;
}
html:not(.dp-dark) .woocommerce div.product .product_title {
    color: #2a2010 !important;
}
html.dp-dark .woocommerce div.product .product_title {
    color: #f5f0fa;
}
.woocommerce div.product .product_title {
    font-size:      1.6rem !important;
    font-weight:    800 !important;
    line-height:    1.2 !important;
    letter-spacing: -.025em !important;
    margin:         0 !important;
}
html:not(.dp-dark) .woocommerce div.product p.price,
html:not(.dp-dark) .woocommerce div.product span.price { color: #2a2010 !important; }
html.dp-dark .woocommerce div.product p.price,
html.dp-dark .woocommerce div.product span.price { color: #e83d9f; }
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size:   1.5rem !important;
    font-weight: 800 !important;
    margin:      0 !important;
}
html:not(.dp-dark) .woocommerce div.product p.price .woocommerce-Price-amount,
html:not(.dp-dark) .woocommerce div.product span.price .woocommerce-Price-amount { color: #2a2010 !important; }
html.dp-dark .woocommerce div.product p.price .woocommerce-Price-amount,
html.dp-dark .woocommerce div.product span.price .woocommerce-Price-amount { color: #e83d9f; }

html:not(.dp-dark) .woocommerce div.product .woocommerce-product-details__short-description { color: #5a4a38 !important; }
html.dp-dark .woocommerce div.product .woocommerce-product-details__short-description { color: #b8a8cc; }
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size:   .9rem !important;
    line-height: 1.7 !important;
    margin:      0 !important;
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 !important; }

/* GZD Pflichtangaben */
.woocommerce div.product p.tax-info,
.woocommerce div.product p.shipping-costs-info,
.woocommerce div.product .wc-gzd-additional-info {
    font-size:   .75rem !important;
    color:       #9a8b77 !important;
    margin:      0 !important;
    line-height: 1.5 !important;
}
.woocommerce div.product p.shipping-costs-info a,
.woocommerce div.product .wc-gzd-additional-info a { color: #7a6a58 !important; text-decoration: underline !important; }

/* Warenkorb-Formular */
.woocommerce div.product form.cart {
    display:     flex !important;
    align-items: center !important;
    gap:         .75rem !important;
    margin:      .5rem 0 0 !important;
    flex-wrap:   wrap !important;
}
.woocommerce div.product form.cart .qty {
    width:         4rem !important;
    border-radius: 8px !important;
    padding:       .5em .6em !important;
    font-size:     .95rem !important;
    font-weight:   700 !important;
    text-align:    center !important;
}
html:not(.dp-dark) .woocommerce div.product form.cart .qty {
    border:      1px solid #e8e2d8 !important;
    color:       #2a2010 !important;
    background:  #faf8f4 !important;
}
html.dp-dark .woocommerce div.product form.cart .qty {
    border:      1px solid #42286a;
    color:       #e5dff0;
    background:  #1e0f38;
}
.woocommerce div.product form.cart .single_add_to_cart_button {
    background:     linear-gradient(135deg,#c9a326 0%,#b8911e 100%) !important;
    color:          #ffffff !important;
    border:         none !important;
    border-radius:  999px !important;
    font-size:      .9rem !important;
    font-weight:    700 !important;
    padding:        .6em 1.6em !important;
    cursor:         pointer !important;
    transition:     opacity .15s, transform .15s !important;
    text-transform: none !important;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover { opacity: .88 !important; transform: translateY(-1px) !important; }

/* Produkt-Meta */
.woocommerce div.product .product_meta {
    font-size:   .75rem !important;
    color:       #9a8b77 !important;
    margin-top:  auto !important;
    padding-top: .75rem !important;
    border-top:  1px solid #f0ebe2 !important;
}
.woocommerce div.product .product_meta a { color: #c9a326 !important; text-decoration: none !important; }
.woocommerce div.product .product_meta a:hover { text-decoration: underline !important; }

/* ── Tabs: volle Breite (flex-basis 100%) ────────────────────────────────── */
.woocommerce div.product .woocommerce-tabs { flex-basis: 100% !important; margin-top: 0 !important; }
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 2px solid #e8e2d8 !important; }
html.dp-dark .woocommerce div.product .woocommerce-tabs ul.tabs { border-bottom: 2px solid #42286a; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display:    flex !important;
    gap:        .35rem !important;
    padding:    0 !important;
    margin:     0 !important;
    list-style: none !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important; border: 1px solid transparent !important;
    border-bottom: none !important; border-radius: 8px 8px 0 0 !important;
    margin: 0 !important; padding: 0 !important;
}
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #7a6a58 !important; }
html.dp-dark .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: #b8a8cc; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size: .8rem !important; font-weight: 600 !important;
    padding: .55rem 1rem !important; display: block !important; text-decoration: none !important;
}
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background: #ffffff !important; border-color: #e8e2d8 !important;
    border-bottom: 2px solid #ffffff !important; margin-bottom: -2px !important;
}
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #2a2010 !important; font-weight: 700 !important; }
.woocommerce div.product .woocommerce-tabs .panel {
    border-top:    none !important;
    border-radius: 0 0 10px 10px !important;
    padding:       1.5rem !important;
    font-size:     .88rem !important;
    line-height:   1.7 !important;
    margin:        0 !important;
}
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs .panel {
    background:  #ffffff !important;
    border:      1px solid #e8e2d8 !important;
    color:       #3a2a1a !important;
}
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { font-weight: 700 !important; }
/* Links in Tab-Panels */
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs .panel a { color: #304a98 !important; }
html.dp-dark .woocommerce div.product .woocommerce-tabs .panel a { color: #a0b0ff; }
.woocommerce div.product .woocommerce-tabs .panel a { text-decoration: underline !important; }
html:not(.dp-dark) .woocommerce div.product .woocommerce-tabs .panel a:hover { color: #1e3080 !important; }
html.dp-dark .woocommerce div.product .woocommerce-tabs .panel a:hover { color: #e83d9f; }
/* Tab-Beschreibungs-Überschrift ausblenden (WC dupliziert den Produkttitel) */
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none !important; }

/* ── Ähnliche Produkte: 4 Spalten, volle Breite ─────────────────────────── */
.woocommerce .related.products,
.woocommerce .upsells.products {
    margin-top: 1.5rem !important;
}
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
    font-size:      1.1rem !important;
    font-weight:    800 !important;
    letter-spacing: -.02em !important;
    margin:         0 0 1rem !important;
    padding-bottom: .6rem !important;
}
html:not(.dp-dark) .woocommerce .related.products > h2,
html:not(.dp-dark) .woocommerce .upsells.products > h2 {
    color:        #2a2010 !important;
    border-bottom: 2px solid #e8e2d8 !important;
}
html.dp-dark .woocommerce .related.products > h2,
html.dp-dark .woocommerce .upsells.products > h2 {
    color:        #f5f0fa;
    border-bottom: 2px solid #42286a;
}
/* 4-spaltig, alle float/width-Overrides zurücksetzen */
.woocommerce .related ul.products,
.woocommerce .upsells ul.products {
    display:               grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap:                   1rem !important;
}
.woocommerce .related ul.products li.product,
.woocommerce .upsells ul.products li.product {
    width:  auto !important;
    float:  none !important;
    margin: 0 !important;
}
/* Buttons Gold */
.woocommerce .related.products a.button,
.woocommerce .related.products button.button,
.woocommerce .upsells.products a.button,
.woocommerce .upsells.products button.button {
    background:    linear-gradient(135deg,#c9a326 0%,#b8911e 100%) !important;
    color:         #ffffff !important;
    border-radius: 999px !important;
    border:        none !important;
    font-weight:   700 !important;
}
.woocommerce .related.products a.button:hover,
.woocommerce .upsells.products a.button:hover { opacity: .88 !important; }

/* ── Bewertungen ─────────────────────────────────────────────────────────── */
html:not(.dp-dark) .woocommerce #reviews #comments ol.commentlist li {
    background: #faf8f4 !important; border: 1px solid #e8e2d8 !important;
    border-radius: 8px !important; padding: 1rem !important; margin-bottom: .75rem !important;
}
html.dp-dark .woocommerce #reviews #comments ol.commentlist li {
    background: #1e0f38; border: 1px solid #42286a;
    border-radius: 8px !important; padding: 1rem !important; margin-bottom: .75rem !important;
    color: #e5dff0;
}
.woocommerce #reviews #comments ol.commentlist li img.avatar { border-radius: 50% !important; width: 40px !important; }
html:not(.dp-dark) .woocommerce #reviews #reply-title { color: #2a2010 !important; }
html.dp-dark .woocommerce #reviews #reply-title { color: #f5f0fa; }
.woocommerce #reviews #reply-title { font-size: 1rem !important; font-weight: 700 !important; margin: 1.5rem 0 .75rem !important; }
html:not(.dp-dark) .woocommerce #review_form .comment-form p label { color: #5a4a38 !important; }
html.dp-dark .woocommerce #review_form .comment-form p label { color: #b8a8cc; }
.woocommerce #review_form .comment-form p label { font-size: .8rem !important; font-weight: 600 !important; }
.woocommerce #review_form .comment-form p input,
.woocommerce #review_form .comment-form p textarea {
    border-radius: 8px !important; padding: .5em .75em !important;
    font-size: .85rem !important; width: 100% !important;
}
html:not(.dp-dark) .woocommerce #review_form .comment-form p input,
html:not(.dp-dark) .woocommerce #review_form .comment-form p textarea {
    border: 1px solid #e8e2d8 !important; background: #faf8f4 !important; color: #2a2010 !important;
}
html.dp-dark .woocommerce #review_form .comment-form p input,
html.dp-dark .woocommerce #review_form .comment-form p textarea {
    border: 1px solid #42286a; background: #1e0f38; color: #e5dff0;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .woocommerce div.product {
        flex-direction: column !important;
        padding:        1.25rem !important;
        gap:            1.25rem !important;
    }
    .woocommerce div.product div.images,
    .woocommerce div.product div.summary {
        flex:      1 1 100% !important;
        max-width: 100% !important;
    }
    .woocommerce div.product .product_title { font-size: 1.3rem !important; }
    .woocommerce .related ul.products,
    .woocommerce .upsells ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* =========================================================================
   45. Dark Mode
   ─────────────────────────────────────────────────────────────────────────
   Variables-only approach: alle semantischen Tokens werden überschrieben.
   Komponenten, die die Tokens nutzen, erhalten Dark Mode automatisch.

   Aktivierung:
     a) System-Präferenz: @media (prefers-color-scheme: dark)
     b) Manueller Toggle: [data-dp-theme="dark"] auf <html>
   Licht erzwingen: [data-dp-theme="light"] auf <html>
   ========================================================================= */

/* ── Aubergine Dark-Tokens — System-Präferenz ──────────────────────────── */
/*    Basis: tiefes Aubergine/Pflaume, Akzent: #d00f82 Hot-Pink             */
/*    Kontraste: heading ~21:1, body ~19:1, muted ~9:1 — alles WCAG AAA     */
@media (prefers-color-scheme: dark) {
    :root:not([data-dp-theme="light"]) {
        --dp-bg:            #0f0818;   /* Tiefstes Aubergine-Schwarz */
        --dp-bg-subtle:     #19102a;   /* Sanftes dunkles Pflaume */
        --dp-surface:       #221538;   /* Sektions-Hintergrund */
        --dp-surface-raised:#2d1a48;   /* Karten-Hintergrund */
        --dp-text:          #e5dff0;   /* Warm-Lavendel Haupttext */
        --dp-text-muted:    #b8a8cc;   /* Gedämpftes Lavender */
        --dp-text-inverse:  #0f0818;
        --dp-text-heading:  #f5f0fa;   /* Fast-Weiß mit Lila-Hauch */
        --dp-text-body:     #e5dff0;
        --dp-border:        #42286a;   /* Pflaume-Rahmen */
        --dp-border-strong: #5c3a88;   /* Kräftigerer Rahmen */
        --dp-primary:        #8090f0;   /* Helles Blau auf dunklem Grund */
        --dp-primary-dark:   #6070d8;
        --dp-primary-light:  #a0b0ff;
        --dp-primary-subtle: #1a1c48;
        --dp-accent:         #e83d9f;   /* Helleres Hot-Pink für Dark Bg */
        --dp-accent-dark:    #d00f82;
        --dp-accent-light:   #f570c8;
        --dp-accent-subtle:  #2a0820;
        --dp-success-bg: #0a1a10;
        --dp-error-bg:   #1a080f;
        --dp-shadow-sm: 0 1px 4px rgba(0,0,0,.6),  0 1px 2px rgba(0,0,0,.5);
        --dp-shadow-md: 0 4px 20px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.5);
        --dp-shadow-lg: 0 12px 48px rgba(0,0,0,.8), 0 4px 10px rgba(0,0,0,.6);
        --dp-shadow-focus-primary: 0 0 0 3px rgba(128,144,240,.40);
        --dp-shadow-focus-accent:  0 0 0 3px rgba(208,15,130,.40);
        --dp-primary-rgb: 128, 144, 240;
        --dp-accent-rgb:  232, 61, 159;
    }
}

/* ── Aubergine Dark-Tokens — Manueller Toggle ──────────────────────────── */
[data-dp-theme="dark"] {
    --dp-bg:            #0f0818;
    --dp-bg-subtle:     #19102a;
    --dp-surface:       #221538;
    --dp-surface-raised:#2d1a48;
    --dp-text:          #e5dff0;
    --dp-text-muted:    #b8a8cc;
    --dp-text-inverse:  #0f0818;
    --dp-text-heading:  #f5f0fa;
    --dp-text-body:     #e5dff0;
    --dp-border:        #42286a;
    --dp-border-strong: #5c3a88;
    --dp-primary:        #8090f0;
    --dp-primary-dark:   #6070d8;
    --dp-primary-light:  #a0b0ff;
    --dp-primary-subtle: #1a1c48;
    --dp-accent:         #e83d9f;
    --dp-accent-dark:    #d00f82;
    --dp-accent-light:   #f570c8;
    --dp-accent-subtle:  #2a0820;
    --dp-success-bg: #0a1a10;
    --dp-error-bg:   #1a080f;
    --dp-shadow-sm: 0 1px 4px rgba(0,0,0,.6),  0 1px 2px rgba(0,0,0,.5);
    --dp-shadow-md: 0 4px 20px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.5);
    --dp-shadow-lg: 0 12px 48px rgba(0,0,0,.8), 0 4px 10px rgba(0,0,0,.6);
    --dp-shadow-focus-primary: 0 0 0 3px rgba(128,144,240,.40);
    --dp-shadow-focus-accent:  0 0 0 3px rgba(208,15,130,.40);
    --dp-primary-rgb: 128, 144, 240;
    --dp-accent-rgb:  232, 61, 159;
}

/* ── Dark-Mode-Toggle-Pille (Segmented Control) ──────────────────────── */

.dp-theme-toggle-pill {
    display:         inline-flex;
    align-items:     center;
    gap:             0;
    padding:         3px;
    border:          1px solid rgba(180,150,100,.35);
    border-radius:   999px;
    background:      rgba(180,150,100,.08);
    cursor:          pointer;
    transition:      background var(--dp-t), border-color var(--dp-t);
    line-height:     1;
    height:          34px;
}
.dp-theme-toggle-pill:hover {
    background:   rgba(180,150,100,.18);
    border-color: rgba(180,150,100,.55);
}

/* Beide Icons immer sichtbar */
.dp-theme-toggle-pill__seg {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           26px;
    height:          26px;
    border-radius:   999px;
    font-size:       .9rem;
    transition:      background var(--dp-t), color var(--dp-t);
    color:           #7a6a55;
}

/* Light-Mode: Sonne aktiv (gefüllter Kreis) */
.dp-theme-toggle-pill__seg--sun  {
    background: rgba(180,150,100,.55);
    color: #3a2e1a;
}
.dp-theme-toggle-pill__seg--moon { background: none; }

/* Dark-Mode: Mond aktiv */
.dp-theme-toggle-pill--dark .dp-theme-toggle-pill__seg--sun  { background: none; color: #7a6a55; }
.dp-theme-toggle-pill--dark .dp-theme-toggle-pill__seg--moon {
    background: rgba(200,160,80,.70);
    color: #1a1410;
}

/* Position im Primärmenü */
.dp-nav-theme-toggle {
    display:      flex;
    align-items:  center;
    margin-left:  .35rem;
}

/* Mobile: im Hamburger-Menü zentriert zeigen */
@media (max-width: 767px) {
    .dp-nav-theme-toggle {
        display:         flex;
        justify-content: center;
        margin: .5rem 0;
    }
}

/* ── Komponenten-Overrides — Aubergine Dark Mode ─────────────────────────
   Basis: tiefes Aubergine/Pflaume (#0f0818 → #2d1a48)
   Akzent: Hot-Pink #d00f82 / #e83d9f
   Text: warm-lavendel #f5f0fa / #e5dff0 / #b8a8cc
   ──────────────────────────────────────────────────────────────────────── */

/* BASIS */
html.dp-dark body,
html.dp-dark .dp-homepage {
    background: linear-gradient(160deg, #160a26 0%, #0f0818 40%, #0a0514 100%) !important;
    background-attachment: fixed !important;
    color: #e5dff0 !important;
}
html.dp-dark .site-content,
html.dp-dark .content-area { color: #e5dff0; }

/* ── GeneratePress Header & Navigation ────────────────────────────────── */
html.dp-dark .site-header {
    background: linear-gradient(90deg, #1e0d34 0%, #19102a 60%, #1a0b2e 100%) !important;
    border-bottom: 1px solid #5c3a88 !important;
    box-shadow: 0 2px 24px rgba(208,15,130,.12) !important;
}
/* Nav-Container (GP setzt background via Customizer-Inline-CSS — muss !important überschreiben) */
html.dp-dark .main-navigation,
html.dp-dark .main-navigation .inside-navigation {
    background: transparent !important;
    background-color: transparent !important;
}
html.dp-dark .site-header a,
html.dp-dark .site-title a            { color: #f5f0fa !important; }
html.dp-dark .main-navigation .main-nav ul li a {
    color: #d8cce8 !important;
}
html.dp-dark .main-navigation .main-nav ul li a:hover {
    color: #f5f0fa !important;
    text-shadow: 0 0 12px rgba(232,61,159,.5);
}
/* GP Dropdown-Untermenüs */
html.dp-dark .main-navigation .main-nav ul ul,
html.dp-dark .main-navigation .main-nav ul li ul {
    background: #221538 !important;
    border: 1px solid #42286a !important;
    box-shadow: 0 6px 24px rgba(0,0,0,.70) !important;
}
html.dp-dark .main-navigation .main-nav ul ul li { border-bottom: 1px solid #2d1a48 !important; }
html.dp-dark .main-navigation .main-nav ul ul li a { color: #e5dff0 !important; }
html.dp-dark .main-navigation .main-nav ul ul li a:hover {
    background: rgba(208,15,130,.12) !important;
    color: #f5f0fa !important;
}

/* ── Mobile Hamburger-Button ───────────────────────────────────────────── */
html.dp-dark button.menu-toggle {
    color: #e5dff0 !important;
    background: transparent !important;
}
html.dp-dark button.menu-toggle:hover,
html.dp-dark button.menu-toggle:focus {
    color: #f5f0fa !important;
    background: rgba(208,15,130,.12) !important;
}
html.dp-dark button.menu-toggle .gp-icon svg {
    fill: #e5dff0 !important;
    stroke: #e5dff0 !important;
}
/* Mobile Nav: offenes Menü dunkel hinterlegen */
html.dp-dark .main-navigation.toggled .inside-navigation,
html.dp-dark .main-navigation.toggled {
    background: #160a26 !important;
    border-top: 1px solid #42286a !important;
}

/* ── Member / Login Trigger-Pillen ────────────────────────────────────── */
html.dp-dark .dp-nav-member__trigger,
html.dp-dark .dp-nav-login__trigger {
    background:   rgba(208,15,130,.18) !important;
    border-color: rgba(208,15,130,.42) !important;
    color:        #f5f0fa !important;
}
html.dp-dark .dp-nav-member__trigger:hover,
html.dp-dark .dp-nav-login__trigger:hover,
html.dp-dark .dp-nav-member--open .dp-nav-member__trigger,
html.dp-dark .dp-nav-login--open .dp-nav-login__trigger {
    background:   rgba(208,15,130,.30) !important;
    border-color: rgba(208,15,130,.65) !important;
}
html.dp-dark .dp-nav-member__balance-value { color: #f570c8 !important; }
html.dp-dark .dp-nav-member__name          { color: #f5f0fa !important; }
html.dp-dark .dp-nav-member__chevron,
html.dp-dark .dp-nav-login__chevron        { color: #b8a8cc !important; }

/* ── Dropdown-Panels (Member & Login) ─────────────────────────────────── */
html.dp-dark .dp-nav-member__dropdown,
html.dp-dark .dp-nav-login__panel {
    background:   #221538 !important;
    border-color: #42286a !important;
    box-shadow: 0 6px 32px rgba(0,0,0,.75) !important;
}
html.dp-dark .dp-nav-member__dd-link { color: #e5dff0 !important; }
html.dp-dark .dp-nav-member__dd-link:hover,
html.dp-dark .dp-nav-member__dd-link:focus {
    background: rgba(208,15,130,.14) !important;
    color: #f5f0fa !important;
}
html.dp-dark .dp-nav-member__dd-sep { border-color: #42286a !important; }

/* Login-Panel Formular */
html.dp-dark .dp-nav-login__label { color: #b8a8cc !important; }
html.dp-dark .dp-nav-login__input {
    background:   #0f0818 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .dp-nav-login__input:focus { border-color: #d00f82 !important; }
html.dp-dark .dp-nav-login__forgot,
html.dp-dark .dp-nav-login__join  { color: #b8a8cc !important; }
html.dp-dark .dp-nav-login__error { background: #2a0820 !important; color: #f09090 !important; border-color: #6a1840 !important; }

/* ── Seiten-Hintergründe ──────────────────────────────────────────────── */
html.dp-dark .dp-member-page,
html.dp-dark .dp-member-hero,
html.dp-dark .dp-pocket-page,
html.dp-dark .dp-pocket-hero,
html.dp-dark body.dp-standard-page { background: #0f0818 !important; }

html.dp-dark .dp-member-features,
html.dp-dark .dp-member-feature-card,
html.dp-dark .dp-member-how,
html.dp-dark .dp-pocket-section--earn,
html.dp-dark .dp-pocket-section--spend,
html.dp-dark .dp-pocket-section--history,
html.dp-dark .dp-pocket-card,
html.dp-dark .dp-pocket-card--spend {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}

/* ── Standard-Content-Seiten ──────────────────────────────────────────── */
html.dp-dark body.dp-standard-page .inside-article,
html.dp-dark body.dp-standard-page .comments-area,
html.dp-dark body.dp-standard-page .comment-respond {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark body.dp-standard-page h1.entry-title,
html.dp-dark body.dp-standard-page .entry-title { color: #f5f0fa !important; }
html.dp-dark body.dp-standard-page .entry-content { color: #e5dff0 !important; }
html.dp-dark body.dp-standard-page .entry-content h2,
html.dp-dark body.dp-standard-page .entry-content h3 { color: #f5f0fa !important; }
html.dp-dark body.dp-standard-page .entry-content a:not(.dp-btn):not(.dp-kaffeekasse__cta):not(.pmpro_btn):not(.dp-hero-rating__login-btn) { color: #a0b0ff !important; }
html.dp-dark body.dp-standard-page .entry-content a:not(.dp-btn):not(.dp-kaffeekasse__cta):not(.pmpro_btn):not(.dp-hero-rating__login-btn):hover { color: #e83d9f !important; }
html.dp-dark body.dp-standard-page .entry-content blockquote {
    background:   #19102a !important;
    border-color: #5c3a88 !important;
    color:        #b8a8cc !important;
}
html.dp-dark body.dp-standard-page .entry-content code,
html.dp-dark body.dp-standard-page .entry-content pre {
    background:   #19102a !important;
    color:        #f570c8 !important;
    border-color: #42286a !important;
}

/* Kommentare (Standard + Episode) */
html.dp-dark body.dp-standard-page .comment-list .comment,
html.dp-dark .dp-ep-comments-zone .comment {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark body.dp-standard-page .comment-list .children .comment {
    background: #221538 !important;
    border-color: #42286a !important;
}
html.dp-dark body.dp-standard-page .comment-list .children .children .comment {
    background: #19102a !important;
}
html.dp-dark body.dp-standard-page .comment-meta       { color: #b8a8cc !important; }
html.dp-dark body.dp-standard-page .comment-content    { color: #e5dff0 !important; }
html.dp-dark body.dp-standard-page .comment-form textarea,
html.dp-dark .dp-ep-comments-zone .comment-form textarea {
    background:   #19102a !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .dp-ep-comments-zone__heading  { color: #f5f0fa !important; border-color: #42286a !important; }
html.dp-dark .dp-ep-comments-zone--vor .dp-ep-comments-zone__heading { color: #b8a8cc !important; }
html.dp-dark .dp-ep-comments-zone__empty    { color: #b8a8cc !important; }

/* ── Formulare (allgemein) ────────────────────────────────────────────── */
html.dp-dark input[type=text],
html.dp-dark input[type=email],
html.dp-dark input[type=url],
html.dp-dark input[type=number],
html.dp-dark input[type=search],
html.dp-dark input[type=password],
html.dp-dark input[type=date],
html.dp-dark textarea,
html.dp-dark select {
    background:   #19102a !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark input:focus,
html.dp-dark textarea:focus,
html.dp-dark select:focus { border-color: #d00f82 !important; outline: none !important; box-shadow: 0 0 0 2px rgba(208,15,130,.25) !important; }
html.dp-dark input::placeholder,
html.dp-dark textarea::placeholder { color: #6a4a7a !important; opacity: 1 !important; }
html.dp-dark label { color: #b8a8cc !important; }

/* ── Episodenseite ────────────────────────────────────────────────────── */
html.dp-dark .dp-episode-page,
html.dp-dark .dp-episode-page-wrap { background: #0f0818 !important; }
html.dp-dark .dp-ep-layout          { background: #0f0818; }
html.dp-dark .dp-ep-section {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .dp-ep-section__heading { color: #f5f0fa !important; }
html.dp-dark .dp-ep-card {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-ep-card__heading  { color: #f5f0fa !important; }
html.dp-dark .dp-ep-card__note     { color: #b8a8cc !important; }
html.dp-dark .dp-ep-facts__label,
html.dp-dark .dp-ep-credits__label { color: #b8a8cc !important; }
html.dp-dark .dp-ep-facts__value,
html.dp-dark .dp-ep-credits__value { color: #e5dff0 !important; }
html.dp-dark .dp-ep-title,
html.dp-dark .dp-ep-title-en,
html.dp-dark .dp-ep-eyebrow,
html.dp-dark .dp-ep-air-date       { color: #e5dff0 !important; }
html.dp-dark .dp-ep-tag {
    background:   rgba(208,15,130,.18) !important;
    color:        #f570c8 !important;
    border-color: rgba(208,15,130,.35) !important;
}
html.dp-dark .dp-ep-tag:hover {
    background:   rgba(208,15,130,.30) !important;
    color:        #f5f0fa !important;
}

/* Episode Status-Badges */
html.dp-dark .dp-ep-status--unbesprochen { background: #221538 !important; color: #b8a8cc !important; }
html.dp-dark .dp-ep-status--geplant      { background: #1a1c48 !important; color: #a0b0ff !important; }
html.dp-dark .dp-ep-status--besprochen   { background: #0a1a10 !important; color: #7dd890 !important; }

/* Sternebewertung & Voting */
html.dp-dark .dp-ep-rating-aggregate     { color: #e5dff0 !important; }
html.dp-dark .dp-ep-rating-bonus         { background: #2a0820 !important; color: #f570c8 !important; border-color: #42286a !important; }
html.dp-dark .dp-ep-rating-bonus--earned { background: #0a1a10 !important; color: #7dd890 !important; }
html.dp-dark .dp-ep-star                 { color: #42286a !important; }
html.dp-dark .dp-ep-star--active,
html.dp-dark .dp-ep-star--hover          { color: #e83d9f !important; }
html.dp-dark .dp-ep-pool__bar-wrap       { background: #2d1a48 !important; }
html.dp-dark .dp-ep-vote-form__input-wrap { background: #19102a !important; border-color: #42286a !important; }

/* ── Homepage ─────────────────────────────────────────────────────────── */
html.dp-dark .dp-section--hero,
html.dp-dark .dp-hero-card {
    background: linear-gradient(135deg, #3a1560 0%, #2d1a48 60%, #1e0f38 100%) !important;
    border-color: #5c3a88 !important;
    box-shadow: 0 4px 40px rgba(208,15,130,.10), 0 1px 0 rgba(92,58,136,.5) !important;
}
html.dp-dark .dp-hero-stage__player,
html.dp-dark .dp-hero-card .dp-hero-stage__player {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-hero-stage__title          { color: #f5f0fa !important; text-shadow: 0 1px 20px rgba(208,15,130,.25); }
html.dp-dark .dp-hero-stage__excerpt        { color: #e5dff0 !important; }
html.dp-dark .dp-hero-rating                { background: rgba(45,26,72,.95) !important; border-color: rgba(201,163,38,.2) !important; }
html.dp-dark .dp-hero-rating__label         { color: #e5dff0 !important; }
html.dp-dark .dp-hero-star                  { color: #6b4fa0 !important; }
html.dp-dark .dp-hero-star--active,
html.dp-dark .dp-hero-star--hover           { color: #f0c060 !important; }
html.dp-dark .dp-hero-rating__login         { color: #9080b0 !important; }
html.dp-dark .dp-hero-rating__login-btn     { background: #c9a326 !important; color: #fff !important; }
html.dp-dark .dp-hero-rating__login-btn:hover { background: #a8871e !important; }
html.dp-dark .dp-hero-stage__rail .dp-sidebar-panel,
html.dp-dark .dp-hero-stage__rail .dp-news-panel {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}

/* Netflix-Ranking / Rail */
html.dp-dark .dp-netflix-ranking,
html.dp-dark .dp-netflix-item__info {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border-color: #52328a !important;
    box-shadow: 0 2px 14px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-netflix-item__placeholder { background: #42286a !important; }

/* ── Sektions-Eyebrows & Separatoren ────────────────────────────────── */
html.dp-dark .dp-section-eyebrow,
html.dp-dark .dp-eyebrow,
html.dp-dark [class*="eyebrow"] { color: #e83d9f !important; }
html.dp-dark .dp-section-title,
html.dp-dark .dp-section__heading { color: #f5f0fa !important; }
html.dp-dark hr,
html.dp-dark .dp-sep { border-color: #42286a !important; }

/* ── Homepage-Sektions-Wrapper ───────────────────────────────────────── */
html.dp-dark [class*="dp-section--"] {
    background: rgba(255,255,255,.018) !important;
    border-color: #3a2060 !important;
    border-radius: 12px;
}

/* ── Sidebar-Blöcke ───────────────────────────────────────────────────── */
html.dp-dark .dp-sb-block,
html.dp-dark .widget {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border-color: #52328a !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-sb-block__title   { color: #e83d9f !important; letter-spacing: .06em; }
/* Höhere Spezifität als PHP-inline-style (.dp-sb-block a .dp-sb-ep-list__title = 0,2,1) */
html.dp-dark .dp-sb-block .dp-sb-ep-list__title  { color: #e5dff0 !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__series { color: #b8a8cc !important; }
html.dp-dark .dp-sb-block a,
html.dp-dark .dp-sb-block a:link,
html.dp-dark .dp-sb-block a:visited  { color: #c8b8e0 !important; text-decoration: none !important; }
html.dp-dark .dp-sb-block a:hover    { color: #e83d9f !important; text-decoration: underline !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__link  { color: #c8b8e0 !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__rank  { background: #2d1a48 !important; border-color: #52328a !important; color: #c8b8e0 !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__meta  { color: #b8a8cc !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item  { border-bottom-color: rgba(255,255,255,.06) !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--filler { opacity: .8 !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--top { background: rgba(208,15,130,.15) !important; border-radius: 6px !important; border-bottom-color: transparent !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--top .dp-sb-ep-list__rank { color: #fff !important; background: #d00f82 !important; border-color: #e83d9f !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--top .dp-sb-ep-list__title { color: #f5f0fa !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--top .dp-sb-ep-list__series { color: #e83d9f !important; }
html.dp-dark .dp-sb-block .dp-sb-ep-list__item--top .dp-sb-ep-list__meta { color: #c8b8e0 !important; }

/* ── Ep-Card im Archiv ────────────────────────────────────────────────── */
html.dp-dark .dp-ep-card__body          { color: #e5dff0 !important; }
html.dp-dark .dp-ep-card__meta          { color: #b8a8cc !important; }
html.dp-dark .dp-ep-card__title a       { color: #e5dff0 !important; }
html.dp-dark .dp-ep-card__title a:hover { color: #f5f0fa !important; }
html.dp-dark .dp-ep-card__badge--besprochen { background: #0a1a10 !important; color: #7dd890 !important; }
html.dp-dark .dp-ep-card__badge--geplant    { background: #1a1c48 !important; color: #a0b0ff !important; }
html.dp-dark .dp-ep-card__thumb-placeholder { background: #42286a !important; }

/* ── WooCommerce ──────────────────────────────────────────────────────── */
html.dp-dark .dp-product-card,
html.dp-dark .woocommerce ul.products li.product {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .dp-product-card__image-wrap { background: #19102a !important; }
html.dp-dark .woocommerce-ordering select {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .woocommerce nav.woocommerce-pagination ul li a,
html.dp-dark .woocommerce nav.woocommerce-pagination ul li span {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .woocommerce div.product {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}
html.dp-dark .woocommerce div.product .woocommerce-tabs ul.tabs {
    background:   #19102a !important;
    border-color: #42286a !important;
}
html.dp-dark .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}
html.dp-dark .woocommerce div.product .woocommerce-tabs .panel {
    background:   #2d1a48 !important;
    color:        #e5dff0 !important;
}
html.dp-dark .woocommerce div.product form.cart .qty,
html.dp-dark .woocommerce #review_form .comment-form p input,
html.dp-dark .woocommerce #review_form .comment-form p textarea,
html.dp-dark .widget_search .search-field {
    background:   #19102a !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .woocommerce #reviews #comments ol.commentlist li {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
}

/* ── Notices / Feedback ───────────────────────────────────────────────── */
html.dp-dark .dp-notice--success {
    background:   #0a1a10 !important;
    border-color: #2a6830 !important;
    color:        #7dd890 !important;
}
html.dp-dark .dp-notice--error {
    background:   #1a080f !important;
    border-color: #6a1840 !important;
    color:        #f09090 !important;
}
html.dp-dark .dp-notice--warning {
    background:   #1a1530 !important;
    border-color: #42286a !important;
    color:        #d0c0f0 !important;
}

/* ── Site Footer ──────────────────────────────────────────────────────── */
html.dp-dark .dp-site-footer,
html.dp-dark .dp-hp-footer {
    background:   #19102a !important;
    color:        #b8a8cc !important;
    border-top:   1px solid #42286a !important;
}
html.dp-dark .dp-hp-footer a          { color: #b8a8cc !important; }
html.dp-dark .dp-hp-footer a:hover    { color: #e83d9f !important; }
html.dp-dark .dp-hp-footer__copy      { color: #6a4a7a !important; }
html.dp-dark .dp-hp-footer__claim     { color: #e5dff0 !important; }

/* ── Dark-Mode-Toggle im Aubergine-Kontext ────────────────────────────── */
html.dp-dark .dp-theme-toggle-pill {
    background:   rgba(92,58,136,.35) !important;
    border-color: rgba(208,15,130,.50) !important;
    box-shadow:   0 0 10px rgba(208,15,130,.15) !important;
}
html.dp-dark .dp-theme-toggle-pill:hover {
    background:   rgba(208,15,130,.28) !important;
    border-color: rgba(208,15,130,.75) !important;
    box-shadow:   0 0 16px rgba(208,15,130,.30) !important;
}
html.dp-dark .dp-theme-toggle-pill--dark .dp-theme-toggle-pill__seg--moon {
    background: #d00f82 !important;
    color: #fff !important;
    box-shadow: 0 0 8px rgba(208,15,130,.60) !important;
}

/* ── Ambient-Glow hinter dem Hero ────────────────────────────────────── */
html.dp-dark .dp-homepage::before {
    content: '';
    position: fixed;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 700px;
    height: 400px;
    background: radial-gradient(ellipse, rgba(208,15,130,.08) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
}

/* ── Ep-Section im Dunklen eleganter ─────────────────────────────────── */
html.dp-dark .dp-ep-section {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border-color: #52328a !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-ep-collapsible > summary::after { color: #a080d0 !important; }
html.dp-dark .dp-ep-collapsible > summary:hover  { color: #e5dff0 !important; }
html.dp-dark .dp-ep-collapsible[open] > summary  { border-bottom-color: #52328a !important; }

/* ── Ep-Hero mit Tiefe ───────────────────────────────────────────────── */
html.dp-dark .dp-ep-hero {
    background: linear-gradient(135deg, #220d3a 0%, #19102a 60%, #150820 100%) !important;
    border-bottom: 1px solid #5c3a88 !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.5), 0 0 60px rgba(208,15,130,.08) !important;
}

/* =========================================================================
   45b. Dark Mode — Ergänzungen: Scrolling-Nav, Sektionen, Glow, Seiten
   ========================================================================= */

/* ── Scrolled / Sticky Navigation ───────────────────────────────────── */
html.dp-dark .main-navigation.dp-nav-scrolled,
html.dp-dark .main-navigation.navigation-stick {
    background: rgba(12, 5, 20, 0.94) !important;
    background-color: rgba(12, 5, 20, 0.94) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    border-bottom: 1px solid #42286a !important;
    box-shadow: 0 2px 24px rgba(0,0,0,.6), 0 0 40px rgba(208,15,130,.06) !important;
}

/* ── Homepage: Hardcodierte Farben überschreiben ─────────────────────── */
/* Die helle Homepage-Variante erzwingt #1a1510 auf Titeln — im Dark Mode invisible */
html.dp-dark .dp-homepage .dp-section__title,
html.dp-dark .dp-homepage .dp-section__headline {
    color: #f5f0fa !important;
    text-shadow: 0 1px 16px rgba(208,15,130,.12);
}
html.dp-dark .dp-homepage .dp-section__lead {
    color: #c8b8e0 !important;
}
html.dp-dark .dp-homepage .dp-section__eyebrow,
html.dp-dark .dp-homepage .dp-eyebrow,
html.dp-dark .dp-homepage [class*="eyebrow"] {
    color: #e83d9f !important;
}
html.dp-dark .dp-homepage .dp-section__more-link {
    color: #b8a8cc !important;
}
html.dp-dark .dp-homepage .dp-section__more-link:hover {
    color: #e83d9f !important;
}
/* Dunkle HP-Sektionen (Memory, Closing): Eyebrow bleibt pink, Titel hell */
html.dp-dark .dp-homepage .dp-section--memory .dp-section__title,
html.dp-dark .dp-homepage .dp-section--closing .dp-section__title {
    color: #f5f0fa !important;
}

/* ── Allgemeine Section-Titles auf allen Seiten ──────────────────────── */
html.dp-dark .dp-section__title,
html.dp-dark .dp-section__headline { color: #f5f0fa !important; }
html.dp-dark .dp-section__lead     { color: #c8b8e0 !important; }
html.dp-dark .dp-section__subline  { color: #b8a8cc !important; }

/* ── Homepage-Sektionen: Neutral-Tokens → Aubergine ──────────────────── */
html.dp-dark .dp-section--memory {
    background: #160a26 !important;
    background-image:
        radial-gradient(ellipse at 10% 80%, rgba(208,15,130,.12) 0%, transparent 55%),
        radial-gradient(ellipse at 90% 10%, rgba(92,58,136,.20) 0%, transparent 50%) !important;
}
html.dp-dark .dp-section--closing {
    background: #0f0818 !important;
    background-image:
        radial-gradient(ellipse at 15% 60%, rgba(208,15,130,.12) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 20%, rgba(92,58,136,.20) 0%, transparent 50%) !important;
}
html.dp-dark .dp-section--ranking {
    background: transparent !important;
}
html.dp-dark .dp-closing-tile {
    background: rgba(255,255,255,.04) !important;
    border-color: rgba(92,58,136,.45) !important;
}
html.dp-dark .dp-closing-tile:hover {
    background: rgba(208,15,130,.08) !important;
    border-color: rgba(208,15,130,.35) !important;
}
html.dp-dark .dp-closing-tile__title { color: #f5f0fa !important; }
html.dp-dark .dp-closing-tile__body  { color: #c8b8e0 !important; }

/* ── Ranking: Gold/Silber/Bronze → Aubergine-Töne ───────────────────── */
html.dp-dark .dp-ranking-list__item {
    background: #2d1a48 !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-ranking-list__item--gold {
    background: linear-gradient(135deg, #3a2010 0%, #2a1808 100%) !important;
    border-color: #8a6020 !important;
    box-shadow: 0 0 16px rgba(200,162,39,.14) !important;
}
html.dp-dark .dp-ranking-list__item--silver {
    background: linear-gradient(135deg, #2a2838 0%, #1e1c2a 100%) !important;
    border-color: #5a5870 !important;
}
html.dp-dark .dp-ranking-list__item--bronze {
    background: linear-gradient(135deg, #2e1a10 0%, #201208 100%) !important;
    border-color: #6a3820 !important;
}
html.dp-dark .dp-ranking-list__rank { color: #e5dff0 !important; }
html.dp-dark .dp-ranking-list__title a { color: #e5dff0 !important; }
html.dp-dark .dp-ranking-list__title a:hover { color: #f5f0fa !important; }
html.dp-dark .dp-ranking-list__meta { color: #b8a8cc !important; }

/* ── Reel-Karten ─────────────────────────────────────────────────────── */
html.dp-dark .dp-reel-card__title { color: #e5dff0 !important; }
html.dp-dark .dp-reel-card__label { color: #e83d9f !important; }
html.dp-dark .dp-reel-card__visual { background: #1e0f38 !important; }

/* ── Buttons: Kontrast-Fix ───────────────────────────────────────────── */
/* Primary: funkelt bei passendem Akzent */
html.dp-dark .dp-btn--primary {
    background: linear-gradient(135deg, #e83d9f 0%, #d00f82 100%) !important;
    border-color: transparent !important;
    color: #1a0630 !important;
    box-shadow: 0 2px 16px rgba(208,15,130,.35) !important;
}
html.dp-dark .dp-btn--primary:hover {
    background: linear-gradient(135deg, #f060b8 0%, #e01a95 100%) !important;
    box-shadow: 0 4px 24px rgba(208,15,130,.55) !important;
    color: #fff !important;
    transform: translateY(-1px);
}
/* Split-Sektion "Das Discovery Panel Universum": Buttons */
html.dp-dark .dp-split .dp-btn--primary { color: #fff !important; }
html.dp-dark .dp-split .dp-btn--ghost   { color: #e5dff0 !important; border-color: #5c3a88 !important; }

/* ── GP-Content-Wrapper (weiße Wrapper-Hintergründe) ─────────────────── */
/* .site-container ist GPs äußerster Wrapper — MUSS transparent sein, */
/* sonst zeigen alle inneren transparent-Elemente dessen weißen BG.   */
html.dp-dark .site-container,
html.dp-dark .site-wrapper,
html.dp-dark #page,
html.dp-dark .site-main,
html.dp-dark .content-area,
html.dp-dark .inside-article,
html.dp-dark article.page,
html.dp-dark article.post,
html.dp-dark article.type-dp_episode,
html.dp-dark .entry-content,
html.dp-dark .generate-columns-container,
html.dp-dark .gb-container {
    background: transparent !important;
}
/* Sidebar-Wrapper (GP rendert aside.widget-area) */
html.dp-dark .widget-area,
html.dp-dark .sidebar-primary,
html.dp-dark aside.widget-area,
html.dp-dark #right-sidebar {
    background: #0a0514 !important;
}
html.dp-dark .entry-content,
html.dp-dark .entry-content p { color: #e5dff0 !important; }
html.dp-dark .entry-content h1,
html.dp-dark .entry-content h2,
html.dp-dark .entry-content h3,
html.dp-dark .entry-content h4 { color: #f5f0fa !important; }
html.dp-dark .entry-content a:not(.dp-btn):not(.dp-kaffeekasse__cta):not(.pmpro_btn):not(.dp-hero-rating__login-btn) { color: #a0b0ff !important; }
html.dp-dark .entry-content a:not(.dp-btn):not(.dp-kaffeekasse__cta):not(.pmpro_btn):not(.dp-hero-rating__login-btn):hover { color: #e83d9f !important; }

/* GenerateBlocks Inline-Boxen */
html.dp-dark .gb-grid-wrapper,
html.dp-dark .gb-grid-column { background: transparent !important; }

/* ── Game-Seite ──────────────────────────────────────────────────────── */
html.dp-dark .dp-game-page,
html.dp-dark .dp-game-hero,
html.dp-dark .dp-game-layout { background: #0f0818 !important; color: #e5dff0 !important; }
html.dp-dark .dp-game-card,
html.dp-dark .dp-worfle-card,
html.dp-dark .dp-connection-card {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border-color: #52328a !important;
    color: #e5dff0 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.45) !important;
}
html.dp-dark .dp-game-section { background: transparent !important; }

/* ── Mitgliederbereich ───────────────────────────────────────────────── */
html.dp-dark .dp-member-hero .dp-section__title  { color: #f5f0fa !important; }
html.dp-dark .dp-member-hero .dp-section__lead   { color: #c8b8e0 !important; }
html.dp-dark .dp-member-hero .dp-section__eyebrow { color: #e83d9f !important; }
html.dp-dark .dp-member-hero__balance { background: rgba(160,176,255,.10) !important; border-color: rgba(160,176,255,.25) !important; }
html.dp-dark .dp-member-hero__balance-icon  { color: #a0b0ff !important; }
html.dp-dark .dp-member-hero__balance-value { color: #f5f0fa !important; }
html.dp-dark .dp-member-hero__balance-label { color: #b8a8cc !important; }
html.dp-dark .dp-member-hero__since { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.15) !important; }
html.dp-dark .dp-member-hero__since-icon  { color: #c9a326 !important; }
html.dp-dark .dp-member-hero__since-label { color: #b8a8cc !important; }
html.dp-dark .dp-member-hero__since-value { color: #f5f0fa !important; }
html.dp-dark .dp-member-how  {
    background: linear-gradient(135deg, #160a26 0%, #19102a 100%) !important;
}
html.dp-dark .dp-member-how .dp-section__title  { color: #f5f0fa !important; }
html.dp-dark .dp-member-how__title { color: #f5f0fa !important; }
/* Gleiche Höhe für alle Step-Karten im Dark Mode */
html.dp-dark .dp-member-steps {
    align-items: stretch !important;
}
html.dp-dark .dp-member-step {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border: 1px solid #52328a !important;
    border-radius: 12px !important;
    padding: 1.25rem 1.1rem !important;
}
html.dp-dark .dp-member-step__num {
    background: rgba(208,15,130,.12) !important;
    border-color: rgba(208,15,130,.35) !important;
    color: #e83d9f !important;
}
html.dp-dark .dp-member-step__title { color: #f5f0fa !important; }
html.dp-dark .dp-member-step__text  { color: #b8a8cc !important; }
html.dp-dark .dp-member-step__body  { color: #c8b8e0 !important; }

/* ── Mein Konto: Tab-Navigation (inline <style id="dp-member-tabs-css">) ─ */
html.dp-dark .dp-member-tabs__nav {
    background: #1a0d2e;
    border-bottom-color: #42286a;
}
html.dp-dark .dp-member-tabs__tab {
    color: #b8a8cc;
}
html.dp-dark .dp-member-tabs__tab:hover { color: #d8cce8; }
html.dp-dark .dp-member-tabs__tab--active {
    color: #e83d9f;
    border-bottom-color: #e83d9f;
}

/* ── Mein Konto: Mitgliedschaft-Tab (inline <style id="dp-member-pmpro-css">) */
html.dp-dark .dp-member-pmpro {
    background: #0f0818;
}
html.dp-dark .dp-member-pmpro__heading { color: #f5f0fa; }
html.dp-dark .dp-member-pmpro__card {
    background: #1e0f38;
    border-color: #42286a;
}
html.dp-dark .dp-member-pmpro__level  { color: #f5f0fa; }
html.dp-dark .dp-member-pmpro__expiry { color: #b8a8cc; }
html.dp-dark .dp-member-pmpro__expiry--unlimited { color: #7dd890; }

/* ── Mein Konto: Podcast-Status-Tab (inline <style id="dp-podcast-status-css">) */
html.dp-dark .dp-member-podcast-status {
    background: #0f0818;
}
html.dp-dark .dp-member-podcast-status__heading { color: #f5f0fa; }
html.dp-dark .dp-pcast-status {
    background: #1e0f38;
    border-color: #42286a;
}
html.dp-dark .dp-pcast-status--locked {
    background: #150b28;
    border-color: #42286a;
}
html.dp-dark .dp-pcast-status__state   { color: #e5dff0; }
html.dp-dark .dp-pcast-status__detail  { color: #b8a8cc; }
html.dp-dark .dp-pcast-status--active .dp-pcast-status__state { color: #7dd890; }

/* ── Mein Konto: Abzeichen-Tab (inline <style id="dp-member-badges-css">) ─ */
html.dp-dark .dp-member-badges {
    background: #0f0818;
}
html.dp-dark .dp-member-badges__heading { color: #f5f0fa; }
html.dp-dark .dp-member-badges__count   {
    background: #2d1a48;
    color: #b8a8cc;
}
html.dp-dark .dp-member-badges__section-title {
    color: #b8a8cc;
    border-bottom-color: #42286a;
}
html.dp-dark .dp-badge-card {
    background: #150b28;
    border-color: #42286a;
}
html.dp-dark .dp-badge-card--earned {
    background: #1e0f38;
}
html.dp-dark .dp-badge-card__name    { color: #e5dff0; }
html.dp-dark .dp-badge-card__desc    { color: #b8a8cc; }
html.dp-dark .dp-badge-card__progress-bar  { background: #42286a; }
html.dp-dark .dp-badge-card__progress-label { color: #b8a8cc; }

/* ── Pocket / Punkte-Seite ───────────────────────────────────────────── */
html.dp-dark .dp-pocket-hero .dp-section__title  { color: #f5f0fa !important; }
html.dp-dark .dp-pocket-hero .dp-section__lead   { color: #c8b8e0 !important; }
html.dp-dark .dp-pocket-hero .dp-section__eyebrow { color: #e83d9f !important; }
html.dp-dark .dp-pocket-section--earn,
html.dp-dark .dp-pocket-section--spend {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
}
html.dp-dark .dp-pocket-section__heading { color: #f5f0fa !important; }

/* ── Shop / WooCommerce-Seiten ───────────────────────────────────────── */
html.dp-dark .woocommerce-page .site-main,
html.dp-dark .woocommerce-page .content-area { background: transparent !important; }
html.dp-dark .woocommerce .woocommerce-result-count,
html.dp-dark .woocommerce .woocommerce-breadcrumb { color: #b8a8cc !important; }
html.dp-dark .woocommerce .price,
html.dp-dark .woocommerce-page .price { color: #e83d9f !important; }
html.dp-dark .woocommerce div.product .product_title { color: #f5f0fa !important; }
html.dp-dark .woocommerce div.product .product_meta { color: #b8a8cc !important; }
html.dp-dark .woocommerce div.product .woocommerce-product-details__short-description {
    color: #e5dff0 !important;
}
html.dp-dark .woocommerce .wc-tabs-wrapper,
html.dp-dark .woocommerce .woocommerce-tabs { background: transparent !important; }
html.dp-dark .woocommerce form .form-row input.input-text,
html.dp-dark .woocommerce form .form-row textarea {
    background:   #19102a !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .woocommerce-account .woocommerce { background: transparent !important; }

/* ── Episodenarchiv ──────────────────────────────────────────────────── */
html.dp-dark .dp-episode-archive,
html.dp-dark .dp-archive-layout { background: transparent !important; }
html.dp-dark .dp-archive-header { color: #f5f0fa !important; }
html.dp-dark .dp-archive-filters .dp-filter-btn {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}
html.dp-dark .dp-archive-filters .dp-filter-btn.is-active,
html.dp-dark .dp-archive-filters .dp-filter-btn:hover {
    background:   rgba(208,15,130,.20) !important;
    border-color: rgba(208,15,130,.55) !important;
    color:        #f5f0fa !important;
}

/* ── Kommentarbereich ────────────────────────────────────────────────── */
html.dp-dark .comments-area { background: transparent !important; }
html.dp-dark .comments-title { color: #f5f0fa !important; }
html.dp-dark .comment-list .comment-body {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    border-radius: 8px;
    padding: 1rem !important;
}
html.dp-dark .comment-list .children .comment-body { background: #221538 !important; }
html.dp-dark .comment-author .fn,
html.dp-dark .comment-author cite,
html.dp-dark .comment-author b     { color: #f5f0fa !important; }
html.dp-dark .comment-author b a,
html.dp-dark .comment-author .fn a { color: #e83d9f !important; }
html.dp-dark .comment-meta a       { color: #b8a8cc !important; }
html.dp-dark .comment-content p    { color: #e5dff0 !important; }
html.dp-dark .comment-reply-link   { color: #a0b0ff !important; }
html.dp-dark .comment-form label   { color: #b8a8cc !important; }
html.dp-dark #respond .comment-reply-title { color: #f5f0fa !important; }
html.dp-dark .comment-form input[type=text],
html.dp-dark .comment-form input[type=email],
html.dp-dark .comment-form input[type=url],
html.dp-dark .comment-form textarea {
    background:   #19102a !important;
    border-color: #42286a !important;
    color:        #e5dff0 !important;
}

/* ── Shownotes / Episode-Content ─────────────────────────────────────── */
html.dp-dark .dp-ep-shownotes,
html.dp-dark .dp-ep-shownotes-inner {
    background: linear-gradient(145deg, #341855 0%, #2d1a48 100%) !important;
    border-color: #52328a !important;
    color: #e5dff0 !important;
}
html.dp-dark .dp-ep-shownotes h2,
html.dp-dark .dp-ep-shownotes h3,
html.dp-dark .dp-ep-shownotes h4  { color: #f5f0fa !important; }
html.dp-dark .dp-ep-shownotes a   { color: #a0b0ff !important; }
html.dp-dark .dp-ep-shownotes a:hover { color: #e83d9f !important; }
html.dp-dark .dp-ep-shownotes ul li::marker { color: #e83d9f !important; }
html.dp-dark .dp-ep-shownotes ol li::marker { color: #e83d9f !important; }
html.dp-dark .dp-ep-shownotes blockquote {
    border-color: #d00f82 !important;
    background: rgba(208,15,130,.07) !important;
    color: #c8b8e0 !important;
}

/* ── "Glow" — Sternfeld-Overlay auf Dark-Sektionen ──────────────────── */
/* Kleines CSS-Sternfeld via box-shadow auf einem Pseudo-Element */
html.dp-dark .dp-section--memory::before,
html.dp-dark .dp-section--closing::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(1px 1px at 10% 15%, rgba(255,255,255,.45) 0%, transparent 0%),
        radial-gradient(1px 1px at 25% 40%, rgba(255,255,255,.30) 0%, transparent 0%),
        radial-gradient(1px 1px at 40%  8%, rgba(255,255,255,.50) 0%, transparent 0%),
        radial-gradient(1px 1px at 55% 25%, rgba(255,255,255,.35) 0%, transparent 0%),
        radial-gradient(1px 1px at 70% 12%, rgba(255,255,255,.40) 0%, transparent 0%),
        radial-gradient(1px 1px at 82% 35%, rgba(255,255,255,.28) 0%, transparent 0%),
        radial-gradient(1px 1px at 92%  5%, rgba(255,255,255,.50) 0%, transparent 0%),
        radial-gradient(1.5px 1.5px at 15% 70%, rgba(208,15,130,.35) 0%, transparent 0%),
        radial-gradient(1.5px 1.5px at 60% 75%, rgba(208,15,130,.25) 0%, transparent 0%),
        radial-gradient(2px 2px   at 35% 55%, rgba(255,255,255,.20) 0%, transparent 0%),
        radial-gradient(2px 2px   at 78% 60%, rgba(255,255,255,.15) 0%, transparent 0%);
    z-index: 0;
}
html.dp-dark .dp-section--memory > *,
html.dp-dark .dp-section--closing > * { position: relative; z-index: 1; }

/* ── Radiale Glows auf Karten & Sektionen ───────────────────────────── */
html.dp-dark .dp-section--ranking::before {
    content: '';
    position: absolute;
    top: -40px;
    left: -40px;
    width: 320px;
    height: 320px;
    background: radial-gradient(ellipse, rgba(92,58,136,.12) 0%, transparent 70%);
    pointer-events: none;
}
/* Sektionen brauchen position:relative für die Pseudos */
html.dp-dark .dp-section--ranking { position: relative; overflow: hidden; }

/* ── Memory-Sektion-Zitat ────────────────────────────────────────────── */
html.dp-dark .dp-memory__symbol { color: #e83d9f !important; filter: drop-shadow(0 0 8px rgba(208,15,130,.40)); }
html.dp-dark .dp-memory__detail { color: #b8a8cc !important; border-color: #42286a !important; }

/* =========================================================================
   45c. Dark Mode — Hardcodierte #fff Wrappers, Buttons, Worfle, Connection Game, WooCommerce Single
   ========================================================================= */

/* ── Hero-Rail: News-Panel + Reels (weißer Wrapper fix) ─────────────── */
html.dp-dark .dp-news-panel,
html.dp-dark .dp-hero-stage__rail .dp-news-panel,
html.dp-dark .dp-hero-stage__rail .dp-sidebar-panel {
    background: linear-gradient(145deg, #2a1245 0%, #221538 100%) !important;
    border-color: #5c3a88 !important;
    border-top-color: #d00f82 !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-news-panel__title a  { color: #f5f0fa !important; }
html.dp-dark .dp-news-panel__date     { color: #b8a8cc !important; }
html.dp-dark .dp-news-panel__excerpt  { color: #c8b8e0 !important; }
html.dp-dark .dp-news-panel__link     { color: #e83d9f !important; }
html.dp-dark .dp-news-panel__eyebrow  { color: #e83d9f !important; }
html.dp-dark .dp-hero-rail-reels      { background: transparent !important; }
html.dp-dark .dp-hero-rail-reels .dp-eyebrow { color: #e83d9f !important; }


/* ── Netflix-Ranking (hardcodierter cream Wrapper) ───────────────────── */
html.dp-dark .dp-netflix-ranking {
    background: #0f0818 !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-netflix-item__num {
    color: #2d1a48 !important;
    -webkit-text-stroke: 3px rgba(92,58,136,.80) !important;
}
html.dp-dark .dp-netflix-item__info {
    background: #19102a !important;
}
html.dp-dark .dp-netflix-item__title { color: #e5dff0 !important; }
html.dp-dark .dp-netflix-item__rating { color: #e83d9f !important; }
html.dp-dark .dp-netflix-item__placeholder { background: #2d1a48 !important; }

/* ── Buttons: Kontrast-Fix alle Kontexte ─────────────────────────────── */
/* Hardcodierte Button-Farben in Hero/Sektionen überschreiben */
html.dp-dark .dp-hero-stage__actions .dp-btn--ghost {
    background: transparent !important;
    color: #d8cce8 !important;
    border-color: rgba(200,180,230,.35) !important;
}
html.dp-dark .dp-hero-stage__actions .dp-btn--ghost:hover {
    background: rgba(208,15,130,.15) !important;
    border-color: rgba(208,15,130,.55) !important;
    color: #f5f0fa !important;
}
/* Ghost-Buttons auf dunklen Sektionen (Memory, Closing) */
/* background:transparent überschreibt PHP-inline .dp-section--memory-dark background:#ecdfa8 */
html.dp-dark .dp-section--memory .dp-btn--ghost,
html.dp-dark .dp-section--closing .dp-btn--ghost {
    background: transparent !important;
    color: #d8cce8 !important;
    border-color: rgba(200,180,230,.40) !important;
}
html.dp-dark .dp-section--memory .dp-btn--ghost:hover,
html.dp-dark .dp-section--closing .dp-btn--ghost:hover {
    background: rgba(208,15,130,.18) !important;
    border-color: rgba(208,15,130,.60) !important;
    color: #f5f0fa !important;
}
/* Secondary-Buttons (Outline mit Primary-Farbe) */
html.dp-dark .dp-btn--secondary {
    background: #2d1a48 !important;
    color: #a0b8ff !important;
    border-color: #6070d8 !important;
}
html.dp-dark .dp-btn--secondary:hover {
    background: #8090f0 !important;
    color: #0f0818 !important;
    border-color: #8090f0 !important;
}
/* Alle Ghost-Buttons global */
html.dp-dark .dp-btn--ghost {
    color: #c8b8e0 !important;
    border-color: rgba(200,180,230,.30) !important;
}
html.dp-dark .dp-btn--ghost:hover {
    background: rgba(208,15,130,.15) !important;
    border-color: rgba(208,15,130,.55) !important;
    color: #f5f0fa !important;
}

/* ── Worfle-Spiel (inline <style> hat background:#fff) ────────────────── */
html.dp-dark .dp-worfle {
    background: linear-gradient(160deg, #1a0d2e 0%, #0f0818 100%) !important;
    border-color: #5c3a88 !important;
    box-shadow: 0 4px 32px rgba(0,0,0,.6), 0 0 40px rgba(208,15,130,.08) !important;
}
html.dp-dark .dp-worfle__cell {
    background: #1e0f38 !important;
    border-color: #42286a !important;
    color: #e5dff0 !important;
}
html.dp-dark .dp-worfle__cell--filled { border-color: #7050a8 !important; }
html.dp-dark .dp-worfle__cell--active { border-color: #d00f82 !important; }
html.dp-dark .dp-worfle__cell--g  { background: #2a6a28 !important; border-color: #3a8a38 !important; color: #fff !important; }
html.dp-dark .dp-worfle__cell--y  { background: #7a6020 !important; border-color: #9a8030 !important; color: #fff !important; }
html.dp-dark .dp-worfle__cell--x  { background: #2a2838 !important; border-color: #3a3848 !important; color: #c8b8e0 !important; }
html.dp-dark .dp-worfle__key {
    background: #2d1a48 !important;
    color: #e5dff0 !important;
    border: 1px solid #42286a !important;
}
html.dp-dark .dp-worfle__key:hover { background: #d00f82 !important; color: #fff !important; }
html.dp-dark .dp-worfle__key--g { background: #2a6a28 !important; color: #fff !important; border-color: #3a8a38 !important; }
html.dp-dark .dp-worfle__key--y { background: #7a6020 !important; color: #fff !important; border-color: #9a8030 !important; }
html.dp-dark .dp-worfle__key--x { background: #2a2838 !important; color: #b8a8cc !important; border-color: #3a3848 !important; }
html.dp-dark .dp-worfle__message { color: #c8b8e0 !important; }
html.dp-dark .dp-worfle__message--error   { background: #2a0820 !important; color: #f090a0 !important; }
html.dp-dark .dp-worfle__message--success { background: #0a2010 !important; color: #80d890 !important; }
html.dp-dark .dp-worfle__message--info    { background: #19102a !important; color: #c8b8e0 !important; }
html.dp-dark .dp-worfle__no-word          { background: #19102a !important; border-color: #42286a !important; color: #b8a8cc !important; }
html.dp-dark .dp-worfle__keyboard-hint   { color: #6a4a7a !important; }
html.dp-dark .dp-worfle__panelium-section { border-color: #42286a !important; }
html.dp-dark .dp-worfle__panelium-label   { color: #b8a8cc !important; }

/* ── Connection Game (inline <style>) ────────────────────────────────── */
html.dp-dark .dp-game {
    color: #e5dff0 !important;
}
html.dp-dark .dp-game__title  { color: #f5f0fa !important; }
html.dp-dark .dp-game__lead   { color: #c8b8e0 !important; }
html.dp-dark .dp-game__reward { color: #e83d9f !important; }

html.dp-dark .dp-game__attempts { color: #b8a8cc !important; }
html.dp-dark .dp-game__dot      { background: #4a4858 !important; }
html.dp-dark .dp-game__dot--used { background: #e83d9f !important; }
html.dp-dark .dp-game__group--yellow { background: #5a4a10 !important; border-color: #8a7020 !important; color: #f0d870 !important; }
html.dp-dark .dp-game__group--green  { background: #0a2810 !important; border-color: #2a6830 !important; color: #80d890 !important; }
html.dp-dark .dp-game__group--blue   { background: #0a1a40 !important; border-color: #2050a0 !important; color: #80a8ff !important; }
html.dp-dark .dp-game__group--purple { background: #2d1a48 !important; border-color: #5c3a88 !important; color: #c8b8e0 !important; }
html.dp-dark .dp-game__btn--primary  { background: #d00f82 !important; color: #fff !important; border-color: #d00f82 !important; }
html.dp-dark .dp-game__btn--text     { background: transparent !important; color: #b8a8cc !important; }
html.dp-dark .dp-game__btn--text:hover:not(:disabled) { background: #2d1a48 !important; color: #f5f0fa !important; }
html.dp-dark .dp-game__feedback { color: #e5dff0 !important; }
/* Modal */
html.dp-dark .dpgm-box { background: #1e0f38 !important; border-color: #5c3a88 !important; color: #e5dff0 !important; }
html.dp-dark .dpgm-title { color: #f5f0fa !important; }
html.dp-dark .dpgm-stat  { background: #2d1a48 !important; border-color: #42286a !important; color: #e5dff0 !important; }
html.dp-dark .dpgm-stat--perfect { background: #2a1808 !important; border-color: #8a6020 !important; }
html.dp-dark .dpgm-continue { background: #d00f82 !important; color: #fff !important; }
/* Badge-Karten */
html.dp-dark .dp-ugb-card {
    background: #2d1a48 !important;
    border-color: #52328a !important;
    color: #e5dff0 !important;
}
html.dp-dark .dp-ugb-card__count { background: #d00f82 !important; color: #fff !important; }
/* Scoreboard */
html.dp-dark [id*="scoreboard"],
html.dp-dark .dp-scoreboard { background: #19102a !important; border-color: #42286a !important; color: #e5dff0 !important; }
/* Solved stats */
html.dp-dark .dp-solved-stat { background: #2d1a48 !important; border-color: #42286a !important; color: #e5dff0 !important; }

/* ── WooCommerce Single Product ───────────────────────────────────────── */
html.dp-dark .woocommerce div.product,
html.dp-dark .woocommerce-page div.product {
    background: linear-gradient(160deg, #1e0f38 0%, #150b28 100%) !important;
    border-color: #42286a !important;
    color: #e5dff0 !important;
}
html.dp-dark .woocommerce div.product .product_title { color: #f5f0fa !important; }
html.dp-dark .woocommerce div.product .price         { color: #e83d9f !important; }
html.dp-dark .woocommerce div.product .woocommerce-product-details__short-description { color: #c8b8e0 !important; }
html.dp-dark .woocommerce div.product img,
html.dp-dark .woocommerce .woocommerce-product-gallery__image { border-color: #42286a !important; }
html.dp-dark .woocommerce div.product form.cart { background: transparent !important; }
html.dp-dark .woocommerce div.product form.cart button[type=submit],
html.dp-dark .woocommerce div.product form.cart .single_add_to_cart_button {
    background: linear-gradient(135deg, #e83d9f 0%, #d00f82 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 2px 16px rgba(208,15,130,.35) !important;
}
html.dp-dark .woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: linear-gradient(135deg, #f060b8 0%, #e01a95 100%) !important;
    box-shadow: 0 4px 24px rgba(208,15,130,.55) !important;
}
html.dp-dark .woocommerce .woocommerce-tabs {
    background: transparent !important;
}
html.dp-dark .woocommerce .woocommerce-tabs ul.tabs {
    background: transparent !important;
    border-color: #42286a !important;
}
html.dp-dark .woocommerce .woocommerce-tabs ul.tabs li {
    background: #19102a !important;
    border-color: #42286a !important;
}
html.dp-dark .woocommerce .woocommerce-tabs ul.tabs li a { color: #b8a8cc !important; }
html.dp-dark .woocommerce .woocommerce-tabs ul.tabs li.active {
    background: #2d1a48 !important;
    border-bottom-color: #2d1a48 !important;
}
html.dp-dark .woocommerce .woocommerce-tabs ul.tabs li.active a { color: #f5f0fa !important; }
html.dp-dark .woocommerce .woocommerce-tabs .panel {
    background: #2d1a48 !important;
    border-color: #42286a !important;
    color: #e5dff0 !important;
}
html.dp-dark .woocommerce .woocommerce-tabs .panel h2 { color: #f5f0fa !important; }
html.dp-dark .woocommerce .related.products h2,
html.dp-dark .woocommerce .upsells.products h2 { color: #f5f0fa !important; }
html.dp-dark .woocommerce nav.woocommerce-breadcrumb { color: #b8a8cc !important; }
html.dp-dark .woocommerce nav.woocommerce-breadcrumb a { color: #a0b0ff !important; }
/* Star ratings */
html.dp-dark .woocommerce .star-rating::before  { color: #42286a !important; }
html.dp-dark .woocommerce .star-rating span::before { color: #e83d9f !important; }
html.dp-dark .woocommerce .review .comment-text { background: #2d1a48 !important; border-color: #42286a !important; }
html.dp-dark .woocommerce .review .reviewer     { color: #f5f0fa !important; }

/* ── Allgemeine weiße Wrapper-Catch-All ──────────────────────────────── */
/* Trifft GP-Blöcke und GenerateBlocks-Container mit weißem BG */
html.dp-dark .wp-block-group,
html.dp-dark .wp-block-columns,
html.dp-dark .wp-block-column {
    background: transparent !important;
}
html.dp-dark .entry-header { color: #f5f0fa !important; }
html.dp-dark .entry-title  { color: #f5f0fa !important; }
html.dp-dark p.has-background,
html.dp-dark .has-white-background-color { background: #19102a !important; color: #e5dff0 !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   SECTION 45d – Episode-Seiten, Games, Mein Konto, Pocket, Sidebar, Shop
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Episode-Seite: #3a3020 → lesbare Hellblau/Creme-Farbe ───────────────── */
html.dp-dark .dp-ep-description__text { color: #c3d9f0 !important; }
html.dp-dark .dp-ep-facts__value       { color: #c8b8e0 !important; }
html.dp-dark .dp-ep-credits__value     { color: #c8b8e0 !important; }
html.dp-dark .dp-ep-rating-average     { color: #f5f0fa !important; }
html.dp-dark .dp-ep-rating-current strong { color: #e5dff0 !important; }
html.dp-dark .dp-ep-pool__number       { color: #f5f0fa !important; }
html.dp-dark .dp-ep-vote-form__input-wrap input[type=number] { color: #e5dff0 !important; }
/* Shownotes-Body, Kommentare, Standard-Seite */
html.dp-dark body.dp-standard-page .entry-content { color: #c8b8e0 !important; }
html.dp-dark body.dp-standard-page .comment-content { color: #b8a8cc !important; }
/* Episode-Seite allgemeine Rahmen/Trennlinien */
html.dp-dark .dp-ep-facts__list,
html.dp-dark .dp-ep-credits { border-color: #42286a !important; }
html.dp-dark .dp-ep-tags .dp-ep-tag {
    background: #2d1a48 !important;
    border-color: #52328a !important;
    color: #c8b8e0 !important;
}

/* ── Closing-Tile Ghost-Button: PHP-inline #3a3228 übersteuern ───────────── */
html.dp-dark .dp-closing-tile .dp-btn--ghost {
    color: #d8cce8 !important;
    border-color: rgba(200,180,230,.35) !important;
}
html.dp-dark .dp-closing-tile .dp-btn--ghost:hover {
    background: rgba(208,15,130,.15) !important;
    color: #f5f0fa !important;
    border-color: rgba(208,15,130,.50) !important;
}
/* Closing-Tile Primary: PHP-Hover #ede1a8 → Pink */
html.dp-dark .dp-closing-tile--primary:hover {
    background: linear-gradient(135deg, #e83d9f 0%, #d00f82 100%) !important;
}
html.dp-dark .dp-closing-tile--primary .dp-btn--primary { color: #fff !important; }
html.dp-dark .dp-closing-tile--primary .dp-btn--primary:hover { color: #fff !important; }

/* ── Games-Seite: Tab-Bar (inline <style> override) ──────────────────────── */
html.dp-dark .dp-game-tabs {
    border-bottom-color: #42286a !important;
    background: transparent !important;
}
html.dp-dark .dp-game-tab {
    color: #b8a8cc !important;
    background: none !important;
}
html.dp-dark .dp-game-tab:hover { color: #d8cce8 !important; }
html.dp-dark .dp-game-tab--active {
    color: #f5f0fa !important;
    border-bottom-color: #d00f82 !important;
}

/* ── Games-Seite: Header-Bereich ─────────────────────────────────────────── */
html.dp-dark .dp-game-page__header {
    border-bottom-color: #42286a !important;
}
html.dp-dark .dp-game-page__title { color: #f5f0fa !important; }
html.dp-dark .dp-game-page__lead  { color: #b8a8cc !important; }

/* ── Games-Seite: Anleitungskarten (inline <style> override) ─────────────── */
html.dp-dark .dp-game-page__rule {
    background: #1e0f38 !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-game-page__rule-num {
    background: #d00f82 !important;
    color: #fff !important;
}
html.dp-dark .dp-game-page__rule-body { color: #b8a8cc !important; }
html.dp-dark .dp-game-page__rule-body strong { color: #e5dff0 !important; }
html.dp-dark .dp-game-page__widget { border-top-color: #42286a !important; }

/* ── Mein Konto (AccountPage.php inline <style> override) ────────────────── */
html.dp-dark .dp-account-hero {
    background: linear-gradient(160deg, #1a0d2e 0%, #0f0818 100%) !important;
}
html.dp-dark .dp-account-hero__title    { color: #f5f0fa !important; }
html.dp-dark .dp-account-hero__since    { color: #b8a8cc !important; }
html.dp-dark .dp-account-stat__value    { color: #f5f0fa !important; }
html.dp-dark .dp-account-stat__label    { color: #b8a8cc !important; }
html.dp-dark .dp-account-section__title { color: #f5f0fa !important; }
html.dp-dark .dp-account-section__note  { color: #b8a8cc !important; }
html.dp-dark .dp-account-section + .dp-account-section { border-top-color: #42286a !important; }
html.dp-dark .dp-account-data__key { color: #b8a8cc !important; }
html.dp-dark .dp-account-data__val { color: #e5dff0 !important; }
html.dp-dark .dp-account-action-row {
    background: #19102a !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-account-action-row__label { color: #e5dff0 !important; }
html.dp-dark .dp-account-action-row__hint  { color: #b8a8cc !important; }
html.dp-dark .dp-account-privacy-link-card {
    background: #19102a !important;
    border-color: #42286a !important;
}
html.dp-dark .dp-account-privacy-link-card:hover {
    border-color: #7050a8 !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-account-privacy-link-card__title { color: #e5dff0 !important; }
html.dp-dark .dp-account-privacy-link-card__text  { color: #b8a8cc !important; }
html.dp-dark .dp-account-guest__title { color: #f5f0fa !important; }
html.dp-dark .dp-account-guest__text  { color: #b8a8cc !important; }
html.dp-dark .dp-account-logout-strip__text { color: #b8a8cc !important; }

/* ── Panelium Pocket: Guthaben-Anzeige ───────────────────────────────────── */
html.dp-dark .dp-pocket-balance {
    background: rgba(201,162,39,.06) !important;
    border-color: rgba(201,162,39,.22) !important;
}
html.dp-dark .dp-pocket-balance__value { color: #f5f0fa !important; }
html.dp-dark .dp-pocket-balance__unit  { color: #c9a326 !important; }
html.dp-dark .dp-pocket-hero__sub      { color: #b8a8cc !important; }

/* ── Buchungshistorie ────────────────────────────────────────────────────── */
html.dp-dark .dp-pocket-history { border-color: #42286a !important; }
html.dp-dark .dp-pocket-history__head { background: rgba(160,176,255,.06) !important; border-bottom-color: #42286a !important; color: #b8a8cc !important; }
html.dp-dark .dp-pocket-history__row { border-bottom-color: rgba(255,255,255,.06) !important; }
html.dp-dark .dp-pocket-history__row:hover { background: rgba(255,255,255,.04) !important; }
html.dp-dark .dp-pocket-history__date   { color: #b8a8cc !important; }
html.dp-dark .dp-pocket-history__source { color: #c8b8e0 !important; }
html.dp-dark .dp-pocket-history__notes  { color: #e5dff0 !important; }
html.dp-dark .dp-pocket-history__row--credit .dp-pocket-history__amount { color: #6ee7b7 !important; }
html.dp-dark .dp-pocket-history__row--debit  .dp-pocket-history__amount { color: #f87171 !important; }

/* ── Sidebar-Widgets ─────────────────────────────────────────────────────── */
html.dp-dark .widget,
html.dp-dark .sidebar .widget,
html.dp-dark .widget-area .widget,
html.dp-dark #secondary .widget,
html.dp-dark aside .widget {
    background: linear-gradient(145deg, #1e0f38 0%, #150b28 100%) !important;
    border-color: #42286a !important;
    color: #c8b8e0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}
html.dp-dark .widget p,
html.dp-dark .widget li,
html.dp-dark .widget a {
    color: #b8a8cc !important;
}
html.dp-dark .widget a:hover { color: #e83d9f !important; }
html.dp-dark .widget .widget-title,
html.dp-dark .widget .widgettitle,
html.dp-dark aside .widget-title,
html.dp-dark aside .widgettitle {
    color: #b8a8cc !important;
    border-bottom-color: #42286a !important;
}

/* ── Games-Seite: Ranglisten (dp-ranking-list, hardcodierte Creme-Verläufe) ─ */
html.dp-dark .dp-ranking-list__item {
    background: #1e0f38 !important;
    border-color: #42286a !important;
    color: #e5dff0 !important;
}
html.dp-dark .dp-ranking-list__item--gold {
    background: linear-gradient(135deg, #2a2010 0%, #1e1808 100%) !important;
    border-color: #8a7020 !important;
}
html.dp-dark .dp-ranking-list__item--silver {
    background: linear-gradient(135deg, #1e1e28 0%, #16161e 100%) !important;
    border-color: #5a5a70 !important;
}
html.dp-dark .dp-ranking-list__item--bronze {
    background: linear-gradient(135deg, #281808 0%, #1e1008 100%) !important;
    border-color: #7a4820 !important;
}
html.dp-dark .dp-ranking-list__title,
html.dp-dark .dp-ranking-list__title a { color: #e5dff0 !important; }
html.dp-dark .dp-ranking-list__episode-num { color: #b8a8cc !important; }
html.dp-dark .dp-ranking-list__panelium { color: #c9a326 !important; }
html.dp-dark .dp-ranking-list__bar-wrap { background: #42286a !important; }
/* dp-ranking (EpisodeRankingShortcode) */
html.dp-dark .dp-ranking { color: #e5dff0 !important; }
html.dp-dark .dp-ranking__filter { color: #b8a8cc !important; }
html.dp-dark .dp-ranking__item { border-color: #42286a !important; }
html.dp-dark .dp-ranking__title { color: #e5dff0 !important; }
html.dp-dark .dp-ranking__title a { color: #c8b8e0 !important; }
html.dp-dark .dp-ranking__bar-wrap { background: #2d1a48 !important; }

/* ── Episodenseiten: helle Block-Editor-Karten (Gutenberg/GB) ───────────── */
/* Diese Karten haben inline-Gradienten oder theme-Hintergrundklassen */
html.dp-dark .dp-episode-page .has-background,
html.dp-dark .dp-episode-page .has-white-background-color,
html.dp-dark .dp-episode-page .has-very-light-gray-background-color,
html.dp-dark .dp-episode-page .has-light-gray-background-color,
html.dp-dark .dp-episode-page .has-pale-pink-background-color,
html.dp-dark .dp-episode-page .wp-block-group.has-background,
html.dp-dark .dp-episode-page .gb-container {
    background: #1e0f38 !important;
    background-image: none !important;
    border-color: #42286a !important;
    color: #c8b8e0 !important;
}
html.dp-dark .dp-episode-page .has-background p,
html.dp-dark .dp-episode-page .gb-container p,
html.dp-dark .dp-episode-page .wp-block-group.has-background p {
    color: #c3d9f0 !important;
}
html.dp-dark .dp-episode-page .has-background strong,
html.dp-dark .dp-episode-page .gb-container strong {
    color: #e5dff0 !important;
}

/* ── WooCommerce Shop-Raster (Produktkarten) ─────────────────────────────── */
html.dp-dark .woocommerce ul.products li.product {
    background: linear-gradient(160deg, #1e0f38 0%, #150b28 100%) !important;
    border-color: #42286a !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.35) !important;
}
html.dp-dark .woocommerce ul.products li.product:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.5), 0 0 20px rgba(208,15,130,.10) !important;
    border-color: #7050a8 !important;
}
html.dp-dark .woocommerce ul.products li.product .woocommerce-loop-product__title {
    color: #e5dff0 !important;
}
html.dp-dark .woocommerce ul.products li.product .price { color: #e83d9f !important; }
html.dp-dark .woocommerce ul.products li.product .price del { color: #6a5a80 !important; }
html.dp-dark .woocommerce ul.products li.product a img {
    mix-blend-mode: normal !important;
    filter: brightness(0.95) !important;
}
/* Shop-Archiv Überschriften */
html.dp-dark .dp-shop-archive-header__title { color: #f5f0fa !important; }
html.dp-dark .dp-shop-archive-header__desc  { color: #b8a8cc !important; }
html.dp-dark .dp-shop-archive-header { border-bottom-color: #42286a !important; }
html.dp-dark .dp-shop-section__heading { color: #e5dff0 !important; }
/* Add-to-cart Button im Loop */
html.dp-dark .woocommerce ul.products li.product .button,
html.dp-dark .woocommerce ul.products li.product .add_to_cart_button {
    background: linear-gradient(135deg, #e83d9f 0%, #d00f82 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
}
html.dp-dark .woocommerce ul.products li.product .button:hover,
html.dp-dark .woocommerce ul.products li.product .add_to_cart_button:hover {
    background: linear-gradient(135deg, #f060b8 0%, #e01a95 100%) !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(208,15,130,.45) !important;
}



/* ═══════════════════════════════════════════════════════════════════════════
   SECTION 45e – Kaffeekasse & Panelium-Rank (dp-rail-top10) Dark Mode
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── dp-rail-top10: PHP-inline-style hat background:#fff !important (Spez. 0,2,0) ── */
/* Wir brauchen Spez. (0,3,1) + !important um zu gewinnen                             */
html.dp-dark .dp-hero-stage__rail .dp-rail-top10,
html.dp-dark .dp-rail-top10 {
    background: linear-gradient(145deg, #1e0f38 0%, #150b28 100%) !important;
    border-color: #42286a !important;
    box-shadow: 0 2px 16px rgba(0,0,0,.4) !important;
}
html.dp-dark .dp-rail-top10__link {
    color: #c8b8e0 !important;
    border-bottom-color: rgba(255,255,255,.06) !important;
}
html.dp-dark .dp-rail-top10__link:hover { color: #e83d9f !important; }
html.dp-dark .dp-rail-top10__item:first-child {
    background: linear-gradient(135deg, rgba(208,15,130,.18) 0%, rgba(92,58,136,.28) 100%) !important;
    border-color: rgba(208,15,130,.40) !important;
    box-shadow: 0 0 20px rgba(208,15,130,.15) !important;
}
html.dp-dark .dp-rail-top10__item:first-child .dp-rail-top10__rank {
    background: #d00f82 !important;
    border-color: #e83d9f !important;
    color: #fff !important;
}
html.dp-dark .dp-rail-top10__item:first-child .dp-rail-top10__link { color: #f5f0fa !important; }
html.dp-dark .dp-rail-top10__item:first-child .dp-rail-top10__link:hover { color: #e83d9f !important; }
html.dp-dark .dp-rail-top10__item:first-child .dp-rail-top10__title { color: #f5f0fa !important; }
html.dp-dark .dp-rail-top10__item:first-child .dp-rail-top10__panelium { color: #f0c060 !important; }
html.dp-dark .dp-rail-top10__title { color: #e5dff0 !important; }
html.dp-dark .dp-rail-top10__rank { background: #2d1a48 !important; border-color: #52328a !important; color: #c8b8e0 !important; }
html.dp-dark .dp-rail-top10__panelium { color: #c9a326 !important; }
html.dp-dark .dp-rail-top10__item--unvoted .dp-rail-top10__rank { color: #b8a8cc !important; }
html.dp-dark .dp-rail-top10__item--unvoted .dp-rail-top10__panelium { color: #7060a0 !important; }
html.dp-dark .dp-rail-top10__cta { color: #e83d9f !important; }
html.dp-dark .dp-rail-top10 .dp-eyebrow { color: #e83d9f !important; }

/* ── Kaffeekasse-Shortcode (PHP-inline-style, kein !important) ─────────────── */
html.dp-dark .dp-kaffeekasse__card {
    background: linear-gradient(145deg, #1e0f38 0%, #150b28 100%);
    border-color: #42286a;
}
html.dp-dark .dp-kaffeekasse__card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.5), 0 0 20px rgba(208,15,130,.10);
    border-color: #7050a8;
}
html.dp-dark .dp-kaffeekasse__img-link,
html.dp-dark .dp-kaffeekasse__img-placeholder { background: #19102a; }
html.dp-dark .dp-kaffeekasse__body { background: transparent; }
html.dp-dark .dp-kaffeekasse__card-title,
html.dp-dark .dp-kaffeekasse__card-title a { color: #e5dff0; }
html.dp-dark .dp-kaffeekasse__card-title a:hover { color: #e83d9f; }
html.dp-dark .dp-kaffeekasse__card-desc { color: #b8a8cc; }
html.dp-dark .dp-kaffeekasse__price,
html.dp-dark .dp-kaffeekasse__price .woocommerce-Price-amount { color: #c9a326; }
html.dp-dark .dp-kaffeekasse__header { border-bottom-color: #42286a; }
html.dp-dark .dp-kaffeekasse__title { color: #f5f0fa; }
html.dp-dark .dp-kaffeekasse__lead { color: #b8a8cc; }
html.dp-dark .dp-kaffeekasse__empty {
    background: #19102a;
    border-color: #42286a;
    color: #b8a8cc;
}

/* =========================================================================
   46. Barrierefreiheit — Fokus-Sichtbarkeit (WCAG 2.4.7 / BFSG)
   =========================================================================
   Globaler Fallback: Elemente ohne eigenes :focus-visible-Styling erhalten
   im Dark Mode einen sichtbaren Pink-Outline. Light Mode nutzt den
   Browser-Default (Chromium: blauer Outline) — der ist auf hellem
   Hintergrund ausreichend sichtbar.
   !important nötig: viele Komponenten-Regeln setzen outline:none explizit. */

html.dp-dark :focus-visible {
    outline: 2px solid #e83d9f !important;
    outline-offset: 2px !important;
}

/* Ausnahmen: Komponenten mit eigenem, ausreichend kontrastreichen Focus-Style */
html.dp-dark .dp-btn:focus-visible,
html.dp-dark .dp-nav__link:focus-visible,
html.dp-dark .dp-nav-member__trigger:focus-visible,
html.dp-dark .dp-nav-login__trigger:focus-visible {
    outline: 2px solid #a0b0ff !important;   /* Blau-Lila — besser lesbar auf dunklen Buttons */
    outline-offset: 2px !important;
}

/* ── Section 47: Korrektursystem (M96) ─────────────────────────────────── */

/* Trigger-Button am Ende der Hauptspalte */
.dp-ep-correction {
    display: flex;
    justify-content: center;
    padding: 1.5rem 0 .5rem;
}
.dp-ep-correction__trigger {
    background: none;
    border: 1.5px solid #d0c0a0;
    border-radius: 20px;
    color: #a07030;
    cursor: pointer;
    font-size: .78rem;
    font-family: inherit;
    letter-spacing: .02em;
    padding: .35rem 1rem;
    transition: background .15s, border-color .15s, color .15s;
}
.dp-ep-correction__trigger:hover,
.dp-ep-correction__trigger:focus-visible {
    background: #fff8ec;
    border-color: #c9a326;
    color: #7a5010;
    outline: none;
}

/* Overlay */
.dp-corr-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10,5,20,.65);
    backdrop-filter: blur(3px);
    z-index: 9500;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.dp-corr-overlay[hidden] { display: none; }

/* Modal-Karte */
.dp-corr-modal {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 48px rgba(0,0,0,.28);
    max-width: 500px;
    width: 100%;
    padding: 2rem 1.75rem 1.75rem;
    position: relative;
    max-height: 90vh;
    overflow-y: auto;
}
.dp-corr-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.1rem;
    color: #888;
    padding: .2rem .45rem;
    border-radius: 6px;
    line-height: 1;
    transition: background .14s, color .14s;
}
.dp-corr-modal__close:hover { background: #f0f0f0; color: #333; }
.dp-corr-modal__title {
    font-size: 1.15rem;
    font-weight: 700;
    margin: 0 0 .5rem;
    color: #1a1000;
    padding-right: 2rem;
}
.dp-corr-modal__sub {
    font-size: .82rem;
    color: #666;
    margin: 0 0 1.25rem;
    line-height: 1.55;
}

/* Formular */
.dp-corr-modal__label {
    display: block;
    font-size: .78rem;
    font-weight: 600;
    color: #444;
    margin-bottom: .3rem;
    margin-top: .9rem;
}
.dp-corr-modal__label:first-of-type { margin-top: 0; }
.dp-corr-modal__label--optional::after {
    content: ' (optional)';
    font-weight: 400;
    color: #999;
}
.dp-corr-modal__select,
.dp-corr-modal__textarea {
    width: 100%;
    border: 1.5px solid #d8d0c8;
    border-radius: 8px;
    font-family: inherit;
    font-size: .84rem;
    color: #222;
    padding: .5rem .7rem;
    box-sizing: border-box;
    background: #fafaf8;
    transition: border-color .14s;
}
.dp-corr-modal__select:focus,
.dp-corr-modal__textarea:focus {
    outline: none;
    border-color: #c9a326;
    background: #fff;
}
.dp-corr-modal__textarea { resize: vertical; }

.dp-corr-modal__actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 1.25rem;
}
.dp-corr-modal__submit {
    background: #c9a326;
    border: none;
    border-radius: 8px;
    color: #1a1000;
    cursor: pointer;
    font-family: inherit;
    font-size: .88rem;
    font-weight: 700;
    padding: .55rem 1.4rem;
    transition: background .15s;
}
.dp-corr-modal__submit:hover { background: #e0b830; }
.dp-corr-modal__submit:disabled { opacity: .55; cursor: not-allowed; }

.dp-corr-modal__status {
    font-size: .8rem;
    line-height: 1.4;
}
.dp-corr-modal__status--loading { color: #888; }
.dp-corr-modal__status--ok      { color: #1a7f37; font-weight: 600; }
.dp-corr-modal__status--err     { color: #b00; }

.dp-corr-modal__login-hint {
    font-size: .9rem;
    color: #555;
    margin: .5rem 0 0;
}
.dp-corr-modal__login-link {
    color: #c9a326;
    font-weight: 600;
    text-decoration: underline;
}

/* ── Dark Mode: Korrektursystem ────────────────────────────────────────── */

html.dp-dark .dp-ep-correction__trigger {
    border-color: #52328a !important;
    color: #9080b0 !important;
}
html.dp-dark .dp-ep-correction__trigger:hover,
html.dp-dark .dp-ep-correction__trigger:focus-visible {
    background: rgba(232,61,159,.1) !important;
    border-color: #e83d9f !important;
    color: #f5f0fa !important;
}

html.dp-dark .dp-corr-modal {
    background: #221538 !important;
    box-shadow: 0 12px 48px rgba(0,0,0,.65) !important;
}
html.dp-dark .dp-corr-modal__close {
    color: #9080b0 !important;
}
html.dp-dark .dp-corr-modal__close:hover {
    background: rgba(255,255,255,.07) !important;
    color: #f5f0fa !important;
}
html.dp-dark .dp-corr-modal__title {
    color: #f5f0fa !important;
}
html.dp-dark .dp-corr-modal__sub {
    color: #c8b8e0 !important;
}
html.dp-dark .dp-corr-modal__label {
    color: #e5dff0 !important;
}
html.dp-dark .dp-corr-modal__label--optional::after {
    color: #9080b0 !important;
}
html.dp-dark .dp-corr-modal__select,
html.dp-dark .dp-corr-modal__textarea {
    background: #1e0f38 !important;
    border-color: #42286a !important;
    color: #f5f0fa !important;
}
html.dp-dark .dp-corr-modal__select:focus,
html.dp-dark .dp-corr-modal__textarea:focus {
    border-color: #e83d9f !important;
    background: #2d1a48 !important;
}
html.dp-dark .dp-corr-modal__submit {
    background: #e83d9f !important;
    color: #fff !important;
}
html.dp-dark .dp-corr-modal__submit:hover { background: #d00f82 !important; }
html.dp-dark .dp-corr-modal__status--ok   { color: #6ee7b7 !important; }
html.dp-dark .dp-corr-modal__status--err  { color: #f87171 !important; }
html.dp-dark .dp-corr-modal__login-hint   { color: #c8b8e0 !important; }
html.dp-dark .dp-corr-modal__login-link   { color: #f0c060 !important; }

/* ══ PMPro Checkout & Menagerie-Seiten ════════════════════════════════ */
/* Checkout-URL: /checkout/?level=X                                       */

/* Seiten-Container transparent – Seitenhintergrund (dunkel) soll durchscheinen */
html.dp-dark body.pmpro-checkout .site-main,
html.dp-dark body.pmpro-checkout .content-area,
html.dp-dark body.pmpro-checkout #content { background: transparent !important; }

/* Haupt-Formular-Wrapper + alle PMPro-Checkout-Sections */
html.dp-dark #pmpro_form,
html.dp-dark #pmpro_checkout,
html.dp-dark .pmpro_checkout,
html.dp-dark .pmpro_checkout_box,
html.dp-dark .pmpro-checkout-wrap,
html.dp-dark .pmpro_levels_page,
html.dp-dark .pmpro_checkout_level {
    background: #1e0f38 !important;
    border-color: #42286a !important;
    color: #e5dff0 !important;
}

/* Checkout-Überschriften */
html.dp-dark #pmpro_form h1, html.dp-dark #pmpro_form h2,
html.dp-dark #pmpro_form h3, html.dp-dark #pmpro_form h4,
html.dp-dark .pmpro_checkout_heading,
html.dp-dark .pmpro_heading_2 {
    color: #f5f0fa !important;
    border-bottom-color: #42286a !important;
}

/* Texte & Labels */
html.dp-dark #pmpro_form p,
html.dp-dark #pmpro_form label,
html.dp-dark #pmpro_form .pmpro_label,
html.dp-dark .pmpro_checkout th,
html.dp-dark .pmpro_checkout td { color: #e5dff0 !important; }

/* Preisanzeige — eigene Box mit Hintergrund */
html.dp-dark .pmpro_level_cost,
html.dp-dark #pmpro_level_cost {
    background:   #2d1a48 !important;
    border:       1px solid #52328a !important;
    border-radius: 6px !important;
    color:        #f5f0fa !important;
    padding:      .5rem 1rem !important;
}

html.dp-dark .pmpro_checkout td { border-color: #42286a !important; }

/* Formular-Felder */
html.dp-dark #pmpro_form input[type=text],
html.dp-dark #pmpro_form input[type=email],
html.dp-dark #pmpro_form input[type=password],
html.dp-dark #pmpro_form input[type=number],
html.dp-dark #pmpro_form input[type=tel],
html.dp-dark #pmpro_form select,
html.dp-dark #pmpro_form textarea {
    background:   #150b28 !important;
    border-color: #52328a !important;
    color:        #f5f0fa !important;
}
html.dp-dark #pmpro_form input:focus,
html.dp-dark #pmpro_form select:focus,
html.dp-dark #pmpro_form textarea:focus {
    border-color: #e83d9f !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(232,61,159,.25) !important;
}

/* Submit-Button */
html.dp-dark #pmpro_form input[type=submit],
html.dp-dark #pmpro_form button[type=submit],
html.dp-dark #pmpro_btn-submit,
html.dp-dark .pmpro_btn-submit {
    background:   #e83d9f !important;
    border-color: #e83d9f !important;
    color:        #fff !important;
}
html.dp-dark #pmpro_form input[type=submit]:hover,
html.dp-dark #pmpro_form button[type=submit]:hover,
html.dp-dark #pmpro_btn-submit:hover { background: #d00f82 !important; border-color: #d00f82 !important; }

/* Preis-Box & Bestellübersicht */
html.dp-dark .pmpro_price_box,
html.dp-dark #pmpro_price,
html.dp-dark .pmpro_price,
html.dp-dark .pmpro-checkout--order-summary {
    background:   #2d1a48 !important;
    border-color: #42286a !important;
    color:        #f5f0fa !important;
}

/* Fehler- und Erfolgs-Meldungen */
html.dp-dark .pmpro_error, html.dp-dark .pmpro_message--error {
    background:   rgba(248,113,113,.12) !important;
    border-color: #f87171 !important;
    color:        #f87171 !important;
}
html.dp-dark .pmpro_success, html.dp-dark .pmpro_message--success {
    background:   rgba(110,231,183,.08) !important;
    border-color: #6ee7b7 !important;
    color:        #6ee7b7 !important;
}

/* Inhalts-Boxen auf der Checkout-Seite (Gutenberg-Blöcke / Menagerie-Tier-Beschreibung) */
html.dp-dark body.pmpro-checkout .entry-content .wp-block-group,
html.dp-dark body.pmpro-checkout .entry-content [class*="wp-block-"],
html.dp-dark body.pmpro-checkout .entry-content > * {
    background:   #1e0f38 !important;
    color:        #e5dff0 !important;
    border-color: #42286a !important;
}
html.dp-dark body.pmpro-checkout .entry-content h1,
html.dp-dark body.pmpro-checkout .entry-content h2,
html.dp-dark body.pmpro-checkout .entry-content h3 { color: #f5f0fa !important; }
html.dp-dark body.pmpro-checkout .entry-content p    { color: #c8b8e0 !important; }

/* ── Podcast-Beiträge (Shownotes / Newsfolgen, body.dp-podcast-post) ──────── */
html.dp-dark body.dp-podcast-post .inside-article,
html.dp-dark body.dp-podcast-post article.post { background: transparent !important; }
html.dp-dark body.dp-podcast-post .entry-title,
html.dp-dark body.dp-podcast-post .entry-title a { color: #f5f0fa !important; }
html.dp-dark body.dp-podcast-post .entry-meta,
html.dp-dark body.dp-podcast-post .entry-meta a { color: #9080b0 !important; }
html.dp-dark body.dp-podcast-post .entry-footer { color: #9080b0 !important; border-top-color: #42286a !important; }
html.dp-dark body.dp-podcast-post .entry-content { color: #e5dff0 !important; background: transparent !important; }

/* Gutenberg-Blöcke: inline background-color und color überschreiben */
html.dp-dark body.dp-podcast-post .entry-content .wp-block-group,
html.dp-dark body.dp-podcast-post .entry-content .wp-block-group__inner-container,
html.dp-dark body.dp-podcast-post .entry-content .has-background,
html.dp-dark body.dp-podcast-post .entry-content .has-white-background-color,
html.dp-dark body.dp-podcast-post .entry-content .has-light-gray-background-color,
html.dp-dark body.dp-podcast-post .entry-content .has-very-light-gray-background-color {
    background-color: transparent !important;
    background:       transparent !important;
}

/* Inline-Farbstyles auf Text-Elementen per !important überschreiben */
html.dp-dark body.dp-podcast-post .entry-content p,
html.dp-dark body.dp-podcast-post .entry-content li,
html.dp-dark body.dp-podcast-post .entry-content td,
html.dp-dark body.dp-podcast-post .entry-content th,
html.dp-dark body.dp-podcast-post .entry-content span,
html.dp-dark body.dp-podcast-post .entry-content em,
html.dp-dark body.dp-podcast-post .entry-content div { color: #e5dff0 !important; }
html.dp-dark body.dp-podcast-post .entry-content h1,
html.dp-dark body.dp-podcast-post .entry-content h2,
html.dp-dark body.dp-podcast-post .entry-content h3,
html.dp-dark body.dp-podcast-post .entry-content h4 { color: #f5f0fa !important; }
html.dp-dark body.dp-podcast-post .entry-content strong,
html.dp-dark body.dp-podcast-post .entry-content b { color: #f5f0fa !important; }
/* Inline background auf beliebigen Elementen (Gutenberg highlight-spans etc.) */
html.dp-dark body.dp-podcast-post .entry-content span[style],
html.dp-dark body.dp-podcast-post .entry-content div[style],
html.dp-dark body.dp-podcast-post .entry-content p[style] {
    background: transparent !important;
    background-color: transparent !important;
}
html.dp-dark body.dp-podcast-post .entry-content a:not(.dp-btn):not(.pmpro_btn):not(.dp-hero-rating__login-btn) { color: #a0b0ff !important; }
html.dp-dark body.dp-podcast-post .entry-content a:not(.dp-btn):not(.pmpro_btn):not(.dp-hero-rating__login-btn):hover { color: #e83d9f !important; }
html.dp-dark body.dp-podcast-post .entry-content blockquote {
    background: #1e0f38 !important;
    border-left-color: #42286a !important;
    color: #c8b8e0 !important;
}
html.dp-dark body.dp-podcast-post .entry-content code,
html.dp-dark body.dp-podcast-post .entry-content pre {
    background: #150b28 !important;
    color: #e5dff0 !important;
    border-color: #42286a !important;
}
/* Tags (highlight-pills aus dem Gutenberg-Editor) */
html.dp-dark body.dp-podcast-post .entry-content mark {
    background: rgba(232,61,159,.2) !important;
    color: #f5f0fa !important;
}

/* ============================================================
   Paid Memberships Pro — "Mitgliedschaft erforderlich"-Karte
   Discovery-Panel-Redesign: Gold-Akzent, passende Card-Optik
   ============================================================ */

/* ── CSS-Variablen: Teal → Gold ── */
.pmpro {
    --pmpro--color--accent:           #c9a326 !important;
    --pmpro--color--accent--variation: #a8871e !important;
}

/* ── Card: Border + Shadow wie unsere dp-cards ── */
.pmpro_card.pmpro_content_message {
    border: 1px solid rgba(201, 163, 38, .28) !important;
    border-top: 3px solid #c9a326 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 12px rgba(100, 60, 20, .07), 0 8px 32px rgba(0, 0, 0, .04) !important;
    background: #fff !important;
    overflow: hidden !important;
}

/* ── Lock-Icon: Teal → Gold ── */
.pmpro_card_title svg [stroke] { stroke: #c9a326 !important; }

/* ── Titel-Text ── */
.pmpro_card_title {
    color: #1d1d1d !important;
    padding: 20px 24px 12px !important;
    gap: 10px !important;
    display: flex !important;
    align-items: center !important;
}

/* ── Body-Text ── */
.pmpro_card_content {
    color: #374151 !important;
    padding: 0 24px 20px !important;
}
.pmpro_card_content p { margin: 0 0 12px !important; }

/* ── Button: Gold-Primär-Style ── */
.pmpro_btn {
    background-color: #c9a326 !important;
    border-color: #c9a326 !important;
    border-radius: 6px !important;
    color: #fff !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    box-shadow: none !important;
    padding: 9px 20px !important;
}
.pmpro_btn:hover, .pmpro_btn:focus {
    background-color: #a8871e !important;
    border-color: #a8871e !important;
    color: #fff !important;
}

/* ── "Bereits Mitglied?"-Footer ── */
.pmpro_card_actions {
    background: rgba(201, 163, 38, .06) !important;
    border-top: 1px solid rgba(201, 163, 38, .2) !important;
    color: #6b7280 !important;
    padding: 12px 24px !important;
    font-size: 13px !important;
}
.pmpro_card_actions a {
    color: #c9a326 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}
.pmpro_card_actions a:hover { color: #a8871e !important; text-decoration: underline !important; }

/* ── Dark Mode ── */
html.dp-dark .pmpro_card.pmpro_content_message {
    background: #1a0f2e !important;
    border-color: rgba(201, 163, 38, .25) !important;
    border-top-color: #c9a326 !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, .35) !important;
}
html.dp-dark .pmpro_card_title { color: #f0e8ff !important; }
html.dp-dark .pmpro_card_content { color: #c4b8d8 !important; }
html.dp-dark .pmpro_card_actions {
    background: rgba(201, 163, 38, .08) !important;
    border-top-color: rgba(201, 163, 38, .18) !important;
    color: #9080b0 !important;
}
html.dp-dark .pmpro_card_actions a { color: #f0c060 !important; }
html.dp-dark .pmpro_card_actions a:hover { color: #ffe090 !important; }
html.dp-dark .pmpro_btn { color: #2d1248 !important; }
html.dp-dark .pmpro_btn:hover, html.dp-dark .pmpro_btn:focus { color: #e83d9f !important; }

/* ── WooCommerce: In-den-Warenkorb-Bestätigungsmeldung ──────────────────── */
.woocommerce-notices-wrapper .woocommerce-message {
    background: var(--dp-surface-raised);
    border-top: 3px solid var(--dp-accent);
    border-radius: 0 0 var(--dp-radius, 8px) var(--dp-radius, 8px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, .08);
    padding: .85rem 1.1rem;
    display: flex;
    align-items: center;
    gap: .75rem;
    font-size: .875rem;
    color: var(--dp-text);
    margin-bottom: 1rem;
}
.woocommerce-notices-wrapper .woocommerce-message::before {
    color: var(--dp-accent);
    font-size: 1.1rem;
}
.woocommerce-notices-wrapper .woocommerce-message .button.wc-forward,
.woocommerce-notices-wrapper .woocommerce-message a.button {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .38rem .9rem;
    background: var(--dp-accent);
    color: #fff !important;
    border: none;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s, transform .1s;
    margin-left: auto;
    flex-shrink: 0;
}
.woocommerce-notices-wrapper .woocommerce-message .button.wc-forward:hover,
.woocommerce-notices-wrapper .woocommerce-message a.button:hover {
    background: var(--dp-accent-dark);
    transform: translateY(-1px);
}

/* Dark Mode */
html.dp-dark .woocommerce-notices-wrapper .woocommerce-message {
    background: #1e0f38;
    border-top-color: var(--dp-accent-light);
    color: #e5dff0;
}
html.dp-dark .woocommerce-notices-wrapper .woocommerce-message::before {
    color: var(--dp-accent-light);
}


