:root {
  --apple-glass: rgba(9, 10, 30, 0.66);
  --apple-line: rgba(255, 255, 255, 0.11);
  --apple-spring: cubic-bezier(0.2, 0.8, 0.2, 1);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", sans-serif;
}

.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  height: 86px;
  padding: 10px 20px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}

.header-inner {
  position: relative;
  width: min(1400px, 100%);
  height: 66px;
  padding: 7px 8px 7px 14px;
  border: 1px solid var(--apple-line);
  border-radius: 20px;
  background: var(--apple-glass);
  box-shadow: 0 18px 52px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.055);
  backdrop-filter: blur(28px) saturate(165%);
  -webkit-backdrop-filter: blur(28px) saturate(165%);
}

.header-inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
}

.brand {
  gap: 10px;
}

.brand img {
  width: 43px;
  height: 41px;
}

.brand-copy {
  font-size: 20px;
}

.desktop-nav {
  height: 52px;
  margin: 0;
  padding: 4px;
  gap: 3px;
  border: 1px solid rgba(255, 255, 255, 0.055);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
}

.desktop-nav > a {
  min-height: 42px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #aaa9b3;
  font-size: 14px;
  font-weight: 550;
}

.desktop-nav > a:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.065);
}

.search-button {
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
}

.search-button svg {
  width: 22px;
  height: 22px;
}

.login-button {
  width: auto;
  min-width: 136px;
  height: 42px;
  margin: 0 0 0 3px;
  border-radius: 13px;
  background:
    linear-gradient(rgba(9, 10, 31, 0.95), rgba(9, 10, 31, 0.95)) padding-box,
    linear-gradient(110deg, #259dff, #7954ff 52%, #f242a1) border-box;
  box-shadow: 0 8px 24px rgba(75, 51, 220, 0.13);
}

.gradient-outline::before,
.gradient-outline::after {
  display: none;
}

.mobile-menu {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.cover-wrap,
.primary-button,
.secondary-button,
.episode-row,
.audio-player {
  transition-timing-function: var(--apple-spring);
}

.cover-wrap::after {
  border-radius: 23px;
}

.podcast-cover {
  border-radius: 23px;
}

.category-badge,
.primary-button,
.secondary-button {
  border-radius: 14px;
}

.episode-row {
  border-radius: 13px;
}

.episode-row:hover {
  background: rgba(255, 255, 255, 0.025);
}

.audio-player {
  border-radius: 20px 20px 0 0;
  background:
    linear-gradient(105deg, rgba(12, 13, 43, 0.9), rgba(6, 7, 29, 0.93)) padding-box,
    linear-gradient(103deg, rgba(255, 31, 148, 0.55), rgba(72, 41, 255, 0.2) 40%, rgba(94, 52, 255, 0.23) 100%) border-box;
  box-shadow: 0 -18px 55px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.045);
  backdrop-filter: blur(28px) saturate(150%);
}

@media (max-width: 900px) {
  .site-header {
    height: 78px;
    padding: 8px 10px;
  }

  .header-inner {
    width: 100%;
    height: 62px;
    padding: 7px 8px 7px 11px;
    border-radius: 18px;
  }

  .brand-copy {
    font-size: 17px;
  }

  .brand img {
    width: 38px;
    height: 36px;
  }

  body.menu-open .desktop-nav {
    top: calc(100% + 10px);
    right: 0;
    width: min(380px, 100%);
    padding: 10px;
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 23px;
    background: rgba(9, 10, 31, 0.96);
    box-shadow: 0 30px 85px rgba(0, 0, 0, 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(30px) saturate(170%);
    -webkit-backdrop-filter: blur(30px) saturate(170%);
    animation: apple-podcast-menu-in 0.24s var(--apple-spring) both;
  }

  body.menu-open .desktop-nav::before {
    content: "NAVIGATION";
    padding: 7px 11px 5px;
    color: #73717f;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: 1.3px;
  }

  body.menu-open .desktop-nav > a {
    min-height: 50px;
    padding: 0 12px;
    justify-content: flex-start;
    gap: 12px;
    border-radius: 14px;
    color: #cbc9d1;
    font-size: 15px;
  }

  body.menu-open .desktop-nav > a::before {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 9px;
    color: #c8b7ff;
    background: rgba(255, 255, 255, 0.045);
    font-size: 14px;
  }

  body.menu-open .desktop-nav > a[href="discover.html"]::before { content: "⌕"; }
  body.menu-open .desktop-nav > a[href="categories.html"]::before { content: "◫"; }
  body.menu-open .desktop-nav > a[href="library.html"]::before { content: "♡"; }
  body.menu-open .desktop-nav > a[aria-label="Rechercher"]::before { content: "⌕"; }
  body.menu-open .desktop-nav > a[href="admin.html"]::before { content: "◎"; }
  body.menu-open .login-button::before { content: "◎"; }

  body.menu-open .search-button::after {
    content: "Rechercher";
    display: inline;
  }

  body.menu-open .search-button svg {
    display: none;
  }

  body.menu-open .login-button {
    min-width: 0;
    margin-top: 3px;
    background:
      linear-gradient(rgba(13, 14, 41, 0.96), rgba(13, 14, 41, 0.96)) padding-box,
      linear-gradient(110deg, #259dff, #7954ff 52%, #f242a1) border-box;
  }

  body.menu-open .mobile-menu svg {
    display: none;
  }

  body.menu-open .mobile-menu::before {
    content: "×";
    font-size: 24px;
  }
}

@keyframes apple-podcast-menu-in {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.menu-open .desktop-nav {
    animation: none;
  }
}

.episode-production-meta {
  margin-top: 7px;
  display: flex;
  align-items: center;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: none;
}

.episode-production-meta::-webkit-scrollbar {
  display: none;
}

.episode-production-meta > span,
.episode-production-meta > button {
  min-width: max-content;
  height: 22px;
  padding: 0 7px;
  border: 1px solid rgba(139, 83, 255, 0.17);
  border-radius: 6px;
  color: #9d86d6;
  background: rgba(105, 57, 207, 0.055);
  font-size: 8px;
  font-weight: 750;
}

.episode-production-meta > button {
  color: #9e9aa9;
  border-color: rgba(255, 255, 255, 0.075);
  background: rgba(255, 255, 255, 0.025);
}

.episode-production-meta > button:hover {
  color: #fff;
  border-color: rgba(153, 86, 255, 0.3);
  background: rgba(114, 60, 217, 0.1);
}

.episode-row:has(.episode-production-meta) {
  min-height: 102px;
}

@media (max-width: 900px) {
  .episode-production-meta {
    max-width: min(100%, 520px);
  }
}
