/*
Theme Name: meinmusikpodcast
Theme URI: https://meinmusikpodcast.de
Description: Theme für meinmusikpodcast.de im Design von podcastbude – alle Inhalte aus der eigenen Datenbank (Serien = Taxonomie "series", Genres = Kategorien), ohne Abfragen zu den anderen Portalen.
Author: Podcastbude
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: meinmusikpodcast
*/

/* =========================================================
   MODERN LIGHT UI PATCH (meinmusikpodcast / highlights)
   -> Einfach ans ENDE der style.css kopieren
========================================================= */

/* 1) Design Tokens */
:root{
  --accent: #242424;
  --accentmmp: #0065cc;
  --accentmmp: #0065cc;
  --bg: #f6f7f9;
  --bgtrans: #f2f2f2b5;
  --surface: #ffffff;
  --surface-2: #f1f3f6;
  --text: #121417;
  --muted: rgba(18,20,23,.65);
  --border: rgba(18,20,23,.10);
  --shadow: 0 10px 30px rgba(18,20,23,.08);
  --shadow-soft: 0 6px 18px rgba(18,20,23,.08);
  --radius: 16px;
  --radius-lg: 22px;
	--playerbg_1:#232639;
}

/* Titillium Web � lokal aus /font/titilium/ geladen (relativ zur style.css) */
@font-face{
  font-family: "Titillium";
  src:
    url("./font/titilium/titillium-regular-webfont.woff2") format("woff2"),
    url("./font/titilium/titillium-regular-webfont.woff") format("woff"),
    url("./font/titilium/titillium-regular-webfont.ttf") format("truetype"),
    url("./font/titilium/Titillium-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face{
  font-family: "Titillium";
  src:
    url("./font/titilium/titillium-bold-webfont.woff2") format("woff2"),
    url("./font/titilium/titillium-bold-webfont.woff") format("woff"),
    url("./font/titilium/Titillium-Bold.ttf") format("truetype"),
    url("./font/titilium/Titillium-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face{
  font-family: "Titillium";
  src:
    url("./font/titilium/titillium-semibold-webfont.woff2") format("woff2"),
    url("./font/titilium/titillium-semibold-webfont.woff") format("woff"),
    url("./font/titilium/Titillium-Semibold.ttf") format("truetype"),
    url("./font/titilium/Titillium-Semibold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

body{font-family: "Titillium", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
   background-image: url("image/wellemsptransparent.png");
  background-size: 100%;
	margin: 0;
}

/* 2) Global */
#site{
	color: var(--text);
	/*max-width: 1080px;*/
	margin: auto;
	box-shadow: 0px 0px 10px 3px #00000040;
backdrop-filter: blur(5px) saturate(0.8);
}

a{ color: #0b57d0; }
p a{ color: var(--text); }
#main{   /* backdrop-filter: blur(5px) saturate(0.8);*/
	  min-height: 75vh;
}

/* ==============================
   PORTAL HEADER � BASIS
============================== */
#headwrapper{
	display: flex; 
	padding: 10px 40px;
  	box-shadow: 0px 0px 3px 0px #0000005c;
}
#headwrapper #logo-wide{ margin: auto auto auto 0;}
#headwrapper #distributor_wrapper{
	margin: auto 0 auto auto; 
	display: flex;
  gap: 10px;}
#headwrapper #distributor_wrapper .distributor_item{
	box-shadow: 0px 0px 3px 0px #0000005c; 
	margin: auto;
  padding: 5px 10px;
  border-radius: 10px;}

/* Position im Header */
#portal-header{
  position:relative;
  overflow:hidden;
	text-align: center;
	background-image: url('image/soundwave_animation_lines_dynamic.gif');
	padding: 40px 0;
 background-repeat: no-repeat;
  background-position: center;
  background-size: 500px;
}



#portal-header h3,
#portal-header h4{
  position: relative;
  z-index: 3;
}

#portal-header h3{
  font-size: 44px;
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
}

#portal-header h4{
  font-size: 18px;
  font-weight: 500;
  opacity: .9;
  margin: 0;
}

.series_description,
.entry-content,
.content-area {
  overflow-wrap: break-word;   /* moderner Standard */
  word-break: break-word;      /* Fallback */
}

.series_description a,
.entry-content a,
.content-area a {
  overflow-wrap: anywhere;     /* bricht auch lange URLs sauber */
  word-break: break-word;
}

#homepagegrid{display: grid;grid-template-columns: auto 300px;  grid-template-rows: 350px auto;  gap: 15px;  padding: 20px 40px;}
.title_flex_wrapper{display: flex;gap:10px;  margin-bottom: 20px;}
.title_flex_wrapper h2{ display: block ruby;}
#featured_wrapper{
	grid-area: 1 / 2 / 3 / 3;
}
#fav-podcast_wrapper{grid-area: 1 / 1 / 2 / 2;}
#fav-podcast_wrapper .title_flex_wrapper h2{margin: 0}


#aktuelle-podcast-wrapper{grid-area: 2 / 1 / 3 / 2;}

#featured_wrapper{

}
.featured_item{
	position: relative;  
	border-radius: 10px;
  overflow: hidden;
}

.featured_headline_title{
  margin-top: 0;
}

/* Gesamtbereich */
#featured{
		padding: 10px 20px;
	border-radius: 10px;
	box-shadow: 0px 0px 3px 0px #0000005c;  
	background: var(--bgtrans);
	backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}


.featured_list{
}

.featured_list>div{
	border-radius: 10px;
	box-shadow: 0px 0px 10px 3px #00000040;
	margin-bottom: 20px;
	  background-color: var(--bgtrans);
	backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}

/* Card-Look f�r jedes Highlight */
#featured .slides{
 
}

#featured .slides > li{
  
}
.featured_slot_grid{  
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0,1fr);
}

.featured_portal_wrap{
	padding: 3px 10px; 
	background:var(--accent); 
	color: #fff;
	border-radius: 10px;
	width: fit-content;  
	font-size: 14px;
	z-index: 10;
	margin: 10px;
	position: absolute;
}
.featured_portal_wrap.meinmusikpodcast{background:var(--accentmmp);}
.featured_portal_wrap.meinmusikpodcast{background:var(--accentmmp);}
/* Cover links */
#featured .featured_img{
  height: 180px;

  z-index: 1;
  position: relative;
}

#featured .featured_img a,
#featured .featured_img img{
 max-width: 100%;
}

#featured .featured_img img{
  
}

/* Rechts Content */
#featured .featured_right_wrap{
	z-index: 25;
	position: relative;
	background: linear-gradient(#ffffffad 0%,#fff 45%);
	padding: 15px;  
	backdrop-filter: blur(12px) saturate(1.2);
}

/* Titel */
#featured .featured_headline{
  margin: 0 0 5px;
}
#featured .featured_headline a{
   color: var(--accent);
  text-decoration: none;

}
#featured .featured_headline a:hover{
  
}

/* Textauszug */
#featured .featured_text p{
 
}

/* Kleine "Highlight" Badge oben links auf dem Cover */
#featured .featured_img::after{
  
}
.featured_actions{  display: grid;
  grid-template-columns: 1fr 1fr;}

.featured_actions .featured_duration,
.featured_actions .btn-anhoeren,
.featured_actions .series_link{margin: auto 0;}

.featured_actions .series_link{text-align: right}
/* Wrapper: Pfeile links/rechts + Slider in der Mitte */
#fav-podcast{
  display: grid;
  grid-template-columns: 0 1fr 0;
  /*gap: 12px;*/
  align-items: center;  position: relative;
}

/* Arrow Button � modern & passend zum Dark-Card Design */
#fav-podcast button.arrow_scroll{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.12);

  background: rgba(31,32,46,.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  box-shadow:
    0 6px 14px rgba(0,0,0,.35),
    inset 0 0 0 1px rgba(255,255,255,.04);

  cursor: pointer;
  position: absolute;
  z-index: 5;

  transition:
    transform .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}
#fav-podcast button.arrow_scroll.prev{left:5px;}
#fav-podcast button.arrow_scroll.next{right:5px;}

/* Hover */
#fav-podcast button.arrow_scroll:hover{
  transform: translateY(-2px);
  background: rgba(31,32,46,.95);
  box-shadow:
    0 10px 22px rgba(0,0,0,.45),
    inset 0 0 0 1px var(--accent);
}

/* Pfeil */
#fav-podcast button.arrow_scroll::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;

  width: 9px;
  height: 9px;

  border-right: 2px solid rgba(255,255,255,.9);
  border-bottom: 2px solid rgba(255,255,255,.9);

  transform-origin: center;
}

/* Richtung */
#fav-podcast button.arrow_scroll.prev::after{
  transform: rotate(135deg);
}
#fav-podcast button.arrow_scroll.next::after{
  transform: rotate(-45deg);
}

/* Disabled / ausgeblendet */
#fav-podcast button.arrow_scroll[style*="display: none"]{
  pointer-events: none;
}

/* Slider Bereich */
#fav-podcast .fav-podcast_slider{
  grid-column: 2;
  overflow: hidden; /* verhindert Scrollbar au�erhalb */
}

/* UL wird horizontal scrollbar + snap */
#fav-podcast .slides{
  display: flex;
  gap: 14px;
  padding: 6px 2px 12px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
}
#fav-podcast .slides::-webkit-scrollbar{ display:none; } /* Chrome/Safari */

/* Jede Serie als Card */
#fav-podcast .slides > li{
  /*scroll-snap-align: start;*/
  flex: 0 0 180px;           /* Card-Breite */
  display: flex;
  flex-direction: column;
  gap: 10px;
	width: 140px;

  box-shadow: 0px 0px 5px 3px #00000040;
  border-radius: var(--radius);
  background: #1f202e;
	  position: relative;
  height: 250px;
	  overflow: hidden;
}

/* Cover */
#fav-podcast .slide_logo{
  width: 100%;
  aspect-ratio: 1 / 1;

  background-size: cover !important;
  background-position: center !important;
  background-color: #fff;
  overflow: hidden;
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease;
	  background-repeat: no-repeat;
}

/* Hover Effekt wie moderne Cards */
#fav-podcast .slides > li:hover{
  transform: translateY(-2px);

}

.fav_button_wrap{
	display: flex;
  overflow: hidden;
  border-radius: 10px;
  margin: 10px auto;
  width: 150px;}

.fav_button_wrap div{
	margin: auto;
  	padding: 8px;
  	color: #fff;
  	font-weight: 600;
  	cursor: pointer;
	font-size: 14px;
}

.fav_button_wrap div:hover,
.fav_button_wrap div:first-child{  background: var(--accent);}
.fav_button_wrap div{}
.fav_button_wrap div a{color: #fff}

/* Serienname unter dem Cover */
#fav-podcast .slides > li .fav_gradient{
	text-decoration: none;
	color: #fff;
	position: absolute;
	right: 0;
	left: 0;
	bottom: 0;
	background: linear-gradient(#fff0 0%,#1f202e 45%);
	height: 140px;
  	display: grid;
  	grid-template-rows: auto 60px;
	width: 100%;
	backdrop-filter: blur(2px) saturate(1.2);
}

#fav-podcast .slides > li .fav_gradient a{  text-decoration: none;}
#fav-podcast .slides > li span{
	display: block;
	font-weight: 700;
	color: #fff;
	text-align: center;
	padding-top: 10px;
}

/* Wenn Cover fehlt (background-image: url('')) -> Placeholder */
#fav-podcast .slide_logo[style*="background-image:url('')"],
#fav-podcast .slide_logo[style*='background-image:url("")']{
  background: linear-gradient(135deg, rgba(255,96,0,.12), rgba(18,20,23,.06)) !important;
}
#fav-podcast .slide_logo[style*="background-image:url('')"]::after,
#fav-podcast .slide_logo[style*='background-image:url("")']::after{
  content:"Kein Cover";
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  color: rgba(18,20,23,.55);
}

.lineseperator{width: 100%;
  border-radius: 100%;
  margin: auto 0;
  height: 3px;
  /*background: #8888884d;*/
  background: radial-gradient(circle,#00000040 0%, rgba(231, 231, 231, 0) 100%);
}
/* =========================================================
   AKTUELLE EPISODEN � LISTENANSICHT (untereinander)
   ersetzt Grid / Cards vollst�ndig
========================================================= */

#aktuelle-podcast-wrapper{
  
  margin: 20px auto 50px;
    padding: 0;
  width: 100%;
}

/* Navigation (Alle / Business / �) */
#aktpc-nav-head{
  display: grid;
  align-items: center;
  gap: 10px;
  grid-template-columns: auto auto;
}

/* Container */
#aktuelle-podcast,.mp_highlights_nav{
  display:flex;
  flex-wrap: nowrap;     /* wichtig: kein Umbruch */
  width:100%;
  margin:0;
  border-radius:10px;
  overflow:hidden;
  box-shadow: 0px 0px 10px 3px #00000040;
  background:#fff;
}

/* Items: gleich breit */
#aktuelle-podcast .aktpc-nav-item,.mp_highlights_nav .mp_nav_btn{
  flex: 1 1 0;           /* f�llt die Breite gleichm��ig */
  text-align:center;
  padding: 10px 12px;
  margin:0;
  background:#fff;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  white-space: nowrap;
	border: none;
}

/* grafische Trennung als Rand */
.mp_highlights_nav .mp_nav_btn:not(:last-child),
#aktuelle-podcast .aktpc-nav-item:not(:last-child){
  border-right: 1px solid rgba(0,0,0,.12);
}

/* Active */
.mp_highlights_nav .mp_nav_btn:hover,
.mp_highlights_nav .mp_nav_btn.is-active,
#aktuelle-podcast .aktpc-nav-item:hover,
#aktuelle-podcast .aktpc-nav-item.active{
  background:var(--accent);
  color:#fff;
}


.mp_highlights_nav .mp_nav_btn.meinmusikpodcast:hover,
.mp_highlights_nav .mp_nav_btn.meinmusikpodcast.is-active{
	  background:var(--accentmmp);
}

.mp_highlights_nav .mp_nav_btn.meinmusikpodcast:hover,
.mp_highlights_nav .mp_nav_btn.meinmusikpodcast.is-active{
	  background:var(--accentmmp);
}

.mp_highlights_nav .mp_nav_btn.is-active:not(:last-child),
#aktuelle-podcast .aktpc-nav-item.active:not(:last-child){
  border-right-color: rgba(255,255,255,.35);
}
/* ===============================
   LISTE
================================ */

#aktuelle-podcast-list{
  /*list-style: none;
  margin: 0;
  padding: 0;
	display: grid;	gap: 15px;*/
}

/* Einzelne Episode */
#aktuelle-podcast-list > li.blog-container{
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0px 0px 10px 0px #00000040;
  /*margin-bottom: 10px;*/
  border-radius: 10px;
	  background-color: var(--bgtrans);
		backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
}

/* letzter Eintrag ohne Linie */
#aktuelle-podcast-list > li.blog-container:last-child{
  border-bottom: none;
}

/* ===============================
   COVER
================================ */

#aktuelle-podcast-list .blog-inner{
  width: 90px;
  height: 90px;
  flex-shrink: 0;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: #f0f0f0;
}
#aktuelle-podcast-list .blog-right{
	display: grid;
	height: 100%;
    grid-template-rows: 25px auto;
}

#aktuelle-podcast-list .blog-right .blog_ep_series_wrap{
	white-space: nowrap;
	text-overflow: ellipsis;  
	overflow: hidden;
}

#aktuelle-podcast-list .blog-right .blog_ep_series_wrap a{text-decoration: none;color: var(--text);}
#aktuelle-podcast-list .blog_backgr{
  position: absolute;
  inset: 0;
  background-size: cover !important;
  background-position: center !important;
}

/* ===============================
   CONTENT RECHTS
================================ */

#aktuelle-podcast-list > li.blog-container .blog_ep_title_wrap {
	margin: 0 0;
  	display: grid;  
	grid-template-rows: 20px auto;
  }

#aktuelle-podcast-list > li.blog-container .blog_ep_title_wrap a.blog_ep_title{
  text-decoration: none;  
	margin: 0 0 auto;
}


#aktuelle-podcast-list h4.home-title1{
  margin: 0 0 6px 0;
  font-size: 16px;
  line-height: 1.3;
  color: #121212;
}


#aktuelle-podcast-list .blog_ep_grid_wrap{
	display: grid;
	gap: 16px;
	grid-template-columns: auto 120px;
}
#aktuelle-podcast-list .blog_ep_audio_wrap{
  display: grid;
}

#aktuelle-podcast-list a.blog_ep_title:hover h4{
  text-decoration: underline;
}

/* Meta */
#aktuelle-podcast-list .post_date{
  font-size: 13px;
  color: #777;

}
#aktuelle-podcast-list .duration{
  margin: 0 auto;
}

/* ===============================
   ACTIONS
================================ */
#aktuelle-podcast-list .blog_ep_button_wrap{margin: auto 0;
  display: flex;}
#aktuelle-podcast-list .blog_ep_portal_wrap{padding: 3px 10px; background:var(--accent); color: #fff;   border-radius: 10px;
  width: fit-content;  font-size: 14px;
  margin-bottom: 5px;}


#aktuelle-podcast-list .blog_ep_portal_wrap.meinpodcast,.mp,
.blog_ep_portal_wrap.mp{background:var(--accent);  color: #fff;}

#aktuelle-podcast-list .blog_ep_portal_wrap.meinmusikpodcast,.mmp,
.blog_ep_portal_wrap.mmp{background:var(--accentmmp);  color: #fff;}

#aktuelle-podcast-list .blog_ep_portal_wrap.meinmusikpodcast,.mmp,
.blog_ep_portal_wrap.mmp{background:var(--accentmmp); color: #fff;}

.btn-anhoeren{
  margin: auto 0;
  /*padding: 8px 14px;*/
  border-radius: 10px;
  border: none;
  background: var(--accent);
  color: #fff;
  font-weight: 600;
  cursor: pointer;
	position: relative;
  padding-left: 40px; /* Platz f�r Icon */

}

/* Kreis */
.btn-anhoeren::before {
	content: "";
	position: absolute;
	height: 40px;
	border-radius: 50%;
	background: var(--clr-accent);
	left: -3px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	width: 40px;
}

/* Play Icon */
.btn-anhoeren::after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-left: 16px solid #fff;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	left: 11px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}
/* Playing: Pause (2 Balken) */
.btn-anhoeren.play::after{
	width: 14px;
  height: 18px;
  border: 0;
  left: 10px;
  top:50%;
  transform:translateY(-50%);
  background:
    linear-gradient(#fff,#fff) left/4px 100% no-repeat,
    linear-gradient(#fff,#fff) right/4px 100% no-repeat;
}
#aktuelle-podcast-list .btn-anhoeren{ margin: 40px 0 auto;}
.btn-anhoeren:hover{
  opacity: .9;
}

/* Download-Text ausblenden */
#aktuelle-podcast-list a[href*="podcast-download"]{
  font-size: 0;                /* Text unsichtbar */
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 10px;
  border-radius: 10px;
  background: #f5f5f5;
  border: 1px solid rgba(0,0,0,.12);
  text-decoration: none;
  cursor: pointer;
}

/* Icon */
#aktuelle-podcast-list a[href*="podcast-download"]::before{
  content: "";
  width: 18px;
  height: 18px;
  background-image: url("/wp-content/themes/podcastbude/icon/Download-icon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
}

/* Hover Effekt */
#aktuelle-podcast-list a[href*="podcast-download"]:hover{
  background: var(--accent);
  border-color: #0065cc;
}

#aktuelle-podcast-list a[href*="podcast-download"]:hover::before{
  filter: brightness(0) invert(1);
}

/* 9) Footer heller/cleaner */

#footer{
 	box-shadow: 0px 0px 3px 0px #0000005c;
	border-top:1px solid #fff;
	text-align: center;
	padding: 20px 0;
	backdrop-filter: blur(12px) saturate(1);
	background-color: var(--bgtrans);
}
#footer a{ color: var(--muted) !important; }
#footer-nav ul li a{
  color: var(--muted) !important;
}
#menu-footer,#Sozialfooter{
  display:flex;
  flex-wrap: nowrap;     /* wichtig: kein Umbruch */
  width:100%;
  overflow:hidden;
list-style: none;  
	padding: 0;
}
#menu-footer li:not(:last-child) {
  border-right: 1px solid rgba(0,0,0,.12);
}
/* Items: gleich breit */
#menu-footer li,#Sozialfooter .sozial_item{
  text-align:center;
  padding: 10px 12px;
  margin:0;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
  white-space: nowrap;
}

#menu-footer li:first-child,
#Sozialfooter .sozial_item:first-child{margin-left: auto;}
#menu-footer li:last-child,
#Sozialfooter .sozial_item:last-child{margin-right: auto;}

#menu-footer li a{text-decoration: none}

#footer_seperator{
	background: radial-gradient(circle,#00000040 0%, rgb(240, 240, 240) 100%);
	height: 2px;
	width: 100%;
	margin: 20px auto;
	max-width: 400px;}
#player_loader{
  position: absolute;
  inset: 0;
  z-index: 20;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;  border-radius: 10px;
}

#player_loader.is-active{
  display: flex;
}

#player_loader .loader-text{
  font-size: 13px;
  letter-spacing: .3px;
  opacity: .8;
}

/* Progress bar */
#player_loader .loader-bar{
  width: 70%;
  max-width: 320px;
  height: 4px;
  background: rgba(255,255,255,.15);
  border-radius: 999px;
  overflow: hidden;
}

#player_loader .loader-bar span{
  display: block;
  height: 100%;
  width: 30%;
  background: linear-gradient(
    90deg,
    transparent,
    var(--accent, #0065cc),
    transparent
  );
  animation: player-loading 1.2s infinite ease-in-out;
}

@keyframes player-loading{
  0%{ transform: translateX(-100%); }
  100%{ transform: translateX(300%); }
}

#player {
  position: sticky;
  bottom: 4px;
  left: 5px;
  right: 5px;
 
  background: #e8e9e9e0;
	backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  color: #2b2b2b;

 
  padding: 12px 20px;
  z-index: 9999;
  box-shadow: 0 0 7px 3px rgba(0,0,0,0.35);
  border-radius: 10px;
  margin: 0 5px;
}

#player_wrap { /* height: 90px;*/ display: flex; align-items: center;}
#player_logo {
  width: 64px;
  height: 64px;
  background-size: cover;
  background-position: center;
  border-radius: 8px;
  flex-shrink: 0;
}

#player_control_wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-left: 16px;
  /*overflow: hidden;*/
}
/* Titelzeile: Titel links, Volume rechts */
#player_title_row{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 6px;
}

#player_title {
	  flex: 1;
  min-width: 0;
  font-size: 15px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
    margin-bottom: 15px;
}

#player_volume{
  display:flex;
  align-items:center;
  gap:10px;
}

#vol_btn{
  width:22px;
  height:22px;
  padding:0;
  border:none;
  background:none;
  color:var(--playerbg_1);
  cursor:pointer;
  opacity:.85;
}

#vol_btn:hover{
  opacity:1;
  color:var(--accent);
}

#vol_btn svg{
  width:100%;
  height:100%;
  fill:currentColor;
  stroke:currentColor;
}
#vol_range{
  width: 90px;
  height: 5px;
  appearance: none;
  background: transparent;
  cursor: pointer;
}

/* ---------- Track ---------- */
#vol_range::-webkit-slider-runnable-track{
  height: 5px;
  background: var(--playerbg_1);
  border-radius: 999px;
}

#vol_range::-moz-range-track{
  height: 5px;
  background: var(--playerbg_1);
  border-radius: 999px;
}

/* ---------- Thumb ---------- */
#vol_range::-webkit-slider-thumb{
  appearance: none;
  width: 12px;
  height: 12px;
  margin-top: -4px;
	border:1px solid var(--playerbg_1);
  border-radius: 50%;
  background: #fff;
	
  box-shadow: 0px 0px 3px 0px #0000005c;
  transition: transform .15s ease, background .15s ease;
}

#vol_range::-moz-range-thumb{
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: #fff;
  box-shadow: 0px 0px 3px 0px #0000005c;
  transition: transform .15s ease, background .15s ease;
}

/* ---------- Hover / Active ---------- */
#vol_range:hover::-webkit-slider-thumb{
  transform: scale(1.2);
}

#vol_range:active::-webkit-slider-thumb{
  transform: scale(1.05);
}

#vol_range:hover::-moz-range-thumb{
  transform: scale(1.2);
}

/* ---------- Accent (played part) ---------- */
#vol_range{
  accent-color: var(--accent, #0065cc);
}
#player_control {
	display: flex;
	align-items: center;
	gap: 16px;
	border-top: 2px solid #00000040;
	padding-top: 10px;
}
#player_play_wrap {  
	display: grid;
  	align-items: center;
	/*gap:5px; */
  	height: 42px;
  	background: var(--playerbg_1);
  	border-radius: 6px;
  	overflow: visible;
    margin: 10px 5px;
	box-shadow: 0px 0px 5px 1px #00000080;
	padding: 0 5px;
	grid-template-columns: 50px 50px 50px;
  align-content: center;
}
.skip-btn{
 width: 32px;
  height: 32px;
   margin: 0 10px;
  position: relative;
  cursor: pointer;

}

.skip-btn svg{
	fill: #fff;
  color: #fff;
  stroke: #fff;
}



/* Mini Player ? ausblenden */
#player.is-mini .skip-btn{
  display:none;
}

/* Play/Pause Button Circle (falls noch nicht vorhanden) */
#play_pause_wrap{
 width: 50px;
  height: 50px;
  border-radius: 999px;
  background: var(--accent, #0065cc);
  display: grid;
  place-items: center;
  cursor: pointer;
  /*transition: transform .2s ease, filter .2s ease;*/
	box-shadow: 0px 0px 5px 1px #00000080;
}
#play_pause_wrap:hover{/* transform: scale(1.1); */}

#play_pause_wrap .pp-icon{
  width: 26px;
  height: 26px;
  position: relative;
  background: transparent;
}

/* PLAY (Dreieck) */
#play_pause_wrap .pp-icon::before{
  content:"";
  position:absolute;
  inset: 0;
  background:#fff;clip-path: polygon(20% 00%, 20% 100%, 100% 50%);
  /*transition: clip-path 260ms ease, transform 260ms ease, opacity 260ms ease;*/
}

/* PAUSE Balken 1+2 (hidden by default) */
#play_pause_wrap .pp-icon::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(#fff,#fff) left/4px 100% no-repeat, linear-gradient(#fff,#fff) right/4px 100% no-repeat;
	opacity: 0;
 /* transition: opacity 180ms ease;*/
}

/* playing ? show pause */
#player.playing #play_pause_wrap .pp-icon::before{
  opacity: 0; /* play triangle weg */
}
#player.playing #play_pause_wrap .pp-icon::after{
  opacity: 1; /* pause bars rein */
}

/* Mini Player kleiner */
#player.is-mini #play_pause_wrap{
  width: 40px;
  height: 40px;
}
#player.is-mini #play_pause_wrap .pp-icon{
  width: 17px;
  height: 17px;
}

/* Progress Container */
#player_progress_bar{
  flex: 1;
  min-width: 180px;
  height: 34px;              /* genug H�he f�r Hover */
  display: flex;
  align-items: center;
}

/* Track */
#player_progress_bar .progress-track{
  position: relative;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgb(177, 177, 177);
  overflow-x: visible;
  /* CSS-driven values (0..100) */
  --progress: 0%;
  --buffer: 0%;
  cursor: pointer;
}

/* Buffered / Loaded */
#player_progress_bar .progress-buffer{
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--buffer);
  background: rgba(255,255,255,.20);
}

/* Played */
#player_progress_bar .progress-fill{
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: var(--progress);
  background: var(--accent, #0065cc);
  border-radius: 999px;
}

/* Thumb (nur sichtbar bei Hover) */
#player_progress_bar .progress-thumb{
  position: absolute;
  top: 50%;
  left: var(--progress);
  transform: translate(-50%, -50%) scale(.85);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,.35);
  opacity: 0;
  transition: opacity .18s ease, transform .18s ease;
}

/* Hover / Active */
#player_progress_bar .progress-track:hover .progress-thumb{
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

#player_progress_bar .progress-track:active .progress-thumb{
  transform: translate(-50%, -50%) scale(.95);
}

/* Optional: leichter Glow auf Fill */
#player_progress_bar .progress-fill{
  box-shadow: 0 0 18px rgba(255,96,0,.35);
}

/* Mini-Player: Progress aus (oder d�nner) */
#player.is-mini #player_progress_bar{
  display: none;
}
/* Extra Wrap rechts */
#player_extra_wrap{
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Men� Button */
#player_menu_btn{
 width: 38px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid var(--playerbg_1);
  background: rgba(255,255,255,.06);
  cursor: pointer;
  display: grid;
  place-items: center;
  color: var(--playerbg_1);
  opacity: .9;
  transition: transform .15s ease, opacity .15s ease, border-color .15s ease, background .15s ease;
}
#player_menu_btn:hover{
  opacity: 1;
  border-color: var(--playerbg_1);
  background: rgba(255,255,255,.08);
  transform: translateY(-1px);
}

/* 3 Dots */
#player_menu_btn .dots{
 width: 24px;
  height: 4px;
  position: relative;
}
#player_menu_btn .dots::before,
#player_menu_btn .dots::after,
#player_menu_btn .dots{
  background: transparent;
}
#player_menu_btn .dots::before,
#player_menu_btn .dots::after{
  content:"";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
 width: 6px;
  height: 6px;
  border-radius: 100%;
  background: currentColor;
  box-shadow: 9px 0 0 currentColor, 18px 0 0 currentColor;
  left: 0;
}
#player_menu_btn .dots::after{ display:none; }

/* Popup �ber dem Icon */
#player_menu_popup{
  position: absolute;
  right: 0;
  bottom: calc(100% + 10px);
  width: 180px;
  border-radius: 14px;
  background:var(--playerbg_1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  padding: 8px;
  z-index: 10050;
}

/* kleiner Pfeil */
#player_menu_popup::after{
  content:"";
  position: absolute;
  right: 12px;
  bottom: -8px;
  width: 16px;
  height: 16px;
  background: var(--playerbg_1);
  border-right: 1px solid rgba(255,255,255,.10);
  border-bottom: 1px solid rgba(255,255,255,.10);
  transform: rotate(45deg);
  border-bottom-right-radius: 4px;
}

/* Menu Items */
#player_menu_popup .player_menu_item{
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.92);
  padding: 10px 10px;
  border-radius: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: background .12s ease, color .12s ease;
}
#player_menu_popup .player_menu_item:hover{
  background: rgba(255,255,255,.10);
}
#player_menu_popup .player_menu_item.active{
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* Player Content Bereich (Overlay/Panel) */

#player_content{
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: 110px; /* �ber Player */
  max-width: 1080px;
  margin: 0 auto;
  background: var(--playerbg_1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  box-shadow: 0 22px 70px rgba(0,0,0,.55);
  padding: 16px;
  z-index: 10040;
  color: #fff;
}
#player_content a{color: #fff;}
/* Close Button optional */
#player_content .pc-head{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
#player_content .pc-title{
  font-size: 14px;
  font-weight: 800;
  opacity: .95;
}
#player_content .pc-close{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor:pointer;
}
#player_content .pc-body{
  font-size: 14px;
  opacity: .92;
  line-height: 1.4;
	  max-height: 70vh;
  overflow: auto;
}

/* ===============================
   serie page
================================ */
.series_head{  display: grid;
  grid-template-columns: 300px auto;
  gap: 50px;
  align-content: center; 
	background-color: var(--bgtrans);
  backdrop-filter: blur(12px) saturate(1.2);
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0px 0px 10px 0px #00000040;
  border-radius: 10px 10px 0 0;
}

.episode_head .series_head_img
.series_head .series_head_img{  border-radius: 14px;
  overflow: hidden;}

.episode_head .series_head_title,
.series_head .series_head_title{  border-radius: 14px;
  overflow: hidden;  
  display: grid; 
  gap: 15px;
  align-items: center;
  margin: 0;}

.episode_head .series_head_title h1,
.series_head .series_head_title h1{    
	font-size: 32px;
	line-height: 1.2;
	margin: 0;
}

.episode_head .series_head_title .blog_ep_portal_wrap,
.series_head .series_head_title .blog_ep_portal_wrap{     
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	margin: 0 auto 0 0;}

.series_body{    margin-bottom: 20px;
  background-color: var(--bgtrans);
  backdrop-filter: blur(12px) saturate(1.2);
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0px 0px 10px 0px #00000040;
  border-radius: 0 0 10px 10px;}



.series_platforms{display: flex;gap:5px;}

.series_social{ display: flex;gap:5px; margin-top: 15px;}

.platform_icon{}



/* ===============================
   Platform social
================================ */
.series-platforms,
.series-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}
.platform_icon,
.social_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  text-decoration: none;
  font-size: 0; /* Text ausblenden */
  transition: all 0.25s ease;
  position: relative;
  background: #f3f3f3;
  color: #fff;  
	overflow: hidden;
}
.platform_icon:hover,
.social_icon:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 18px rgba(0,0,0,0.15);
}
.platform_icon::before,
.social_icon::before {
  content: "";
  width: 38px;
  height: 38px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* Spotify */
.platform_icon.spotify {
  /*background: #1DB954;*/
}
.platform_icon.spotify::before {
  background-image: url('assets/icons/spotify.png');
}

/* Google Podcast */
.platform_icon.google_podcast {
 /* background: #4285F4;*/
}
.platform_icon.google_podcast::before {
  background-image: url('assets/icons/googlepodcast.png');
}

/* Deezer */
.platform_icon.deezer {
  background: #060606;  
	width: 38px;
  height: 38px;
  margin: auto 0;
}
.platform_icon.deezer::before {
  background-image: url('assets/icons/deezer-farbe-48.png');
	width: 30px;
  height: 30px;
}

/* Audionow */
.platform_icon.audionow {
  /*background: #e91e63;*/
}
.platform_icon.audionow::before {
  background-image: url('assets/icons/audionow.svg');
}
/* Twitter */
.social_icon.twitter {
   background: #00ACED;
}
.social_icon.twitter::before {
  background-image: url('assets/icons/twitter.png');
}

/* Facebook */
.social_icon.facebook {
   background: #3C5A99;
}
.social_icon.facebook::before {
  background-image: url('assets/icons/F_icon.svg');
}

/* Instagram */
.social_icon.instagram {
  background: radial-gradient(circle at 30% 107%,
    #fdf497 0%, #fdf497 5%,
    #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.social_icon.instagram::before {
  background-image: url('assets/icons/instagram.png');
}

/* Pinterest */
.social_icon.pinterest {
  background: #E60023;
}
.social_icon.pinterest::before {
  background-image: url('assets/icons/pinterest.svg');
}

#episode_wrap{
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 15px;
  height: calc(100vh - 77px); /* FIX statt max-height */
}
#episode_wrap_left{
  display: flex;
  flex-direction: column;
  min-height: 0; /* WICHTIG f�r Grid Scroll */
}
.episode_head {
  display: grid;
  grid-template-columns: 300px auto;
  gap: 50px;
  align-content: center;
  background-color: var(--bgtrans);
  backdrop-filter: blur(12px) saturate(1.2);
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0px 0px 10px 0px #00000040;
  border-radius: 10px 10px 0 0;
}
.episode_body {  flex: 1;
  overflow-y: auto;
  min-height: 0; /* sehr wichtig */
  background-color: var(--bgtrans);
  backdrop-filter: blur(12px) saturate(1.2);
  padding: 15px;
  border-bottom: 1px solid rgba(0,0,0,.08);
  box-shadow: 0px 0px 10px 0px #00000040;
  border-radius: 0 0 10px 10px;
}
#episode_wrap_right{  max-height: calc(100vh - 77px);
  overflow-y: scroll;
  padding: 0px;
  overflow-x: visible;
  border-radius: 10px;
  background: var(--bgtrans);
  box-shadow: 0px 0px 10px 0px #00000040;}
#episode_wrap_right ul { list-style:none; margin:0; padding:0; }
#episode_wrap_right .ep_right_item{
  display:flex;
  gap:10px;
  align-items:center;
  padding:10px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
#episode_wrap_right .ep_right_item:hover,
#episode_wrap_right .ep_right_item.active{  
	background: #b3b3b363;
}
#episode_wrap_right .ep_right_item.active a{
    pointer-events: none;
}
#episode_wrap_right .ep_right_link{
  display:flex;
  gap:10px;
  align-items:center;
  text-decoration:none;
  color:inherit;
  flex:1;
  min-width:0;
}
#episode_wrap_right .ep_right_cover{
  width:56px;
  height:56px;
  border-radius:12px;
  background-size:cover;
  background-position:center;
  flex:0 0 auto;
}
#episode_wrap_right .ep_right_meta{ min-width:0; }
#episode_wrap_right .ep_right_title{
  font-weight:700;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:100%;
}
#episode_wrap_right .ep_right_item .btn-anhoeren{  padding: 0; padding-left: 40px;}
#episode_wrap_right .ep_right_item .btn-anhoeren::after {
  left: 14px;
}
#episode_wrap_right .ep_right_item .btn-anhoeren::before {
  left: 0px;
}
#episode_wrap_right .ep_right_item .btn-anhoeren.play::after {
  width: 14px;
  height: 18px;
  left: 13px;
}
/* ===============================
   MOBILE
================================ */

@media (max-width: 600px){
  #aktuelle-podcast-list > li.blog-container{
    gap: 12px;
  }

  #aktuelle-podcast-list .blog-inner{
    width: 70px;
    height: 70px;
  }

  #aktuelle-podcast-list h4.home-title1{
    font-size: 15px;
  }
}
@media (max-width: 700px){
  #portal-header{
    padding: 50px 24px 90px;
  }

  #portal-header h3{
    font-size: 32px;
  }

  #portal-header h4{
    font-size: 16px;
  }
}


/* Mobile: breitere Cards */
@media (max-width: 600px){
  #fav-podcast{
    grid-template-columns: 1fr; /* Pfeile optional unterdr�cken */
  }
  #fav-podcast button.arrow_scroll{
    display: none !important;
  }
  #fav-podcast .slides > li{
    flex-basis: 160px;
  }
}


@media (max-width: 900px){
  #featured{
    gap: 8px;
  }
  #featured .slides > li{
    min-width: 86vw;
    grid-template-columns: 1fr;
  }
  #featured .featured_img{
    height: 210px;
  }
  #featured .songinfo{
    left: 14px;
    bottom: 14px;
  }
}
/* 10) Mobile Feinschliff */
@media (max-width: 768px){
  #wrapper{
    padding-top: 10px !important;
  }
  .list_container li .song_wrap{
    gap: 10px;
  }
}
/* 10) Mobile Feinschliff */
@media (min-width: 1400px){
	#aktuelle-podcast-list {    	
  		/*grid-template-columns: 1fr 1fr;*/
	}
}
/* 10) Mobile Feinschliff */
@media (min-width: 1900px){
	#aktuelle-podcast-list {
    	grid-template-columns: 1fr 1fr 1fr;
	}

	.series_head .series_head_title h1{    font-size: 62px;
}

}


/* ============================================================
   MMP GLOBAL DARK DESIGN
   Globales Dark-Theme für alle Seiten des Portals.
   Ersetzt das helle Design site-weit.
   ============================================================ */

/* ---- Globale dunkle Basis ---- */
html, body {
    background: var(--clr-bg) !important;
    color: #fff;
    background-image: none !important;
}
#site {
    background: var(--clr-bg);
}
#main {
    background: var(--clr-bg);
    padding-top: 0;
    max-width: none;
    margin: 0;
}

/* ---- 3) Alten hellen Footer ausblenden ---- */
#footer-wrapper { display: none !important; }

/* ---- 4) Innenseiten – dunkle Overrides ---- */

/* Episode-Liste */
#aktuelle-podcast-list,
.list_container { background: var(--clr-bg); }
.list_container li,
#aktuelle-podcast-list li { background: var(--clr-surface); border-color: var(--clr-border); }
.list_container li .song_info h3,
.list_container li .song_info .song_title { color: #fff; }
.list_container li .song_info .song_sub { color: var(--clr-text-muted); }
.episode_duration, .episode_date { color: var(--clr-text-faint); }

/* Serienseite */
.series_head { background: var(--clr-surface); }
.series_head_title h1, .series_head_title h2 { color: #fff; }
.series_head_description, .series_description { color: var(--clr-text-soft); }
.series_body { background: var(--clr-bg); }

/* Suche / Archiv */
.page-header, .archive-header { background: var(--clr-bg); }
.page-title { color: #fff; }
.entry-title a { color: #fff; }
.entry-summary { color: var(--clr-text-soft); }

/* Featured-Highlight */
#featured .songinfo .song_title { color: #fff; }
#featured .songinfo .song_sub { color: var(--clr-text-muted); }

/* Fav-Podcast Widget */
#fav-podcast_wrapper { background: var(--clr-bg); }
#fav-podcast_wrapper h2 { color: #fff; }
#fav-podcast { background: var(--clr-bg); }

/* Links */
a { color: var(--clr-text-soft); }
a:hover { color: var(--clr-accent-text); }

/* ============================================================
   MMP UI-Komponenten (global, ohne body.home-Präfix)
   ============================================================ */

/* Layout */
.mp-outer {
    width: 100%;
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.mp-scroll {
    background: var(--clr-bg);
    color: #fff;
    flex: 1;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-border) transparent;
}
.mp-scroll::-webkit-scrollbar { width: 4px; }
.mp-scroll::-webkit-scrollbar-thumb { background: var(--clr-border); border-radius: 2px; }

/* Nav */
.mp-nav {
    background: var(--clr-surface);
    padding: 12px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--clr-border);
    position: sticky;
    top: 0;
    z-index: 10;
    gap: 12px;
}
.mp-logo {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}
.mp-logo .org { color: var(--clr-accent-text); }
.mp-nav-links { display: flex; gap: 18px; }
.mp-nav-links a { font-size: 12px; color: var(--clr-text-dim); text-decoration: none; }
.mp-nav-links a.active,
.mp-nav-links a:hover { color: #fff; }
.mp-join-btn {
    font-size: 11px;
    color: var(--clr-accent-text);
    border: 1px solid var(--clr-accent);
    border-radius: 12px;
    padding: 4px 12px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Custom Burger für mp-nav */
.mp-burger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
}
.mp-burger span {
    display: block;
    width: 18px;
    height: 1.5px;
    background: var(--clr-text-soft);
    border-radius: 2px;
}

/* Standard-Burger aus nav-menu.php global ausblenden (wir nutzen .mp-burger) */
#mp-nav-toggle { display: none !important; }

/* Suche */
.mp-search-bar {
    background: var(--clr-surface);
    padding: 10px 20px 14px;
    border-bottom: 1px solid var(--clr-border);
}
.mp-search-inner {
    background: var(--clr-bg);
    border: 1.5px solid var(--clr-border);
    border-radius: 24px;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    transition: border-color .2s;
    text-decoration: none;
}
.mp-search-inner:hover { border-color: var(--clr-accent); }
.mp-search-icon {
    width: 16px;
    height: 16px;
    border: 2px solid var(--clr-text-dim);
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}
.mp-search-icon::after {
    content: '';
    position: absolute;
    bottom: -5px;
    right: -4px;
    width: 5px;
    height: 2px;
    background: var(--clr-text-dim);
    transform: rotate(45deg);
    border-radius: 1px;
}
.mp-search-inner span { font-size: 13px; color: var(--clr-text-ghost); }

/* Hero */
.mp-hero {
    background: var(--clr-surface);
    padding: 18px 20px;
    display: flex;
    gap: 18px;
    align-items: center;
    border-bottom: 1px solid var(--clr-border);
}
.mp-hero-art {
    width: 100px;
    height: 100px;
    border-radius: 10px;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--clr-border);
}
.mp-hero-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-badge {
    display: inline-block;
    background: var(--clr-accent);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    margin-bottom: 6px;
    text-transform: uppercase;
}
.mp-hero-title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-hero-sub { font-size: 11px; color: var(--clr-text-muted); margin-bottom: 6px; }
.mp-hero-meta { display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.mp-hero-meta span { font-size: 10px; color: var(--clr-text-faint); }
.mp-hero-meta strong { color: var(--clr-text-soft); }
.mp-play-main {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--clr-accent);
    color: #fff;
    border-radius: 20px;
    padding: 11px 20px 11px 38px;
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    border: none;
}
.mp-play-main::before {
  /* content: '';*/
    width: 0;
    height: 0;
   /*
	border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 7px solid #fff;*/
}

/* Sektionen */
.mp-sec { padding: 18px 20px 0; }
.mp-sec-hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}
.mp-sec-title { font-size: 13px; font-weight: 700; color: #fff; }
.mp-sec-more { font-size: 10px; color: var(--clr-accent-text); text-decoration: none; }
.mp-divider { height: 1px; background: var(--clr-border); margin: 18px 0 0; }
.mp-scroll-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 8px;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-border) transparent;
}
.mp-scroll-row::-webkit-scrollbar { height: 4px; }
.mp-scroll-row::-webkit-scrollbar-thumb { background: var(--clr-border); border-radius: 2px; }

/* Portrait Card */
.mp-portrait-card {
    flex-shrink: 0;
    width: 120px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
}
.mp-portrait-art {
    width: 120px;
    height: 120px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    position: relative;
    background: var(--clr-border);
}
.mp-portrait-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .2s;
    display: block;
}
.mp-portrait-card:hover .mp-portrait-art img { filter: brightness(.35); }
.mp-portrait-card:hover .mp-portrait-art { outline: 2.5px solid var(--clr-accent); }
.mp-portrait-hover {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
    padding: 8px;
    gap: 6px;
}
.mp-portrait-card:hover .mp-portrait-hover { opacity: 1; }
/* Portrait-Hover: btn-anhoeren als reiner Kreis (kein Text) */
.mp-portrait-hover .btn-anhoeren {
    width: 34px;
    height: 34px;
    padding: 0;
    background: transparent;
    border-radius: 50%;
    flex-shrink: 0;
}
.mp-portrait-hover .btn-anhoeren::before {
    width: 34px;
    height: 34px;
    left: 0;
}
.mp-portrait-hover .btn-anhoeren::after {
    border-left-width: 11px;
    border-top-width: 6px;
    border-bottom-width: 6px;
    left: 12px;
}
.mp-portrait-hover .btn-anhoeren.play::after {
    width: 11px;
    height: 14px;
    left: 11px;
}

/* Land-Hover: btn-anhoeren als reiner Kreis (28px, wie mp-play-btn-sm) */
.mp-land-hover .btn-anhoeren {
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border-radius: 50%;
    flex-shrink: 0;
}
.mp-land-hover .btn-anhoeren::before {
    width: 28px;
    height: 28px;
    left: 0;
}
.mp-land-hover .btn-anhoeren::after {
    border-left-width: 9px;
    border-top-width: 5px;
    border-bottom-width: 5px;
    left: 10px;
}
.mp-land-hover .btn-anhoeren.play::after {
    width: 9px;
    height: 12px;
    left: 9px;
}

.mp-hover-ep-title {
    font-size: 9px;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.mp-portrait-info {
    background: var(--clr-surface);
    border-radius: 0 0 10px 10px;
    padding: 7px 9px;
}
.mp-p-cat { font-size: 9px; color: var(--clr-accent-text); font-weight: 700; margin-bottom: 2px; }
.mp-p-title {
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 2px;
    min-height: 26px;
}
.mp-p-meta { font-size: 9px; color: var(--clr-text-faint); }

/* Landscape Card */
.mp-land-card {
    flex-shrink: 0;
    width: 230px;
    cursor: pointer;
    text-decoration: none;
    display: block;
}
.mp-land-inner {
    background: var(--clr-surface);
    border-radius: 10px;
    display: flex;
    overflow: hidden;
    align-items: stretch;
    height: 72px;
    transition: outline .15s;
}
.mp-land-card:hover .mp-land-inner { outline: 2.5px solid var(--clr-accent); }
.mp-land-art {
    width: 72px;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    background: var(--clr-border);
}
.mp-land-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .2s;
    display: block;
}
.mp-land-card:hover .mp-land-art img { filter: brightness(.4); }
.mp-land-hover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}
.mp-land-card:hover .mp-land-hover { opacity: 1; }
.mp-land-info {
    flex: 1;
    padding: 8px 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mp-l-cat { font-size: 9px; color: var(--clr-accent-text); font-weight: 700; margin-bottom: 2px; }
.mp-l-title {
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 3px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
}
.mp-l-meta { display: flex; gap: 8px; }
.mp-l-meta span { font-size: 9px; color: var(--clr-text-faint); }
.mp-l-meta strong { color: var(--clr-text-soft); }
.mp-land-play {
    flex-shrink: 0;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}
.mp-land-card:hover .mp-land-play { opacity: 1; }
.mp-play-btn-sm {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--clr-accent);
    display: flex;
    align-items: center;
    justify-content: center;
}
.mp-play-btn-sm::after {
    content: '';
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 9px solid #fff;
    margin-left: 2px;
}

/* Kategorie-Karten */
.mp-cat-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    margin-bottom: 10px;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-border) transparent;
}
.mp-cat-row::-webkit-scrollbar { height: 4px; }
.mp-cat-row::-webkit-scrollbar-thumb { background: var(--clr-border); border-radius: 2px; }
.mp-cat-card {
    flex-shrink: 0;
    width: 120px;
    height: 72px;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    cursor: pointer;
    text-decoration: none;
    display: block;
    background: var(--clr-surface);
}
.mp-cat-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-cat-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.15) 60%);
}
.mp-cat-label {
    position: absolute;
    bottom: 8px;
    left: 9px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
}
.mp-cat-count {
    position: absolute;
    bottom: 8px;
    right: 9px;
    font-size: 9px;
    color: rgba(255,255,255,.55);
}

/* ===== Cat-ring (active category card) ===== */
.mp-cat-card.is-active { outline: 2.5px solid var(--clr-accent); outline-offset: -2.5px; }
.mp-cat-ring {
    position: absolute;
    inset: 0;
    border: 2px solid var(--clr-accent);
    border-radius: 10px;
    pointer-events: none;
}

/* ===== Expanded Series Panel ===== */
.mp-expanded {
    background: var(--clr-surface-2);
    border-radius: 10px;
    padding: 12px;
    margin-top: 10px;
    border: 1px solid var(--clr-border);
}
.mp-exp-hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.mp-exp-title { font-size: 11px; font-weight: 700; color: var(--clr-accent-text); }
.mp-exp-more  { font-size: 10px; color: var(--clr-text-faint); text-decoration: none; }
.mp-exp-more:hover { color: var(--clr-accent-text); }

/* ===== Serie Row + Cards ===== */
.mp-serie-row {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--clr-border) transparent;
    padding-bottom: 4px;
}
.mp-serie-row::-webkit-scrollbar { height: 4px; }
.mp-serie-row::-webkit-scrollbar-thumb { background: var(--clr-border); border-radius: 2px; }
.mp-serie-card {
    flex-shrink: 0;
    width: 95px;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
}
.mp-serie-art {
    width: 95px;
    height: 95px;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    position: relative;
    background: var(--clr-surface);
}
.mp-serie-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter .2s;
    display: block;
}
.mp-serie-card:hover .mp-serie-art img { filter: brightness(.5); }
.mp-serie-card:hover .mp-serie-art { outline: 2px solid var(--clr-accent); border-radius: 8px 8px 0 0; }
.mp-serie-info {
    background: var(--clr-surface);
    border-radius: 0 0 8px 8px;
    padding: 6px 7px;
}
.mp-s-title {
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
    min-height: 26px;
    margin-bottom: 2px;
}
.mp-s-meta { font-size: 9px; color: var(--clr-text-faint); }

/* ===== Chart Cards ===== */
.mp-chart-card {
    flex-shrink: 0;
    width: 230px;
    cursor: pointer;
    text-decoration: none;
    display: block;
}
.mp-chart-inner {
    background: var(--clr-surface);
    border-radius: 10px;
    display: flex;
    overflow: hidden;
    align-items: stretch;
    height: 72px;
    transition: outline .15s;
}
.mp-chart-card:hover .mp-chart-inner { outline: 2.5px solid var(--clr-accent); }
.mp-chart-num {
    width: 34px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: var(--clr-accent-text);
}
.mp-chart-art {
    width: 72px;
    flex-shrink: 0;
    overflow: hidden;
    background: var(--clr-border);
}
.mp-chart-art img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mp-chart-info {
    flex: 1;
    padding: 8px 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.mp-c-cat  { font-size: 9px; color: var(--clr-accent-text); font-weight: 700; margin-bottom: 2px; }
.mp-c-title {
    font-size: 11px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 3px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.3;
}
.mp-c-meta { display: flex; gap: 8px; }
.mp-c-meta span { font-size: 9px; color: var(--clr-text-faint); }
.mp-c-meta strong { color: var(--clr-text-soft); }
.mp-chart-play {
    flex-shrink: 0;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .2s;
}
.mp-chart-card:hover .mp-chart-play { opacity: 1; }
/* btn-anhoeren inside chart-play: pure circle */
.mp-chart-play .btn-anhoeren {
    width: 28px;
    height: 28px;
    padding: 0;
    background: transparent;
    border-radius: 50%;
    flex-shrink: 0;
}
.mp-chart-play .btn-anhoeren::before {
    width: 28px;
    height: 28px;
    left: 0;
}
.mp-chart-play .btn-anhoeren::after {
    border-left-width: 9px;
    border-top-width: 5px;
    border-bottom-width: 5px;
    left: 10px;
}

/* Player – globale Dark-Overrides */
#player {
    background: var(--clr-surface-2);
    border-top: 1.5px solid var(--clr-accent);
    color: #fff;
}
#player_wrap { background: var(--clr-surface-2); }
#player_title { color: #fff; font-size: 11px; }
.progress-fill { background: var(--clr-accent); }
#play_pause_wrap { background: var(--clr-accent); border-radius: 50%; }
#player_duration { color: var(--clr-text-dim); font-size: 10px; }
#vol_btn { color: var(--clr-text-dim); }
.skip-btn { color: var(--clr-text-dim); }



/* ===== Mini-Player Layout ===== */
#player_wrap {
    gap: 14px;
}
#player_logo {
    width: 42px;
    height: 42px;
    border-radius: 6px;
}
#player_info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
#player_title {
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 0;
}
#player_sub {
    font-size: 10px;
    color: var(--clr-text-dim);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#player_info #player_progress_bar {
    flex: none;
    width: 100%;
    min-width: 0;
    height: 14px;
    margin-top: 2px;
    display: flex;
    align-items: center;
}
#player_info #player_progress_bar .progress-track {
    height: 3px;
}
#player_control {
    border-top: none;
    padding-top: 0;
    gap: 12px;
    flex-shrink: 0;
}
#play_pause_wrap {
    width: 34px;
    height: 34px;
    margin: 0;
}

#play_pause_wrap .pp-icon {
    width: 16px;
    height: 16px;
}

#player.playing #play_pause_wrap .pp-icon {
    width: 12px;
}
.skip-btn {
    width: 26px;
    height: 26px;
    margin: 0;
}

/* Responsive */
@media (max-width: 600px) {
    .mp-nav { padding: 10px 14px; }
    .mp-nav-links { display: none; }
    .mp-hero { padding: 14px; gap: 12px; }
    .mp-hero-art { width: 80px; height: 80px; }
    .mp-hero-title { font-size: 14px; }
    .mp-sec { padding: 14px 14px 0; }
    .mp-land-card { width: 200px; }
}

