/* DATESHOW — sjednocený streetwear-romantic styl */

* { box-sizing: border-box; margin: 0; padding: 0; }
html, body, #root { height: auto; min-height: 100%; }
/* Globální horizontální clip — chrání před náhodným overflow (mobile nav v transformu, marquee, atd.) */
html, body { overflow-x: hidden; max-width: 100%; }
body {
  font-family: 'Schibsted Grotesk', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  background: #0a0014;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "ss02", "kern";
  font-variant-emoji: text;
}
* { font-variant-emoji: text; }

.ds-app {
  --pink: #ff4d8f;
  --pink-glow: #ff6ec7;
  --purple: #a78bfa;
  --purple-deep: #7c3aed;
  --bg: #0f0020;
  --bg-2: #1a0033;
  --bg-3: #260047;
  --line: rgba(255, 174, 220, 0.18);
  --text: #fff5fa;
  --muted: #c9b3d9;
  --card-bg: #fff5fa;
  --card-text: #1a0014;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
}
.ds-app.palette-pink {
  --pink: #ff2d92; --pink-glow: #ff8fc4; --purple: #ff85b8; --purple-deep: #c026d3;
  --bg: #1a0010; --bg-2: #290020; --bg-3: #3d002f;
}
.ds-app.palette-violet {
  --pink: #c084fc; --pink-glow: #d8b4fe; --purple: #a78bfa; --purple-deep: #6d28d9;
  --bg: #0e0028; --bg-2: #170040; --bg-3: #260060;
}
.ds-app.theme-light {
  --bg: #fff5f9; --bg-2: #ffeaf3; --bg-3: #ffd9e9;
  --text: #1a0014; --muted: #6b3a5a; --line: rgba(255, 77, 143, 0.25);
  --card-bg: #ffffff; --card-text: #1a0014;
}

/* ===== TOP BAR ===== */
.ds-top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 40px; border-bottom: 1px solid var(--line);
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase;
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(12px);
  background: color-mix(in oklab, var(--bg) 85%, transparent);
}
.ds-top-left { display: flex; align-items: baseline; gap: 16px; }
.ds-mast { font-family: 'Anton', sans-serif; font-size: 24px; letter-spacing: 0.02em; }
.ds-issue { color: var(--muted); }
.ds-nav { display: flex; gap: 28px; }
.ds-nav a { color: var(--text); text-decoration: none; transition: 0.2s; }
.ds-nav a:hover { color: var(--pink); }
.ds-top-right {
  display: flex; align-items: center; gap: 8px;
  color: var(--pink); font-weight: 600;
}
.ds-live-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--pink);
  box-shadow: 0 0 0 0 currentColor;
  animation: live-pulse 1.6s infinite;
}
@keyframes live-pulse { 0%,100% { box-shadow: 0 0 0 0 var(--pink); } 50% { box-shadow: 0 0 0 6px transparent; } }

/* ===== HERO ===== */
.ds-hero {
  padding: 64px 40px 0;
  position: relative;
  background:
    radial-gradient(ellipse 60% 80% at 30% 0%, rgba(255, 110, 199, 0.18), transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 20%, rgba(167, 139, 250, 0.18), transparent 60%);
}
.ds-hero-grid {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px; align-items: end;
}
.ds-hero-eyebrow {
  font-family: 'Instrument Serif', serif; font-style: italic; color: var(--muted); margin-bottom: 24px;
}
.ds-display {
  font-family: 'Anton', sans-serif; font-size: clamp(100px, 16vw, 240px);
  line-height: 0.82; letter-spacing: -0.025em;
}
.ds-display-pre {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(28px, 3.5vw, 48px);
  color: var(--pink);
  letter-spacing: -0.01em;
  margin-bottom: 8px;
  text-shadow: 0 0 24px rgba(255, 110, 199, 0.4);
}
.ds-amp {
  display: inline-block; color: var(--pink); margin: 0 -0.05em;
  font-size: 0.7em; vertical-align: 0.05em;
  text-shadow: 0 0 30px var(--pink-glow);
}
.ds-lede { margin-top: 24px; max-width: 540px; font-size: 19px; line-height: 1.55; color: var(--muted); }
.ds-lede em { color: var(--pink); font-style: italic; font-family: serif; }
.ds-lede strong { color: var(--text); font-weight: 700; }
.ds-hero-cta { margin-top: 28px; display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ds-btn-primary {
  background: var(--pink); color: #fff; border: 0; padding: 14px 24px; border-radius: 999px;
  font-family: inherit; font-weight: 600; letter-spacing: 0.06em; cursor: pointer;
  text-decoration: none; box-shadow: 0 8px 30px rgba(255, 77, 143, 0.4);
}
.ds-btn-link { color: var(--text); text-decoration: underline; cursor: pointer; }

.ds-cd-card {
  background: rgba(255, 110, 199, 0.06);
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 24px;
  backdrop-filter: blur(10px);
}
.ds-cd-label {
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  letter-spacing: 0.18em; opacity: 0.7; margin-bottom: 16px;
}
.ds-cd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-bottom: 18px; }
.ds-cd-cell {
  background: rgba(255, 110, 199, 0.1);
  border: 1px solid var(--line); border-radius: 14px;
  padding: 14px 6px; text-align: center;
}
.ds-cd-num {
  font-family: 'Anton', sans-serif; font-size: 44px; line-height: 1;
  color: var(--pink-glow); text-shadow: 0 0 18px rgba(255, 110, 199, 0.5);
}
.ds-cd-unit { font-size: 10px; letter-spacing: 0.14em; opacity: 0.7; margin-top: 6px; }
.ds-cd-foot {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 14px; border-top: 1px solid var(--line); gap: 10px; flex-wrap: wrap;
}
.ds-live-pill {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; letter-spacing: 0.14em; color: var(--pink);
}
.ds-discord-btn {
  background: var(--pink); color: #fff; padding: 8px 14px; border-radius: 999px;
  font-size: 12px; letter-spacing: 0.06em; cursor: pointer;
  box-shadow: 0 0 20px rgba(255, 77, 143, 0.4);
}

.ds-strip {
  margin-top: 56px;
  padding: 18px 0;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  font-family: 'Anton', sans-serif; font-size: 18px; letter-spacing: 0.1em;
  color: var(--pink-glow);
  white-space: nowrap; overflow: hidden;
  position: relative;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
          mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}
.ds-strip-track {
  display: inline-flex; gap: 28px; align-items: center;
  animation: ds-strip-scroll 80s linear infinite;
  will-change: transform;
}
.ds-strip-track:hover { animation-play-state: paused; }
.ds-strip span { flex-shrink: 0; }
.ds-strip-icon {
  display: inline-flex; align-items: center;
  color: var(--pink);
  opacity: 0.85;
}
@keyframes ds-strip-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ===== TEAM (Pořadatel + Moderátor 2-card row) ===== */
.ds-team { padding: 60px 40px 90px; border-bottom: 1px solid var(--line); }
.ds-team-head { display: flex; flex-direction: column; gap: 18px; align-items: center; text-align: center; max-width: 720px; margin: 0 auto 50px; }
.ds-team-head .ds-h2 { font-size: clamp(48px, 6vw, 80px); }
.ds-team-sub { color: var(--muted); font-size: 16px; line-height: 1.5; max-width: 580px; }
.ds-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; max-width: 1200px; margin: 0 auto; }
.ds-team-col { display: flex; flex-direction: column; gap: 16px; }
.ds-team-label {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  padding: 0 4px 14px;
  border-bottom: 1px solid var(--line);
}
.ds-team-label-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; letter-spacing: 0.18em;
  padding: 6px 10px; border-radius: 999px;
  background: rgba(255,255,255,0.06);
  color: var(--muted);
  border: 1px solid var(--line);
  white-space: nowrap;
}
.ds-team-col:has(.mod-label) .ds-team-label-tag,
.mod-label .ds-team-label-tag {
  background: var(--pink); color: #fff; border-color: var(--pink);
  animation: rotate-pulse 2.4s ease-in-out infinite;
}
.ds-team-label-title {
  font-family: 'Anton', sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--text);
  margin: 0;
  overflow-wrap: normal;
}
.mod-label .ds-team-label-title {
  /* Stejná barva jako host (POŘADATEL) — bez gradientu */
  color: var(--text);
}
.ds-team-card {
  background: #f7eef5; color: #1a0014;
  border-radius: 28px; padding: 16px 16px 22px;
  display: grid; grid-template-columns: 220px 1fr; gap: 22px;
  position: relative;
  box-shadow: 0 18px 48px rgba(0,0,0,0.22);
  transition: transform 0.4s cubic-bezier(.6,.2,.2,1);
}
.ds-team-card:hover { transform: translateY(-4px); }
.ds-team-tag {
  display: none;
}
.ds-team-card.mod-card .ds-team-tag { background: var(--pink); color: #fff; }
.ds-team-photo {
  position: relative; aspect-ratio: 0.78;
  border-radius: 18px; overflow: hidden;
  background: #e8e8ee;
}
.ds-team-photo-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}
.ds-team-badge {
  position: absolute; top: 10px; left: 10px;
  width: 32px; height: 32px; background: #fff; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(255, 77, 143, 0.4);
}
.ds-team-rotate {
  position: absolute; top: 12px; left: 12px;
  background: var(--pink); color: #fff;
  padding: 6px 10px; border-radius: 999px;
  font-family: 'JetBrains Mono', monospace; font-size: 10px;
  letter-spacing: 0.14em; font-weight: 600;
  animation: rotate-pulse 2.4s ease-in-out infinite;
}
@keyframes rotate-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 77, 143, 0.5); }
  50% { transform: scale(1.05); box-shadow: 0 0 0 8px rgba(255, 77, 143, 0); }
}
.ds-team-body { display: flex; flex-direction: column; gap: 10px; padding: 6px 4px 0; }
.ds-team-name {
  font-family: 'Anton', sans-serif; font-size: clamp(28px, 2.6vw, 36px); line-height: 1;
  letter-spacing: -0.01em; color: #1a0014;
  overflow-wrap: normal;
}
.ds-team-name .blur-text { flex-wrap: wrap; }
.ds-team-role {
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  letter-spacing: 0.14em; color: var(--pink); text-transform: uppercase;
  margin-top: -4px;
}
.ds-team-bio { font-size: 14px; line-height: 1.55; color: #4d2a3f; max-width: 38ch; }
.ds-team-stats {
  display: flex; flex-wrap: wrap; gap: 16px 24px;
  padding-top: 12px; border-top: 1px solid rgba(26, 0, 20, 0.1);
  margin-top: auto;
}
.ds-team-stats > div { display: flex; flex-direction: column; gap: 2px; }
.ds-team-stats em {
  font-family: 'Anton', sans-serif; font-size: 22px; font-style: normal;
  color: #1a0014; line-height: 1;
}
.ds-team-stats span {
  font-size: 10px; letter-spacing: 0.12em; color: #6b3a5a;
  text-transform: uppercase;
}
.ds-team-note {
  font-size: 12px; color: #6b3a5a; font-style: italic;
  padding: 10px 12px; background: rgba(255, 77, 143, 0.08);
  border-radius: 12px; border-left: 2px solid var(--pink);
  margin-top: 8px;
}
@media (max-width: 1100px) {
  .ds-team-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .ds-team-card { grid-template-columns: 1fr; }
}

/* ===== HOST (legacy — kept for compatibility, hidden) ===== */
.ds-host {
  display: none;
}
.ds-host .ds-host-photo {
  aspect-ratio: 0.78;
  background: #f7eef5;
  border-radius: 24px;
  padding: 10px 10px 0;
  border: 0;
  box-shadow: 0 20px 60px rgba(255, 77, 143, 0.18), 0 2px 6px rgba(0,0,0,0.08);
  overflow: visible;
  display: flex; flex-direction: column;
}
.ds-host .ds-host-photo > svg {
  width: 100%; aspect-ratio: 1; border-radius: 16px; overflow: hidden;
}
.ds-host-photo::after {
  content: attr(data-cap);
}
.ds-host-num {
  font-family: 'Anton', sans-serif; font-size: 80px; line-height: 1;
  color: var(--pink); opacity: 0.7;
}
.ds-host-photo {
  aspect-ratio: 0.75; border-radius: 16px; overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(255, 77, 143, 0.2);
}
.ds-section-eyebrow {
  font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em;
  color: var(--pink); text-transform: uppercase; margin-bottom: 16px;
}
.ds-host-name { font-family: 'Anton', sans-serif; font-size: clamp(56px, 8vw, 96px); line-height: 0.9; margin-bottom: 16px; }
.ds-host-bio { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 600px; margin-bottom: 32px; }
.ds-host-stats { display: flex; gap: 32px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid var(--line); }
.ds-host-stats > div { display: flex; flex-direction: column; gap: 2px; }
.ds-host-stats em { font-family: 'Anton', sans-serif; font-size: 28px; font-style: normal; color: var(--text); line-height: 1; }
.ds-host-stats span { font-size: 11px; letter-spacing: 0.14em; color: var(--muted); margin-top: 4px; }

/* ===== CAST ===== */
.ds-cast { padding: 80px 40px; border-bottom: 1px solid var(--line); }
.ds-cast-head {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: 18px; margin-bottom: 56px;
}
.ds-h2 { font-family: 'Anton', sans-serif; font-size: clamp(56px, 8vw, 96px); line-height: 1; letter-spacing: -0.01em; }
.ds-h2-center { text-align: center; }
.ds-mute { color: var(--muted); font-size: 0.5em; vertical-align: top; }
.ds-cast-sub { color: var(--muted); font-size: 14px; line-height: 1.6; max-width: 480px; text-align: center; }
.ds-i-pill, .ds-plus-pill {
  display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center;
  background: var(--pink); color: #fff; border-radius: 50%; font-size: 11px; font-weight: 700;
  font-family: serif; font-style: italic;
}
.ds-plus-pill { font-family: inherit; font-style: normal; }

.ds-cast-block { margin-bottom: 56px; }
.ds-cast-block:last-child { margin-bottom: 0; }
.ds-cast-block-head {
  display: flex; align-items: center; gap: 16px; margin-bottom: 24px;
}
.ds-cast-block-head-center {
  justify-content: center;
}
.ds-block-tag {
  font-family: 'Anton', sans-serif; font-size: 22px; letter-spacing: 0.06em;
  background: var(--card-bg); color: var(--card-text);
  padding: 8px 16px; border-radius: 8px;
}
.ds-block-tag.girl { background: var(--pink); color: #fff; }
.ds-block-tag.boy { background: #4338ca; color: #fff; }
.ds-block-line { flex: 1; height: 1px; background: var(--line); }
.ds-block-count { font-family: 'JetBrains Mono', monospace; font-size: 13px; color: var(--muted); }

/* Profile-card grid — 5 vedle sebe */
.ds-cards-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 18px;
}

/* === PROFILE CARD (Sophie-style) === */
.pc-wrap { perspective: 1400px; }
.pc-card {
  position: relative; width: 100%; aspect-ratio: 0.62;
  transition: transform 0.7s cubic-bezier(.6,.2,.2,1);
}
.pc-face {
  position: absolute; inset: 0;
  border-radius: 24px;
  background: var(--card-bg, #fff);
  box-shadow: 0 14px 40px rgba(0,0,0,0.18), 0 2px 6px rgba(0,0,0,0.08);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: opacity 0.4s ease, transform 0.7s cubic-bezier(.6,.2,.2,1);
}
.ds-app.theme-dark .pc-face {
  background: #f7eef5;
  color: #1a0014;
}
.pc-front { padding: 10px 10px 14px; opacity: 1; }
.pc-back { opacity: 0; pointer-events: none; }
.pc-card.flipped .pc-front { opacity: 0; pointer-events: none; }
.pc-card.flipped .pc-back { opacity: 1; pointer-events: auto; }
.pc-face {
  position: absolute; inset: 0;
  border-radius: 24px;
  background: var(--card-bg, #fff);
  box-shadow: 0 14px 40px rgba(0,0,0,0.18), 0 2px 6px rgba(0,0,0,0.08);
  overflow: hidden;
  display: flex; flex-direction: column;
}
.ds-app.theme-dark .pc-face {
  background: #f7eef5;
  color: #1a0014;
}
.pc-front { padding: 10px 10px 14px; transform: translateZ(1px); }
.pc-photo {
  position: relative; aspect-ratio: 1;
  border-radius: 16px; overflow: hidden;
  background: #e8e8ee;
}
.pc-info {
  position: absolute; top: 8px; right: 8px; z-index: 2;
  width: 28px; height: 28px; border-radius: 50%;
  display: none;
  transition: 0.2s;
}
.pc-hover-hint {
  position: absolute; top: 10px; right: 10px; z-index: 2;
  font-family: 'JetBrains Mono', monospace; font-size: 9px;
  letter-spacing: 0.16em; padding: 4px 8px; border-radius: 999px;
  background: rgba(0,0,0,0.55); color: #fff;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
  opacity: 0.85;
  transition: opacity 0.3s;
}
.pc-card:hover .pc-hover-hint { opacity: 0; }
.pc-card { cursor: pointer; }
.pc-body-min { padding: 14px 12px 12px; gap: 6px; }
.pc-meta-row {
  display: flex; gap: 8px; align-items: center;
  font-family: 'JetBrains Mono', monospace; font-size: 11px;
  color: #6b3a5a; letter-spacing: 0.06em;
}
.pc-back-bio {
  font-size: 12px; line-height: 1.5; color: rgba(255,255,255,0.78);
  margin: 4px 0 2px;
}
.pc-back-foot {
  margin-top: auto; display: flex; flex-direction: column; gap: 10px;
  padding-top: 12px; border-top: 1px dashed rgba(255,255,255,0.16);
}
.pc-back-stats { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pc-back-ig-mini {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--pink-glow);
  text-align: center;
  letter-spacing: 0.04em;
}
.pc-stat-btn.small { padding: 4px 8px; font-size: 11px; }

/* PROMINENT VOTE BUTTON — velké srdce + count + label */
.pc-vote-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  background: rgba(255, 77, 143, 0.12);
  border: 1.5px solid rgba(255, 77, 143, 0.45);
  border-radius: 999px;
  color: #fff;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s, transform 0.2s, box-shadow 0.2s;
}
.pc-vote-btn:hover {
  background: rgba(255, 77, 143, 0.2);
  border-color: var(--pink);
  transform: translateY(-1px);
  box-shadow: 0 6px 24px rgba(255, 77, 143, 0.3);
}
.pc-vote-btn.active {
  background: var(--pink);
  border-color: var(--pink);
  color: #fff;
  box-shadow: 0 0 24px rgba(255, 77, 143, 0.5), 0 4px 16px rgba(255, 77, 143, 0.4);
}
.pc-vote-btn.active:hover {
  background: var(--pink-glow);
  border-color: var(--pink-glow);
}
.pc-vote-btn svg {
  flex-shrink: 0;
  transition: transform 0.3s;
}
.pc-vote-btn.active svg {
  animation: pc-vote-pulse 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) 1;
}
@keyframes pc-vote-pulse {
  0%   { transform: scale(1); }
  40%  { transform: scale(1.4); }
  100% { transform: scale(1); }
}
.pc-vote-count {
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  font-size: 14px;
}
.pc-vote-label {
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: 600;
  opacity: 0.9;
}

.pc-body { padding: 14px 12px 4px; flex: 1; display: flex; flex-direction: column; gap: 10px; }
.pc-name-row { display: flex; align-items: center; gap: 6px; }
.pc-name {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 18px; font-weight: 700; color: #1a0014;
  letter-spacing: -0.015em; line-height: 1.1;
}
.pc-verified { display: inline-flex; flex-shrink: 0; }
.pc-bio {
  font-size: 13px; line-height: 1.45; color: #5b3d52;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
  overflow: hidden;
}
.pc-foot {
  margin-top: auto;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  padding-top: 6px;
}
.pc-stats { display: flex; align-items: center; gap: 12px; }
.pc-stat, .pc-stat-btn {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; color: #6b3a5a;
  background: transparent; border: 0; cursor: default; padding: 0; font-family: inherit;
}
.pc-stat-btn { cursor: pointer; transition: 0.2s; }
.pc-stat-btn:hover { color: var(--pink); }
.pc-stat-btn.active { color: var(--pink); font-weight: 600; }
.pc-follow {
  display: inline-flex; align-items: center; gap: 6px;
  background: #1a0014; color: #fff;
  border: 0; cursor: pointer;
  padding: 8px 14px; border-radius: 999px;
  font-family: inherit; font-size: 13px; font-weight: 500;
  transition: 0.2s;
}
.pc-follow:hover { background: var(--pink); }
.pc-follow.matched { background: var(--pink); }
.pc-follow-icon { font-size: 15px; line-height: 1; }

.pc-back {
  padding: 18px 16px;
  background: linear-gradient(160deg, var(--bg-3), var(--bg-2)) !important;
  color: var(--text) !important;
  gap: 12px;
}
.pc-back .pc-info { background: rgba(255,255,255,0.18); color: #fff; }
.pc-back-name { font-family: 'Anton', sans-serif; font-size: 28px; line-height: 1; color: var(--pink-glow); }
.pc-back-name span { color: var(--muted); font-family: 'Schibsted Grotesk', sans-serif; font-size: 14px; font-weight: 400; }
.pc-back-job { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); margin-top: -6px; }
.pc-back-block { padding-top: 8px; border-top: 1px dashed rgba(255,255,255,0.18); }
.pc-back-label { font-size: 9px; letter-spacing: 0.16em; opacity: 0.6; margin-bottom: 4px; }
.pc-back-block p { font-size: 12px; line-height: 1.5; }
.pc-back-ig { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--pink-glow); margin-top: auto; }
.sw-card-wrap { perspective: 1400px; }
.sw-card {
  position: relative; width: 100%; aspect-ratio: 9/16;
  transition: transform 0.7s cubic-bezier(.6,.2,.2,1);
  transform-style: preserve-3d;
}
.sw-card.flipped { transform: rotateY(180deg); }
.sw-face {
  position: absolute; inset: 0; backface-visibility: hidden;
  border-radius: 14px; overflow: hidden;
  background: var(--card-bg);
  box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}
.sw-front { display: flex; flex-direction: column; }
.sw-photo { position: relative; flex: 1; overflow: hidden; }
.sw-photo-fade {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 55%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
}
.sw-tag {
  position: absolute; top: 10px; left: 10px;
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--card-bg); color: var(--card-text);
  padding: 6px 10px; border-radius: 6px;
  font-family: 'Anton', sans-serif; font-size: 13px; letter-spacing: 0.06em;
  z-index: 2;
}
.sw-card.boy .sw-tag { background: var(--purple-deep); color: #fff; }
.sw-card.girl .sw-tag { background: var(--pink); color: #fff; }
.sw-tag-arrow { font-size: 11px; }

.sw-info-btn {
  position: absolute; top: 10px; right: 10px; z-index: 3;
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.9); color: #1a0014;
  border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-style: italic; font-weight: 700; font-family: serif; font-size: 15px;
  transition: 0.2s;
}
.sw-info-btn:hover { background: var(--pink); color: #fff; }
.sw-back-close { font-style: normal; font-family: inherit; font-size: 20px; }

.sw-photo-actions {
  position: absolute; bottom: 10px; right: 10px; z-index: 2;
  display: flex; gap: 6px;
}
.sw-mini {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.92); color: #1a0014;
  border: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; transition: 0.2s;
}
.sw-mini:hover { background: var(--pink); color: #fff; }
.sw-mini.active { background: var(--pink); color: #fff; box-shadow: 0 0 16px rgba(255, 77, 143, 0.6); }
.sw-mini.sw-match { font-size: 18px; line-height: 1; }
.sw-mini.sw-match.active { background: var(--purple-deep); }

.sw-back {
  transform: rotateY(180deg);
  padding: 18px 16px;
  display: flex; flex-direction: column; gap: 12px;
  background: linear-gradient(160deg, var(--bg-3), var(--bg-2));
  color: var(--text);
}
.sw-back .sw-info-btn { background: rgba(255,255,255,0.15); color: #fff; }
.sw-back-name { font-family: 'Anton', sans-serif; font-size: 28px; line-height: 1; color: var(--pink-glow); }
.sw-back-meta { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); margin-top: -8px; }
.sw-back-block { padding-top: 8px; border-top: 1px dashed rgba(255,255,255,0.18); }
.sw-back-label { font-size: 9px; letter-spacing: 0.16em; opacity: 0.6; margin-bottom: 4px; }
.sw-back-block p { font-size: 12px; line-height: 1.5; }
.sw-back-ig { font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--pink-glow); margin-top: auto; }

.sw-cap {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 8px;
  padding: 12px 4px 0;
  font-size: 10px; letter-spacing: 0.04em; line-height: 1.4;
}
.sw-cap-name { font-weight: 700; text-transform: uppercase; }
.sw-cap-meta { color: var(--muted); text-align: right; }

/* ===== MATCH ===== */
.ds-match {
  padding: 100px 40px;
  background: linear-gradient(180deg, transparent, rgba(255, 110, 199, 0.06));
  border-bottom: 1px solid var(--line);
  text-align: center;
}
.ds-match-sub { color: var(--muted); margin: 12px 0 48px; }
.ds-match-stage {
  display: grid; grid-template-columns: 1fr auto 1fr; gap: 32px;
  max-width: 900px; margin: 0 auto; align-items: center;
}
.ds-match-slot { position: relative; }
.ds-slot-num {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: var(--text); color: var(--bg);
  padding: 4px 14px; border-radius: 999px;
  font-family: 'Anton', sans-serif; font-size: 14px; letter-spacing: 0.1em; z-index: 2;
}
.ds-slot-photo {
  aspect-ratio: 0.78; border-radius: 14px; overflow: hidden;
  border: 2px dashed var(--line);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
}
.ds-slot-empty { font-family: 'JetBrains Mono', monospace; color: var(--muted); font-size: 13px; }
.ds-slot-name { font-family: 'Anton', sans-serif; font-size: 32px; }
.ds-match-bridge { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.ds-match-line { width: 1px; height: 30px; background: var(--line); }
.ds-heart-pulse {
  filter: drop-shadow(0 0 24px var(--pink));
  animation: pulse 1.6s ease-in-out infinite;
  color: var(--pink);
}
@keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.15); } }
.ds-match-status {
  font-family: 'Anton', sans-serif; font-size: 16px; letter-spacing: 0.14em;
  color: var(--pink); text-transform: uppercase;
}
.ds-match-quote { margin-top: 32px; font-style: italic; font-size: 18px; color: var(--muted); }
.ds-match-quote strong { color: var(--pink); font-style: normal; font-weight: 700; }
.ds-share {
  display: inline-block; margin-left: 12px;
  background: var(--pink); color: #fff; border: 0;
  padding: 8px 16px; border-radius: 999px; cursor: pointer; font-family: inherit; font-weight: 600;
}

/* ===== ARCHIVE ===== */
.ds-archive { padding: 80px 40px; border-bottom: 1px solid var(--line); }
.ds-archive-list { display: flex; flex-direction: column; margin-top: 24px; }
.ds-archive-row {
  display: grid; grid-template-columns: 80px 1fr auto auto; gap: 24px;
  padding: 22px 0; border-top: 1px solid var(--line);
  cursor: pointer; align-items: center;
  color: var(--text); text-decoration: none;
  transition: 0.2s;
}
.ds-archive-row:hover { padding-left: 12px; color: var(--pink); }
.ds-arch-ep { font-family: 'Anton', sans-serif; font-size: 24px; color: var(--pink); }
.ds-arch-title { font-size: 18px; }
.ds-arch-date { color: var(--muted); font-size: 13px; font-family: 'JetBrains Mono', monospace; }
.ds-arch-arrow { display: inline-flex; align-items: center; opacity: 0.6; transition: opacity 0.2s, transform 0.2s; }
.ds-archive-row:hover .ds-arch-arrow { opacity: 1; transform: translate(2px, -2px); }

/* ===== APPLY ===== */
.ds-apply { padding: 80px 40px; border-bottom: 1px solid var(--line); }
.ds-apply-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.ds-apply-text p { color: var(--muted); margin-top: 16px; line-height: 1.6; max-width: 480px; }
.ds-apply-meta {
  display: flex; gap: 32px; margin-top: 32px; padding-top: 20px;
  border-top: 1px solid var(--line); flex-wrap: wrap;
}
.ds-apply-meta > div { display: flex; flex-direction: column; gap: 2px; }
.ds-apply-meta em {
  font-family: 'JetBrains Mono', monospace; font-style: normal;
  font-size: 11px; letter-spacing: 0.16em; color: var(--pink);
}
.ds-apply-meta span { font-size: 14px; color: var(--text); }
.ds-apply-form { display: grid; gap: 16px; }
.ds-apply-form label {
  display: flex; flex-direction: column; gap: 6px;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted);
}
.ds-apply-form input, .ds-apply-form textarea {
  background: transparent; border: 0; border-bottom: 1px solid var(--text);
  padding: 8px 0; font-family: inherit; font-size: 16px; color: var(--text); outline: 0;
}
.ds-apply-form textarea { min-height: 80px; resize: vertical; }
.ds-apply-form input:focus, .ds-apply-form textarea:focus { border-color: var(--pink); }
.ds-apply-btn {
  background: var(--pink); color: #fff; border: 0; padding: 16px;
  font-family: 'Anton', sans-serif; font-size: 18px; letter-spacing: 0.12em;
  cursor: pointer; margin-top: 8px;
  box-shadow: 0 8px 30px rgba(255, 77, 143, 0.4);
}

.ds-footer {
  padding: 28px 40px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
  font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted);
}

/* ===== ANIMATIONS — cinematic reveal (blur+slide+fade) ===== */
.blur-text { display: inline-flex; flex-wrap: wrap; gap: 0 0.28em; row-gap: 0.05em; }
.blur-word {
  display: inline-block;
  filter: blur(10px);
  opacity: 0;
  transform: translateY(28px);
  transition: filter 0.9s cubic-bezier(.2,.7,.2,1),
              opacity 0.9s cubic-bezier(.2,.7,.2,1),
              transform 0.9s cubic-bezier(.2,.7,.2,1);
}
.blur-word.is-in { filter: blur(0); opacity: 1; transform: translateY(0); }

.reveal {
  opacity: 0;
  filter: blur(8px);
  transform: translateY(var(--reveal-y, 20px));
  transition: opacity 0.9s cubic-bezier(.2,.7,.2,1),
              filter 0.9s cubic-bezier(.2,.7,.2,1),
              transform 0.9s cubic-bezier(.2,.7,.2,1);
  will-change: transform, opacity, filter;
}
.reveal.is-in { opacity: 1; filter: blur(0); transform: translateY(0); }

/* Stagger items — cards fall in with alternating tilt + scale + blur */
.stagger-item {
  opacity: 0;
  filter: blur(14px);
  transform: translateY(80px) scale(0.85) rotate(var(--card-tilt, -4deg));
  transition: opacity 1s cubic-bezier(.16, .84, .26, 1),
              filter 1s cubic-bezier(.16, .84, .26, 1),
              transform 1.1s cubic-bezier(.16, .84, .26, 1);
  will-change: transform, opacity, filter;
}
/* Alternující tilt — odd doleva, even doprava */
.stagger-item:nth-child(odd)  { --card-tilt: -5deg; }
.stagger-item:nth-child(even) { --card-tilt:  5deg; }
.stagger-item:nth-child(3n)   { --card-tilt: -3deg; }
.stagger.is-in .stagger-item {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1) rotate(0);
}

/* RevealSlide — cinematic slide-in for whole blocks (multi-axis + rotation + blur) */
.reveal-slide {
  opacity: 0;
  transform:
    translate3d(var(--slide-x, -120px), var(--slide-y, 0px), 0)
    rotate(var(--slide-rot, -2deg))
    scale(0.94);
  filter: blur(10px);
  transition:
    opacity 1.2s cubic-bezier(.16, .84, .26, 1),
    transform 1.3s cubic-bezier(.16, .84, .26, 1),
    filter 1.2s cubic-bezier(.16, .84, .26, 1);
  will-change: transform, opacity, filter;
}
.reveal-slide.is-in {
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(0) scale(1);
  filter: blur(0);
}

/* Soft floating glow blobs in hero */
.ds-hero::before, .ds-hero::after {
  content: ""; position: absolute; pointer-events: none; z-index: 0;
  width: 600px; height: 600px; border-radius: 50%;
  filter: blur(80px); opacity: 0.5;
  animation: float-blob 14s ease-in-out infinite;
}
.ds-hero::before {
  background: var(--pink); top: -200px; left: -150px;
}
.ds-hero::after {
  background: var(--purple-deep); top: 100px; right: -200px;
  animation-delay: -7s;
}
@keyframes float-blob {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(40px, 30px) scale(1.08); }
}
.ds-hero > * { position: relative; z-index: 1; }

/* Card hover lift */
.pc-card { transition: transform 0.7s cubic-bezier(.6,.2,.2,1); }
.pc-wrap:hover .pc-card:not(.flipped) { transform: translateY(-6px); }

/* Live dot stronger */
.ds-live-dot { animation: live-pulse 1.4s infinite; }

/* Heart pulse already exists, ensure it reads var */

@media (max-width: 1100px) {
  .ds-cards-row { grid-template-columns: repeat(5, 1fr); gap: 10px; }
}
@media (max-width: 700px) {
  .ds-cards-row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
  .ds-hero-grid { grid-template-columns: 1fr; }
  .ds-apply-grid { grid-template-columns: 1fr; }
  .ds-cards-row { grid-template-columns: repeat(2, 1fr); }
}

/* ========================================================================
   FULL-PHOTO CARD — fotka přes celou kartu, jen jméno + věk overlay
   ======================================================================== */
.pc-front-full { padding: 0 !important; }
.pc-photo-full {
  position: absolute; inset: 0;
  aspect-ratio: auto;
  width: 100%; height: 100%;
  border-radius: 24px;
}
.pc-photo-full svg {
  width: 100% !important;
  height: 100% !important;
}
.pc-photo-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
  border-radius: 24px;
}
.arc-game-slot-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
  image-rendering: auto;
}
.pc-photo-overlay {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 60px 16px 16px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.55) 50%, rgba(0, 0, 0, 0.85) 100%);
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
  pointer-events: none;
}
.pc-name-overlay {
  font-family: 'Anton', sans-serif;
  font-size: 30px; line-height: 1;
  letter-spacing: -0.01em;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,0.6);
}
.pc-age-overlay {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.95);
  background: rgba(255, 77, 143, 0.85);
  padding: 4px 10px;
  border-radius: 999px;
  letter-spacing: 0.04em;
  font-weight: 600;
  flex-shrink: 0;
}
.pc-card .pc-hover-hint {
  background: rgba(255, 77, 143, 0.9);
  color: #fff;
  font-weight: 700;
}

/* === ALWAYS-VISIBLE OVERLAY — like button + appearances/NEW badge === */
/* Like button (hearts) — top-right, viditelný PŘED card flipem */
.pc-card .pc-overlay-like {
  position: absolute;
  top: 12px; right: 12px;
  z-index: 10;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 7px 12px 7px 9px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 245, 250, 0.18);
  color: #fff;
  cursor: pointer;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: all 0.2s cubic-bezier(.4,0,.2,1);
}
.pc-card .pc-overlay-like svg { display: block; flex-shrink: 0; }
.pc-card .pc-overlay-like:hover {
  background: rgba(255, 77, 143, 0.92);
  border-color: var(--pink-glow);
  transform: scale(1.06);
  box-shadow: 0 4px 14px rgba(255, 77, 143, 0.4);
}
.pc-card .pc-overlay-like.is-liked {
  background: var(--pink);
  border-color: var(--pink-glow);
  color: #fff;
  box-shadow: 0 0 16px rgba(255, 77, 143, 0.55), 0 4px 12px rgba(0, 0, 0, 0.3);
}
.pc-card .pc-overlay-like.is-liked .pc-overlay-like-count {
  font-weight: 700;
}
.pc-overlay-like-count { line-height: 1; }

/* Appearances badge — top-left, výrazný pink pill se sticker shadow */
.pc-card .pc-overlay-badge {
  position: absolute;
  top: 12px; left: 12px;
  z-index: 10;
  display: inline-flex; align-items: baseline;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 11px 7px;
  border-radius: 6px;
  border: 1.5px solid;
  white-space: nowrap;
}
/* === Appearances tiers — barevně podle počtu účastí (ranking system) === */
.pc-card .pc-overlay-tier {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink-glow);
  box-shadow: 3px 3px 0 var(--purple-deep);
}

/* === Nepotvrzeno badge — varianta `.pc-overlay-badge` (sdílí pozici s NEW/tier) === */
.pc-card .pc-overlay-unconfirmed {
  background: #ffd24a;
  color: #1a0014;
  border-color: #1a0014;
  font-family: 'Anton', sans-serif;
  font-size: 12px;
  letter-spacing: 0.14em;
  padding: 6px 11px 7px;
  box-shadow: 3px 3px 0 var(--purple-deep, #6d28d9);
}

/* === TBD karta — nevybraný účastník (otazník přes siluetu) === */
.pc-card-tbd {
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  border-radius: 14px;
  overflow: hidden;
  border: 2px dashed rgba(255, 255, 255, 0.18);
  background: linear-gradient(180deg, rgba(40, 10, 35, 0.6), rgba(20, 5, 20, 0.85));
  filter: grayscale(0.6) brightness(0.75);
  transition: filter 0.25s ease, border-color 0.25s ease;
}
.pc-card-tbd:hover {
  filter: grayscale(0.3) brightness(0.9);
  border-color: rgba(255, 119, 173, 0.35);
}
.pc-tbd-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.45) 65%, rgba(0, 0, 0, 0.85) 100%);
  pointer-events: none;
  z-index: 3;
}
.pc-tbd-mark {
  font-family: 'Anton', sans-serif;
  font-size: clamp(72px, 12vw, 140px);
  line-height: 0.85;
  color: #fff;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.65), 0 0 30px rgba(255, 119, 173, 0.5);
  opacity: 0.92;
}
.pc-tbd-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 245, 250, 0.7);
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}
.pc-card .pc-overlay-tier em {
  font-family: 'Anton', sans-serif;
  font-style: normal;
  font-size: 17px;
  letter-spacing: -0.02em;
  margin-right: 3px;
}

/* TIER 1 (NEW) — žlutá, animovaná */
.pc-card .pc-tier-new {
  background: #ffeb3b;
  color: #1a0014;
  border-color: #f5b700;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  letter-spacing: 0.12em;
  padding: 5px 11px 6px;
  box-shadow: 3px 3px 0 var(--purple-deep), 0 0 14px rgba(255, 235, 59, 0.35);
  animation: pc-new-pulse 1.8s ease-in-out infinite;
  transform-origin: center;
}
@keyframes pc-new-pulse {
  0%, 100% { transform: scale(1) rotate(-3deg); }
  50%      { transform: scale(1.08) rotate(3deg); box-shadow: 4px 4px 0 var(--purple-deep), 0 0 22px rgba(255, 235, 59, 0.6); }
}

/* TIER 2 (ROOKIE) — zelená */
.pc-card .pc-tier-t2 {
  background: #4ade80;
  color: #052e1c;
  border-color: #16a34a;
  box-shadow: 3px 3px 0 #15803d, 0 0 12px rgba(74, 222, 128, 0.3);
}
.pc-card .pc-tier-t2 em {
  color: #fff;
  text-shadow: 1px 1px 0 #15803d;
}

/* TIER 3 (REGULAR) — pink */
.pc-card .pc-tier-t3 {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink-glow);
  box-shadow: 3px 3px 0 var(--purple-deep), 0 0 14px rgba(255, 77, 143, 0.4);
}
.pc-card .pc-tier-t3 em {
  color: #fff;
  text-shadow: 1px 1px 0 #6d28d9;
}

/* TIER 4 (VETERAN) — gold */
.pc-card .pc-tier-t4 {
  background: linear-gradient(135deg, #ffd700 0%, #ffa500 100%);
  color: #1a0014;
  border-color: #ffa500;
  box-shadow: 3px 3px 0 #6d28d9, 0 0 18px rgba(255, 215, 0, 0.5);
}
.pc-card .pc-tier-t4 em {
  color: #6d28d9;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
}

/* TIER 5+ (LEGEND) — animovaný gradient pink/gold/violet */
.pc-card .pc-tier-legend {
  background: linear-gradient(135deg, #c026d3 0%, #ff4d8f 35%, #ffd700 70%, #c026d3 100%);
  background-size: 200% 200%;
  color: #fff;
  border-color: #ffd700;
  box-shadow: 3px 3px 0 #1a0014, 0 0 24px rgba(255, 215, 0, 0.6);
  animation: pc-legend-shimmer 3s ease-in-out infinite;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.4);
}
.pc-card .pc-tier-legend em {
  color: #fff;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5), 0 0 8px rgba(255, 215, 0, 0.8);
}
@keyframes pc-legend-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* === Hide overlay (like + badge) when card is flipped === */
.pc-card.flipped .pc-overlay-like,
.pc-card.flipped .pc-overlay-badge {
  opacity: 0;
  pointer-events: none;
  transform: scale(0.88) translateY(-4px);
  transition: opacity 0.35s ease, transform 0.4s cubic-bezier(.4,0,.2,1);
}
.pc-card .pc-overlay-like,
.pc-card .pc-overlay-badge {
  transition: opacity 0.4s ease, transform 0.3s, background 0.2s, border-color 0.2s, box-shadow 0.2s;
}

/* Best Energy: appearances mini-pill (under votes pill, top-right) */
.be-appearances-pill {
  position: absolute;
  top: 44px; right: 10px;
  z-index: 4;
  display: inline-flex; align-items: baseline; gap: 1px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  border: 1px solid rgba(255, 245, 250, 0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.be-appearances-pill em {
  font-family: 'Anton', sans-serif;
  font-style: normal;
  font-size: 13px;
  color: #ffeb3b;
  letter-spacing: -0.02em;
  text-shadow: 1px 1px 0 #6d28d9;
}

/* ========================================================================
   MATCH SLOTS — výrazně viditelná okna pro spárování
   ======================================================================== */
.ds-match-stage { gap: 40px; }
.ds-match-slot { position: relative; padding: 14px 14px 18px; }
.ds-match-slot::before {
  content: ""; position: absolute; inset: 0;
  border-radius: 24px;
  background: radial-gradient(circle at center 40%, rgba(255, 77, 143, 0.18), transparent 70%);
  z-index: -1;
  opacity: 0; transition: opacity 0.4s;
  pointer-events: none;
}
.ds-match-slot:hover::before { opacity: 1; }

.ds-slot-photo {
  aspect-ratio: 0.78;
  border-radius: 18px;
  overflow: hidden;
  border: 3px dashed var(--pink);
  background:
    linear-gradient(180deg, rgba(255, 77, 143, 0.08), rgba(192, 132, 252, 0.08));
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
  transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s, background 0.3s;
  position: relative;
  animation: slot-pulse 2.4s ease-in-out infinite;
}
.ds-slot-photo:has(svg) {
  border-style: solid;
  border-color: var(--pink-glow);
  background: transparent;
  animation: none;
  box-shadow: 0 16px 48px rgba(255, 77, 143, 0.35), 0 0 0 4px rgba(255, 77, 143, 0.12);
}
.ds-match-slot:hover .ds-slot-photo {
  transform: translateY(-6px);
  border-color: var(--pink-glow);
  box-shadow: 0 18px 50px rgba(255, 77, 143, 0.4);
}

@keyframes slot-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 77, 143, 0.0); }
  50%      { box-shadow: 0 0 0 10px rgba(255, 77, 143, 0.08); }
}

.ds-slot-empty {
  font-family: 'JetBrains Mono', monospace;
  color: var(--pink);
  font-size: 13px; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: center; padding: 12px 8px;
  opacity: 0.85;
}

.ds-slot-num {
  background: var(--pink); color: #fff;
  padding: 6px 16px;
  font-size: 16px;
  box-shadow: 0 6px 18px rgba(255, 77, 143, 0.4);
  top: -2px;
}

.ds-slot-name {
  font-size: 28px;
  text-align: center;
  color: var(--text);
  transition: color 0.3s;
}
.ds-match-slot:has(.ds-slot-photo svg) .ds-slot-name {
  color: var(--pink-glow);
}

/* ========================================================================
   LOKÁLNÍ ÚPRAVY (mimo Claude Design bundle)
   - Video pozadí v hero (webloop.mp4)
   - OPATOVA ransom-note nadpis nad DATE/SHOW
   - Hamburger menu pro mobil
   - Mobile responsive overhaul
   ======================================================================== */

/* Hero video pozadí */
.ds-hero {
  padding: 24px 40px 0;
  position: relative;
  overflow: hidden;
  min-height: 680px;
  display: flex;
  flex-direction: column;
}
.ds-hero-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 70% 75%;
  z-index: 0;
  pointer-events: none;
  filter: saturate(1.1);
  transform: translate3d(0, var(--py-video, 0px), 0);
  will-change: transform;
}
.ds-hero-tint {
  position: absolute; inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8, 0, 20, 0.92) 0%, rgba(8, 0, 20, 0.7) 30%, rgba(8, 0, 20, 0.25) 55%, rgba(8, 0, 20, 0.55) 100%),
    linear-gradient(180deg, rgba(8, 0, 20, 0.4) 0%, transparent 30%, rgba(8, 0, 20, 0.85) 100%);
}
.ds-hero-grid {
  position: relative; z-index: 2;
  align-items: start; flex: 1;
  padding-bottom: 24px;
  padding-top: 12px;
}
.ds-hero-left { max-width: 640px; }
.ds-strip { position: relative; z-index: 2; margin-top: auto; }
.ds-display {
  font-size: clamp(72px, 12vw, 180px);
  letter-spacing: -0.03em;
  text-shadow: 0 4px 40px rgba(0, 0, 0, 0.6), 0 0 80px rgba(192, 132, 252, 0.2);
}
.ds-lede {
  color: rgba(255, 245, 250, 0.92);
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.6);
}
.ds-lede em { color: var(--pink-glow); font-weight: 600; }
.ds-lede strong { color: #fff; }

/* OPATOVA ransom-note */
.ds-hero-opatova {
  display: inline-flex; align-items: center; gap: 5px;
  margin-bottom: 14px;
  padding: 8px 4px;
  perspective: 800px;
}
.opa-l {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 7px 12px 9px;
  font-weight: 900;
  line-height: 1;
  font-size: clamp(30px, 4.6vw, 58px);
  letter-spacing: -0.02em;
  box-shadow:
    0 14px 28px rgba(0, 0, 0, 0.5),
    0 4px 8px rgba(0, 0, 0, 0.35),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1);
  transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
  position: relative;
  user-select: none;
}
.opa-l:hover { transform: translateY(-4px) rotate(0deg) scale(1.08) !important; z-index: 5; }

/* Scattered ransom-note — random rotace + drop-from-above animace, postupně po 1 */
@keyframes opa-fall {
  0% {
    opacity: 0;
    transform: translateY(-260px) rotate(0deg) scale(0.85);
  }
  55% {
    opacity: 1;
    transform: translateY(14px) rotate(2deg) scale(1.06);
  }
  78% {
    transform: translateY(-4px) rotate(-1deg) scale(1);
  }
  100% {
    opacity: 1;
    transform: rotate(var(--opa-rot, 0deg)) translateY(var(--opa-ty, 0px)) scale(1);
  }
}

.opa-l-1 {
  /* O — light violet, serif */
  background: #c084fc; color: #1a0014;
  font-family: 'Times New Roman', Georgia, serif;
  --opa-rot: -6deg; --opa-ty: 0px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.2s backwards;
  clip-path: polygon(2% 8%, 18% 2%, 42% 6%, 68% 1%, 88% 5%, 99% 12%, 96% 38%, 100% 62%, 97% 88%, 86% 96%, 62% 99%, 38% 95%, 12% 99%, 1% 90%, 4% 64%, 0% 38%);
}
.opa-l-2 {
  /* P — bright pink, Anton */
  background: #ff4d8f; color: #fff;
  font-family: 'Anton', sans-serif;
  font-size: clamp(34px, 5.2vw, 66px);
  --opa-rot: 4deg; --opa-ty: -5px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.32s backwards;
  clip-path: polygon(4% 4%, 22% 8%, 48% 2%, 76% 6%, 96% 1%, 99% 24%, 95% 48%, 100% 72%, 96% 96%, 78% 99%, 52% 94%, 26% 99%, 6% 96%, 2% 78%, 6% 52%, 1% 26%);
}
.opa-l-3 {
  /* A — deep violet, serif italic */
  background: #7c3aed; color: #fff5fa;
  font-family: 'Georgia', serif; font-style: italic;
  font-size: clamp(28px, 4.4vw, 56px);
  --opa-rot: -3deg; --opa-ty: 3px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.44s backwards;
  clip-path: polygon(1% 12%, 14% 4%, 38% 1%, 64% 7%, 92% 2%, 99% 18%, 96% 42%, 100% 68%, 95% 92%, 78% 96%, 52% 99%, 26% 94%, 4% 98%, 2% 76%, 6% 48%, 0% 28%);
}
.opa-l-4 {
  /* T — pink/magenta, Anton */
  background: #ff2d92; color: #fff;
  font-family: 'Anton', sans-serif;
  font-size: clamp(32px, 5vw, 62px);
  --opa-rot: 5deg; --opa-ty: -4px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.56s backwards;
  clip-path: polygon(6% 2%, 28% 6%, 54% 1%, 82% 5%, 98% 8%, 96% 32%, 100% 56%, 94% 82%, 98% 96%, 72% 94%, 48% 99%, 22% 96%, 2% 99%, 4% 74%, 0% 48%, 4% 22%);
}
.opa-l-5 {
  /* O — dark navy/purple */
  background: #2e1065; color: #fff5fa;
  font-family: 'Times New Roman', Georgia, serif;
  font-size: clamp(28px, 4.4vw, 56px);
  --opa-rot: -4deg; --opa-ty: 2px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.68s backwards;
  clip-path: polygon(2% 6%, 24% 1%, 46% 8%, 72% 2%, 94% 6%, 99% 28%, 96% 52%, 100% 78%, 94% 96%, 68% 99%, 42% 94%, 18% 99%, 1% 92%, 4% 68%, 1% 42%, 6% 18%);
}
.opa-l-6 {
  /* V — magenta, Anton */
  background: #c026d3; color: #fff;
  font-family: 'Anton', sans-serif;
  font-size: clamp(34px, 5.2vw, 64px);
  --opa-rot: 6deg; --opa-ty: -3px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.80s backwards;
  clip-path: polygon(4% 8%, 18% 2%, 42% 6%, 68% 1%, 92% 4%, 99% 22%, 95% 48%, 100% 72%, 96% 94%, 78% 98%, 52% 96%, 28% 99%, 6% 96%, 2% 72%, 6% 46%, 1% 22%);
}
.opa-l-7 {
  /* A — bright pink */
  background: #ff8fc4; color: #1a0014;
  font-family: 'Georgia', serif;
  font-size: clamp(30px, 4.8vw, 60px);
  --opa-rot: -5deg; --opa-ty: 2px;
  transform: rotate(var(--opa-rot)) translateY(var(--opa-ty));
  animation: opa-fall 0.95s cubic-bezier(0.4, 0, 0.25, 1) 0.92s backwards;
  clip-path: polygon(2% 4%, 22% 8%, 48% 2%, 74% 6%, 96% 1%, 99% 22%, 95% 46%, 100% 70%, 96% 92%, 78% 99%, 52% 94%, 26% 99%, 4% 96%, 2% 74%, 6% 48%, 0% 24%);
}

/* Burger menu pro mobil */
.ds-burger {
  display: none;
  background: transparent; border: 0; cursor: pointer; padding: 6px;
  flex-direction: column; gap: 4px; align-items: center; justify-content: center;
  width: 36px; height: 36px;
}
.ds-burger span {
  display: block; width: 22px; height: 2px;
  background: var(--text); border-radius: 2px;
  transition: transform .3s, opacity .2s;
}
.ds-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ds-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ds-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Mobile responsive overhaul */
@media (max-width: 900px) {
  .ds-top { padding: 14px 20px; }
  .ds-top-right { display: none; }
  .ds-nav {
    position: fixed;
    top: 64px; right: 0; bottom: 0; left: 0;
    width: 100%; height: calc(100vh - 64px); height: calc(100dvh - 64px);
    flex-direction: column; gap: 0;
    background: var(--bg);
    padding: 24px;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
    z-index: 49;
    overflow-y: auto;
  }
  .ds-nav.open { transform: none; }
  .ds-nav a {
    padding: 18px 0; border-bottom: 1px solid var(--line);
    font-family: 'Anton', sans-serif; font-size: 28px; letter-spacing: 0.04em;
  }
  .ds-burger { display: flex; }

  .ds-hero { padding: 48px 20px 0; min-height: auto; }
  .ds-hero-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 28px; }
  .ds-hero-video { object-position: center 75%; }
  .ds-hero-tint {
    background: linear-gradient(180deg, rgba(8, 0, 20, 0.55) 0%, rgba(8, 0, 20, 0.7) 60%, rgba(8, 0, 20, 0.95) 100%);
  }
  .ds-display { font-size: clamp(64px, 18vw, 120px); }
  .ds-lede { font-size: 16px; }

  .ds-team { padding: 48px 20px 64px; }
  .ds-team-card { grid-template-columns: 180px 1fr; padding: 12px 12px 18px; gap: 14px; }

  .ds-cast { padding: 56px 20px; }
  .ds-cast-head { gap: 16px; margin-bottom: 32px; }
  .ds-cards-row { grid-template-columns: repeat(3, 1fr); gap: 12px; }

  .ds-match { padding: 64px 20px; }
  .ds-match-stage { gap: 16px; }

  .ds-archive { padding: 56px 20px; }
  .ds-archive-row { grid-template-columns: 56px 1fr auto; gap: 14px; padding: 18px 0; }
  .ds-arch-arrow { display: none; }

  .ds-apply { padding: 56px 20px; }
  .ds-apply-grid { grid-template-columns: 1fr; gap: 36px; }

  .ds-footer { padding: 24px 20px; flex-direction: column; align-items: flex-start; }
}

@media (max-width: 600px) {
  .ds-cards-row { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ds-team-card { grid-template-columns: 1fr; }
  .ds-cd-card { padding: 18px; }
  .ds-cd-num { font-size: 36px; }
  .ds-cd-foot { flex-direction: column; align-items: stretch; gap: 12px; }
  .ds-discord-btn { text-align: center; }
  .ds-team-stats { gap: 12px 18px; }
  .ds-team-stats em { font-size: 18px; }
  .ds-match-stage { grid-template-columns: 1fr; }
  .ds-match-bridge { flex-direction: row; gap: 16px; }
  .ds-match-line { width: 30px; height: 1px; }
  .ds-strip { font-size: 14px; }
  .ds-strip-track { gap: 24px; }
  .pc-name { font-size: 16px; }
  .pc-follow { padding: 7px 10px; font-size: 12px; }
  .opa-l { font-size: clamp(22px, 8vw, 38px) !important; padding: 4px 8px 6px; }
  .opa-l-2, .opa-l-6 { font-size: clamp(26px, 9vw, 44px) !important; }
}

@media (max-width: 400px) {
  .ds-cards-row { grid-template-columns: 1fr; }
}

/* ========================================================================
   CAST DIVIDER — chrome ruce mezi ženské a mužské karty
   ======================================================================== */
.ds-divider {
  position: relative;
  width: calc(100% + 80px);
  margin: 36px -40px;
  height: clamp(280px, 38vw, 460px);
  border-radius: 0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  isolation: isolate;
}
.ds-divider-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
  filter: saturate(1.15);
}
.ds-divider-tint {
  position: absolute; inset: 0;
  z-index: 1;
  background:
    radial-gradient(ellipse 70% 60% at center, transparent 0%, rgba(15, 0, 32, 0.35) 70%, rgba(15, 0, 32, 0.85) 100%),
    linear-gradient(90deg, rgba(255, 77, 143, 0.12), transparent 30%, transparent 70%, rgba(192, 132, 252, 0.12));
  pointer-events: none;
}
/* Mobil — zarovnat divider s ostatním paddingem */
@media (max-width: 900px) {
  .ds-divider {
    width: calc(100% + 40px);
    margin: 28px -20px;
    height: clamp(220px, 50vw, 360px);
  }
}

/* Vyrovnání karet pořadatel + moderátor — stejná výška */
.ds-team-grid { align-items: stretch; }
.ds-team-col { height: 100%; }
.ds-team-card { height: 100%; }
.ds-team-body { flex: 1; }
.ds-team { padding-top: 40px; }

/* ========================================================================
   ARCADE LOVE GAME — game1.png intro → game2.png match (crossfade)
   ======================================================================== */

.arc-section {
  padding: 80px 24px !important;
  background:
    radial-gradient(ellipse at top, rgba(255, 110, 199, 0.18), transparent 60%),
    linear-gradient(180deg, #1a0033 0%, #0a0014 100%) !important;
  display: flex; flex-direction: column; align-items: center;
}

/* Wrapper — drží oba obrázky překryvně */
.arc-game-wrap {
  position: relative;
  width: 100%; max-width: 820px;
  aspect-ratio: 597 / 336;
  margin: 0 auto;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5), 0 0 60px rgba(192, 132, 252, 0.25);
}

.arc-game-frame {
  position: absolute; inset: 0;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 1.2s cubic-bezier(.4,0,.2,1);
  pointer-events: none;
}
.arc-game-frame.is-active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}
.arc-game-frame.is-gone {
  opacity: 0;
  transform: scale(0.96);
}

.arc-game-img {
  width: 100%; height: 100%;
  display: block;
  object-fit: cover;
  user-select: none;
  -webkit-user-drag: none;
}

/* START tlačítko na intro screenu */
.arc-game-press {
  position: absolute; left: 50%; bottom: 18%;
  transform: translateX(-50%);
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(11px, 1.6vw, 16px);
  color: #fff;
  background: var(--pink, #ff4d8f);
  padding: 12px 22px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px #6d28d9, 0 0 28px rgba(255, 77, 143, 0.7);
  animation: arc-press-blink 1s steps(2) infinite;
  letter-spacing: 0.08em;
  cursor: pointer;
  white-space: nowrap;
}
@keyframes arc-press-blink {
  0%, 49% { opacity: 1; transform: translateX(-50%) scale(1); }
  50%, 100% { opacity: 0.5; transform: translateX(-50%) scale(0.97); }
}

/* Overlay s P1/P2 sloty — pozičovaný nad cyan obrazovku v game2.png */
.arc-game-overlay {
  position: absolute;
  top: 17%; bottom: 24%; left: 28%; right: 28%;
  display: flex; align-items: stretch; justify-content: space-between;
  gap: 4%;
  pointer-events: none;
}

.arc-game-slot {
  flex: 1;
  position: relative;
  background: rgba(0, 0, 0, 0.18);
  border: 3px dashed #ff4d8f;
  border-radius: 8px;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(.4,0,.2,1);
  animation: arc-slot-pulse 1.6s ease-in-out infinite;
}
.arc-game-slot.filled {
  border-style: solid;
  border-color: #fff;
  background: rgba(255, 77, 143, 0.18);
  box-shadow: inset 0 0 24px rgba(255, 77, 143, 0.5), 0 0 18px rgba(255, 77, 143, 0.6);
  animation: none;
}
@keyframes arc-slot-pulse {
  0%, 100% { box-shadow: inset 0 0 0 rgba(255, 77, 143, 0); }
  50% { box-shadow: inset 0 0 18px rgba(255, 77, 143, 0.4); }
}

.arc-game-slot-tag {
  position: absolute; top: 4px; left: 6px;
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(7px, 1vw, 10px);
  color: #fff;
  text-shadow: 1px 1px 0 #6d28d9;
  z-index: 2;
}
.arc-game-slot-name {
  position: absolute; bottom: 4px; left: 4px; right: 4px;
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(7px, 1vw, 10px);
  color: #fff;
  text-shadow: 1px 1px 0 #6d28d9;
  text-align: center;
  z-index: 2;
  background: rgba(0, 0, 0, 0.55);
  padding: 3px 4px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.arc-game-slot.filled .arc-game-slot-name { color: #ffeb3b; }

.arc-game-slot svg {
  width: 100% !important;
  height: 100% !important;
  image-rendering: pixelated;
}
.arc-game-empty {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(9px, 1.4vw, 13px);
  color: rgba(255, 77, 143, 0.6);
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.08em;
  animation: arc-press-blink 1.1s steps(2) infinite;
}

/* VS / heart uprostřed mezi sloty */
.arc-game-vs {
  flex: 0 0 auto;
  width: 16%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 6px;
}
.arc-game-vs svg {
  width: 80%; height: auto;
  max-width: 90px;
}
.arc-game-status {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(9px, 1.3vw, 13px);
  color: #1a0014;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
  letter-spacing: 0.08em;
}
.arc-game-status.won {
  color: #ff4d8f;
  text-shadow: 1px 1px 0 #fff, 0 0 8px rgba(255, 77, 143, 0.8);
  animation: arc-status-bounce 0.6s ease-in-out infinite alternate;
}
@keyframes arc-status-bounce {
  from { transform: scale(1); }
  to { transform: scale(1.15); }
}

/* Instrukce pod arcade hrou */
.arc-instruction {
  margin-top: 28px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: rgba(255, 245, 250, 0.75);
  text-align: center;
  max-width: 480px;
  line-height: 1.6;
}

/* Mobile — slota a overlay zúžit */
@media (max-width: 700px) {
  .arc-game-overlay { top: 18%; bottom: 26%; left: 26%; right: 26%; gap: 3%; }
  .arc-game-slot { border-width: 2px; border-radius: 6px; }
  .arc-game-slot-tag, .arc-game-slot-name { font-size: 6px; }
  .arc-game-empty { font-size: 8px; }
}
@media (max-width: 480px) {
  .arc-game-overlay { top: 19%; bottom: 27%; left: 25%; right: 25%; gap: 2%; }
}

.arc-cabinet {
  position: relative;
  max-width: 760px; width: 100%;
  background: linear-gradient(180deg, #5b21b6 0%, #4c1d95 50%, #3b0764 100%);
  border-radius: 28px;
  padding: 14px 14px 22px;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.55),
    0 0 0 6px #6d28d9,
    0 0 60px rgba(192, 132, 252, 0.35),
    inset 0 2px 0 rgba(255, 255, 255, 0.18);
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
}

/* Cabinet "ears" — wings on sides */
.arc-cabinet::before, .arc-cabinet::after {
  content: ""; position: absolute; top: 80px; bottom: 60px;
  width: 28px;
  background: linear-gradient(180deg, #5b21b6, #3b0764);
  border-radius: 14px;
  pointer-events: none;
}
.arc-cabinet::before { left: -22px; }
.arc-cabinet::after { right: -22px; }

/* === MARQUEE === */
.arc-marquee { padding: 0; margin-bottom: 14px; }
.arc-marquee-bar {
  background: linear-gradient(180deg, #ff4d8f 0%, #e0286f 100%);
  border-radius: 14px;
  padding: 22px 18px;
  text-align: center;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.3),
    inset 0 -2px 0 rgba(0, 0, 0, 0.2),
    0 0 30px rgba(255, 77, 143, 0.4);
}
.arc-marquee-title {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(20px, 4.5vw, 36px);
  color: #fff5fa;
  letter-spacing: 0.05em;
  text-shadow:
    2px 2px 0 #6d28d9,
    4px 4px 0 rgba(0, 0, 0, 0.3);
  line-height: 1;
}

/* === CRT SCREEN === */
.arc-screen {
  position: relative;
  background: radial-gradient(ellipse at center, #2dd4ff 0%, #0891b2 60%, #082f49 100%);
  border-radius: 20px;
  padding: 30px 22px;
  overflow: hidden;
  box-shadow:
    inset 0 0 60px rgba(0, 0, 0, 0.4),
    inset 0 0 0 4px #1a0033,
    inset 0 0 0 8px rgba(255, 255, 255, 0.06);
  margin-bottom: 16px;
}
.arc-scanlines {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.18) 0px,
    rgba(0, 0, 0, 0.18) 2px,
    transparent 2px,
    transparent 4px
  );
  pointer-events: none;
  z-index: 2;
  border-radius: 20px;
}
.arc-screen-glow {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 50% at center 30%, rgba(255, 255, 255, 0.18), transparent 70%);
  pointer-events: none;
  z-index: 1;
}
.arc-screen-content {
  position: relative; z-index: 3;
  display: flex; flex-direction: column; align-items: center;
  gap: 18px;
}

/* Pixel heart animations */
.arc-heart-wrap {
  animation: arc-heart-bob 1.6s ease-in-out infinite;
}
@keyframes arc-heart-bob {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-6px) scale(1.06); }
}

/* Chrome heart image (z Pinterestu — heart.jpg, vyříznuto z plakátu) */
.arc-heart-img { animation: arc-heart-bob 2.4s ease-in-out infinite; }
.arc-heart-crop {
  width: 160px; height: 160px;
  background-image: url('heart.jpg');
  background-repeat: no-repeat;
  /* Plakát je 736×736px; srdce je centrované v ~50% × 47% výřezu */
  background-position: center 47%;
  background-size: 200% auto;
  filter:
    drop-shadow(0 0 18px rgba(255, 77, 143, 0.7))
    drop-shadow(0 0 32px rgba(255, 77, 143, 0.4));
  transition: filter 0.5s;
  /* Vymaskuje černé pozadí plakátu — necháme jen jasné chrome srdce */
  -webkit-mask-image: radial-gradient(ellipse 65% 60% at center 48%, #000 55%, transparent 80%);
          mask-image: radial-gradient(ellipse 65% 60% at center 48%, #000 55%, transparent 80%);
}
.arc-heart-img.is-match .arc-heart-crop {
  filter:
    drop-shadow(0 0 24px rgba(255, 77, 143, 1))
    drop-shadow(0 0 48px rgba(255, 235, 59, 0.6))
    saturate(1.3) brightness(1.1);
  animation: arc-heart-spin-glow 4s ease-in-out infinite;
}
@keyframes arc-heart-spin-glow {
  0%, 100% { transform: scale(1) rotate(-2deg); }
  50%      { transform: scale(1.08) rotate(2deg); }
}

/* Status text */
.arc-status {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(14px, 2.4vw, 20px);
  color: #fff;
  letter-spacing: 0.06em;
  text-shadow: 2px 2px 0 #6d28d9, 0 0 16px rgba(255, 255, 255, 0.5);
  animation: arc-blink 1.1s steps(2) infinite;
}
.arc-status.won {
  color: #ffeb3b;
  text-shadow: 2px 2px 0 #d4af00, 0 0 18px rgba(255, 235, 59, 0.7);
  animation: arc-rainbow 1.6s linear infinite;
}
@keyframes arc-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.45; }
}
@keyframes arc-rainbow {
  0%, 100% { transform: scale(1); filter: hue-rotate(0deg); }
  50% { transform: scale(1.08); filter: hue-rotate(30deg); }
}

/* Player slots inside CRT */
.arc-stage {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
  width: 100%;
  margin-top: 8px;
}
.arc-slot {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.arc-slot-label {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: 9px;
  color: #fff5fa;
  letter-spacing: 0.1em;
  text-shadow: 1px 1px 0 #6d28d9;
}
.arc-slot-screen {
  width: 100%; max-width: 130px;
  aspect-ratio: 0.78;
  background: linear-gradient(180deg, #082f49, #1a0033);
  border: 3px solid #1a0033;
  border-radius: 8px;
  overflow: hidden;
  box-shadow:
    inset 0 0 20px rgba(0, 0, 0, 0.6),
    0 0 0 2px rgba(255, 255, 255, 0.1);
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s;
}
.arc-slot-screen.filled {
  border-color: #ff4d8f;
  box-shadow:
    0 0 0 2px #ff4d8f,
    0 0 24px rgba(255, 77, 143, 0.6),
    inset 0 0 20px rgba(255, 77, 143, 0.2);
}
.arc-slot-screen svg {
  width: 100% !important;
  height: 100% !important;
  image-rendering: pixelated;
}
.arc-slot-empty {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.5);
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.08em;
  animation: arc-blink 1.1s steps(2) infinite;
}
.arc-slot-name {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: 11px;
  color: #fff5fa;
  text-shadow: 1px 1px 0 #6d28d9;
  letter-spacing: 0.05em;
  text-align: center;
  word-break: break-word;
  max-width: 130px;
}
.arc-slot-screen.filled + .arc-slot-name { color: #ffeb3b; }

/* VS divider */
.arc-vs {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(18px, 3vw, 26px);
  color: #ff4d8f;
  text-shadow: 2px 2px 0 #6d28d9, 0 0 14px rgba(255, 77, 143, 0.7);
  animation: arc-vs-pulse 1.8s ease-in-out infinite;
  padding: 0 4px;
}
@keyframes arc-vs-pulse {
  0%, 100% { transform: scale(1) rotate(-6deg); }
  50% { transform: scale(1.15) rotate(6deg); }
}

/* === CONTROLS PANEL === */
.arc-controls {
  background: linear-gradient(180deg, #4c1d95, #2e1065);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px;
  box-shadow:
    inset 0 2px 0 rgba(255, 255, 255, 0.12),
    inset 0 -2px 0 rgba(0, 0, 0, 0.3);
  margin-bottom: 12px;
}

/* Joystick */
.arc-joystick {
  position: relative;
  width: 80px; height: 80px;
  display: flex; align-items: center; justify-content: center;
}
.arc-joystick-base {
  position: absolute;
  width: 56px; height: 14px; bottom: 2px;
  background: radial-gradient(ellipse, #1a0033, #000);
  border-radius: 50%;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5);
}
.arc-joystick-stick {
  position: absolute;
  width: 8px; height: 38px; bottom: 12px;
  background: linear-gradient(90deg, #c026d3, #6d28d9);
  border-radius: 4px;
  transform-origin: bottom center;
  animation: arc-stick-wobble 3.2s ease-in-out infinite;
}
.arc-joystick-ball {
  position: absolute; top: 6px;
  width: 24px; height: 24px;
  background: radial-gradient(circle at 35% 30%, #ff8fc4 0%, #ff4d8f 50%, #c026d3 100%);
  border-radius: 50%;
  box-shadow:
    inset 0 -3px 6px rgba(0, 0, 0, 0.3),
    0 0 16px rgba(255, 77, 143, 0.5);
  animation: arc-ball-wobble 3.2s ease-in-out infinite;
}
@keyframes arc-stick-wobble {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-8deg); }
  75% { transform: rotate(8deg); }
}
@keyframes arc-ball-wobble {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-6px); }
  75% { transform: translateX(6px); }
}

/* Buttons row */
.arc-btn-row {
  display: flex; gap: 14px;
}
.arc-btn {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ff8fc4 0%, #ff4d8f 50%, #c026d3 100%);
  box-shadow:
    inset 0 -4px 8px rgba(0, 0, 0, 0.35),
    inset 0 2px 4px rgba(255, 255, 255, 0.4),
    0 4px 0 #6d28d9,
    0 6px 14px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: transform 0.1s;
}
.arc-btn:hover { transform: translateY(2px); box-shadow: inset 0 -2px 6px rgba(0, 0, 0, 0.4), inset 0 2px 4px rgba(255, 255, 255, 0.4), 0 2px 0 #6d28d9, 0 3px 8px rgba(0, 0, 0, 0.4); }

/* Bottom plate */
.arc-plate {
  background: rgba(0, 0, 0, 0.25);
  border-radius: 10px;
  padding: 14px 18px;
  text-align: center;
}
.arc-plate p {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px; line-height: 1.5;
  color: rgba(255, 245, 250, 0.8);
  letter-spacing: 0.04em;
}

/* High-score quote (when match completed) */
.arc-quote {
  margin-top: 28px;
  background: linear-gradient(180deg, rgba(255, 235, 59, 0.12), rgba(255, 77, 143, 0.08));
  border: 2px solid #ffeb3b;
  border-radius: 14px;
  padding: 18px 22px;
  text-align: center;
  max-width: 600px;
  width: 100%;
  box-shadow: 0 0 28px rgba(255, 235, 59, 0.3);
  animation: arc-quote-glow 2s ease-in-out infinite;
}
@keyframes arc-quote-glow {
  0%, 100% { box-shadow: 0 0 22px rgba(255, 235, 59, 0.25); }
  50%      { box-shadow: 0 0 40px rgba(255, 235, 59, 0.5); }
}
.arc-quote-label {
  display: block;
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: 12px; color: #ffeb3b;
  letter-spacing: 0.1em;
  text-shadow: 2px 2px 0 #6d28d9;
  margin-bottom: 12px;
}
.arc-quote-text {
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: 14px; color: #fff5fa;
  letter-spacing: 0.04em; line-height: 1.6;
  text-shadow: 1px 1px 0 #6d28d9;
  margin-bottom: 14px;
}
.arc-quote-text strong { color: #ff8fc4; font-weight: normal; }

/* Mobile responsive — arcade */
@media (max-width: 700px) {
  .arc-cabinet { padding: 10px 10px 16px; border-radius: 22px; box-shadow: 0 20px 50px rgba(0,0,0,0.5), 0 0 0 4px #6d28d9, 0 0 40px rgba(192, 132, 252, 0.3); }
  .arc-cabinet::before, .arc-cabinet::after { display: none; }
  .arc-screen { padding: 22px 12px; }
  .arc-stage { gap: 10px; }
  .arc-slot-screen { max-width: 100%; }
  .arc-slot-label { font-size: 8px; }
  .arc-slot-name { font-size: 9px; }
  .arc-slot-empty { font-size: 9px; }
  .arc-controls { padding: 14px 16px; gap: 12px; }
  .arc-joystick { width: 60px; height: 60px; }
  .arc-joystick-stick { height: 28px; bottom: 10px; }
  .arc-joystick-ball { width: 20px; height: 20px; }
  .arc-btn { width: 28px; height: 28px; }
  .arc-btn-row { gap: 10px; }
  .arc-quote-text { font-size: 11px; }
  .arc-quote-label { font-size: 10px; }
}

/* ████████████████████████████████████████████████████████████████████████
   POLISH PASS — Y2K editorial × bedroom-poster
   Schibsted Grotesk + Instrument Serif | grain | sticker rotations |
   sharper edges in places | corner stamp | scroll progress | heart cursor
   ████████████████████████████████████████████████████████████████████████ */

/* === Subtle film grain across whole page (mix-blend-mode overlay) === */
body::after {
  content: ""; position: fixed; inset: 0;
  pointer-events: none; z-index: 9999;
  opacity: 0.07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}

/* === Scroll progress bar (top, fills as you scroll) === */
.ds-progress {
  position: fixed; top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 100;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.06);
}
.ds-progress::after {
  content: ""; display: block; height: 100%;
  width: var(--p, 0%);
  background: linear-gradient(90deg, var(--pink-glow), var(--pink), var(--purple-deep));
  box-shadow: 0 0 12px var(--pink-glow);
  transition: width 0.08s linear;
}

/* === Editorial corner stamp — DISABLED (removed from layout) === */
.ds-stamp { display: none !important; }
.ds-stamp-old {
  position: fixed;
  top: 80px; right: 14px;
  z-index: 60;
  display: flex; flex-direction: column; align-items: center;
  gap: 10px;
  pointer-events: none;
  mix-blend-mode: difference;
}
.ds-stamp-rule {
  width: 1px; height: 40px;
  background: rgba(255, 245, 250, 0.5);
}
.ds-stamp-text {
  display: flex; flex-direction: column; align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.16em;
  color: rgba(255, 245, 250, 0.7);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  text-transform: uppercase;
  white-space: nowrap;
}
.ds-stamp-dot { font-size: 6px; opacity: 0.6; }
@media (max-width: 1100px) { .ds-stamp { display: none; } }

/* === Typography overhaul === */

/* Body — Schibsted Grotesk */
.ds-app, .ds-app input, .ds-app textarea, .ds-app button {
  font-family: 'Schibsted Grotesk', system-ui, sans-serif;
  font-feature-settings: "ss01", "kern";
}

/* Italic accents — Instrument Serif (classical romantic italic) */
.ds-lede em,
.ds-hero-eyebrow,
.ds-match-quote,
.arc-quote-text strong,
.pc-back-bio em,
em {
  font-family: 'Instrument Serif', 'Times New Roman', serif !important;
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.005em;
}
.ds-lede em { font-size: 1.08em; }

/* Refined body sizing & rhythm */
.ds-lede {
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.55;
  letter-spacing: -0.005em;
  max-width: 480px;
}
.ds-team-bio {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: -0.005em;
  max-width: 38ch;
}

/* Tighter Anton kerning na hero display */
.ds-display, .ds-host-name {
  letter-spacing: -0.035em;
  font-feature-settings: "kern";
}
/* Section headings + team labels — mírně širší tracking pro lepší čitelnost */
.ds-h2, .ds-team-label-title {
  letter-spacing: 0.02em;
  font-feature-settings: "kern";
}

/* Section eyebrows — clean, no decorative marks */
.ds-section-eyebrow:not(:empty)::before { content: "— "; opacity: 0.55; margin-right: 4px; letter-spacing: -0.02em; }

/* === Sticker tilts — subtle 1-2deg rotations on small UI for handmade feel === */
.ds-block-tag.girl { transform: rotate(-1.5deg); }
.ds-block-tag.boy { transform: rotate(1.5deg); }
.ds-team-label-tag { transform: rotate(-2deg) translateY(-1px); }
.pc-age-overlay { transform: rotate(-3deg); }

/* === Sharper edges in places (variation, not all 24px) === */
.ds-block-tag {
  border-radius: 4px;
  font-family: 'Anton', sans-serif;
  padding: 7px 14px 8px;
  font-size: 18px; letter-spacing: 0.08em;
  box-shadow: 4px 4px 0 var(--purple-deep, #6d28d9);
  transition: transform 0.2s, box-shadow 0.2s;
}
.ds-block-tag:hover {
  transform: translate(-1px, -1px) rotate(0deg);
  box-shadow: 5px 5px 0 var(--purple-deep, #6d28d9);
}

/* Cards — slightly less generic */
.pc-face { border-radius: 18px 18px 22px 22px; }
.ds-team-card { border-radius: 22px 22px 28px 28px; }
.ds-cd-card { border-radius: 18px 18px 24px 24px; }

/* === Heart cursor on hover-flip cards === */
.pc-card {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24'><path d='M12 21s-7.5-4.6-9.5-9.4C1 7.5 4 4 7.5 4c2 0 3.4 1 4.5 2.6C13.1 5 14.5 4 16.5 4 20 4 23 7.5 21.5 11.6 19.5 16.4 12 21 12 21z' fill='%23ff4d8f' stroke='%23fff' stroke-width='1.5' stroke-linejoin='round'/></svg>") 14 14, pointer;
}

/* === Hero — Instrument Serif on the lede italic, refined feel === */
.ds-hero-opatova { margin-bottom: 18px; }

/* Top bar masthead — extra spacing */
.ds-mast {
  font-family: 'Anton', sans-serif;
  font-size: 26px; letter-spacing: 0.04em;
  position: relative;
  color: var(--text) !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.2s;
  display: inline-block;
}
.ds-mast:hover {
  opacity: 0.85;
  transform: scale(1.02);
}
.ds-mast:visited,
.ds-mast:active,
.ds-mast:focus {
  color: var(--text) !important;
  text-decoration: none !important;
}
.ds-mast-live {
  height: 22px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
  filter: drop-shadow(0 0 8px rgba(220, 38, 38, 0.5));
  animation: ds-live-pulse 1.4s ease-in-out infinite;
}
@keyframes ds-live-pulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 6px rgba(220, 38, 38, 0.4)); }
  50%      { transform: scale(1.06); filter: drop-shadow(0 0 14px rgba(255, 60, 60, 0.85)); }
}
@media (max-width: 600px) {
  .ds-mast-live { height: 18px; margin-left: 6px; }
}

/* === HERO CLAIM — bold positioning bar nad OPATOVA === */
.ds-hero-claim {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 14px 9px;
  margin-bottom: 22px;
  background: rgba(8, 0, 20, 0.55);
  border: 1px solid rgba(255, 245, 250, 0.18);
  border-radius: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 245, 250, 0.9);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 3px 3px 0 rgba(255, 77, 143, 0.55);
  white-space: nowrap;
}
.ds-hero-claim em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-size: 1.3em;
  color: #ff3434;
  text-shadow: 0 0 12px rgba(255, 60, 60, 0.7);
  letter-spacing: 0;
  font-weight: 400;
}
.ds-hero-claim-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #ff3434;
  box-shadow: 0 0 0 0 #ff3434;
  animation: ds-claim-pulse 1.4s infinite;
  flex-shrink: 0;
}
@keyframes ds-claim-pulse {
  0%, 100% { box-shadow: 0 0 0 0 #ff3434; }
  50%      { box-shadow: 0 0 0 7px transparent; }
}
@media (max-width: 600px) {
  .ds-hero-claim {
    font-size: 9px; letter-spacing: 0.12em;
    padding: 7px 11px; gap: 8px;
    white-space: normal;
  }
}

/* === HERO STATS — proof under hero CTA === */
.ds-hero-stats {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 20px;
  margin-top: 28px;
  padding: 16px 20px;
  background: rgba(8, 0, 20, 0.45);
  border: 1px solid rgba(255, 245, 250, 0.14);
  border-radius: 4px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  max-width: 560px;
}
.ds-hero-stat { display: flex; flex-direction: column; gap: 2px; }
.ds-hero-stat strong {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--pink-glow);
  text-shadow: 0 0 16px rgba(255, 110, 199, 0.5);
}
.ds-hero-stat span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.18em;
  color: rgba(255, 245, 250, 0.7);
  text-transform: uppercase;
  margin-top: 2px;
}
.ds-hero-stat-sep {
  width: 1px; height: 28px;
  background: rgba(255, 245, 250, 0.18);
}
@media (max-width: 600px) {
  .ds-hero-stats { gap: 14px; padding: 12px 14px; }
  .ds-hero-stat strong { font-size: 22px; }
  .ds-hero-stat-sep { height: 22px; }
}

/* === Section block heads — better hierarchy === */
.ds-cast-block-head { margin-bottom: 32px; padding: 0 4px; }
.ds-block-line {
  background: linear-gradient(90deg, var(--line), transparent 70%);
  height: 1px;
}
.ds-block-count {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--pink-glow);
  letter-spacing: 0;
}

/* === Decorative section divider line (asymmetric) === */
.ds-cast { position: relative; }

/* === Refined buttons — text + SVG icon === */
.ds-btn-primary {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  border-radius: 4px;
  border: 1.5px solid var(--pink);
  padding: 15px 28px;
  text-transform: uppercase;
  font-size: 13px;
  box-shadow: 5px 5px 0 #6d28d9, 0 0 24px rgba(255, 77, 143, 0.45);
  transition: transform 0.2s, box-shadow 0.2s;
  display: inline-flex; align-items: center; gap: 10px;
}
.ds-btn-primary svg, .ds-btn-link svg, .ds-discord-btn svg, .ds-apply-btn svg, .ds-prize-btn svg {
  flex-shrink: 0;
}
.ds-btn-link, .ds-discord-btn, .ds-apply-btn, .ds-prize-btn {
  display: inline-flex; align-items: center; gap: 8px;
}
.ds-btn-primary:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 #6d28d9, 0 0 32px rgba(255, 77, 143, 0.6);
}
.ds-btn-primary:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 #6d28d9, 0 0 16px rgba(255, 77, 143, 0.45);
}

.ds-btn-link {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px dotted currentColor;
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}
.ds-btn-link:hover { color: var(--pink-glow); border-bottom-style: solid; }

/* === Refined apply form (editorial-grade) === */
.ds-apply-form label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px; letter-spacing: 0.18em;
}
.ds-apply-form input, .ds-apply-form textarea {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 18px;
  border-bottom: 1.5px solid var(--text);
  padding: 10px 0;
}

/* ████████████████████████████████████████████████████████████████████████
   APPLY FORM V2 — magazine spread editorial layout
   ████████████████████████████████████████████████████████████████████████ */

.ds-apply {
  padding: clamp(80px, 10vw, 140px) clamp(24px, 4vw, 56px) !important;
  position: relative;
}
.ds-apply-grid {
  display: grid !important;
  grid-template-columns: 5fr 7fr !important;
  gap: clamp(40px, 5vw, 80px) !important;
  max-width: 1400px;
  margin: 0 auto;
  align-items: start;
}

/* LEVÝ SLOUPEC — editorial copy */
.ds-apply-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--pink);
  margin-bottom: 24px;
  display: flex; align-items: baseline; gap: 6px;
}
.ds-apply-num strong {
  font-family: 'Anton', sans-serif;
  font-weight: normal;
  font-size: 36px;
  color: var(--text);
  letter-spacing: -0.02em;
}

.ds-apply-h {
  font-family: 'Anton', sans-serif;
  font-size: clamp(56px, 9vw, 130px);
  line-height: 0.88;
  letter-spacing: -0.035em;
  margin-bottom: clamp(24px, 3vw, 36px);
  display: flex; flex-direction: column;
}
.ds-apply-h-line {
  display: block;
}
.ds-apply-h-line:nth-child(2) {
  padding-left: 0.6em;
}
.ds-apply-h-line:nth-child(3) {
  padding-left: 0.2em;
}
.ds-apply-h-em em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(95deg, var(--pink-glow) 0%, var(--pink) 50%, var(--purple) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.02em;
}

.ds-apply-lede {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
  color: rgba(255, 245, 250, 0.85);
  max-width: 38ch;
  margin-bottom: clamp(28px, 3vw, 40px);
  letter-spacing: -0.005em;
}
.ds-apply-lede strong { color: var(--text); font-weight: 700; }
.ds-apply-lede em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  color: var(--pink-glow);
  font-weight: 400;
}

.ds-apply-text .ds-apply-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px 24px;
  margin-top: 0;
  padding-top: 24px;
  border-top: 1.5px solid var(--line);
  max-width: 360px;
}
.ds-apply-text .ds-apply-meta > div {
  display: flex; flex-direction: column; gap: 2px;
}
.ds-apply-text .ds-apply-meta em {
  font-family: 'JetBrains Mono', monospace;
  font-style: normal;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: var(--pink);
  text-transform: uppercase;
}
.ds-apply-text .ds-apply-meta span {
  font-family: 'Anton', sans-serif;
  font-size: 22px;
  color: var(--text);
  letter-spacing: -0.01em;
}

/* PRAVÝ SLOUPEC — formulář v2 (numbered fields) */
.ds-apply-form-v2 {
  display: flex !important;
  flex-direction: column;
  gap: 22px !important;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 4px;
  padding: clamp(28px, 4vw, 44px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 22px 50px rgba(0, 0, 0, 0.35),
    7px 7px 0 var(--purple-deep);
  position: relative;
}

.ds-apply-field {
  display: grid !important;
  grid-template-columns: 32px 1fr;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  font-family: 'Schibsted Grotesk', sans-serif !important;
  font-size: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--text) !important;
}
.ds-apply-field-num {
  grid-row: 1 / 3;
  grid-column: 1;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--pink);
  align-self: end;
  padding-bottom: 8px;
}
.ds-apply-field-label {
  grid-row: 1;
  grid-column: 2;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: rgba(255, 245, 250, 0.6);
  text-transform: uppercase;
}
.ds-apply-field-label em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  color: var(--pink-glow);
  font-size: 1.15em;
}
.ds-apply-form-v2 input,
.ds-apply-form-v2 textarea {
  grid-row: 2;
  grid-column: 2;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 18px;
  background: transparent;
  border: 0 !important;
  border-bottom: 1.5px solid rgba(255, 245, 250, 0.25) !important;
  padding: 8px 0 10px !important;
  color: var(--text);
  outline: 0;
  transition: border-color 0.3s, padding-left 0.3s;
}
.ds-apply-form-v2 input:focus,
.ds-apply-form-v2 textarea:focus {
  border-bottom-color: var(--pink) !important;
  border-bottom-width: 2px !important;
  padding-left: 8px !important;
}
.ds-apply-form-v2 textarea {
  min-height: 100px;
  resize: vertical;
}
.ds-apply-field-large {
  margin-top: 8px;
}

.ds-apply-btn-v2 {
  margin-top: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: 'Anton', sans-serif !important;
  font-size: clamp(20px, 2vw, 28px) !important;
  letter-spacing: 0.1em !important;
  padding: 18px 32px !important;
  background: var(--pink) !important;
  color: #fff !important;
  border: 2px solid var(--pink-glow) !important;
  border-radius: 4px !important;
  box-shadow:
    6px 6px 0 var(--purple-deep),
    0 0 32px rgba(255, 77, 143, 0.4) !important;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
  text-transform: uppercase;
  align-self: stretch;
}
.ds-apply-btn-v2:hover {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--purple-deep), 0 0 44px rgba(255, 77, 143, 0.6) !important;
}
.ds-apply-btn-v2:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--purple-deep), 0 0 18px rgba(255, 77, 143, 0.4) !important;
}

.ds-apply-foot {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(255, 245, 250, 0.55);
  text-align: center;
  margin-top: 4px;
}
.ds-apply-foot em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  color: var(--pink-glow);
  letter-spacing: 0;
  font-size: 1.2em;
}

/* Mobile apply */
@media (max-width: 900px) {
  .ds-apply-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .ds-apply-h-line:nth-child(2) { padding-left: 0; }
  .ds-apply-h-line:nth-child(3) { padding-left: 0; }
  .ds-apply-form-v2 { box-shadow: 4px 4px 0 var(--purple-deep), 0 14px 30px rgba(0, 0, 0, 0.3) !important; }
}
@media (max-width: 600px) {
  .ds-apply-form-v2 { padding: 22px 20px !important; }
  .ds-apply-field-num { font-size: 10px; padding-bottom: 6px; }
  .ds-apply-field-label { font-size: 10px; }
}

.ds-apply-btn {
  font-family: 'Anton', sans-serif;
  border-radius: 4px;
  border: 1.5px solid var(--pink);
  box-shadow: 5px 5px 0 #6d28d9;
  transition: transform 0.2s, box-shadow 0.2s;
  letter-spacing: 0.14em;
}
.ds-apply-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 #6d28d9;
}

/* === Archive — editorial list refinement === */
.ds-archive-row { transition: padding 0.3s, color 0.3s, background 0.3s; }
.ds-archive-row:hover {
  background: linear-gradient(90deg, rgba(255, 77, 143, 0.05), transparent);
  padding-left: 16px;
}
.ds-arch-title {
  font-family: 'Instrument Serif', serif;
  font-size: 22px;
  font-style: italic;
  letter-spacing: -0.01em;
}

/* ████████████████████████████████████████████████████████████████████████
   ARCHIVE V2 — editorial list with massive numerals + italic titles
   ████████████████████████████████████████████████████████████████████████ */

.ds-archive-list-v2 {
  display: flex;
  flex-direction: column;
  margin-top: clamp(40px, 5vw, 64px);
  border-top: 1.5px solid rgba(255, 245, 250, 0.18);
}

.ds-arch-row-v2 {
  display: grid;
  grid-template-columns: clamp(110px, 14vw, 180px) 1fr clamp(40px, 4vw, 56px);
  gap: clamp(20px, 3vw, 40px);
  padding: clamp(24px, 3vw, 36px) clamp(8px, 2vw, 24px);
  border-bottom: 1.5px solid rgba(255, 245, 250, 0.15);
  align-items: center;
  text-decoration: none;
  color: var(--text);
  cursor: pointer;
  transition: padding 0.4s cubic-bezier(.16, .84, .26, 1), background 0.4s;
  position: relative;
  overflow: hidden;
}
.ds-arch-row-v2::before {
  content: ""; position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 77, 143, 0.08), transparent 60%);
  opacity: 0;
  transition: opacity 0.4s;
  pointer-events: none;
}
.ds-arch-row-v2:hover {
  padding-left: clamp(20px, 3vw, 36px);
}
.ds-arch-row-v2:hover::before { opacity: 1; }

.ds-arch-num {
  font-family: 'Anton', sans-serif;
  font-size: clamp(56px, 8vw, 110px);
  line-height: 0.85;
  letter-spacing: -0.045em;
  color: var(--pink);
  text-shadow: 0 0 32px rgba(255, 77, 143, 0.25);
  background: linear-gradient(180deg, var(--pink-glow) 0%, var(--pink) 70%, var(--purple-deep) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: transform 0.4s cubic-bezier(.16, .84, .26, 1);
}
.ds-arch-row-v2:hover .ds-arch-num {
  transform: translateX(-6px) scale(1.05);
}

.ds-arch-body {
  display: flex; flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.ds-arch-title-v2 {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22px, 2.6vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--text);
  margin: 0;
}
.ds-arch-meta-v2 {
  display: flex; align-items: baseline;
  gap: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  color: rgba(255, 245, 250, 0.55);
  text-transform: uppercase;
}
.ds-arch-date-v2 { color: var(--pink-glow); }
.ds-arch-sep { opacity: 0.4; }
.ds-arch-views em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text);
  font-size: 1.4em;
  font-weight: 400;
}

.ds-arch-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 245, 250, 0.18);
  color: var(--text);
  transition: all 0.3s cubic-bezier(.16, .84, .26, 1);
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.ds-arch-row-v2:hover .ds-arch-go {
  border-color: var(--pink);
  background: var(--pink);
  color: #fff;
  transform: rotate(-15deg) scale(1.1);
  box-shadow: 0 0 24px rgba(255, 77, 143, 0.5);
}

@media (max-width: 700px) {
  .ds-arch-row-v2 {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 22px 8px;
  }
  .ds-arch-num { font-size: 48px; line-height: 1; }
  .ds-arch-go {
    position: absolute;
    top: 22px; right: 12px;
    width: 36px; height: 36px;
  }
}

/* === Footer — small editorial detail === */
.ds-footer {
  font-family: 'JetBrains Mono', monospace;
  border-top: 1px dashed var(--line);
}
.ds-footer span:first-child { font-family: 'Anton', sans-serif; font-size: 18px; letter-spacing: 0.04em; color: var(--pink-glow); }

/* === Marquee strip — refine font === */
.ds-strip {
  font-family: 'Anton', sans-serif;
}

/* === Match quote — editorial === */
.ds-match-quote {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: 22px;
}
.ds-match-quote strong { font-family: 'Schibsted Grotesk', sans-serif; font-style: normal; font-weight: 700; }

/* === Top nav links — better hover (animated underline) === */
.ds-nav a {
  position: relative;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.ds-nav a::after {
  content: ""; position: absolute;
  left: 0; right: 100%; bottom: -6px;
  height: 1.5px;
  background: var(--pink);
  transition: right 0.3s cubic-bezier(.4,0,.2,1);
}
.ds-nav a:hover::after { right: 0; }

/* === Section spacing rhythm refinement === */
.ds-cast { padding-top: 100px; padding-bottom: 100px; }
.ds-team { padding-top: 80px; padding-bottom: 80px; }

@media (max-width: 900px) {
  .ds-stamp { display: none; }
  .ds-cast::before { display: none; }
  .ds-btn-primary { box-shadow: 4px 4px 0 #6d28d9; padding: 13px 22px; font-size: 12px; }
  .ds-apply-btn { box-shadow: 4px 4px 0 #6d28d9; }
}

/* ████████████████████████████████████████████████████████████████████████
   COUNTDOWN CARD V2 — editorial, sharp, lower position with LIVE badge
   ████████████████████████████████████████████████████████████████████████ */

/* Push countdown card down — align to bottom of hero grid */
.ds-hero-right {
  align-self: end;
  margin-top: auto;
  position: relative;
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  padding-bottom: 40px;
}

/* LIVE badge floating above the card */
.ds-cd-live-badge {
  position: absolute;
  top: -18px; right: 18px;
  height: 42px; width: auto;
  z-index: 3;
  filter: drop-shadow(0 6px 14px rgba(220, 38, 38, 0.55));
  animation: ds-cd-live-pulse 1.4s ease-in-out infinite;
  transform-origin: center;
}
@keyframes ds-cd-live-pulse {
  0%, 100% { transform: rotate(-3deg) scale(1); filter: drop-shadow(0 6px 12px rgba(220, 38, 38, 0.45)); }
  50%      { transform: rotate(-3deg) scale(1.06); filter: drop-shadow(0 8px 22px rgba(255, 60, 60, 0.85)); }
}

/* Card itself — sharper, bolder, editorial */
.ds-hero-right .ds-cd-card {
  background: rgba(8, 0, 20, 0.78) !important;
  border: 1.5px solid var(--pink) !important;
  border-radius: 4px 4px 4px 4px !important;
  padding: 28px 24px 22px !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    7px 7px 0 var(--purple-deep),
    0 0 60px rgba(255, 110, 199, 0.25),
    inset 0 1px 0 rgba(255, 245, 250, 0.08);
  font-family: 'Schibsted Grotesk', sans-serif !important;
  position: relative;
}
.ds-hero-right .ds-cd-card::before {
  content: ""; position: absolute;
  top: 8px; left: 8px; right: 8px; bottom: 8px;
  border: 1px dashed rgba(255, 245, 250, 0.12);
  border-radius: 2px;
  pointer-events: none;
}

/* Label — "↳ Další epizoda za" v editorial sans, ne mono */
.ds-hero-right .ds-cd-label {
  font-family: 'Schibsted Grotesk', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-weight: 500;
  opacity: 1 !important;
  color: var(--pink-glow);
  margin-bottom: 18px !important;
  display: flex; align-items: center; gap: 6px;
}
.ds-cd-arrow {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--pink);
  line-height: 1;
}

/* Countdown grid — keep numbers Anton (font is OK), better cells */
.ds-hero-right .ds-cd-grid {
  gap: 6px !important;
  margin-bottom: 18px !important;
}
.ds-hero-right .ds-cd-cell {
  background: rgba(255, 110, 199, 0.05) !important;
  border: 1px solid rgba(255, 110, 199, 0.2) !important;
  border-radius: 3px !important;
  padding: 12px 4px !important;
  position: relative;
}
.ds-hero-right .ds-cd-num {
  font-family: 'Anton', sans-serif !important;
  font-size: clamp(36px, 4vw, 48px) !important;
  color: var(--text) !important;
  text-shadow: 0 0 20px rgba(255, 110, 199, 0.4);
  line-height: 1;
  letter-spacing: -0.02em;
}
.ds-hero-right .ds-cd-unit {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 9px !important;
  letter-spacing: 0.18em !important;
  color: rgba(255, 245, 250, 0.55) !important;
  margin-top: 8px !important;
  text-transform: uppercase;
}

/* Footer — "SOBOTA · 20:00 · DISCORD" + Připojit se tlačítko */
.ds-hero-right .ds-cd-foot {
  padding-top: 14px !important;
  border-top: 1px dashed rgba(255, 110, 199, 0.25) !important;
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap;
}
.ds-cd-when {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.16em;
  color: rgba(255, 245, 250, 0.7);
  text-transform: uppercase;
}
.ds-hero-right .ds-discord-btn {
  background: var(--pink) !important;
  color: #fff !important;
  border: 1.5px solid var(--pink-glow) !important;
  border-radius: 3px !important;
  padding: 8px 14px !important;
  font-family: 'Anton', sans-serif !important;
  letter-spacing: 0.1em !important;
  font-size: 13px !important;
  box-shadow: 3px 3px 0 var(--purple-deep);
  text-transform: uppercase;
  transition: transform 0.2s, box-shadow 0.2s;
  cursor: pointer;
}
.ds-hero-right .ds-discord-btn:hover {
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 var(--purple-deep), 0 0 20px rgba(255, 77, 143, 0.5);
}

/* Mobile — countdown card not absolutely positioned */
@media (max-width: 900px) {
  .ds-hero-right { align-self: stretch; max-width: 100%; padding-bottom: 0; }
}
@media (max-width: 600px) {
  .ds-hero-right .ds-cd-num { font-size: 32px !important; }
}

/* ████████████████████████████████████████████████████████████████████████
   HERO LIQUID GLASS — OPATOVA tilt, LIVE sticker, full-width stats banner
   ████████████████████████████████████████████████████████████████████████ */

/* OPATOVA — scattered ransom-note písmena, posunuto dolů přes DATE (z-index 4 = popředí) */
.ds-hero-opatova {
  transform: none;
  margin-bottom: -50px;
  position: relative;
  z-index: 4;
  padding: 4px 0 14px;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

/* Hero-left needs position:relative for LIVE sticker absolute child */
.ds-hero-left { position: relative; }

/* Hero tagline pod DATE/SHOW — Caveat handwriting */
.ds-hero-tagline {
  margin-top: 22px;
  font-family: 'Caveat', 'Instrument Serif', cursive;
  font-weight: 500;
  font-size: clamp(22px, 2.2vw, 32px);
  letter-spacing: 0;
  color: rgba(255, 245, 250, 0.95);
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.6);
  max-width: 580px;
  line-height: 1.25;
}
.ds-hero-tagline strong {
  color: var(--pink-glow);
  font-weight: 700;
}

/* LIVE — diagonal sticker, lehce sahá na "W" SHOW */
.ds-hero-live-sticker {
  position: absolute;
  left: 50%;
  top: 84%;
  height: clamp(48px, 7vw, 92px);
  width: auto;
  transform-origin: center;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  /* 1) Entry: stamp slam (jednou) → 2) wiggle (loop) */
  animation:
    ds-hero-live-enter 0.7s cubic-bezier(0.5, 1.7, 0.4, 1) 1.1s both,
    ds-hero-live-stamp 2s ease-in-out 1.85s infinite;
}
@keyframes ds-hero-live-enter {
  0% {
    opacity: 0;
    transform: rotate(0deg) scale(2.4);
    filter: blur(10px) drop-shadow(0 0 0 transparent);
  }
  35% {
    opacity: 1;
    filter: blur(0) drop-shadow(0 0 48px rgba(255, 60, 60, 0.95)) drop-shadow(0 0 24px rgba(255, 200, 200, 0.6));
  }
  60% {
    opacity: 1;
    transform: rotate(-22deg) scale(0.88);
    filter: blur(0) drop-shadow(0 0 36px rgba(255, 60, 60, 0.8)) drop-shadow(0 8px 18px rgba(220, 38, 38, 0.55));
  }
  85% {
    transform: rotate(-11deg) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: rotate(-14deg) scale(1);
    filter:
      drop-shadow(0 8px 18px rgba(220, 38, 38, 0.55))
      drop-shadow(0 0 20px rgba(220, 38, 38, 0.35));
  }
}
@keyframes ds-hero-live-stamp {
  0%, 100% {
    transform: rotate(-14deg) scale(1);
    filter:
      drop-shadow(0 8px 18px rgba(220, 38, 38, 0.55))
      drop-shadow(0 0 20px rgba(220, 38, 38, 0.35));
  }
  50% {
    transform: rotate(-14deg) scale(1.07);
    filter:
      drop-shadow(0 10px 26px rgba(255, 60, 60, 0.85))
      drop-shadow(0 0 28px rgba(255, 60, 60, 0.5));
  }
}

/* Hide h1's natural inline-flow for the img — we want it absolutely positioned */
.ds-display {
  position: relative;
  transform: translate3d(0, var(--py-display, 0px), 0);
  will-change: transform;
}

/* === LIQUID GLASS — countdown card + stats banner === */
.ds-hero-right .ds-cd-card,
.ds-hero-stats-banner {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.04) 50%, rgba(255, 110, 199, 0.06) 100%) !important;
  backdrop-filter: blur(28px) saturate(1.7) brightness(1.05) !important;
  -webkit-backdrop-filter: blur(28px) saturate(1.7) brightness(1.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 24px !important;
  box-shadow:
    inset 0 1.5px 0 rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(0, 0, 0, 0.18),
    inset 1px 0 0 rgba(255, 255, 255, 0.12),
    inset -1px 0 0 rgba(255, 255, 255, 0.08),
    0 22px 60px rgba(0, 0, 0, 0.4),
    0 0 60px rgba(255, 110, 199, 0.18) !important;
  position: relative !important;
  overflow: hidden;
}

/* Glass shimmer highlight at top (subtle reflection) */
.ds-hero-right .ds-cd-card::after,
.ds-hero-stats-banner::after {
  content: ""; position: absolute;
  top: 0; left: 0; right: 0; height: 50%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent);
  pointer-events: none;
  border-radius: 24px 24px 0 0;
}

/* Override the dashed inner border from previous version */
.ds-hero-right .ds-cd-card::before {
  display: none !important;
}

/* === Stats banner — full-width horizontal under hero grid === */
.ds-hero-stats-banner {
  display: flex; align-items: center; justify-content: center;
  gap: clamp(20px, 4vw, 48px);
  padding: 22px 32px !important;
  margin: 32px 0 24px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.ds-hero-stats-banner .ds-hero-stat {
  display: flex; flex-direction: column; gap: 4px;
  align-items: center; text-align: center;
}
.ds-hero-stats-banner .ds-hero-stat strong {
  font-family: 'Anton', sans-serif;
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 0 28px rgba(255, 110, 199, 0.55);
  background: linear-gradient(180deg, #fff 0%, #ff8fc4 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ds-hero-stats-banner .ds-hero-stat span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  color: rgba(255, 245, 250, 0.7);
  text-transform: uppercase;
  margin-top: 2px;
}
.ds-hero-stats-banner .ds-hero-stat-sep {
  width: 1px; height: 44px;
  background: linear-gradient(180deg, transparent, rgba(255, 245, 250, 0.3), transparent);
}

/* Mobile fixes */
@media (max-width: 900px) {
  .ds-hero-live-sticker { left: 42%; top: 82%; height: clamp(42px, 11vw, 70px); }
  .ds-hero-stats-banner { gap: 16px; padding: 16px 18px !important; margin: 22px 0; }
  .ds-hero-stats-banner .ds-hero-stat strong { font-size: 32px; }
  .ds-hero-stats-banner .ds-hero-stat-sep { height: 32px; }
  .ds-hero-opatova { transform: none; margin-bottom: -32px; gap: 5px; }
}
@media (max-width: 600px) {
  .ds-hero-stats-banner { gap: 10px; }
  .ds-hero-stats-banner .ds-hero-stat strong { font-size: 26px; }
  .ds-hero-stats-banner .ds-hero-stat span { font-size: 9px; letter-spacing: 0.1em; }
}

/* ████████████████████████████████████████████████████████████████████████
   PRIZE CARD — týdenní výhra rande v hodnotě 1000 Kč
   ████████████████████████████████████████████████████████████████████████ */

.ds-prize {
  position: relative;
  margin: 56px auto 0;
  max-width: 980px;
  padding: clamp(32px, 5vw, 60px) clamp(24px, 4vw, 56px);
  border-radius: 28px;
  text-align: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse 60% 80% at 30% 0%, rgba(255, 110, 199, 0.32), transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 100%, rgba(192, 132, 252, 0.28), transparent 60%),
    linear-gradient(160deg, rgba(255, 77, 143, 0.12) 0%, rgba(109, 40, 217, 0.18) 50%, rgba(255, 77, 143, 0.12) 100%);
  border: 1.5px solid rgba(255, 245, 250, 0.2);
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.4),
    inset 0 1.5px 0 rgba(255, 255, 255, 0.3),
    0 0 80px rgba(255, 110, 199, 0.25);
  backdrop-filter: blur(14px) saturate(1.4);
  -webkit-backdrop-filter: blur(14px) saturate(1.4);
}

/* Animovaný gradient pohyb v pozadí */
.ds-prize::before {
  content: ""; position: absolute; inset: -50%;
  background: conic-gradient(from 0deg, transparent 0deg, rgba(255, 110, 199, 0.12) 90deg, transparent 180deg, rgba(192, 132, 252, 0.12) 270deg, transparent 360deg);
  animation: ds-prize-rotate 14s linear infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes ds-prize-rotate {
  to { transform: rotate(360deg); }
}

.ds-prize-bg {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 1;
}
.ds-prize-dot {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--pink-glow);
  box-shadow: 0 0 14px 2px var(--pink-glow);
  animation: ds-prize-twinkle 2.4s ease-in-out infinite;
  user-select: none;
}
.ds-prize-dot:nth-child(2) { animation-delay: 0.6s; }
.ds-prize-dot:nth-child(3) { animation-delay: 1.2s; background: #ffeb3b; box-shadow: 0 0 14px 2px #ffeb3b; }
.ds-prize-dot:nth-child(4) { animation-delay: 1.8s; }
.ds-prize-dot:nth-child(5) { animation-delay: 0.3s; background: #ff4d8f; box-shadow: 0 0 14px 2px #ff4d8f; }
@keyframes ds-prize-twinkle {
  0%, 100% { opacity: 0.3; transform: scale(0.8); }
  50%      { opacity: 1; transform: scale(1.4); }
}

.ds-prize > *:not(.ds-prize-bg):not(::before) {
  position: relative;
  z-index: 2;
}

.ds-prize-eyebrow {
  display: flex; justify-content: center;
  margin-bottom: 18px;
}
.ds-prize-tag {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: 'Pixelify Sans', 'Schibsted Grotesk', sans-serif;
  font-size: clamp(10px, 1.2vw, 13px);
  letter-spacing: 0.12em;
  color: #ffeb3b;
  background: rgba(0, 0, 0, 0.35);
  padding: 10px 18px;
  border-radius: 999px;
  border: 1.5px solid #ffeb3b;
  text-shadow: 1px 1px 0 #6d28d9;
  box-shadow: 0 0 24px rgba(255, 235, 59, 0.4);
  animation: ds-prize-pulse 1.8s ease-in-out infinite;
}
.ds-prize-tag svg {
  filter: drop-shadow(0 0 6px rgba(255, 235, 59, 0.8));
}
@keyframes ds-prize-pulse {
  0%, 100% { box-shadow: 0 0 18px rgba(255, 235, 59, 0.3); transform: scale(1); }
  50%      { box-shadow: 0 0 36px rgba(255, 235, 59, 0.7); transform: scale(1.04); }
}

.ds-prize-title {
  font-family: 'Anton', sans-serif;
  font-size: clamp(40px, 6.5vw, 88px);
  line-height: 0.95;
  letter-spacing: -0.025em;
  color: #fff;
  text-shadow:
    0 4px 30px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(255, 110, 199, 0.4);
  margin-bottom: 14px;
}
.ds-prize-title-em {
  background: linear-gradient(95deg, #ff8fc4 0%, #ffeb3b 50%, #c084fc 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
}

.ds-prize-amount {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  margin: 8px 0 18px;
  padding: 14px 28px;
  background: linear-gradient(180deg, #1a0014 0%, #2e1065 100%);
  border-radius: 14px;
  border: 2px solid #ffeb3b;
  box-shadow:
    0 12px 40px rgba(0, 0, 0, 0.5),
    0 0 40px rgba(255, 235, 59, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
}
.ds-prize-up {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: clamp(18px, 2.4vw, 30px);
  color: #fff5fa;
  margin-right: 4px;
}
.ds-prize-amount strong {
  font-family: 'Anton', sans-serif;
  font-size: clamp(56px, 9vw, 110px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: #ffeb3b;
  text-shadow:
    0 0 16px rgba(255, 235, 59, 0.7),
    0 4px 0 #6d28d9;
  font-weight: normal;
}
.ds-prize-currency {
  font-family: 'Anton', sans-serif;
  font-size: clamp(28px, 4vw, 48px);
  color: #ffeb3b;
  text-shadow: 0 0 12px rgba(255, 235, 59, 0.6);
  margin-left: 4px;
}

.ds-prize-desc {
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.6;
  color: rgba(255, 245, 250, 0.92);
  max-width: 620px;
  margin: 0 auto 28px;
}
.ds-prize-desc strong {
  color: #ffeb3b;
  font-weight: 700;
}

.ds-prize-foot {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
.ds-prize-btn {
  display: inline-block;
  font-family: 'Anton', sans-serif;
  font-size: 18px;
  letter-spacing: 0.14em;
  color: #1a0014;
  background: linear-gradient(180deg, #ffeb3b 0%, #f5b700 100%);
  padding: 16px 32px;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid #ffeb3b;
  box-shadow:
    5px 5px 0 #6d28d9,
    0 0 28px rgba(255, 235, 59, 0.45);
  transition: transform 0.2s, box-shadow 0.2s;
  text-transform: uppercase;
}
.ds-prize-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow:
    7px 7px 0 #6d28d9,
    0 0 36px rgba(255, 235, 59, 0.65);
}
.ds-prize-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 #6d28d9, 0 0 14px rgba(255, 235, 59, 0.4);
}
.ds-prize-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  color: rgba(255, 245, 250, 0.7);
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 700px) {
  .ds-prize { margin: 36px 0 0; padding: 28px 20px; border-radius: 22px; }
  .ds-prize-amount { padding: 10px 18px; gap: 4px; }
  .ds-prize-foot { flex-direction: column; gap: 14px; }
  .ds-prize-btn { padding: 14px 24px; font-size: 16px; }
}

/* Cast divider — simple spacing mezi holkami a kluky (lightning bude přidán později) */
.ds-cast-divider {
  height: clamp(40px, 5vw, 72px);
}

/* Emitery — menší + ztlumené glow body u karet */
.beam-emitter {
  animation: beam-emitter-pulse 1.8s ease-in-out infinite;
  transform-origin: center;
}
@keyframes beam-emitter-pulse {
  0%, 100% { opacity: 0.5; }
  50%      { opacity: 0.85; }
}
.beam-emitter circle:first-child {
  animation: beam-emitter-grow 1.8s ease-in-out infinite;
}
@keyframes beam-emitter-grow {
  0%, 100% { r: 14; }
  50%      { r: 22; }
}

/* Center — menší ztlumený halo + mid pulse + core flash */
.beam-center-halo {
  animation: beam-center-halo-pulse 2.4s ease-in-out infinite;
}
@keyframes beam-center-halo-pulse {
  0%, 100% { r: 56; opacity: 0.4; }
  50%      { r: 80; opacity: 0.7; }
}
.beam-center-mid {
  animation: beam-center-mid-pulse 1.6s ease-in-out infinite;
}
@keyframes beam-center-mid-pulse {
  0%, 100% { r: 12; opacity: 0.85; }
  50%      { r: 18; opacity: 1; }
}
.beam-center-core {
  animation: beam-center-core-flash 0.9s ease-in-out infinite;
}
@keyframes beam-center-core-flash {
  0%, 100% { r: 4; opacity: 0.85; }
  50%      { r: 7; opacity: 1; }
}

/* Mobile fallback — orb + label místo beams */
.ds-chain-mobile {
  display: none;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  flex-direction: column;
  gap: 12px;
}
.ds-chain-orb {
  width: 90px; height: 90px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0%, #ffeb3b 25%, #ff4d8f 55%, transparent 75%);
  box-shadow:
    0 0 60px rgba(255, 77, 143, 0.7),
    0 0 120px rgba(192, 132, 252, 0.5),
    inset 0 0 30px rgba(255, 255, 255, 0.4);
  animation: chain-orb-pulse 1.6s ease-in-out infinite;
}
@keyframes chain-orb-pulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 50px rgba(255, 77, 143, 0.6), 0 0 100px rgba(192, 132, 252, 0.4); }
  50%      { transform: scale(1.12); box-shadow: 0 0 80px rgba(255, 77, 143, 0.9), 0 0 160px rgba(192, 132, 252, 0.7); }
}
.ds-chain-mobile-label {
  font-family: 'Anton', sans-serif;
  font-size: 28px;
  letter-spacing: 0.04em;
  color: #fff5fa;
  text-shadow: 0 0 16px #ff4d8f, 0 0 32px rgba(192, 132, 252, 0.5);
}

/* Mobile breakpoint — schovat SVG, ukázat orb */
@media (max-width: 700px) {
  .ds-chain {
    height: 200px;
    margin: 8px 0;
  }
  .ds-chain-svg { display: none; }
  .ds-chain-mobile { display: flex; }
}

/* ████████████████████████████████████████████████████████████████████████
   PRIZE ROW — 2-column: hands video (3:4) + prize content
   ████████████████████████████████████████████████████████████████████████ */
.ds-prize-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  margin: 56px auto 0;
  max-width: 1100px;
  align-items: stretch;
}
.ds-prize-row .ds-prize {
  margin: 0 !important;
  max-width: 100%;
  height: 100%;
}
.ds-prize-video {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 24px;
  overflow: hidden;
  box-shadow:
    0 30px 80px rgba(0, 0, 0, 0.45),
    0 0 60px rgba(192, 132, 252, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 245, 250, 0.12);
}
.ds-prize-video video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.ds-prize-video-tint {
  position: absolute; inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 60% at 50% 100%, transparent 0%, rgba(15, 0, 32, 0.5) 100%),
    linear-gradient(180deg, transparent 0%, transparent 60%, rgba(15, 0, 32, 0.4) 100%);
}
@media (max-width: 900px) {
  .ds-prize-row {
    grid-template-columns: 1fr;
    gap: 18px;
    margin: 36px 0 0;
  }
  .ds-prize-video { aspect-ratio: 16 / 9; max-height: 280px; }
}

/* ████████████████████████████████████████████████████████████████████████
   PRIZE — Editorial magazine layout (Floema-inspired)
   ████████████████████████████████████████████████████████████████████████ */
.ds-prize-edit {
  margin: 56px 0 0;
  padding: 0;
  background: var(--bg-2);
  position: relative;
  isolation: isolate;
}
.ds-prize-edit-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: clamp(32px, 4vw, 64px);
  max-width: 1300px;
  margin: 0 auto;
  padding: clamp(40px, 5vw, 72px) clamp(28px, 4vw, 56px);
  align-items: stretch;
  min-height: 520px;
}

/* === LEVÝ SLOUPEC — text === */
.ds-prize-edit-text {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 2.5vw, 36px);
  padding-right: 8px;
}

/* Top label */
.ds-prize-edit-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.ds-prize-edit-label {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 17px;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -0.005em;
}
.ds-prize-edit-sublabel {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  color: var(--muted);
  font-weight: 400;
}

/* Body intro text — pink-glow, magazine-feel */
.ds-prize-edit-body {
  max-width: 380px;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color: var(--pink-glow);
  letter-spacing: -0.005em;
}
.ds-prize-edit-body p { margin-bottom: 14px; }
.ds-prize-edit-body p:last-child { margin-bottom: 0; }
.ds-prize-edit-body strong {
  color: #fff;
  font-weight: 600;
}

/* BIG QUOTE — hlavní claim, magazine display */
.ds-prize-edit-quote {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-weight: 500;
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--pink-glow);
  margin-top: auto;
  margin-bottom: 0;
  position: relative;
}
.ds-prize-edit-quote em {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  color: #ffeb3b;
  font-size: 1.04em;
  white-space: nowrap;
  letter-spacing: -0.01em;
}
.ds-prize-edit-quote-mark {
  display: inline-block;
  font-family: 'Instrument Serif', serif;
  color: var(--pink);
  opacity: 0.6;
  font-size: 1.05em;
  line-height: 1;
  margin: 0 0.05em;
}

/* CTA link — editorial arrow link */
.ds-prize-edit-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  align-self: flex-start;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
  transition: gap 0.3s, color 0.2s, border-color 0.2s;
  letter-spacing: -0.005em;
}
.ds-prize-edit-link:hover {
  gap: 14px;
  color: var(--pink-glow);
}

/* === PRAVÝ SLOUPEC — hero image s pink frame === */
.ds-prize-edit-image {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--bg-3);
  border-radius: 0;
  align-self: stretch;
}
.ds-prize-edit-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.ds-prize-edit-frame {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: var(--pink);
  z-index: 2;
  pointer-events: none;
}
.ds-prize-edit-frame-l { left: 0; }
.ds-prize-edit-frame-r { right: 0; }
.ds-prize-edit-caption {
  position: absolute;
  left: 28px;
  bottom: 18px;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  z-index: 3;
  letter-spacing: -0.005em;
}

/* Mobile */
@media (max-width: 900px) {
  .ds-prize-edit-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 36px 20px;
    min-height: auto;
  }
  .ds-prize-edit-image {
    aspect-ratio: 4 / 3;
    order: -1;
  }
  .ds-prize-edit-frame { width: 8px; }
  .ds-prize-edit-quote {
    font-size: clamp(28px, 7vw, 44px);
  }
}

/* ████████████████████████████████████████████████████████████████████████
   INFO GRID — 2×2 layout (Prize + Sponsor) editorial style
   ████████████████████████████████████████████████████████████████████████ */
.ds-info-grid {
  margin: 56px 0 0;
  padding: 0;
  background: var(--bg);
}
.ds-info-2x2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 0;
  max-width: 1400px;
  margin: 0 auto;
}
.ds-info-cell {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Text cells — black bg s clean editorial typo */
.ds-info-cell-text {
  background: #050010;
  padding: clamp(28px, 4vw, 64px);
  border: 1px solid rgba(255, 245, 250, 0.06);
}
.ds-info-cell-inner {
  max-width: 440px;
  position: relative;
  z-index: 1;
}
.ds-info-cell-tag {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pink-glow);
  margin-bottom: 22px;
}
.ds-info-cell-title {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(30px, 3.6vw, 52px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: #fff;
  margin-bottom: 26px;
}
.ds-info-cell-title-em {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  color: var(--pink-glow);
  letter-spacing: -0.015em;
  display: inline-block;
}
.ds-info-cell-desc {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14.5px;
  line-height: 1.55;
  color: rgba(255, 245, 250, 0.72);
  letter-spacing: -0.005em;
  margin-bottom: 14px;
}
.ds-info-cell-desc:last-child { margin-bottom: 0; }
.ds-info-cell-desc strong {
  color: #fff;
  font-weight: 600;
}
.ds-info-cell-desc em {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  color: var(--pink-glow);
  font-size: 1.05em;
  letter-spacing: -0.01em;
}

/* Image cells — ken-burns slow zoom + hover scale up */
.ds-info-cell-img {
  background: var(--bg-3);
  overflow: hidden;
  position: relative;
}
.ds-info-cell-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform-origin: center;
  animation: ds-info-kenburns 22s ease-in-out infinite alternate;
  transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.6s;
  will-change: transform;
}
@keyframes ds-info-kenburns {
  from { transform: scale(1) translate(0, 0); }
  to   { transform: scale(1.05) translate(-1%, 0.5%); }
}
.ds-info-cell-img:hover img {
  transform: scale(1.08);
  filter: saturate(1.1) brightness(1.05);
  animation-play-state: paused;
}

/* Soft fade overlays — vlevo na prize image (kde sedí text panel),
   vpravo na sponsor image (zrcadlově) */
.ds-info-cell-img-fade {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 2;
}
.ds-info-cell-img-prize .ds-info-cell-img-fade {
  background:
    linear-gradient(90deg, rgba(5, 0, 16, 0.55) 0%, transparent 22%),
    radial-gradient(ellipse at 70% 50%, transparent 50%, rgba(5, 0, 16, 0.25) 100%);
}
/* Prize image — fotka roztažená přes celou šířku, žádné letterboxy
   (cover oseče lehce vrch/spodek, ale boky vyplní) */
.ds-info-cell-img-prize { background: #0a0010; }
.ds-info-cell-img-prize img {
  object-fit: cover !important;
  object-position: center center;
}
.ds-info-cell-img-sponsor .ds-info-cell-img-fade {
  background:
    linear-gradient(-90deg, rgba(5, 0, 16, 0.55) 0%, transparent 22%),
    radial-gradient(ellipse at 30% 50%, transparent 50%, rgba(5, 0, 16, 0.25) 100%);
}

/* Hover lift na text cells */
.ds-info-cell-text {
  transition: background 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ds-info-cell-text:hover {
  background: #0a0018;
}
.ds-info-cell-text:hover .ds-info-cell-tag {
  color: #fff;
}

/* Sponsor placeholder — gradient + dashed border + label */
.ds-info-cell-placeholder {
  background: linear-gradient(135deg, var(--bg-3) 0%, var(--bg-2) 100%);
  border: 1px dashed rgba(255, 245, 250, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
}
.ds-info-placeholder-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 245, 250, 0.45);
}

/* 3D Heart widget — small floating animace v rohu prize textu */
.ds-info-widget {
  position: absolute;
  top: clamp(20px, 2vw, 32px);
  right: clamp(20px, 2vw, 32px);
  width: clamp(70px, 8vw, 110px);
  height: clamp(70px, 8vw, 110px);
  object-fit: cover;
  border-radius: 50%;
  z-index: 2;
  box-shadow:
    0 0 0 1px rgba(255, 245, 250, 0.08),
    0 12px 40px rgba(255, 77, 143, 0.35),
    0 0 60px rgba(255, 77, 143, 0.18);
  pointer-events: none;
  background: #050010;
}

/* Mobile — stack 4 cells */
@media (max-width: 900px) {
  .ds-info-2x2 {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
  }
  .ds-info-cell { aspect-ratio: auto; min-height: 320px; }
  .ds-info-cell-text { padding: 36px 24px; min-height: 380px; }

  /* Order na mobilu: prize text → prize img → sponsor text → sponsor img */
  .ds-info-2x2 > :nth-child(1) { order: 1; }
  .ds-info-2x2 > :nth-child(2) { order: 2; }
  .ds-info-2x2 > :nth-child(4) { order: 3; }
  .ds-info-2x2 > :nth-child(3) { order: 4; }

  .ds-info-widget {
    width: 60px; height: 60px;
    top: 18px; right: 18px;
  }
}

/* ████████████████████████████████████████████████████████████████████████
   STORIES — Příběhy z minulých dílů (editorial 3-card layout)
   ████████████████████████████████████████████████████████████████████████ */
.ds-stories {
  padding: 72px 40px 56px;
  background: var(--bg);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ds-stories-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 1300px;
  margin: 0 auto 44px;
  gap: 24px;
  flex-wrap: wrap;
}
.ds-stories-eyebrow {
  display: block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--pink-glow);
  margin-bottom: 12px;
}
.ds-stories-title {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: #fff;
}
.ds-stories-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
  transition: gap 0.3s, color 0.2s, border-color 0.2s;
}
.ds-stories-all:hover {
  gap: 14px;
  color: var(--pink-glow);
}

/* Grid 3 karty */
.ds-stories-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  max-width: 1300px;
  margin: 0 auto;
}

/* Single story card */
.ds-story {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  group: story;
}
.ds-story-img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 10px;
  margin-bottom: 18px;
  background: var(--bg-3);
  position: relative;
}
.ds-story-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
  transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.4s;
}

/* Portrait fotka v 16:9 boxu — zobraz CELOU, letterbox po stranách (pro příběh 1) */
.ds-story-img.ds-story-img-contain {
  background: #0a0010;
}
.ds-story-img.ds-story-img-contain img {
  object-fit: contain;
  object-position: center center;
}

/* Landscape fotka s textem dole — cover + anchor na spodek (pro příběh 2) */
.ds-story-img.ds-story-img-anchor-bottom img {
  object-fit: cover;
  object-position: center bottom;
}
.ds-story:hover .ds-story-img img {
  transform: scale(1.06);
  filter: saturate(1.1);
}
.ds-story-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--muted);
  margin-bottom: 10px;
  text-transform: uppercase;
}
.ds-story-sep {
  opacity: 0.5;
}
.ds-story-title {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: #fff;
  margin-bottom: 10px;
  transition: color 0.2s;
}
.ds-story:hover .ds-story-title {
  color: var(--pink-glow);
}
.ds-story-desc {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 245, 250, 0.65);
  letter-spacing: -0.005em;
}

/* Mobile */
@media (max-width: 900px) {
  .ds-stories { padding: 56px 20px 40px; }
  .ds-stories-grid { grid-template-columns: 1fr; gap: 36px; }
  .ds-stories-head {
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 32px;
  }
  .ds-story-img { aspect-ratio: 16 / 9; }
}
@media (max-width: 700px) {
  .ds-stories-grid { gap: 28px; }
}

/* ████████████████████████████████████████████████████████████████████████
   PROČ DATESHOW? — editorial manifest mezi hero a team
   ████████████████████████████████████████████████████████████████████████ */

.ds-why {
  position: relative;
  padding: clamp(80px, 10vw, 130px) clamp(20px, 4vw, 56px) clamp(80px, 10vw, 120px);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(255, 110, 199, 0.08), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  overflow: hidden;
}

/* Subtle background glyph — velký faded "?" jako editorial accent (vpravo nahoře) */
.ds-why::before {
  content: "?";
  position: absolute;
  top: -10%; right: -2%;
  font-family: 'Anton', sans-serif;
  font-size: clamp(400px, 45vw, 720px);
  line-height: 1;
  color: rgba(255, 110, 199, 0.04);
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* Velké faded srdce vlevo dole — kotví solution part ("tohle řeší...") */
.ds-why::after {
  content: "";
  position: absolute;
  bottom: -8%; left: -4%;
  width: clamp(380px, 44vw, 700px);
  aspect-ratio: 1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff4d8f'><path d='M12 21s-7.5-4.6-9.5-9.4C1 7.5 4 4 7.5 4c2 0 3.4 1 4.5 2.6C13.1 5 14.5 4 16.5 4 20 4 23 7.5 21.5 11.6 19.5 16.4 12 21 12 21z'/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  opacity: 0.045;
  pointer-events: none;
  z-index: 0;
  transform: rotate(-8deg);
}
.ds-why > * { position: relative; z-index: 1; }

/* Header */
.ds-why-head {
  max-width: 1200px;
  margin: 0 auto clamp(48px, 6vw, 80px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ds-why-title {
  font-size: clamp(56px, 9vw, 140px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  color: var(--text);
  text-shadow: 0 0 60px rgba(255, 110, 199, 0.15);
}
.ds-why-title em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(95deg, var(--pink-glow) 0%, var(--pink) 50%, var(--purple) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.02em;
  display: inline-block;
  padding-right: 0.12em;
  margin-right: -0.04em;
}

/* 3-column grid */
.ds-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(28px, 3vw, 48px);
  max-width: 1200px;
  margin: 0 auto clamp(56px, 8vw, 100px);
}
.ds-why-item {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 24px;
  border-top: 1.5px solid var(--line);
  position: relative;
}
.ds-why-item::before {
  content: ""; position: absolute;
  top: -1.5px; left: 0;
  width: 56px; height: 1.5px;
  background: var(--pink);
  box-shadow: 0 0 12px rgba(255, 110, 199, 0.6);
}
.ds-why-num {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--pink);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.ds-why-q {
  font-family: 'Anton', sans-serif;
  font-size: clamp(24px, 2.6vw, 36px);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--text);
  font-weight: normal;
}
.ds-why-q em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  color: var(--pink-glow);
  letter-spacing: -0.005em;
  text-shadow: 0 0 24px rgba(255, 110, 199, 0.35);
}
.ds-why-p {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 15px;
  line-height: 1.65;
  color: rgba(255, 245, 250, 0.78);
  max-width: 34ch;
  letter-spacing: -0.005em;
}

/* Solution callout */
.ds-why-solution {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(56px, 6vw, 88px) clamp(20px, 3vw, 40px) clamp(64px, 7vw, 96px);
  border-top: 1px dashed rgba(255, 110, 199, 0.28);
  border-bottom: 1px dashed rgba(255, 110, 199, 0.28);
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

/* Floating heart particles — jen pár jemných */
.ds-why-hearts {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.ds-why-heart {
  position: absolute;
  bottom: -40px;
  display: inline-flex;
  color: var(--pink-glow);
  opacity: 0;
  animation-name: ds-why-float-up;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  filter: drop-shadow(0 0 6px rgba(255, 110, 199, 0.45));
  will-change: transform, opacity;
}
@keyframes ds-why-float-up {
  0%   { transform: translateY(0) translateX(0) rotate(-8deg); opacity: 0; }
  15%  { opacity: 0.35; }
  85%  { opacity: 0.15; }
  100% { transform: translateY(-560px) translateX(-12px) rotate(-12deg); opacity: 0; }
}

/* Obsah nad efekty */
.ds-why-solution > .ds-why-arrow,
.ds-why-solution > .ds-why-callout,
.ds-why-solution > .ds-why-supporting {
  position: relative;
  z-index: 3;
}

/* ████████████████████████████████████████████████████████████████████████
   BRAND WORLD — time-aware countdown mood states
   Card mění label + barvy podle reálného času (sobota = LIVE atd.)
   ████████████████████████████████████████████████████████████████████████ */

/* Default — fialový pink-glow (zachováno) */

/* Pátek večer — "Zítra večer" */
.ds-cd-mood-tomorrow .ds-cd-label {
  color: var(--pink-glow);
}

/* Sobota před show — "Dnes večer" — výraznější */
.ds-cd-mood-today {
  border-color: var(--pink) !important;
  box-shadow:
    7px 7px 0 var(--pink) !important,
    0 0 60px rgba(255, 77, 143, 0.45) !important,
    inset 0 1.5px 0 rgba(255, 255, 255, 0.4) !important;
}
.ds-cd-mood-today .ds-cd-label {
  color: #ffeb3b;
  font-weight: 700;
}

/* 30 min před startem — naléhavé, blink */
.ds-cd-mood-soon {
  border-color: #ffeb3b !important;
  animation: ds-cd-soon-pulse 1.4s ease-in-out infinite;
}
.ds-cd-mood-soon .ds-cd-label {
  color: #ffeb3b;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
@keyframes ds-cd-soon-pulse {
  0%, 100% { box-shadow: 7px 7px 0 #ffeb3b, 0 0 40px rgba(255, 235, 59, 0.4); }
  50%      { box-shadow: 7px 7px 0 #ffeb3b, 0 0 80px rgba(255, 235, 59, 0.85); transform: scale(1.01); }
}

/* LIVE — sobota 20-23h — červená intenzita */
.ds-cd-mood-live, .ds-cd-card.is-live {
  border-color: #ff3434 !important;
  background: linear-gradient(155deg, rgba(255, 50, 50, 0.18) 0%, rgba(8, 0, 20, 0.85) 100%) !important;
  box-shadow:
    7px 7px 0 #ff3434 !important,
    0 0 100px rgba(255, 50, 50, 0.55) !important,
    inset 0 1.5px 0 rgba(255, 255, 255, 0.3) !important;
  animation: ds-cd-live-pulse 1.4s ease-in-out infinite;
}
.ds-cd-card.is-live .ds-cd-label {
  color: #ff5050;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px !important;
}
.ds-cd-card.is-live .ds-cd-label::before {
  content: "● ";
  animation: ds-cd-live-blink 0.9s ease-in-out infinite;
}
@keyframes ds-cd-live-pulse {
  0%, 100% { box-shadow: 7px 7px 0 #ff3434, 0 0 60px rgba(255, 50, 50, 0.4); }
  50%      { box-shadow: 7px 7px 0 #ff3434, 0 0 120px rgba(255, 50, 50, 0.85); }
}
@keyframes ds-cd-live-blink {
  0%, 50% { opacity: 1; }
  51%, 100% { opacity: 0.3; }
}
.ds-why-arrow {
  font-family: 'Anton', sans-serif;
  font-size: 32px;
  line-height: 1;
  color: var(--pink);
  margin-bottom: 22px;
  opacity: 0.7;
  text-shadow: 0 0 14px rgba(255, 110, 199, 0.6);
  animation: ds-why-arrow-pulse 2s ease-in-out infinite;
}
@keyframes ds-why-arrow-pulse {
  0%, 100% { transform: translateY(0); opacity: 0.6; }
  50%      { transform: translateY(4px); opacity: 1; }
}
.ds-why-callout {
  font-family: 'Anton', sans-serif;
  line-height: 0.95;
  letter-spacing: -0.025em;
  color: var(--text);
  margin-bottom: clamp(24px, 3vw, 36px);
}
.ds-why-callout-pre {
  display: block;
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(20px, 2.6vw, 32px);
  color: rgba(255, 245, 250, 0.7);
  letter-spacing: -0.01em;
  margin-bottom: 8px;
}
.ds-why-callout strong {
  font-family: 'Anton', sans-serif;
  font-weight: normal;
  font-size: clamp(40px, 6vw, 88px);
  display: inline-block;
  background: linear-gradient(95deg, #fff5fa 0%, var(--pink) 50%, var(--purple-deep) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
}
.ds-why-callout strong::after {
  content: ""; position: absolute;
  left: 4%; right: 4%; bottom: -6px;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--pink), transparent);
  border-radius: 2px;
}

.ds-why-supporting {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.7;
  color: rgba(255, 245, 250, 0.8);
  max-width: 540px;
  margin: 0 auto;
  letter-spacing: -0.005em;
}
.ds-why-supporting strong {
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0;
}
.ds-why-supporting em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  color: var(--pink-glow);
  font-weight: 400;
  letter-spacing: -0.005em;
}

/* Mobile */
@media (max-width: 900px) {
  .ds-why::before { font-size: 60vw; top: -5%; right: -10%; }
  .ds-why-grid { grid-template-columns: 1fr; gap: 32px; }
  .ds-why-item { padding-top: 20px; }
  .ds-why-q { font-size: 22px; }
  .ds-why-p { font-size: 14px; max-width: 100%; }
}

/* ████████████████████████████████████████████████████████████████████████
   TAB ROUTING — Best Energy je samostatný tab (#best-energy v URL)
   ████████████████████████████████████████████████████████████████████████ */

/* Když je aktivní Best Energy tab — schovat všechno ostatní */
.ds-app[data-tab="best-energy"] .ds-hero,
.ds-app[data-tab="best-energy"] .ds-why,
.ds-app[data-tab="best-energy"] .ds-team,
.ds-app[data-tab="best-energy"] .ds-cast-head,
.ds-app[data-tab="best-energy"] .ds-cast-block,
.ds-app[data-tab="best-energy"] .ds-cast-divider,
.ds-app[data-tab="best-energy"] .ds-stories,
.ds-app[data-tab="best-energy"] .ds-info-grid,
.ds-app[data-tab="best-energy"] .ds-archive,
.ds-app[data-tab="best-energy"] .ds-apply {
  display: none !important;
}
/* Cast section je wrapper — když jsme na best-energy tabu, reset jeho stylu */
.ds-app[data-tab="best-energy"] #cast {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  min-height: calc(100vh - 80px);
}

/* Když je aktivní hlavní tab — schovat tab sekce */
.ds-app[data-tab="main"] #best-energy,
.ds-app[data-tab="main"] #uspesna-rande {
  display: none !important;
}

/* Úspěšná rande tab — schovat všechno ostatní */
.ds-app[data-tab="uspesna-rande"] .ds-hero,
.ds-app[data-tab="uspesna-rande"] .ds-why,
.ds-app[data-tab="uspesna-rande"] .ds-team,
.ds-app[data-tab="uspesna-rande"] .ds-cast-head,
.ds-app[data-tab="uspesna-rande"] .ds-cast-block,
.ds-app[data-tab="uspesna-rande"] .ds-cast-divider,
.ds-app[data-tab="uspesna-rande"] .ds-stories,
.ds-app[data-tab="uspesna-rande"] .ds-info-grid,
.ds-app[data-tab="uspesna-rande"] .ds-archive,
.ds-app[data-tab="uspesna-rande"] .ds-apply,
.ds-app[data-tab="uspesna-rande"] #best-energy {
  display: none !important;
}
.ds-app[data-tab="uspesna-rande"] #cast {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  min-height: calc(100vh - 80px);
}

/* Best Energy tab — schovat success rande sekci */
.ds-app[data-tab="best-energy"] #uspesna-rande {
  display: none !important;
}

/* Active nav link styling */
.ds-nav a.is-active {
  color: var(--pink-glow);
  font-weight: 700;
}
.ds-nav-best {
  position: relative;
}
.ds-nav-best::before {
  content: "";
  position: absolute;
  left: -10px; top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--pink);
  box-shadow: 0 0 8px var(--pink);
  opacity: 0.85;
  animation: ds-nav-best-pulse 1.6s ease-in-out infinite;
}
@keyframes ds-nav-best-pulse {
  0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(1); }
  50%      { opacity: 1; transform: translateY(-50%) scale(1.4); }
}

/* ████████████████████████████████████████████████████████████████████████
   BEST ENERGY — hlasování o nejsympatičtějšího účinkujícího
   2 leader karty nahoře + grid všech ostatních
   ████████████████████████████████████████████████████████████████████████ */

.ds-best {
  position: relative;
  padding: clamp(80px, 10vw, 130px) clamp(20px, 4vw, 56px);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(255, 110, 199, 0.08), transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(192, 132, 252, 0.06), transparent 60%);
  overflow: hidden;
}

/* Background watermark — animated heart pulse */
.ds-best::before {
  content: "♥";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Anton', sans-serif;
  font-size: clamp(380px, 45vw, 700px);
  line-height: 1;
  color: rgba(255, 110, 199, 0.035);
  pointer-events: none;
  z-index: 0;
  font-variant-emoji: text;
}
.ds-best > * { position: relative; z-index: 1; }

/* Header */
.ds-best-head {
  max-width: 880px;
  margin: 0 auto clamp(48px, 6vw, 80px);
  text-align: center;
}
.ds-best-title {
  font-size: clamp(56px, 9vw, 130px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 20px;
}
.ds-best-title em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(95deg, var(--pink-glow) 0%, var(--pink) 50%, var(--purple) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  padding-right: 0.12em;
  margin-right: -0.04em;
}
.ds-best-sub {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
  color: rgba(255, 245, 250, 0.78);
  max-width: 600px;
  margin: 0 auto;
}

/* IG follow CTA — diskrétní pill pod subtitlem */
.ds-best-ig-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 18px auto 0;
  padding: 6px 14px 6px 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.ds-best-ig-cta:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 119, 173, 0.5);
  transform: translateY(-1px);
}
.ds-best-ig-cta-logo {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: block;
  flex-shrink: 0;
}
.ds-best-ig-cta-text {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.ds-best-ig-cta-line1 {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 245, 250, 0.55);
}
.ds-best-ig-cta-line2 {
  font-family: 'Anton', sans-serif;
  font-size: 16px;
  letter-spacing: 0.02em;
  color: var(--pink-glow, #ff77ad);
  margin-top: 2px;
}
.ds-best-sub em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  color: var(--pink-glow);
  font-weight: 400;
}
.ds-best-sub strong { color: var(--text); }

/* === LEADERS — boy left + plus + girl right (smaller spotlight) === */
.ds-best-leaders {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: clamp(14px, 2.5vw, 32px);
  max-width: 880px;
  margin: 0 auto clamp(56px, 7vw, 90px);
  align-items: center;
}

/* Big "+" mezi leadery */
.ds-best-plus {
  font-family: 'Anton', sans-serif;
  font-size: clamp(70px, 10vw, 140px);
  line-height: 1;
  color: var(--pink);
  letter-spacing: -0.05em;
  text-shadow:
    0 4px 0 var(--purple-deep),
    0 0 36px rgba(255, 77, 143, 0.6),
    0 0 72px rgba(192, 132, 252, 0.4);
  user-select: none;
  animation: ds-best-plus-pulse 2.4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes ds-best-plus-pulse {
  0%, 100% { transform: scale(1) rotate(-6deg); }
  50%      { transform: scale(1.15) rotate(8deg); text-shadow: 0 4px 0 var(--purple-deep), 0 0 56px rgba(255, 77, 143, 0.95), 0 0 100px rgba(192, 132, 252, 0.6); }
}
.ds-best-leader {
  position: relative;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 16px 40px rgba(0, 0, 0, 0.35),
    5px 5px 0 var(--purple-deep);
  transition: transform 0.4s cubic-bezier(.16, .84, .26, 1), box-shadow 0.4s;
}
.ds-best-leader:hover {
  transform: translate(-2px, -2px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 22px 50px rgba(0, 0, 0, 0.42),
    7px 7px 0 var(--purple-deep);
}
.ds-best-leader-girl::before,
.ds-best-leader-boy::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.ds-best-leader-girl::before {
  background: linear-gradient(180deg, rgba(255, 77, 143, 0.0) 60%, rgba(255, 77, 143, 0.18) 100%);
}
.ds-best-leader-boy::before {
  background: linear-gradient(180deg, rgba(192, 132, 252, 0.0) 60%, rgba(192, 132, 252, 0.18) 100%);
}

.ds-best-leader-tag {
  position: absolute;
  top: 12px; left: 12px;
  z-index: 3;
  display: flex; align-items: center;
  gap: 8px;
}
.ds-best-rank-num {
  font-family: 'Anton', sans-serif;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: #ffeb3b;
  text-shadow: 2px 2px 0 #6d28d9, 0 0 18px rgba(255, 235, 59, 0.5);
}
.ds-best-rank-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.16em;
  color: rgba(255, 245, 250, 0.9);
  background: rgba(0, 0, 0, 0.55);
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(255, 235, 59, 0.4);
  backdrop-filter: blur(4px);
  text-transform: uppercase;
  white-space: nowrap;
}

.ds-best-leader-photo {
  position: relative;
  aspect-ratio: 1 / 1.15;
  overflow: hidden;
  background: linear-gradient(155deg, var(--bg-2), var(--bg-3));
}
.ds-best-leader-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}
.ds-best-leader-photo svg {
  width: 100% !important;
  height: 100% !important;
}

.ds-best-leader-info {
  position: relative;
  z-index: 2;
  padding: 14px 16px 18px;
  display: flex; flex-direction: column;
  gap: 8px;
}
.ds-best-leader-name {
  font-family: 'Anton', sans-serif;
  font-size: clamp(22px, 2.6vw, 36px);
  line-height: 0.95;
  letter-spacing: -0.025em;
  color: var(--text);
}
.ds-best-leader-name span {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  color: var(--pink-glow);
  font-size: 0.7em;
  font-weight: 400;
  letter-spacing: 0;
}
.ds-best-leader-meta {
  display: flex; align-items: baseline;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: rgba(255, 245, 250, 0.6);
  text-transform: uppercase;
}
.ds-best-leader-meta em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  color: var(--pink-glow);
  font-size: 1.6em;
  font-weight: 400;
}

.ds-best-vote-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'Anton', sans-serif;
  font-size: 13px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 18px;
  background: var(--pink);
  color: #fff;
  border: 1.5px solid var(--pink-glow);
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 4px 4px 0 var(--purple-deep), 0 0 18px rgba(255, 77, 143, 0.35);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  margin-top: 6px;
  align-self: flex-start;
}
.ds-best-vote-btn:hover {
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--purple-deep), 0 0 32px rgba(255, 77, 143, 0.55);
}
.ds-best-vote-btn:active {
  transform: translate(2px, 2px);
  box-shadow: 1px 1px 0 var(--purple-deep);
}
.ds-best-vote-btn.voted {
  background: var(--purple-deep);
  border-color: var(--pink);
}

.ds-best-sep { opacity: 0.4; }

/* === GRID HEAD === */
.ds-best-grid-head {
  max-width: 1280px;
  margin: 0 auto 18px;
  display: flex; align-items: center; gap: 16px;
  padding: 0 4px;
}
.ds-best-grid-label {
  font-family: 'Anton', sans-serif;
  font-size: 22px;
  letter-spacing: 0.06em;
  background: var(--pink);
  color: #fff;
  padding: 7px 14px 8px;
  border-radius: 4px;
  box-shadow: 4px 4px 0 var(--purple-deep);
  transform: rotate(-1deg);
}
.ds-best-grid-count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--muted);
  letter-spacing: 0.1em;
}

/* === 4×5 GRID — stejné karty jako homepage cast === */
.ds-best-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  .ds-best-cards { grid-template-columns: repeat(3, 1fr); gap: 14px; }
}
@media (max-width: 700px) {
  .ds-best-cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
@media (max-width: 400px) {
  .ds-best-cards { grid-template-columns: 1fr; }
}

/* === Best Energy Card — front extras (rank pill + votes pill) === */
.be-rank-pill {
  position: absolute;
  top: 10px; left: 10px;
  z-index: 4;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  letter-spacing: 0.04em;
  background: rgba(0, 0, 0, 0.7);
  color: #ffeb3b;
  padding: 4px 9px;
  border-radius: 6px;
  border: 1px solid rgba(255, 235, 59, 0.4);
  backdrop-filter: blur(6px);
  text-shadow: 1px 1px 0 #6d28d9;
}
.be-votes-pill {
  position: absolute;
  top: 10px; right: 10px;
  z-index: 4;
  display: inline-flex; align-items: center; gap: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  background: rgba(255, 77, 143, 0.92);
  color: #fff;
  padding: 5px 10px 5px 8px;
  border-radius: 999px;
  backdrop-filter: blur(6px);
  box-shadow: 0 4px 10px rgba(255, 77, 143, 0.4);
  letter-spacing: 0.04em;
}

/* === Decentní IG ikona — každá best-energy karta (vlevo dole) === */
.be-ig-icon {
  position: absolute;
  bottom: 10px; right: 10px;
  z-index: 5;
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 245, 250, 0.18);
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
  opacity: 0.7;
}
.be-ig-icon:hover {
  background: linear-gradient(135deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  border-color: rgba(255, 245, 250, 0.4);
  color: #fff;
  opacity: 1;
  transform: scale(1.08);
}
.be-ig-icon.has-handle {
  opacity: 0.9;
  border-color: rgba(255, 119, 173, 0.45);
}

/* === Best Energy Card — back face (vote-focused) === */
.be-back {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  padding: 18px 16px !important;
  text-align: center;
}
.be-back-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.18em;
  color: var(--pink-glow);
  text-transform: uppercase;
  margin-bottom: 2px;
}
.be-back-name {
  font-family: 'Anton', sans-serif;
  font-size: 26px;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--text);
}
.be-back-name span {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  color: var(--pink-glow);
  font-size: 0.7em;
  font-weight: 400;
  letter-spacing: 0;
}
.be-back-meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: rgba(255, 245, 250, 0.55);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.be-back-vote-stat {
  display: flex; flex-direction: column; align-items: center;
  margin: 8px 0 4px;
  padding: 12px 14px;
  background: rgba(255, 77, 143, 0.12);
  border: 1px dashed rgba(255, 77, 143, 0.4);
  border-radius: 10px;
}
.be-back-vote-stat em {
  font-family: 'Anton', sans-serif;
  font-style: normal;
  font-size: 36px;
  line-height: 1;
  letter-spacing: -0.03em;
  background: linear-gradient(180deg, #fff5fa 0%, var(--pink) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.be-back-vote-stat span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.22em;
  color: rgba(255, 245, 250, 0.6);
  margin-top: 4px;
}
.be-back-vote-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 10px 16px;
  background: var(--pink);
  color: #fff;
  border: 1.5px solid var(--pink-glow);
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 4px 4px 0 var(--purple-deep);
  transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
  margin-top: 4px;
}
.be-back-vote-btn:hover {
  transform: translate(-1px, -1px);
  box-shadow: 5px 5px 0 var(--purple-deep), 0 0 16px rgba(255, 77, 143, 0.5);
}
.be-back-vote-btn.voted {
  background: var(--purple-deep);
}
.be-back-note {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.12em;
  color: rgba(255, 245, 250, 0.4);
  text-transform: uppercase;
  margin-top: 2px;
}

/* === Best Energy FRONT overlay — bohatá info varianta (jméno, IG, bullets) === */
.be-front-overlay {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 70px 14px 16px;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.35) 25%,
    rgba(0, 0, 0, 0.78) 55%,
    rgba(0, 0, 0, 0.96) 85%,
    rgba(0, 0, 0, 1) 100%);
  display: flex; flex-direction: column; gap: 7px;
  z-index: 3;
  pointer-events: none;
}
.be-front-overlay.has-info {
  padding: 95px 14px 16px;
  background: linear-gradient(180deg,
    transparent 0%,
    rgba(0, 0, 0, 0.4) 22%,
    rgba(0, 0, 0, 0.82) 50%,
    rgba(0, 0, 0, 0.97) 80%,
    rgba(0, 0, 0, 1) 100%);
}
.be-front-name-row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 10px;
}
.be-front-name {
  font-family: 'Anton', sans-serif;
  font-size: 32px;
  line-height: 0.95;
  letter-spacing: -0.015em;
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
  margin: 0;
}
.be-front-age {
  font-family: 'JetBrains Mono', monospace;
  font-size: 15px;
  color: #fff;
  background: rgba(255, 77, 143, 0.88);
  padding: 5px 11px;
  border-radius: 999px;
  letter-spacing: 0.06em;
  font-weight: 700;
  flex-shrink: 0;
}
.be-winner-mark {
  display: inline-block;
  margin-left: 8px;
  font-family: 'Anton', sans-serif;
  font-size: 0.75em;
  color: #ffd766;
  text-shadow: 0 0 12px rgba(255, 215, 102, 0.85), 0 2px 8px rgba(0, 0, 0, 0.5);
  vertical-align: middle;
}
.be-front-ig {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  pointer-events: auto;
  cursor: pointer;
  transition: color 0.15s ease;
  width: fit-content;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.5);
}
.be-front-ig:hover { color: var(--pink-glow, #ff77ad); }
.be-front-ig svg { opacity: 0.9; }
.be-front-bullets {
  list-style: none;
  padding: 0;
  margin: 4px 0 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.be-front-bullets li {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  letter-spacing: 0.02em;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.92);
  padding-left: 12px;
  position: relative;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}
.be-front-bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 1px;
  background: var(--pink-glow, #ff77ad);
}

/* === Best Energy BACK — druhá fotka (z IG) varianta === */
.be-back-photo {
  padding: 0 !important;
  display: block !important;
  background: var(--purple-deep, #6d28d9);
  overflow: hidden;
  inset: 0;
}
.be-back-photo .pc-photo {
  width: 100%; height: 100%;
  position: relative;
}
.be-back-photo .pc-photo-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.be-back-photo-overlay {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  padding: 14px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, transparent 28%, transparent 55%, rgba(0, 0, 0, 0.92) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 12px;
  pointer-events: none;
  z-index: 3;
}
.be-back-photo-meta {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.be-back-photo-tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9.5px;
  letter-spacing: 0.18em;
  color: var(--pink-glow, #ff77ad);
  text-transform: uppercase;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}
.be-back-photo-name {
  font-family: 'Anton', sans-serif;
  font-size: 30px;
  line-height: 0.95;
  letter-spacing: -0.015em;
  color: #fff;
  margin: 0;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.65);
}
.be-back-photo-name span {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  color: var(--pink-glow, #ff77ad);
  font-size: 0.65em;
  font-weight: 400;
  letter-spacing: 0;
}
.be-back-photo-ig {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.95);
  text-decoration: none;
  pointer-events: auto;
  cursor: pointer;
  width: fit-content;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55);
  transition: color 0.15s ease;
}
.be-back-photo-ig:hover { color: var(--pink-glow, #ff77ad); }
.be-back-photo .be-back-vote-btn {
  pointer-events: auto;
  align-self: flex-start;
}

/* === Best Energy back — info bullets (zobrazí se u účastníků s vyplněným p.info) === */
.be-back-info {
  list-style: none;
  padding: 0;
  margin: 4px 0 2px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  text-align: left;
  width: 100%;
}
.be-back-info li {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.04em;
  line-height: 1.35;
  color: rgba(255, 245, 250, 0.82);
  padding-left: 12px;
  position: relative;
}
.be-back-info li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 1px;
  background: var(--pink-glow);
}
/* Když je info vyplněné, kompaktnější vote-stat a celá zadní strana, ať vše vleze */
.be-back-with-info {
  gap: 6px;
  padding: 14px 14px !important;
}
.be-back-with-info .be-back-name { font-size: 22px; }
.be-back-with-info .be-back-vote-stat {
  margin: 6px 0 2px;
  padding: 8px 12px;
}
.be-back-with-info .be-back-vote-stat em { font-size: 26px; }
@media (max-width: 700px) {
  .be-back-info li { font-size: 9px; }
}

/* Mobile leader collapse */
@media (max-width: 700px) {
  .ds-best-leaders { grid-template-columns: 1fr; gap: 18px; }
  .ds-best-plus { font-size: 60px; transform: rotate(0deg); }
}
.ds-best-card {
  position: relative;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 0.3s cubic-bezier(.16, .84, .26, 1), border-color 0.3s, box-shadow 0.3s;
}
.ds-best-card:hover {
  transform: translateY(-4px);
  border-color: var(--pink);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.35), 0 0 24px rgba(255, 77, 143, 0.25);
}
.ds-best-card-rank {
  position: absolute;
  top: 8px; left: 8px;
  z-index: 3;
  font-family: 'Anton', sans-serif;
  font-size: 14px;
  color: #fff;
  background: rgba(0, 0, 0, 0.65);
  padding: 4px 8px;
  border-radius: 4px;
  letter-spacing: 0.04em;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 245, 250, 0.15);
}
.ds-best-card-photo {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  background: linear-gradient(155deg, var(--bg-2), var(--bg-3));
}
.ds-best-card-photo img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 25%;
  display: block;
}
.ds-best-card-photo svg {
  width: 100% !important;
  height: 100% !important;
}
.ds-best-card-info {
  padding: 12px;
  display: flex; flex-direction: column;
  gap: 4px;
  flex: 1;
}
.ds-best-card-name {
  font-family: 'Anton', sans-serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--text);
}
.ds-best-card-meta {
  display: flex; align-items: baseline; gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  color: rgba(255, 245, 250, 0.55);
  text-transform: uppercase;
}
.ds-best-card-foot {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px dashed rgba(255, 245, 250, 0.12);
}
.ds-best-card-votes {
  display: inline-flex; align-items: center; gap: 4px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  color: var(--pink-glow);
  letter-spacing: 0.06em;
}
.ds-best-card-votes em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-size: 1.5em;
  color: var(--text);
  letter-spacing: 0;
  font-weight: 400;
}

.ds-best-vote-mini {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: rgba(255, 245, 250, 0.08);
  border: 1px solid rgba(255, 245, 250, 0.18);
  color: var(--text);
  font-family: 'Anton', sans-serif;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1;
}
.ds-best-vote-mini:hover {
  background: var(--pink);
  border-color: var(--pink-glow);
  transform: scale(1.08);
  box-shadow: 0 0 14px rgba(255, 77, 143, 0.5);
}
.ds-best-vote-mini.voted {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink-glow);
  font-size: 14px;
}

/* Mobile */
@media (max-width: 700px) {
  .ds-best-leaders { grid-template-columns: 1fr; }
  .ds-best-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
  .ds-best-card-rank { font-size: 12px; padding: 3px 6px; }
}

/* ████████████████████████████████████████████████████████████████████████
   ÚSPĚŠNÁ RANDE — samostatný tab, success stories grid
   ████████████████████████████████████████████████████████████████████████ */

.ds-success {
  position: relative;
  padding: clamp(80px, 10vw, 130px) clamp(20px, 4vw, 56px);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(ellipse 80% 50% at 50% 0%, rgba(255, 110, 199, 0.10), transparent 60%),
    radial-gradient(ellipse 60% 50% at 50% 100%, rgba(192, 132, 252, 0.08), transparent 60%);
  overflow: hidden;
}
.ds-success::before {
  content: "♥";
  position: absolute;
  top: 8%; right: -3%;
  font-family: 'Anton', sans-serif;
  font-size: clamp(420px, 50vw, 780px);
  line-height: 1;
  color: rgba(255, 110, 199, 0.04);
  pointer-events: none;
  user-select: none;
  z-index: 0;
  font-variant-emoji: text;
  transform: rotate(-12deg);
}
.ds-success > * { position: relative; z-index: 1; }

/* Header */
.ds-success-head {
  max-width: 880px;
  margin: 0 auto clamp(48px, 6vw, 80px);
  text-align: center;
}
.ds-success-title {
  font-size: clamp(56px, 9vw, 130px) !important;
  line-height: 0.92 !important;
  letter-spacing: -0.035em !important;
  margin-bottom: 20px;
}
.ds-success-title em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  background: linear-gradient(95deg, var(--pink-glow) 0%, var(--pink) 50%, var(--purple) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ds-success-sub {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
  color: rgba(255, 245, 250, 0.78);
  max-width: 600px;
  margin: 0 auto 32px;
}
.ds-success-sub em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  color: var(--pink-glow);
  font-weight: 400;
}
.ds-success-sub strong { color: var(--text); }

/* Stats strip */
.ds-success-stats {
  display: inline-flex; align-items: center; gap: 24px;
  padding: 16px 28px;
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 5px 5px 0 var(--purple-deep);
  flex-wrap: wrap;
  justify-content: center;
}
.ds-success-stats > div { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.ds-success-stats em {
  font-family: 'Anton', sans-serif;
  font-style: normal;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1;
  letter-spacing: -0.025em;
  background: linear-gradient(180deg, #fff 0%, var(--pink) 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ds-success-stats span {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.18em;
  color: rgba(255, 245, 250, 0.65);
  text-transform: uppercase;
}
.ds-success-stat-sep {
  width: 1px; height: 28px;
  background: linear-gradient(180deg, transparent, rgba(255, 245, 250, 0.25), transparent);
}

/* Grid */
.ds-success-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 1100px) {
  .ds-success-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 700px) {
  .ds-success-grid { grid-template-columns: 1fr; gap: 14px; }
}

.ds-success-card {
  background: linear-gradient(155deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 100%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform 0.4s cubic-bezier(.16, .84, .26, 1), border-color 0.3s, box-shadow 0.3s;
}
.ds-success-card:hover {
  transform: translateY(-6px);
  border-color: var(--pink);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35), 0 0 28px rgba(255, 77, 143, 0.25);
}
.ds-success-card.ds-success-featured {
  grid-column: span 2;
  border-color: rgba(255, 235, 59, 0.35);
}
@media (max-width: 1100px) {
  .ds-success-card.ds-success-featured { grid-column: span 2; }
}
@media (max-width: 700px) {
  .ds-success-card.ds-success-featured { grid-column: 1; }
}

.ds-success-img {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(155deg, var(--bg-2), var(--bg-3));
}
.ds-success-card.ds-success-featured .ds-success-img {
  aspect-ratio: 16 / 7;
}
.ds-success-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform 0.6s cubic-bezier(.16, .84, .26, 1);
}
.ds-success-card:hover .ds-success-img img {
  transform: scale(1.04);
}

.ds-success-stat-pill {
  position: absolute;
  top: 12px; right: 12px;
  z-index: 2;
  display: inline-flex; align-items: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.14em;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  border: 1px solid rgba(255, 245, 250, 0.2);
  backdrop-filter: blur(6px);
  text-transform: uppercase;
  white-space: nowrap;
}
.ds-success-stat-pill-gold {
  background: #ffeb3b;
  color: #1a0014;
  border-color: #f5b700;
  font-family: 'Anton', sans-serif;
  font-size: 12px;
  box-shadow: 0 0 18px rgba(255, 235, 59, 0.5), 3px 3px 0 var(--purple-deep);
}

.ds-success-body {
  padding: clamp(18px, 2vw, 26px);
  display: flex; flex-direction: column;
  gap: 10px;
  flex: 1;
}
.ds-success-meta {
  display: flex; align-items: baseline; gap: 8px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(255, 245, 250, 0.6);
  text-transform: uppercase;
}
.ds-success-ep {
  color: var(--pink-glow);
  font-weight: 600;
}
.ds-success-sep { opacity: 0.4; }

.ds-success-name {
  font-family: 'Anton', sans-serif;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--text);
}
.ds-success-name em {
  font-family: 'Instrument Serif', serif !important;
  font-style: italic;
  font-weight: 400;
  color: var(--pink-glow);
  font-size: 0.85em;
  letter-spacing: 0;
  margin: 0 4px;
}

.ds-success-desc {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 245, 250, 0.8);
  flex: 1;
}

.ds-success-tag {
  align-self: flex-start;
  font-family: 'Anton', sans-serif;
  font-size: 12px;
  letter-spacing: 0.16em;
  color: #ffeb3b;
  background: rgba(0, 0, 0, 0.45);
  padding: 5px 11px;
  border-radius: 4px;
  border: 1.5px solid #ffeb3b;
  text-shadow: 1px 1px 0 #6d28d9;
  text-transform: uppercase;
  margin-top: 4px;
  box-shadow: 3px 3px 0 var(--purple-deep);
}

.ds-success-foot {
  text-align: center;
  margin-top: clamp(48px, 6vw, 80px);
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: clamp(15px, 1.6vw, 19px);
  color: rgba(255, 245, 250, 0.7);
}
.ds-success-foot a {
  color: var(--pink-glow);
  text-decoration: underline;
  font-weight: 700;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
}
.ds-success-foot a:hover { color: var(--pink); }

/* Featured card body — better proportions on big card */
.ds-success-featured .ds-success-body {
  padding: clamp(22px, 2.5vw, 32px);
  gap: 14px;
}
.ds-success-featured .ds-success-name {
  font-size: clamp(32px, 4vw, 56px);
}

/* Nav success styling — green dot */
.ds-nav-success {
  position: relative;
}
.ds-nav-success::before {
  content: "";
  position: absolute;
  left: -10px; top: 50%;
  transform: translateY(-50%);
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #ffeb3b;
  box-shadow: 0 0 8px #ffeb3b;
  opacity: 0.85;
  animation: ds-nav-success-pulse 1.6s 0.6s ease-in-out infinite;
}
@keyframes ds-nav-success-pulse {
  0%, 100% { opacity: 0.5; transform: translateY(-50%) scale(1); }
  50%      { opacity: 1; transform: translateY(-50%) scale(1.4); }
}

/* ████████████████████████████████████████████████████████████████████████
   v95 POLISH — editorial weight on PROČ section + atmospheric grain
   Cíle: silnější vizuální váha, kinematografický feel, lepší hover micro-FX
   ████████████████████████████████████████████████████████████████████████ */

/* === Atmosférická zrnitost přes celou stránku ===
   Velmi jemný film-grain overlay (opacity 0.06) pro filmový/editorial pocit.
   data-URI SVG turbulence — žádný extra request. */
.ds-app::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  opacity: 0.055;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.92' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 1 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}
.ds-app.theme-light::after { mix-blend-mode: multiply; opacity: 0.04; }
@media (prefers-reduced-motion: reduce) { .ds-app::after { display: none; } }

/* === PROČ DATESHOW — obří ghost-čísla v pozadí + hover lift === */
.ds-why-item {
  padding-top: clamp(56px, 6vw, 88px) !important; /* uvolni místo pro velké číslo */
  padding-left: clamp(0px, 1vw, 12px);
  padding-right: 4px;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ds-why-item:hover {
  transform: translateY(-6px);
}
.ds-why-item:hover::before {
  width: 100% !important;
  transition: width 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ds-why-item::before {
  transition: width 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ds-why-num {
  position: absolute;
  top: -4px; left: -4px;
  font-family: 'Anton', sans-serif !important;
  font-size: clamp(72px, 8.4vw, 132px) !important;
  line-height: 0.9 !important;
  letter-spacing: -0.04em !important;
  color: transparent !important;
  -webkit-text-stroke: 1.5px rgba(255, 110, 199, 0.55);
  text-stroke: 1.5px rgba(255, 110, 199, 0.55);
  text-transform: none !important;
  margin-bottom: 0 !important;
  pointer-events: none;
  text-shadow: 0 0 30px rgba(255, 110, 199, 0.25);
  transition: -webkit-text-stroke-color 0.4s ease, text-shadow 0.4s ease;
}
.ds-why-item:hover .ds-why-num {
  -webkit-text-stroke: 1.5px var(--pink);
  text-stroke: 1.5px var(--pink);
  text-shadow: 0 0 40px rgba(255, 110, 199, 0.6);
}
.ds-why-q {
  position: relative;
  z-index: 1;
}

/* === Top nav — vylepšený active state s glowem === */
.ds-nav a.is-active::after {
  right: 0 !important;
  height: 2px !important;
  background: var(--pink) !important;
  box-shadow: 0 0 10px rgba(255, 110, 199, 0.7);
}

/* === Mobile body-scroll lock když je burger menu otevřené === */
body.ds-nav-locked { overflow: hidden; }

/* === Mobile PROČ — zachovej ghost čísla, ale menší === */
@media (max-width: 900px) {
  .ds-why-num { font-size: 78px !important; top: -2px; }
  .ds-why-item { padding-top: 52px !important; }
}

/* === Cast cards — clean cascade reveal (jeden po druhém, žádná rotace) ===
   Defaultní .stagger-item rotuje randomly (-5°/+5°/-3°) + blur 14px.
   Pro cast cards chceme uniform vzhled — jen opacity + Y + jemný blur.
   StaggerGroup step bumpnutý na 160ms (z 90ms) v JSX → cascade je viditelný.
   Důležité: BEZ !important na transition — jinak by reset přebil inline
   transition-delay nastavený StaggerGroup-em (300ms/460ms/620ms/780ms/940ms).
   Specificity .ds-cards-row .stagger-item už beztak vyhrává nad .stagger-item. */
.ds-cards-row .stagger-item {
  --card-tilt: 0deg;
  opacity: 0;
  filter: blur(8px);
  transform: translateY(44px) scale(0.96);
  transition-property: opacity, filter, transform;
  transition-duration: 0.62s, 0.7s, 0.78s;
  transition-timing-function:
    cubic-bezier(0.22, 0.8, 0.36, 1),
    cubic-bezier(0.22, 0.8, 0.36, 1),
    cubic-bezier(0.22, 0.8, 0.36, 1);
  /* transition-delay zůstává volné pro inline styl */
}
.ds-cards-row .stagger.is-in .stagger-item {
  opacity: 1;
  filter: blur(0);
  transform: translateY(0) scale(1);
}

/* === Mobile hero — claw machine výš + LIVE sticker pod W === */
@media (max-width: 900px) {
  /* Video je 16:9 ale mobile hero je portrét → cover škáluje podle výšky.
     Y object-position nemá efekt. Posunu video fyzicky transformem nahoru
     o cca 14% výšky hero, gradient-tint zakrývá vzniklou mezeru dole. */
  .ds-hero-video {
    transform: translate3d(0, calc(-14% + var(--py-video, 0px)), 0) !important;
  }
  /* LIVE sticker pod "SHOW" — víc pod W místo přes něj.
     Sticker zmenšený, posunutý do mezery pod h1; h1 dostane bottom margin
     56px (margin-collapse vs tagline margin-top:22 → vítězí 56) tak aby
     mezi spodním okrajem stickeru a začátkem tagline byl prostor. */
  .ds-display { margin-bottom: 56px; }
  .ds-hero-live-sticker {
    top: 100% !important;
    left: 72% !important;
    height: clamp(34px, 9vw, 50px) !important;
    transform: translateX(-50%) rotate(-10deg);
    margin-top: 4px;
  }
  /* Tint dole zesílit, aby přechod od videa do contentu byl plynulý */
  .ds-hero-tint {
    background: linear-gradient(180deg, rgba(8, 0, 20, 0.45) 0%, rgba(8, 0, 20, 0.7) 60%, rgba(8, 0, 20, 1) 100%) !important;
  }
}
