/* Éléments communs aux pages dédiées : lecteur, pied de page et bouton haut. */
body > .topbar .logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  width: clamp(168px, 16vw, 230px);
  max-width: 28%;
}
body > .topbar .logo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.mz-shared-radio {
  width: min(92%, 1500px);
  margin: clamp(70px, 9vw, 130px) auto 56px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(255, 35, 54, .34);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(15, 15, 18, .94), rgba(5, 5, 7, .88));
  box-shadow: 0 28px 80px rgba(0, 0, 0, .5), inset 0 1px rgba(255,255,255,.06);
  backdrop-filter: blur(18px);
  text-align: center;
}
.mz-shared-radio .section-label {
  margin: 0 0 10px;
  color: #ff263b;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .22em;
}
.mz-shared-radio h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3.1rem);
  line-height: 1.05;
}
.mz-shared-radio__intro {
  margin: 14px auto 28px;
  max-width: 680px;
  color: rgba(255,255,255,.64);
}
.mz-shared-player {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto minmax(130px,220px);
  align-items: center;
  gap: 18px;
  padding: 16px 20px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: rgba(0,0,0,.52);
}
.mz-shared-player__cover {
  position: relative;
  width: 62px;
  height: 62px;
}
.mz-shared-player__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 14px;
}
.mz-shared-player__cover i {
  position: absolute;
  right: -3px;
  bottom: -3px;
  width: 12px;
  height: 12px;
  border: 3px solid #08080a;
  border-radius: 50%;
  background: #ff1933;
  box-shadow: 0 0 14px #ff1933;
}
.mz-shared-player__meta {
  min-width: 0;
  text-align: left;
}
.mz-shared-player__meta small,
.mz-shared-player__meta strong,
.mz-shared-player__meta span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mz-shared-player__meta small { color:#ff263b; font-size:.62rem; font-weight:900; letter-spacing:.14em; }
.mz-shared-player__meta strong { margin-top:5px; color:#fff; font-size:1.05rem; }
.mz-shared-player__meta span { margin-top:3px; color:rgba(255,255,255,.55); font-size:.78rem; }
.mz-shared-player__play {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: linear-gradient(145deg,#ff263b,#b90016);
  color: #fff;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(229,0,28,.32);
  transition: transform .25s ease, box-shadow .25s ease;
}
.mz-shared-player__play:hover { transform:scale(1.06); box-shadow:0 12px 34px rgba(229,0,28,.48); }
.mz-shared-player__volume { display:flex; align-items:center; gap:10px; }
.mz-shared-player__volume button { border:0; background:transparent; color:#fff; cursor:pointer; }
.mz-shared-player__volume input { width:100%; accent-color:#ff263b; }
.site-footer.mz-shared-footer {
  width: min(92%, 1500px);
  margin: 56px auto 30px;
}
.mz-unified-back-top {
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 9999 !important;
}
@media (max-width: 760px) {
  body > .topbar .logo {
    width: 172px;
    max-width: calc(100% - 74px);
  }
  .mz-shared-radio { width:calc(100% - 24px); margin:60px auto 34px; padding:26px 14px; border-radius:24px; }
  .mz-shared-player { grid-template-columns:auto minmax(0,1fr) auto; gap:12px; padding:13px; }
  .mz-shared-player__cover { width:52px; height:52px; }
  .mz-shared-player__volume { grid-column:1 / -1; width:100%; }
  .site-footer.mz-shared-footer { width:calc(100% - 24px); margin-top:34px; }
}
