/* Golden Lion — shared podium styles (website, app and hall TV) */
/* List of places after the podium */
.places-list { list-style: none; margin: 0 0 6px; padding: 0; display: grid; gap: 6px; }
.places-list li { display: grid; grid-template-columns: 34px 34px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 10px;
  background: linear-gradient(90deg, rgba(209, 166, 75, .08), rgba(255, 255, 255, .02)); border: 1px solid rgba(209, 166, 75, .16); }
.pl-rank { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font: 400 15px "Anton", var(--font-c, "Roboto Condensed", sans-serif); color: #f1d58e; border: 1px solid rgba(209, 166, 75, .45); background: rgba(0, 0, 0, .35); }
.pl-av { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 50% 35%, #2a2d33, #121317); border: 1px solid rgba(255, 255, 255, .15); }
.pl-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pl-name { font: 700 14.5px var(--font-c, "Roboto Condensed", sans-serif); text-transform: uppercase; letter-spacing: .03em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-val { font: 700 14px var(--font-c, "Roboto Condensed", sans-serif); color: #f1d58e; white-space: nowrap; }

/* ---------- Podium (top 3): laurel wreath, beveled frame, medal, lit 3D dais and nameplate ---------- */
.podium { display: grid; grid-template-columns: 1fr 1.25fr 1fr; align-items: end; gap: clamp(10px, 3vw, 40px); max-width: 760px; margin: 10px auto 26px; padding: 34px 6px 0; overflow: visible; }
.pd-col { --m0: #ffffff; --m1: #dfe3ea; --m2: #9ea5b0; --m3: #4f5560; --glow: rgba(205, 215, 230, .35);
  position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.pd-col.p1 { --m0: #fff6d0; --m1: #f1d27a; --m2: #c9962c; --m3: #6e4c12; --glow: rgba(241, 210, 122, .55); }
.pd-col.p3 { --m0: #ffe2c6; --m1: #e8a873; --m2: #a8622e; --m3: #552c12; --glow: rgba(232, 168, 115, .38); }
.pd-col.p1 { padding-bottom: 22px; }
/* Soft spotlight from above */
.pd-beam { position: absolute; left: 50%; top: -30px; bottom: 70px; width: 120%; transform: translateX(-50%); z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse 50% 100% at 50% 100%, var(--glow), transparent 70%), linear-gradient(180deg, transparent, color-mix(in srgb, var(--glow) 35%, transparent));
  clip-path: polygon(42% 0, 58% 0, 100% 100%, 0 100%); filter: blur(10px); opacity: .5; mix-blend-mode: screen; }
.p1 .pd-beam { opacity: .8; animation: pdBeam 4s ease-in-out infinite; }
@keyframes pdBeam { 50% { opacity: .55; } }
/* Wreath + beveled metal frame + photo */
.pd-avwrap { position: relative; z-index: 2; width: clamp(110px, 17vw, 150px); aspect-ratio: 1; display: grid; place-items: center; }
.p1 .pd-avwrap { width: clamp(150px, 24vw, 210px); }
.pd-wreath { position: absolute; inset: -12%; width: 124%; height: 124%; overflow: visible; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .65)); }
.p1 .pd-wreath { filter: drop-shadow(0 0 8px rgba(241, 210, 122, .45)) drop-shadow(0 3px 4px rgba(0, 0, 0, .65)); }
.pd-frame { width: 66%; aspect-ratio: 1; border-radius: 50%; padding: 4.5%; position: relative;
  background: conic-gradient(from 210deg, var(--m0), var(--m1) 18%, var(--m3) 38%, var(--m2) 55%, var(--m0) 70%, var(--m2) 85%, var(--m0));
  box-shadow: 0 0 0 1.5px var(--m3), 0 10px 26px rgba(0, 0, 0, .65), 0 0 28px var(--glow); }
.pd-frame::after { content: ""; position: absolute; inset: 4.5%; border-radius: 50%; box-shadow: inset 0 0 0 1.5px rgba(0, 0, 0, .5), inset 0 6px 16px rgba(0, 0, 0, .55); pointer-events: none; }
.pd-av { width: 100%; height: 100%; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 50% 30%, #2d3038, #0e0f12 75%); }
.pd-av img { width: 100%; height: 100%; object-fit: cover; display: block; }
.p1 .pd-frame { animation: pdGlow 3.2s ease-in-out infinite; }
@keyframes pdGlow { 50% { box-shadow: 0 0 0 1.5px var(--m3), 0 10px 26px rgba(0, 0, 0, .65), 0 0 46px rgba(241, 210, 122, .75); } }
/* Medal with the place number */
.pd-medal { position: absolute; left: 50%; bottom: 3%; transform: translate(-50%, 30%); z-index: 3; width: clamp(30px, 4.6vw, 38px); aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; padding: 3px;
  background: conic-gradient(from 200deg, var(--m0), var(--m2), var(--m0), var(--m3), var(--m0)); box-shadow: 0 6px 14px rgba(0, 0, 0, .6), 0 0 0 1px var(--m3); }
.pd-medal b { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; font: 400 clamp(15px, 2.4vw, 19px) "Anton", var(--font-c, "Roboto Condensed", sans-serif); color: var(--m3);
  background: radial-gradient(circle at 35% 30%, #fff, var(--m1) 40%, var(--m2)); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25); }
.p1 .pd-medal { width: clamp(38px, 5.6vw, 48px); }
.p1 .pd-medal b { font-size: clamp(19px, 3vw, 25px); }
/* Crown and sparkles */
.pd-crown { position: relative; z-index: 3; width: clamp(62px, 9vw, 84px); margin-bottom: 4px; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .7)) drop-shadow(0 0 14px rgba(224, 35, 46, .3)); transform-origin: 50% 100%; animation: pdCrown 3.4s ease-in-out infinite; }
.pd-crown svg { width: 100%; height: auto; display: block; overflow: visible; }
@keyframes pdCrown { 0%, 100% { transform: translateY(0) rotate(-3deg); } 50% { transform: translateY(-5px) rotate(3deg); } }
.pd-spark { position: absolute; z-index: 3; width: 12px; height: 12px; background: #fff6d5; clip-path: polygon(50% 0, 60% 40%, 100% 50%, 60% 60%, 50% 100%, 40% 60%, 0 50%, 40% 40%); filter: drop-shadow(0 0 6px #f1d58e); animation: pdTw 2.6s ease-in-out infinite; }
.pd-spark.s1 { top: 12%; left: 8%; } .pd-spark.s2 { top: 4%; right: 12%; width: 9px; height: 9px; animation-delay: .7s; }
.pd-spark.s3 { top: 40%; right: 2%; width: 8px; height: 8px; animation-delay: 1.3s; } .pd-spark.s4 { top: 46%; left: 4%; width: 10px; height: 10px; animation-delay: 1.9s; }
@keyframes pdTw { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
/* 3D dais: glossy top, metal rim, glow on the floor */
.pd-stage { position: relative; z-index: 1; width: 100%; height: clamp(30px, 4.6vw, 40px); margin-top: 18px; }
.p1 .pd-stage { width: 112%; height: clamp(36px, 5.4vw, 48px); }
.pd-stage i { position: absolute; left: 0; right: 0; border-radius: 50%; display: block; }
.pd-stage .st-top { top: 0; height: 58%; background: radial-gradient(ellipse at 50% 38%, var(--m0) 0%, var(--m1) 30%, var(--m2) 70%, var(--m3) 100%);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .7), inset 0 -3px 6px rgba(0, 0, 0, .35), 0 0 0 1px var(--m3); }
.pd-stage .st-top::after { content: ""; position: absolute; left: 18%; right: 18%; top: 16%; height: 26%; border-radius: 50%; background: rgba(255, 255, 255, .55); filter: blur(3px); }
.pd-stage .st-side { top: 28%; height: 62%; border-radius: 0 0 50% 50% / 0 0 100% 100%; background: linear-gradient(90deg, var(--m3), var(--m2) 25%, var(--m1) 50%, var(--m2) 75%, var(--m3)); box-shadow: 0 1px 0 var(--m3); }
.pd-stage .st-glow { top: 60%; height: 70%; left: -18%; right: -18%; background: radial-gradient(ellipse, var(--glow), transparent 70%); filter: blur(8px); }
/* Nameplate */
.pd-plate { position: relative; z-index: 2; margin-top: 12px; min-width: 78%; max-width: 100%; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 12px 9px; border-radius: 10px;
  background: linear-gradient(180deg, rgba(20, 21, 26, .92), rgba(10, 11, 14, .92)); border: 1px solid color-mix(in srgb, var(--m2) 70%, transparent);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06); }
.p1 .pd-plate { border-color: var(--m1); box-shadow: 0 10px 24px rgba(0, 0, 0, .5), 0 0 22px rgba(241, 210, 122, .25), inset 0 1px 0 rgba(255, 255, 255, .08); }
.pd-tag { font: 700 9.5px var(--font-c, "Roboto Condensed", sans-serif); text-transform: uppercase; letter-spacing: .2em; color: #1a1306; padding: 3px 10px; border-radius: 20px; background: linear-gradient(180deg, #fff3cc, #d1a64b); margin-bottom: 2px; white-space: nowrap; }
.pd-name { font: 700 clamp(13px, 1.9vw, 15.5px) var(--font-c, "Roboto Condensed", sans-serif); text-transform: uppercase; letter-spacing: .05em; color: #fff; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.p1 .pd-name { font-size: clamp(15px, 2.4vw, 19px); background: linear-gradient(180deg, #fff8dc, #d1a64b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pd-pts { font: 600 12px var(--font-c, "Roboto Condensed", sans-serif); color: var(--m1); letter-spacing: .04em; }
.pd-col.pd-empty .pd-avwrap, .pd-col.pd-empty .pd-stage { opacity: .4; }
.pd-col.pd-empty .pd-beam { display: none; }
.pd-col.pd-empty .pd-pts { color: var(--muted, #7d8590); }
/* Compact version (tournament cards) */
.podium.sm { max-width: 460px; gap: 10px; padding-top: 22px; margin: 4px auto 14px; }
.podium.sm .pd-avwrap { width: 84px; }
.podium.sm .p1 .pd-avwrap { width: 112px; }
.podium.sm .pd-crown { width: 50px; }
.podium.sm .pd-medal { width: 26px; }
.podium.sm .pd-medal b { font-size: 13px; }
.podium.sm .p1 .pd-medal { width: 32px; }
.podium.sm .p1 .pd-medal b { font-size: 16px; }
.podium.sm .pd-stage { height: 22px; margin-top: 14px; }
.podium.sm .p1 .pd-stage { height: 26px; }
.podium.sm .pd-plate { padding: 6px 8px 7px; margin-top: 8px; }
.podium.sm .pd-name { font-size: 12px; }
.podium.sm .p1 .pd-name { font-size: 13.5px; }
.podium.sm .pd-tag { font-size: 8.5px; padding: 2px 7px; }
.podium.sm .pd-pts { font-size: 11px; }
.podium.sm .pd-col.p1 { padding-bottom: 14px; }
@media (max-width: 520px) { .pd-plate { padding: 6px 6px 7px; } .pd-tag { letter-spacing: .1em; } }
@media (prefers-reduced-motion: reduce) { .pd-frame, .pd-crown, .pd-beam, .pd-spark { animation: none; } }

.pd-crown { width: clamp(80px, 11vw, 112px); }
.podium.sm .pd-crown { width: 64px; }
