/* Reset + Farben */
*{margin:0;padding:0;box-sizing:border-box}
:root{
    --primary: #111111; /* Reines Schwarz für maximalen Kontrast */
    --secondary: #f0f0f0; /* Helles Grau für Ränder/Sekundär */
    --accent: #757575; /* Neutrales Grau als "Akzent" */
    --text-light: #FFFFFF; /* Text auf farbigen Buttons */
    --text-dark: #111111; /* Haupttextfarbe */
    --text-muted: #666666; /* Gedämpftes Grau */
    --bg-light: #FFFFFF; /* Reines Weiß als Haupt-Hintergrund */
    --border: #dddddd; /* Etwas dunklerer Rand für mehr Kontrast */
    --label-yellow: #FFC107; /* Leuchtendes Goldgelb */
    --font-serif: 'Source Serif Pro', serif;
    --font-sans: 'Inter', sans-serif;
    --apple-purple: #A950F4;
    --spotify-green: #1DB954;
    --rss-orange: #FF6600;
    --youtube-red: #FF0000;
 
    /* Neue, warme Farbpalette für Sektionshintergründe */
    --bg-warm-light: #fbfaf7;   /* Sehr helles, warmes Off-White */
    --bg-warm-medium: #f7f4ef;  /* Etwas dunkleres, warmes Beige */
    --bg-warm-dark: #f0ede6;    /* Wärmeres Grau-Beige für den Footer */
}
html {
    height: 100%; /* Stellt sicher, dass der Body eine Referenzhöhe hat */
}
body{
    font-family: var(--font-sans);
    line-height: 1.7;
    color: var(--text-dark);
    background: var(--bg-light);
    -webkit-font-smoothing: antialiased;
    overflow-y: scroll; /* Verhindert Layout-Sprünge durch Erscheinen des Scrollbalkens */

    /* Flexbox-Layout, um den Footer nach unten zu drücken */
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
/* Typografie */
h1, h2, h3, .logo {
    font-family: var(--font-serif);
    font-weight: 400;
}
.logo { text-transform: none; }

/* Hauptinhalts-Wrapper, der wächst, um den Platz auszufüllen */
main {
    flex-grow: 1;
}

/* Header */
header {
    background: var(--bg-light);
    padding: 1rem 0;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    
    /* Standardmäßig unsichtbar und nach oben verschoben */
    transform: translateY(-100%);
    transition: transform 0.4s ease-in-out;
}

/* Sichtbarer Zustand */
header.is-visible {
    transform: translateY(0);
}

nav {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo {
    font-size:1.5rem;
    color:var(--accent);
    text-decoration:none;
    font-weight: 700;
}

/* Hero */
.hero{
    background: var(--bg-light);
    color: var(--text-dark);
    padding: 7rem 2rem;
    border-bottom: 1px solid var(--border);
    overflow: hidden; /* Wichtig für überlappende Elemente */
}
.hero-content{
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
}
.hero-content h1{
    font-size: clamp(3rem, 10vw, 7rem); /* Angepasste, kompaktere Schrift */
    line-height: 1.1;
    margin-bottom:0;
    font-weight: 700;
    color: var(--accent);
    text-align: center;
}
.hero-content h1 a {
    color: inherit;
    text-decoration: none;
}
.hero-details {
    display: grid;
    grid-template-columns: 1fr; /* Mobile-First: Alles untereinander */
    gap: 2rem;
    align-items: center;
    text-align: center;
    width: 100%;
    max-width: 960px; /* Begrenzt die Breite für bessere Lesbarkeit */
    margin: 0 auto; /* Stellt die Zentrierung sicher */
}
.podcast-cover{width:250px; margin: 0 auto; aspect-ratio:1/1;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,0.2);overflow:hidden;}
.podcast-cover img{width:100%;height:100%;object-fit:cover}
.hero-details p{font-size:1.1rem;color: var(--text-muted);text-align:center; max-width: 650px; margin: 0 auto;}
@media(min-width: 768px) {
    .hero-details {
        grid-template-columns: 300px 1fr;
        gap: 3rem;
        text-align: left;
    }
    .podcast-cover { width: 100%; margin: 0; }
    .hero-details p { text-align: left; margin: 0; max-width: none; }
}

.highlight-link {
    color: inherit;
    text-decoration: none;
    background-color: rgba(0, 0, 0, 0.05); /* Neutraler grauer Hintergrund */
    padding: 0.1em 0.3em;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.highlight-link:hover {
    background-color: rgba(0, 0, 0, 0.08); /* Stärkerer grauer Hintergrund */
    color: var(--primary);
    text-decoration: none;
}

.custom-tooltip {
    position: absolute;
    background-color: var(--primary);
    color: var(--text-light);
    padding: 0.5rem 1rem;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 700;
    z-index: 1001;
    pointer-events: none;
    opacity: 0;
    transform: scale(0.9) translateY(10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
    white-space: nowrap;
}

.custom-tooltip.is-visible {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* Episodes */
.episodes-section{
    position: relative;
    background: var(--bg-warm-light);
    padding: 5rem 2rem;
    overflow: hidden; /* Verhindert, dass das Label unerwünscht scrollt */
    border-bottom: 1px solid var(--border);
}
.episodes-content{max-width:1200px;margin:0 auto}

.episodes-grid{display:grid;grid-template-columns:1fr; gap: 2rem;}
@media(min-width:700px){.episodes-grid{grid-template-columns:repeat(2,1fr); gap: 4rem;}}
@media(min-width:1024px){.episodes-grid{grid-template-columns:repeat(3,1fr);}}

.episode-card{
    background: var(--bg-light);
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    transition: none;
    display:flex;
    flex-direction:column;
    position:relative;
}

.episode-card:hover h3 {color: var(--accent);}
.episode-card:hover .episode-thumb img { transform: scale(1.05); }
.episode-card-content{display:flex;flex-direction:column; padding: 0;}

.episode-thumb{
    display:block;
    margin:0 0 1rem 0;
    overflow:hidden;
    border-radius: 8px;
    position:relative;
}
.episode-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover; transition: transform 0.4s ease, filter 0.3s ease-in-out;}

.episode-card.is-salon .episode-thumb img {
    filter: grayscale(20%);
}
.episode-card.is-salon:hover .episode-thumb img {
    filter: grayscale(0%);
}

.salon-overlay, .date-overlay {
    position: absolute;
    z-index: 3;
    width: 150px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    font-size: 0.8rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    
    /* Positionierung und Drehung */
    top: 18px;
    left: -40px;
    transform: rotate(-45deg);
}

/* Pseudo-Elemente für den "gefalteten" Look */
.salon-overlay::before, .salon-overlay::after,
.date-overlay::before, .date-overlay::after {
    content: '';
    position: absolute;
    z-index: -1;
    border-style: solid;
    border-color: transparent;
}
.salon-overlay {
    background-color: var(--bg-light);
    color: var(--text-dark);
}
.salon-overlay::before, .salon-overlay::after { border-top-color: #dcdcdc; }

.date-overlay {
    background-color:var(--label-yellow);
    color:var(--primary);
}
.date-overlay::before, .date-overlay::after { border-top-color: #e0a800; }

/* Korrigierter und robuster "Geschenkband"-Effekt */
.salon-overlay::before,
.date-overlay::before {
    top: 0; left: -15px;
    border-width: 15px 15px 0 0;
}
.salon-overlay::after,
.date-overlay::after {
    bottom: -15px; right: 0;
    border-width: 0 0 15px 15px;
}

.episode-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;color:var(--text-muted);gap:.5rem;flex-wrap:wrap}
.episode-card h3{font-size:1.6rem;line-height:1.3;margin-bottom:.75rem;color:var(--text-dark);transition: color 0.3s ease-in-out; font-weight: 700;}
.episode-card p{color:var(--text-muted);font-size:1rem;margin-bottom:0;line-height:1.7; overflow-wrap: break-word;}
.episode-card p:empty{display:none}
.episode-card-link{text-decoration:none;color:inherit}
.episode-card-link::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:15px}

/* Play Button Styling */
.play-icon-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;opacity:0;transition:opacity .3s ease-in-out, filter .3s ease-in-out;pointer-events:none;width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.episode-card:hover .play-icon-container{opacity:1;filter: drop-shadow(0px 4px 12px rgba(0, 0, 0, 1));}
.play-icon-container svg{width:60px;height:60px;filter:drop-shadow(0 1px 3px rgba(0,0,0,0.4))}

/* YouTube Section */
.youtube-section {
    position: relative;
    background: var(--bg-warm-medium);
    padding: 5rem 2rem;
    overflow: hidden; /* Verhindert, dass das Label unerwünscht scrollt */
    border-bottom: 1px solid var(--border);
}
.youtube-content {
    max-width: 960px;
    margin: 0 auto;
}
.youtube-player-main {
    position: relative;
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,.1);
    margin-bottom: 2rem;
    cursor: pointer;
    aspect-ratio: 16/9;
}
.youtube-player-main img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.youtube-player-main:hover img {
    transform: scale(1.02);
}
.play-button-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0,0,0,0.1);
    transition: background-color 0.3s ease;
}
.play-button-overlay svg {
    width: 80px;
    height: 80px;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
    transition: transform 0.3s ease;
}
.youtube-player-main:hover .play-button-overlay {
    background-color: rgba(0,0,0,0.3);
}
.youtube-player-main:hover .play-button-overlay svg {
    transform: scale(1.1);
}
.youtube-player-main iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16/9;
    border: 0;
}
.youtube-previews {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.youtube-preview-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    cursor: pointer;
    text-decoration: none;
    color: var(--text-dark);
    padding: 0.5rem;
    border-radius: 8px;
    transition: background-color 0.2s ease;
}
.youtube-preview-item.is-active {
    background-color: rgba(0, 0, 0, 0.05); /* Neutraler grauer Indikator */
}
.youtube-preview-item:hover {
    background-color: rgba(0, 0, 0, 0.08);
}
.youtube-preview-item .preview-thumb {
    flex-shrink: 0;
    width: 120px;
    border-radius: 4px;
    overflow: hidden;
}
.youtube-preview-item .preview-thumb img {
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
}
.youtube-preview-item .preview-title {
    font-weight: 700;
    line-height: 1.4;
    font-size: 0.9rem;
}
@media(min-width: 700px) {
    .youtube-content { 
        max-width: 1200px;
    }
    .youtube-player-main {
        /* Stellt den Abstand zwischen Player und der Preview-Liste sicher. */
        margin-bottom: 3rem;
    }
    .youtube-preview-item {
        gap: 1.5rem; /* Mehr Abstand zwischen Bild und Text */
    }
    .youtube-preview-item .preview-thumb {
        width: 180px; /* Größeres Vorschaubild für Tablets */
    }
    .youtube-preview-item .preview-title {
        font-size: 1rem; /* Größere Schrift für Tablets */
    }
}

/* Desktop-Layout: Player und Previews nebeneinander */
@media(min-width: 1024px) {
    .youtube-content {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 3rem;
    }
    .youtube-player-main {
        margin-bottom: 0; /* Kein Abstand nach unten im Grid-Layout */
    }
    /* Setzt die Vorschau-Größe für die Desktop-Spalte zurück */
    .youtube-preview-item {
        gap: 1rem;
    }
    .youtube-preview-item .preview-thumb {
        width: 120px;
    }
    .youtube-preview-item .preview-title {
        font-size: 0.9rem;
    }
}

/* === ÜBERARBEITETE Platform Links Section === */
.platform-links-section {
    background: var(--bg-warm-light);
    padding: 5rem 2rem;
    border-bottom: 1px solid var(--border);
}
.platform-links-content {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}
.platform-links-grid {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.platform-link {
    display: inline-flex;
    align-items: center; /* Zentriert Icon und Text vertikal */
    gap: 0.8rem;
    padding: 0.8rem 1.8rem; /* Etwas weniger wuchtig */
    border-radius: 12px; /* Abgerundete Ecken statt Pille */
    border: 1px solid rgba(0, 0, 0, 0.05); /* Sehr subtiler Rahmen */
    text-decoration: none;
    color: var(--text-light);
    font-weight: 700;
    font-size: 1.1rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); /* Dezenterer Schatten */
    transition: all 0.2s ease-in-out; /* Schnellere, sanftere Animation */
}
.platform-link:hover {
    filter: brightness(0.9);
    transform: translateY(-2px); /* Etwas weniger "Sprung" */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12); /* Deutlicherer Schatten beim Hover */
}
.platform-link svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}
/* Markenfarben für Abo-Buttons */
.platform-link.apple { background-color: var(--apple-purple); }
.platform-link.spotify { background-color: var(--spotify-green); }
.platform-link.rss { background-color: var(--rss-orange); }
.platform-link.youtube { background-color: var(--youtube-red); }

/* Salon Promo Button & Text */
.salon-promo {
    /* Der Abstand wird jetzt durch den Separator gesteuert */
}
.section-separator {
    border: none;
    border-top: 1px solid var(--border);
    max-width: 200px;
    margin: 3.5rem auto;
}
.platform-link.salon-button {
    background-color: var(--label-yellow);
    color: var(--primary);
    /* NEU: Ändert die Schriftart auf die Serifenschrift der Überschriften */
    font-family: var(--font-serif);
    gap: 0.5rem; /* Reduziert den Abstand zwischen Emoji und Text */
    box-shadow: 0 4px 15px rgba(0,0,0,0.1), 0 0 10px rgba(255, 193, 7, 0.6);
}
.platform-link.salon-button:hover {
    background-color: #ffca28;
    filter: none; /* Überschreibt den generischen Hover-Effekt */
    box-shadow: 0 6px 20px rgba(0,0,0,0.15), 0 0 15px rgba(255, 193, 7, 0.8);
}
.salon-button-text {
    font-size: 1.3rem; /* Noch etwas größer für mehr Präsenz */
    line-height: 1; /* Verhindert, dass die Zeilenhöhe den Button aufbläht */
}
.salon-explainer {
    margin-top: 1.5rem;
    font-size: 0.9rem;
    color: var(--text-muted);
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}
.salon-explainer a {
    color: var(--text-dark);
    /* Dezente Unterstreichung statt der roten Akzentfarbe */
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0.4);
    text-decoration-thickness: 1px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}
.salon-explainer a:hover { color: var(--accent); text-decoration-color: var(--accent); }
/* === ENDE: Überarbeitung === */
.steady-section {
    position: relative;
    background: var(--bg-light);
    padding: 5rem 2rem 2rem;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
}

.steady-section .platform-links-content {
    margin-top: -4rem; /* Korrigiert die vertikale Ausrichtung nur für diese Sektion */
}

/* Load More Button */
.load-more-container {
    text-align: center;
    margin-top: 2rem;
}
#loadMoreBtn {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    padding: 0.8rem 2rem;
    border-radius: 50px;
    border: 1px solid var(--border);
    background: var(--bg-light);
    color: var(--text-dark);
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative; /* Wichtig für die Positionierung des Spinners */
    min-height: 46px; /* Höhe festlegen, damit er nicht springt */
}
#loadMoreBtn:hover {
    background: var(--text-dark);
    color: var(--text-light);
    border-color: var(--text-dark);
}

/* === Spinner-Styling === */
#loadMoreBtn .btn-text {
    transition: opacity 0.2s ease-in-out;
}

#loadMoreBtn .spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
    height: 20px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

#loadMoreBtn.loading .btn-text {
    opacity: 0;
}

#loadMoreBtn.loading .spinner {
    opacity: 1;
}

#loadMoreBtn:disabled {
    cursor: not-allowed;
    background-color: #f0f0f0;
}

@keyframes spin {
    from {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}
/* === ENDE: Spinner-Styling === */


/* Footer */
.site-footer {
    background-color: var(--bg-warm-dark);
    color: var(--text-muted);
    padding: 1rem 2rem 1rem;
    border-top: 1px solid var(--border);
    font-size: 0.9rem;
}
.footer-content {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.footer-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.footer-links {
    display: flex;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.footer-links a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.3s;
}
.footer-links a:hover {
    color: var(--text-dark);
}
.social-links {
    display: flex;
    gap: 1rem;
}
.social-links a {
    color: var(--text-muted);
    transition: color 0.3s;
    display: flex;
    align-items: center;
}
.social-links a:hover {
    color: var(--text-dark);
}
.social-links svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
}

/* Utility class for undecorated links */
.undecorated-link {
    color: inherit;
    text-decoration: none;
}

/* Visually hide an element, but keep it accessible for screen readers */
.visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* Hosts Section */
.hosts-section {
    background: var(--bg-light); /* Wie gewünscht auf Weiß gesetzt */
    padding: 5rem 2rem;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid var(--border);
}
.hosts-content {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
}
@media(min-width: 700px) {
    .hosts-content {
        grid-template-columns: 1fr 1fr;
    }
}
.host-card {
    display: flex;
    align-items: flex-end;
    gap: 1.5rem;
}
.host-card img {
    width: 150px;
    height: auto;
    border-radius: 0;
    flex-shrink: 0;
}
.host-card h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}
.host-info {
    text-align: left;
}
.host-card p {
    color: var(--text-muted);
}
.host-links {
    display: flex;
    gap: 1.5rem;
    margin-top: 1rem;
}
.host-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
    transition: color 0.3s ease;
}
.host-link:hover {
    color: var(--accent);
}
.host-link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.host-card h3 a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}
.host-card h3 a:hover {
    color: var(--accent);
}
.host-card--reversed {
    flex-direction: row-reverse;
}
.host-card--reversed .host-info {
    text-align: right;
}
.host-card--reversed .host-links {
    justify-content: flex-end;
}

/* Impressum Modal */
.impressum-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.6);
    align-items: center;
    justify-content: center;
}
.impressum-modal.is-visible {
    display: flex;
}
.impressum-content {
    background-color: #fff;
    margin: auto;
    padding: 3rem;
    border-radius: 8px;
    width: 90%;
    max-width: 800px;
    position: relative;
    max-height: 80vh;
    overflow-y: auto;
}
.impressum-content h4 {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.impressum-content p {
    margin-bottom: 1rem;
    line-height: 1.7;
}
.impressum-close-btn {
    color: #aaa;
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    font-size: 28px;
    font-weight: bold;
    border: none;
    background: none;
    cursor: pointer;
}
.impressum-close-btn:hover,
.impressum-close-btn:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 767px) {
    .footer-content {
        flex-direction: column;
        text-align: center;
    }
    .footer-right {
        flex-direction: column;
        gap: 1.5rem;
    }

    .hero-content {
        gap: 2rem; /* Reduziert den Abstand zwischen Titel und Cover */
    }

    .hero-details {
        display: block; /* Ändert das Layout von Grid zu Block für den Float */
        max-width: 100%;
        text-align: left;
    }
    .hero-details::after {
        content: "";
        display: table;
        clear: both;
    }

    .podcast-cover {
        float: left;
        width: 40%;
        max-width: 150px;
        margin-right: 1rem;
        margin-bottom: 0.5rem;
    }

    .hero-details p {
        max-width: none;
        text-align: left;
        font-size: 1rem; /* Kompaktere Schriftgröße (16px) */
    }

    /* Mobile Optimierung: Sticky Header wie auf dem Desktop */
    nav { justify-content: center; } /* Zentriert den Titel im Header */

    .hero-content h1 {
        font-size: 8.5vw; /* Dynamische Schriftgröße, die auf einer Zeile bleibt */
    }

    /* Reduziert den Abstand um den Trenner auf Mobilgeräten */
    .section-separator {
        margin: 2rem auto;
    }

    .platform-links-section,
    .hero,
    .hosts-section,
    .youtube-section,
    .steady-section,
    .episodes-section {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .hero {
        padding-top: 1.5rem;
    }

    .steady-section {
        padding-top: 0;
        padding-bottom: 0;
    }

    .steady-section .platform-links-content {
        margin-top: 0;
    }

    .youtube-preview-item {
        align-items: center; /* Text vertikal zentrieren */
    }

    .host-card,
    .host-card--reversed {
        display: block;
        text-align: center;
    }

    .host-card img {
        width: 180px;
        margin: 0 auto 1rem auto;
    }

    .host-info,
    .host-card--reversed .host-info {
        text-align: center;
    }

    .host-card h3,
    .host-card--reversed h3 {
        margin-bottom: 0.5rem;
        text-align: center;
    }

    .host-links,
    .host-card--reversed .host-links {
        padding-top: 1rem;
        justify-content: center;
    }
}

/* === Optimierung der Abo-Buttons für Mobilgeräte === */
@media (max-width: 480px) {
    .platform-links-grid {
        flex-direction: column; /* Buttons untereinander anordnen */
        gap: 1rem;
    }
    .platform-link {
        width: 100%; /* Volle Breite für jeden Button */
        justify-content: center; /* Inhalt zentrieren (Icon + Text) */
    }
}

/* ================== ACCESSIBILITY IMPROVEMENTS ================== */

/* Klarer Fokus-Stil für Tastaturnutzer */
:focus-visible {
    outline: 3px solid var(--accent);
    outline-offset: 3px;
    border-radius: 4px;
}
/* Runder Fokus-Stil für den "Weitere Folgen laden"-Button */
#loadMoreBtn:focus-visible {
    border-radius: 50px;
}
