/* Winners overlay (podium / staircase) */
.winners-overlay{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:16px;}
.winners-overlay.hidden{display:none;}
.winners-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);}
.winners-shell{position:relative;width:min(980px,96vw);max-height:min(86vh,860px);overflow:hidden;border-radius:22px;border:1px solid rgba(216,216,216,.18);background:linear-gradient(180deg,rgba(138,43,226,.18),rgba(106,13,173,.12));box-shadow:0 18px 60px rgba(0,0,0,.65);backdrop-filter:blur(14px);display:flex;flex-direction:column;}
.winners-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(216,216,216,.14);}
.winners-title{font-weight:800;font-size:18px;color:#E8A0B0;}
.podium{flex:1 1 auto;display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;padding:16px;align-items:end;overflow:auto;}
.podium-place{border:1px solid rgba(216,216,216,.14);border-radius:18px;padding:12px;background:rgba(0,0,0,.25);display:flex;flex-direction:column;gap:10px;cursor:pointer;user-select:none;}
.podium-place:focus-within{outline:2px solid rgba(232,160,176,.35);outline-offset:2px;}
.podium-rank{font-size:26px;font-weight:900;line-height:1;}
.place-1{transform:translateY(-10px);height: 100%; background-color: rgba(211, 197, 0, 0.534);}
.place-2{transform:translateY(-10px);height: 80%; background-color: rgba(118, 118, 118, 0.582);}
.place-3{transform:translateY(-10px);height: 60%; background-color: rgba(136, 75, 6, 0.493);}

.podium-media{position:relative;border-radius:14px;overflow:hidden;border:1px solid rgba(216,216,216,.12);background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;height:clamp(180px,32vh,420px);}
.place-1 .podium-media{height:clamp(220px,38vh,520px);} .place-2 .podium-media{height:clamp(170px,28vh,380px);} .place-3 .podium-media{height:clamp(160px,26vh,360px);}

.podium-media img,.podium-media video{width:100%;height:100%;object-fit:contain;display:block;}

.podium-meta{display:flex;flex-direction:column;gap:4px;}
.podium-score{font-weight:700;}
.podium-user{color:rgba(216,216,216,.88);font-size:13px;word-break:break-word;}
.winners-note{padding:10px 16px 14px;color:rgba(216,216,216,.75);font-size:12px;border-top:1px solid rgba(216,216,216,.10);}

/* Disabled voting label */
.vote-disabled{margin-top:8px;padding:8px 10px;border-radius:12px;border:1px dashed rgba(216,216,216,.25);color:rgba(216,216,216,.75);font-size:12px;text-align:center;}

/* --- Hide winners until reveal --- */
.podium-place .podium-media img,
.podium-place .podium-media video{
  filter: blur(16px) brightness(0.65);
  transform: scale(1.03);
}

.podium-place .podium-meta{
  filter: blur(8px);
  opacity: 0.8;
}

.podium-place::after{
  content:"Zum Aufdecken klicken";
  position:absolute;
  inset:auto 18px 18px 18px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(0,0,0,.55);
  border:1px solid rgba(216,216,216,.16);
  color:rgba(216,216,216,.9);
  font-size:12px;
  text-align:center;
  pointer-events:none;
}

.podium-place{ position:relative; }

.podium-place.revealed .podium-media img,
.podium-place.revealed .podium-media video{
  filter:none;
  transform:none;
}

.podium-place.revealed .podium-meta{
  filter:none;
  opacity:1;
}

.podium-place.revealed::after{
  content:none;
}

@media (max-width:720px){
  .podium{grid-template-columns:1fr;align-items:stretch;}
  .place-1,.place-2,.place-3{transform:none;}
  .podium-media,.place-1 .podium-media,.place-2 .podium-media,.place-3 .podium-media{height:min(48vh,420px);}
}
