.site-header {
    position: relative;
    width: 100%;
    padding: 10px 0;
    display: flex;
    justify-content: center; /* centers the logo */
    align-items: center;
}

.hamburger {
    position: absolute;
    left: 15px;
    transform: translateY(-50%);
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
}

.site-logo {
    height: 80px;   /* adjust size */
    object-fit: contain;
}

.side-menu {
  position: fixed;
  top: 0;
  left: -300px;  /* hidden */
  width: 250px;
  height: 100vh;
  /* richer, darker gradient background */
  background: linear-gradient(180deg, #0f1724 0%, #0b0d12 60%, #050507 100%);
  padding: 20px;
  box-shadow: 2px 0 18px rgba(0,0,0,0.6);
  transition: left 0.25s ease, box-shadow 0.25s ease;
  z-index: 300;
  color: #fff;
  overflow-y: auto;
}

.side-menu::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, #ff8a00, #e52e71);
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.side-menu.open {
  left: 0;
}

.menu-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
  z-index: 250;
  width: 100vw;  
  height: 100vh;
  overflow: hidden;
}

.menu-backdrop.visible {
  opacity: 1;
  pointer-events: auto;
}

.close-menu {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.04);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  transition: background 150ms ease, transform 100ms ease, box-shadow 150ms ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.45);
  z-index: 310;
}

/* hover / active / focus states */
.close-menu:hover {
  background: rgba(255,255,255,0.09);
  transform: translateY(-1px);
}
.close-menu:active {
  transform: translateY(0);
}
.close-menu:focus {
  outline: 2px solid rgba(255,255,255,0.12);
  outline-offset: 2px;
}

.menu-header {
  color: white;
  margin: 20px 0 12px;
  padding: 0 4px;
  font-size: 1.2rem;
  font-weight: 600;
}

.saved-shows-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.saved-shows-list li {
  display: flex;
  align-items: center;
  padding: 6px 4px;
  gap: 10px;
  border-radius: 8px;
  transition: background 150ms ease;
  overflow: hidden;
}

.saved-shows-list li:hover {
  background: rgba(255,255,255,0.04);
}

.saved-shows-list img {
  width: 45px;
  height: 68px; /* poster aspect ratio */
  object-fit: cover;
  border-radius: 6px;
}

.saved-shows-list .show-title {
  font-size: 0.95rem;
  color: #e6eef8;
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-left: 10px;
}

.saved-shows-list a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  flex: 1; 
  min-width: 0;  
  overflow: hidden;
}

.delete-show-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    padding: 6px;
    opacity: 0.7;
}

.delete-show-btn:hover {
    opacity: 1;
}

.side-menu::-webkit-scrollbar { width: 8px; }
.side-menu::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.04);
  border-radius: 6px;
}

.menu-btn {
    width: 100%;
    padding: 10px 14px;
    margin-bottom: 14px;
    background: var(--bg-color);
    color: var(--text-color);
    border: 1px solid var(--shadow-color);
    border-radius: 10px;
    font-size: 0.95rem;
    text-align: left;
    cursor: pointer;
    transition: 0.2s ease;
}

.menu-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px var(--shadow-color);
}