/* ============================================================
   RFA — Real Fight Arena · vlastné štýly
   Dopĺňa Tailwind CDN o fonty a signature komponenty.
   ============================================================ */

/* ── Self-hosted fonty (GDPR-friendly, žiadny Google request) ── */
/* Latin-ext subset MUSÍ byť prvý — pokrýva slovenské znaky Š Ž Č Ň Ľ Ŕ atď.
   Prehliadač si podľa unicode-range vyberie správny súbor a nefalšuje glyphy
   z náhradného fontu (predtým Impact → nekonzistentná veľkosť diakritiky). */
@font-face {
  font-family: 'Bebas Neue';
  src: url('/assets/fonts/bebas-neue-latin-ext.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Bebas Neue';
  src: url('/assets/fonts/bebas-neue.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  src: url('/assets/fonts/inter.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: 'JetBrains Mono';
  src: url('/assets/fonts/jetbrains-mono.woff2') format('woff2');
  font-weight: 100 800;
  font-display: swap;
}

:root {
  --font-display: 'Bebas Neue', 'Oswald', 'Arial Narrow', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'JetBrains Mono', ui-monospace, monospace;

  /* ── Farebná téma (default = LIGHT — nový dizajn) ── */
  --c-bg: #FFFFFF;
  --c-bg-glow-1: rgba(225,6,0,0.04);
  --c-bg-glow-2: rgba(225,6,0,0.03);
  --c-text: #1A1A1D;
  --c-text-strong: #0A0A0B;
  --c-surface: rgba(10,10,11,0.03);
  --c-surface-hover: rgba(10,10,11,0.07);
  --c-border: rgba(10,10,11,0.12);
  --c-border-strong: rgba(10,10,11,0.22);
  --c-glass-bg: rgba(255,255,255,0.6);
  --c-glass-border: rgba(10,10,11,0.1);
  --c-input-bg: rgba(10,10,11,0.04);
  color-scheme: light;
}

/* ── DARK MÓD (voliteľný cez prepínač) ── */
:root[data-theme="dark"] {
  --c-bg: #0A0A0B;
  --c-bg-glow-1: rgba(225,6,0,0.12);
  --c-bg-glow-2: rgba(225,6,0,0.06);
  --c-text: #F4F1EB;
  --c-text-strong: #F4F1EB;
  --c-surface: rgba(255,255,255,0.03);
  --c-surface-hover: rgba(255,255,255,0.08);
  --c-border: rgba(255,255,255,0.08);
  --c-border-strong: rgba(255,255,255,0.15);
  --c-glass-bg: rgba(255,255,255,0.03);
  --c-glass-border: rgba(255,255,255,0.08);
  --c-input-bg: rgba(255,255,255,0.05);
  color-scheme: dark;
}

html { scroll-behavior: smooth; background: var(--c-bg); overflow-x: clip; }

body {
  font-family: var(--font-body);
  background: var(--c-bg);
  color: var(--c-text);
  -webkit-font-smoothing: antialiased;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, var(--c-bg-glow-1), transparent 70%),
    radial-gradient(ellipse 60% 50% at 90% 100%, var(--c-bg-glow-2), transparent 70%);
  background-attachment: fixed;
  transition: background-color 0.3s ease, color 0.3s ease;
}

::selection { background: #E10600; color: #fff; }

/* ── Typografické helpery ── */
.font-display { font-family: var(--font-display); }
.font-mono { font-family: var(--font-mono); }
.h-display { font-family: var(--font-display); text-transform: uppercase; letter-spacing: -0.04em; line-height: 0.9; color: #F4F1EB; }
.h-eyebrow { font-family: var(--font-body); text-transform: uppercase; letter-spacing: 0.18em; font-size: 0.75rem; color: #FF4A30; font-weight: 500; }
.tracking-brutal { letter-spacing: -0.04em; }
.tracking-widest2 { letter-spacing: 0.18em; }

/* ── Glass ── */
.glass {
  position: relative;
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 24px 48px -24px rgba(0,0,0,0.8);
}
.glass-strong {
  background: rgba(22,22,26,0.95);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,0.12);
}

/* ── Tlačidlá ── */
.btn-blood {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: #E10600; color: #fff;
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem;
  border: 1px solid rgba(255,74,48,0.5);
  box-shadow: 0 8px 24px -8px rgba(225,6,0,0.6);
  transition: all 0.2s;
  cursor: pointer;
}
.btn-blood:hover { background: #FF2614; box-shadow: 0 12px 32px -8px rgba(225,6,0,0.8); }
.btn-blood:active { transform: translateY(1px); }

.btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  background: rgba(255,255,255,0.05); color: #F4F1EB;
  border: 1px solid rgba(255,255,255,0.15); backdrop-filter: blur(4px);
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem;
  transition: all 0.2s; cursor: pointer;
}
.btn-ghost:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.25); }

.btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  padding: 0.875rem 1.5rem;
  border: 1px solid rgba(225,6,0,0.6); color: #FF4A30;
  font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem;
  transition: all 0.2s; cursor: pointer; background: transparent;
}
.btn-outline:hover { background: #E10600; color: #fff; border-color: #E10600; }

/* ── Chip ── */
.chip {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.25rem 0.625rem;
  font-size: 10px; font-family: var(--font-display); text-transform: uppercase; letter-spacing: 0.18em;
  border: 1px solid rgba(255,255,255,0.15); background: rgba(255,255,255,0.05);
  border-radius: 2px;
}
.chip-live { color: #FF4A30; border-color: rgba(225,6,0,0.4); background: rgba(56,1,0,0.3); }
.chip-blood { color: #F4F1EB; background: #E10600; border-color: #E10600; }

/* ── Edge cut (signature) ── */
.edge-cut { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%); }

/* ── Card lift ── */
.card-lift { transition: transform 0.35s ease, box-shadow 0.35s ease; }
.card-lift:hover { transform: translateY(-4px); }

/* ── Grain overlay ── */
.grain::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  opacity: 0.04; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' /%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}

/* ── Animácie ── */
@keyframes pulseRed { 0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(225,6,0,0.7); } 50% { opacity: 0.7; box-shadow: 0 0 0 8px rgba(225,6,0,0); } }
.pulse-red { animation: pulseRed 2s ease-in-out infinite; }
@keyframes fadeUp { 0% { opacity: 0; transform: translateY(24px); } 100% { opacity: 1; transform: translateY(0); } }
.reveal { opacity: 0; }
.reveal.in { animation: fadeUp 0.7s cubic-bezier(0.22,1,0.36,1) both; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal.in { animation: none !important; opacity: 1 !important; transform: none !important; }
  .pulse-red { animation: none; }
  html { scroll-behavior: auto; }
}

/* ── Rankings UFC-style ── */
.rank-arrow-up { color: #10B981; }
.rank-arrow-down { color: #E24B4A; }
.rank-nr { font-size: 10px; border: 1px solid rgba(244,241,235,0.3); padding: 1px 4px; color: rgba(244,241,235,0.5); }

/* ── Admin tweaks ── */
.admin-input {
  width: 100%; padding: 0.625rem 0.875rem;
  background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.12);
  color: #F4F1EB; border-radius: 4px; font-size: 0.9rem;
}
.admin-input:focus { outline: none; border-color: #E10600; }
.admin-label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(244,241,235,0.6); margin-bottom: 0.375rem; }

/* ═══════════════════════════════════════════════════════════
   LIGHT MÓD — prekrytie Tailwind CDN tried
   Tailwind generuje bg-ink/text-bone s pevnými farbami; v light
   móde ich premapujeme na svetlú paletu. Používame [data-theme]
   na <html> pre dostatočnú špecificitu.
   ═══════════════════════════════════════════════════════════ */
:root:not([data-theme="dark"]) body { color: #1A1A1D; }

/* Text — bone (svetlá) → tmavá v light móde */
:root:not([data-theme="dark"]) .text-bone,
:root:not([data-theme="dark"]) .text-bone-200,
:root:not([data-theme="dark"]) .text-bone-300 { color: #1A1A1D !important; }
:root:not([data-theme="dark"]) .text-bone\/90 { color: rgba(26,26,29,0.90) !important; }
:root:not([data-theme="dark"]) .text-bone\/85,
:root:not([data-theme="dark"]) .text-bone-300\/85 { color: rgba(26,26,29,0.85) !important; }
:root:not([data-theme="dark"]) .text-bone\/80,
:root:not([data-theme="dark"]) .text-bone-300\/80 { color: rgba(26,26,29,0.80) !important; }
:root:not([data-theme="dark"]) .text-bone-300\/90 { color: rgba(26,26,29,0.88) !important; }
:root:not([data-theme="dark"]) .text-bone\/70,
:root:not([data-theme="dark"]) .text-bone-300\/70 { color: rgba(26,26,29,0.68) !important; }
:root:not([data-theme="dark"]) .text-bone\/60 { color: rgba(26,26,29,0.60) !important; }
:root:not([data-theme="dark"]) .text-bone-400 { color: rgba(26,26,29,0.55) !important; }
:root:not([data-theme="dark"]) .text-bone\/50 { color: rgba(26,26,29,0.50) !important; }
:root:not([data-theme="dark"]) .text-bone\/40 { color: rgba(26,26,29,0.42) !important; }
:root:not([data-theme="dark"]) .text-bone\/30 { color: rgba(26,26,29,0.32) !important; }
:root:not([data-theme="dark"]) .text-bone\/25 { color: rgba(26,26,29,0.28) !important; }

/* Pozadia — ink (tmavá) → svetlá */
:root:not([data-theme="dark"]) .bg-ink { background-color: #FFFFFF !important; }
:root:not([data-theme="dark"]) .bg-ink\/98 { background-color: rgba(255,255,255,0.98) !important; }
:root:not([data-theme="dark"]) .bg-ink\/90 { background-color: rgba(255,255,255,0.94) !important; }
:root:not([data-theme="dark"]) .bg-ink\/60 { background-color: rgba(255,255,255,0.65) !important; }
:root:not([data-theme="dark"]) .bg-ink-800 { background-color: #EFEFEF !important; }
:root:not([data-theme="dark"]) .bg-ink-900 { background-color: #F6F6F6 !important; }

/* Glass karty */
:root:not([data-theme="dark"]) .glass { background: rgba(10,10,11,0.025); border-color: rgba(10,10,11,0.1); box-shadow: 0 6px 22px rgba(10,10,11,0.05); }
:root:not([data-theme="dark"]) .glass-strong { background: #FFFFFF; border-color: rgba(10,10,11,0.12); box-shadow: 0 10px 30px rgba(10,10,11,0.1); }

/* Bordery */
:root:not([data-theme="dark"]) .border-white\/\[0\.06\],
:root:not([data-theme="dark"]) .border-white\/\[0\.08\],
:root:not([data-theme="dark"]) .border-white\/5,
:root:not([data-theme="dark"]) .border-white\/10 { border-color: rgba(10,10,11,0.1) !important; }
:root:not([data-theme="dark"]) .border-white\/20 { border-color: rgba(10,10,11,0.2) !important; }

/* Biele poloprehľadné pozadia (hover stavy, oddeľovače) */
:root:not([data-theme="dark"]) .bg-white\/5,
:root:not([data-theme="dark"]) .bg-white\/\[0\.03\],
:root:not([data-theme="dark"]) .bg-white\/\[0\.02\] { background-color: rgba(10,10,11,0.04) !important; }
:root:not([data-theme="dark"]) .divide-white\/\[0\.05\] > * + *,
:root:not([data-theme="dark"]) .divide-white\/\[0\.06\] > * + * { border-color: rgba(10,10,11,0.08) !important; }

/* Nadpisy h-display */
:root:not([data-theme="dark"]) .h-display { color: #0A0A0B; }

/* Tlačidlá ghost/outline v light */
:root:not([data-theme="dark"]) .btn-ghost { background: rgba(10,10,11,0.05); color: #1A1A1D; border-color: rgba(10,10,11,0.12); }
:root:not([data-theme="dark"]) .btn-ghost:hover { background: rgba(10,10,11,0.1); }
:root:not([data-theme="dark"]) .btn-outline { color: #0A0A0B; border-color: rgba(10,10,11,0.3); }

/* Chip */
:root:not([data-theme="dark"]) .chip { color: rgba(26,26,29,0.7); border-color: rgba(10,10,11,0.15); background: rgba(10,10,11,0.03); }

/* Admin inputy */
:root:not([data-theme="dark"]) .admin-input { background: rgba(10,10,11,0.04); color: #1A1A1D; border-color: rgba(10,10,11,0.15); }
:root:not([data-theme="dark"]) .admin-label { color: rgba(26,26,29,0.6); }

/* Prepínač témy — ikonka */
.theme-toggle { display: inline-flex; align-items: center; justify-content: center; }
.theme-toggle .icon-sun { display: none; }
.theme-toggle .icon-moon { display: block; }
:root:not([data-theme="dark"]) .theme-toggle .icon-sun { display: block; }
:root:not([data-theme="dark"]) .theme-toggle .icon-moon { display: none; }

/* ═══════════════════════════════════════════════════════════
   SVETLÝ REDIZAJN — nové komponenty
   ═══════════════════════════════════════════════════════════ */

/* ── Biely header (light) / tmavý (dark) ── */
:root:not([data-theme="dark"]) #site-header {
  background: rgba(255,255,255,0.96) !important;
  border-bottom-color: rgba(10,10,11,0.1) !important;
  backdrop-filter: blur(12px);
}
#site-header .logo-black { display: none; }
#site-header .logo-white { display: block; }
:root:not([data-theme="dark"]) #site-header .logo-black { display: block; }
:root:not([data-theme="dark"]) #site-header .logo-white { display: none; }

/* Mobilné menu v light móde */
:root:not([data-theme="dark"]) #mobile-menu { background: rgba(255,255,255,0.98) !important; }
:root:not([data-theme="dark"]) #mobile-menu .logo-black { display: block; }
:root:not([data-theme="dark"]) #mobile-menu .logo-white { display: none; }
#mobile-menu .logo-black { display: none; }

/* ── Roztrhané prechody (sec-shape) ── */
.torn-dark { position: relative; }
.torn-dark::before, .torn-dark::after {
  content: ''; position: absolute; left: 0; right: 0; z-index: 5;
  background-size: 100% 100%; background-repeat: no-repeat; pointer-events: none;
}
.torn-dark::before { top: -1px; height: clamp(50px, 6vw, 110px); background-image: url('/assets/images/sec-shape-top.png'); }
.torn-dark::after  { bottom: -1px; height: clamp(40px, 4.5vw, 82px); background-image: url('/assets/images/sec-shape-bottom.png'); }
.torn-dark.no-top::before { display: none; }
.torn-dark.no-bottom::after { display: none; }
/* V dark móde biele roztrhané hrany nedávajú zmysel — skryjeme (rovné prechody) */
:root[data-theme="dark"] .torn-dark::before,
:root[data-theme="dark"] .torn-dark::after { display: none; }

/* ═══ OBSAH NA TMAVOM PODKLADE ═══
   .always-dark = sekcia s vynúteným tmavým pozadím (hero, stats band, manifesto, footer)
   .on-dark     = prvok s tmavým vizuálom (karty fighterov/eventov s fotkou), bez vynúteného bg
   V light móde MUSIA mať svetlý text — tieto pravidlá prebíjajú globálny light override. */
.always-dark { background-color: #0A0A0B !important; }

:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .h-display,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark).h-display,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) h1,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) h2,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) h3 { color: #F4F1EB !important; }
/* Červené zvýraznenia v nadpisoch ostávajú červené */
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) :is(h1,h2,h3,.h-display) :is(.text-blood-500,.text-blood-400),
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-blood-500 { color: #E10600 !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-blood-400 { color: #FF4438 !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-blood-300 { color: #FF6B60 !important; }

:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-200 { color: #F4F1EB !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/90 { color: rgba(244,241,235,0.9) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/85,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-300\/85 { color: rgba(244,241,235,0.85) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/80,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-300\/80,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-300\/90 { color: rgba(244,241,235,0.82) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/70,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-300\/70,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-300 { color: rgba(244,241,235,0.72) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/60,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone-400 { color: rgba(244,241,235,0.62) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/50 { color: rgba(244,241,235,0.5) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .text-bone\/40 { color: rgba(244,241,235,0.42) !important; }

:root:not([data-theme="dark"]) .always-dark .glass { background: rgba(255,255,255,0.04) !important; border-color: rgba(255,255,255,0.09) !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .border-white\/10,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .border-white\/20,
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .border-white\/30 { border-color: rgba(255,255,255,0.22) !important; }
:root:not([data-theme="dark"]) .always-dark .btn-outline { color: #F4F1EB !important; border-color: rgba(255,255,255,0.4) !important; }
:root:not([data-theme="dark"]) .always-dark .btn-outline:hover { border-color: #fff !important; color: #fff !important; }
:root:not([data-theme="dark"]) .always-dark input { color: #F4F1EB !important; }
:root:not([data-theme="dark"]) :is(.always-dark, .on-dark) .h-eyebrow { color: #FF4438 !important; }

/* ── Jemný logo pattern na svetlé pozadia ── */
.pattern-bg { position: relative; }
.pattern-bg::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 0;
  background-image: url('/assets/images/rfa-logo-pattern.jpg');
  background-size: 340px auto; opacity: 0.05;
}
.pattern-bg > * { position: relative; z-index: 1; }
:root[data-theme="dark"] .pattern-bg::before { opacity: 0.03; filter: invert(1); }

/* ── Stats band ── */
.stats-band { padding: clamp(60px, 8vw, 100px) 0; overflow: hidden; }
/* Podklad: cage-cover fotka. V light režime výraznejšie + biely závoj, v dark tmavá. */
.stats-band { background: #FFFFFF; }
.stats-band .band-bg { position: absolute; inset: 0; background: url('/assets/images/cage-cover.jpg') center/cover no-repeat; opacity: 0.28; filter: grayscale(0.15); }
/* Biely závoj navrchu fotky (svetlý overlay) */
/* Biely závoj s gradientom: hore plná biela (splynie s roztrhaným rozdeľovačom),
   v strede fotka najviac presvitá, dole opäť svetlé (prechod do bieleho banneru). */
.stats-band::after {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,0.85) 14%,
    rgba(255,255,255,0.4) 45%,
    rgba(255,255,255,0.45) 72%,
    rgba(255,255,255,0.8) 100%
  );
}
.stats-band .band-inner { position: relative; z-index: 2; display: flex; justify-content: center; gap: clamp(36px, 8vw, 120px); flex-wrap: wrap; }
.stat-item { display: flex; align-items: center; gap: 18px; }
.stat-item .badge { width: 72px; height: 72px; border-radius: 50%; background: #E10600; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 24px rgba(225,6,0,0.35); }
.stat-item .badge svg { width: 34px; height: 34px; color: #fff; }
/* Texty tmavé v light režime */
.stat-item .num { font-family: var(--font-display); font-size: clamp(38px, 4.5vw, 48px); color: #0A0A0B; line-height: 1; }
.stat-item .lbl { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(10,10,11,0.6); margin-top: 6px; }

/* V DARK režime ostáva pôvodný tmavý vzhľad */
:root[data-theme="dark"] .stats-band { background: #0A0A0B; }
:root[data-theme="dark"] .stats-band .band-bg { opacity: 0.35; filter: none; }
:root[data-theme="dark"] .stats-band::after { background: rgba(10,10,11,0.3); }
:root[data-theme="dark"] .stat-item .num { color: #fff; }
:root[data-theme="dark"] .stat-item .lbl { color: rgba(244,241,235,0.65); }

/* ── Partner (TIPOS) banner ── */
.partner-banner-tag { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--c-text); opacity: 0.5; margin-bottom: 14px; text-align: center; }
.partner-banner-img { max-width: 1050px; margin: 0 auto; display: block; transition: opacity 0.2s; }
.partner-banner-img:hover { opacity: 0.92; }
.partner-banner-img img { width: 100%; height: auto; }

/* ── Videá (RFA Play) ── */
.video-player-main { max-width: 900px; margin: 0 auto 26px; aspect-ratio: 16/9; background: #000; }
.video-player-main iframe { width: 100%; height: 100%; border: 0; display: block; }
.video-thumb { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #0A0A0B; cursor: pointer; }
.video-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: 0.4s; }
.video-thumb:hover img { transform: scale(1.05); opacity: 0.8; }
.video-thumb .play-badge { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 2; }
.video-thumb .play-badge span {
  width: 62px; height: 62px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.9);
  background: rgba(225,6,0,0.85); display: flex; align-items: center; justify-content: center; transition: 0.2s;
}
.video-thumb:hover .play-badge span { background: #E10600; transform: scale(1.08); }
.video-thumb .play-badge svg { width: 22px; height: 22px; color: #fff; margin-left: 3px; }

/* ── Registračný formulár (FFG / Projekt A) ── */
.reg-input {
  width: 100%; padding: 13px 16px; font-family: var(--font-body); font-size: 15px;
  background: var(--c-input-bg); border: 1.5px solid var(--c-border); color: var(--c-text);
  transition: border-color 0.2s; outline: none;
}
.reg-input:focus { border-color: #E10600; }
textarea.reg-input { min-height: 130px; resize: vertical; }

/* Pullquote na podstránkach */
.pullquote {
  border-left: 4px solid #E10600; padding: 6px 0 6px 24px; margin: 34px 0;
  font-family: var(--font-display); font-size: clamp(24px, 3vw, 30px); line-height: 1.15; color: var(--c-text-strong);
}

/* ═══════════════════════════════════════════════════════════
   VIDITEĽNOSŤ TEXTU NA TMAVÝCH PLOCHÁCH (light mód)
   Všetko vnútri .always-dark (tmavé pásy) a .on-dark (karty
   nad tmavými fotkami) musí ostať svetlé — inak vzniká
   čierny text na čiernom podklade.
   Vyššia špecificita + !important prebije globálne light
   prepisy Tailwind tried.
   ═══════════════════════════════════════════════════════════ */
:root:not([data-theme="dark"]) .always-dark,
:root:not([data-theme="dark"]) .on-dark { color: #F4F1EB; }

/* Nadpisy a display typografia */
:root:not([data-theme="dark"]) .always-dark .h-display,
:root:not([data-theme="dark"]) .on-dark .h-display,
:root:not([data-theme="dark"]) .always-dark h1,
:root:not([data-theme="dark"]) .always-dark h2,
:root:not([data-theme="dark"]) .always-dark h3,
:root:not([data-theme="dark"]) .on-dark h1,
:root:not([data-theme="dark"]) .on-dark h2,
:root:not([data-theme="dark"]) .on-dark h3 { color: #F4F1EB !important; }

/* Červené akcenty vnútri nadpisov si držia farbu */
:root:not([data-theme="dark"]) .always-dark .text-blood-500,
:root:not([data-theme="dark"]) .on-dark .text-blood-500 { color: #E10600 !important; }
:root:not([data-theme="dark"]) .always-dark .text-blood-400,
:root:not([data-theme="dark"]) .on-dark .text-blood-400 { color: #FF3B33 !important; }
:root:not([data-theme="dark"]) .always-dark .text-white,
:root:not([data-theme="dark"]) .on-dark .text-white { color: #FFFFFF !important; }

/* Bone odtiene — späť na svetlé */
:root:not([data-theme="dark"]) .always-dark .text-bone,
:root:not([data-theme="dark"]) .on-dark .text-bone,
:root:not([data-theme="dark"]) .always-dark .text-bone-200,
:root:not([data-theme="dark"]) .on-dark .text-bone-200,
:root:not([data-theme="dark"]) .always-dark .text-bone-300,
:root:not([data-theme="dark"]) .on-dark .text-bone-300 { color: #F4F1EB !important; }

:root:not([data-theme="dark"]) .always-dark .text-bone\/90,
:root:not([data-theme="dark"]) .on-dark .text-bone\/90 { color: rgba(244,241,235,0.90) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/85,
:root:not([data-theme="dark"]) .on-dark .text-bone\/85,
:root:not([data-theme="dark"]) .always-dark .text-bone-300\/85,
:root:not([data-theme="dark"]) .on-dark .text-bone-300\/85,
:root:not([data-theme="dark"]) .always-dark .text-bone-300\/90,
:root:not([data-theme="dark"]) .on-dark .text-bone-300\/90 { color: rgba(244,241,235,0.86) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/80,
:root:not([data-theme="dark"]) .on-dark .text-bone\/80,
:root:not([data-theme="dark"]) .always-dark .text-bone-300\/80,
:root:not([data-theme="dark"]) .on-dark .text-bone-300\/80 { color: rgba(244,241,235,0.82) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/70,
:root:not([data-theme="dark"]) .on-dark .text-bone\/70,
:root:not([data-theme="dark"]) .always-dark .text-bone-300\/70,
:root:not([data-theme="dark"]) .on-dark .text-bone-300\/70 { color: rgba(244,241,235,0.74) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/60,
:root:not([data-theme="dark"]) .on-dark .text-bone\/60,
:root:not([data-theme="dark"]) .always-dark .text-bone-400,
:root:not([data-theme="dark"]) .on-dark .text-bone-400 { color: rgba(244,241,235,0.66) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/50,
:root:not([data-theme="dark"]) .on-dark .text-bone\/50 { color: rgba(244,241,235,0.56) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/40,
:root:not([data-theme="dark"]) .on-dark .text-bone\/40 { color: rgba(244,241,235,0.46) !important; }
:root:not([data-theme="dark"]) .always-dark .text-bone\/30,
:root:not([data-theme="dark"]) .on-dark .text-bone\/30 { color: rgba(244,241,235,0.36) !important; }

/* Rámiky a plochy vnútri tmavých blokov */
:root:not([data-theme="dark"]) .always-dark .border-white\/10,
:root:not([data-theme="dark"]) .on-dark .border-white\/10,
:root:not([data-theme="dark"]) .always-dark .border-white\/20,
:root:not([data-theme="dark"]) .on-dark .border-white\/20,
:root:not([data-theme="dark"]) .always-dark .border-white\/30,
:root:not([data-theme="dark"]) .on-dark .border-white\/30 { border-color: rgba(255,255,255,0.22) !important; }
:root:not([data-theme="dark"]) .always-dark .border-white\/\[0\.06\],
:root:not([data-theme="dark"]) .always-dark .border-white\/\[0\.08\] { border-color: rgba(255,255,255,0.1) !important; }
:root:not([data-theme="dark"]) .always-dark .bg-white\/5,
:root:not([data-theme="dark"]) .on-dark .bg-white\/5,
:root:not([data-theme="dark"]) .always-dark .bg-white\/\[0\.03\],
:root:not([data-theme="dark"]) .always-dark .bg-white\/\[0\.02\] { background-color: rgba(255,255,255,0.06) !important; }
:root:not([data-theme="dark"]) .always-dark .glass,
:root:not([data-theme="dark"]) .on-dark .glass { background: rgba(255,255,255,0.05) !important; border-color: rgba(255,255,255,0.1) !important; }

/* Gradienty na kartách (from-ink…) musia ostať tmavé aj v light móde */
:root:not([data-theme="dark"]) .on-dark .from-ink,
:root:not([data-theme="dark"]) .always-dark .from-ink { --tw-gradient-from: #0A0A0B !important; }
:root:not([data-theme="dark"]) .on-dark .via-ink\/30 { --tw-gradient-via: rgba(10,10,11,0.3) !important; }
:root:not([data-theme="dark"]) .on-dark .via-ink\/40 { --tw-gradient-via: rgba(10,10,11,0.4) !important; }
:root:not([data-theme="dark"]) .on-dark .via-ink\/60,
:root:not([data-theme="dark"]) .on-dark .from-ink\/60 { --tw-gradient-via: rgba(10,10,11,0.6) !important; }

/* Tlačidlá vnútri tmavých blokov */
:root:not([data-theme="dark"]) .always-dark .btn-outline,
:root:not([data-theme="dark"]) .on-dark .btn-outline { color: #F4F1EB !important; border-color: rgba(255,255,255,0.4) !important; }
:root:not([data-theme="dark"]) .always-dark .btn-outline:hover { color: #FFFFFF !important; border-color: #FFFFFF !important; }
:root:not([data-theme="dark"]) .always-dark .btn-ghost { background: rgba(255,255,255,0.08) !important; color: #F4F1EB !important; border-color: rgba(255,255,255,0.16) !important; }
:root:not([data-theme="dark"]) .always-dark .chip { color: rgba(244,241,235,0.75) !important; border-color: rgba(255,255,255,0.2) !important; background: rgba(255,255,255,0.05) !important; }
:root:not([data-theme="dark"]) .always-dark input { color: #F4F1EB !important; }
:root:not([data-theme="dark"]) .always-dark input::placeholder { color: rgba(244,241,235,0.4) !important; }

/* TIPOS banner — zobraziť celý, bez orezania */
.partner-banner-img { display: block; max-width: 1050px; margin: 0 auto; }
.partner-banner-img img { width: 100%; height: auto; display: block; }

/* ═══════════════════════════════════════════════════════════
   POISTKA — text v prekryvných kartách nad tmavými fotkami
   Zabezpečí čitateľnosť aj bez triedy .on-dark v šablóne.
   Cieli len na absolútne umiestnený prekryv priamo v <a>,
   takže texty POD obrázkom (novinky, championi) ostávajú tmavé.
   ═══════════════════════════════════════════════════════════ */
:root:not([data-theme="dark"]) a > .absolute.inset-0 .h-display,
:root:not([data-theme="dark"]) a > .absolute.inset-0 h3,
:root:not([data-theme="dark"]) a > .absolute.inset-0 h2 { color: #F4F1EB !important; }

:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-blood-500 { color: #E10600 !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-blood-400 { color: #FF3B33 !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-white { color: #FFFFFF !important; }

:root:not([data-theme="dark"]) a > .absolute.inset-0,
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone,
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone-200,
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone-300 { color: #F4F1EB !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone\/70,
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone-300\/80 { color: rgba(244,241,235,0.76) !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone\/60 { color: rgba(244,241,235,0.66) !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone\/50 { color: rgba(244,241,235,0.56) !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .text-bone\/40 { color: rgba(244,241,235,0.46) !important; }
:root:not([data-theme="dark"]) a > .absolute.inset-0 .border-white\/30 { border-color: rgba(255,255,255,0.35) !important; }

/* ═══════════════════════════════════════════════════════════
   PARTNERI — tmavé taby (aby biele/svetlé logá vynikli)
   Rovnaký vzhľad v light aj dark móde.
   ═══════════════════════════════════════════════════════════ */
.partner-tab {
  background: #141416;
  border: 1px solid rgba(255,255,255,0.08);
  transition: border-color 0.25s, background 0.25s, transform 0.25s;
}
.partner-tab:hover {
  background: #191a1d;
  border-color: rgba(225,6,0,0.4);
}
.partner-tab-detail {
  background: #141416;
  border-left: 1px solid rgba(255,255,255,0.08);
  border-right: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: rgba(244,241,235,0.6);
}
.partner-tab-detail:hover {
  background: rgba(225,6,0,0.15);
  color: #FF6B66;
}

/* ═══════════════════════════════════════════════════════════
   COOKIES LIŠTA — liquid glass (tmavé priesvitné sklo + blur)
   Bledý text čitateľný v light aj dark režime.
   Vysoká špecificita (:root:not) prebije globálne light pravidlá.
   ═══════════════════════════════════════════════════════════ */
.cookie-bar {
  background: rgba(16,16,18,0.82);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
  border: 1px solid rgba(255,255,255,0.14);
}
:root:not([data-theme="dark"]) .cookie-bar,
:root[data-theme="dark"] .cookie-bar { background: rgba(16,16,18,0.82); }
/* Bledý (svetlý) text — prebije globálne light mapovanie */
:root:not([data-theme="dark"]) .cookie-bar .font-display,
:root[data-theme="dark"] .cookie-bar .font-display { color: #F4F1EB !important; }
:root:not([data-theme="dark"]) .cookie-bar p,
:root[data-theme="dark"] .cookie-bar p { color: rgba(244,241,235,0.92) !important; }
:root:not([data-theme="dark"]) .cookie-bar .text-bone,
:root:not([data-theme="dark"]) .cookie-bar .text-bone\/60 { color: rgba(244,241,235,0.7) !important; }
:root:not([data-theme="dark"]) .cookie-bar a.text-blood-400,
:root[data-theme="dark"] .cookie-bar a.text-blood-400 { color: #FF6B66 !important; }
/* Tlačidlo "Len nevyhnutné" (btn-ghost) čitateľné na tmavom skle */
:root:not([data-theme="dark"]) .cookie-bar .btn-ghost {
  background: rgba(255,255,255,0.08) !important;
  color: #F4F1EB !important;
  border-color: rgba(255,255,255,0.18) !important;
}

/* ═══════════════════════════════════════════════════════════
   VIDEÁ (RFA Play) — carousel na mobile
   Skrytý scrollbar pre čistý vzhľad; na md+ je to normálny grid.
   ═══════════════════════════════════════════════════════════ */
.video-thumbs-carousel {
  scrollbar-width: none;           /* Firefox */
  -ms-overflow-style: none;        /* IE/Edge */
}
.video-thumbs-carousel::-webkit-scrollbar { display: none; } /* Chrome/Safari */

/* ═══════════════════════════════════════════════════════════
   FLOATING LANGUAGE SWITCHER (Google Translate)
   Tmavý RFA štýl, červený akcent. Vpravo dole.
   ═══════════════════════════════════════════════════════════ */
.lang-switcher {
  position: fixed;
  bottom: 24px; right: 24px;
  z-index: 900;
  font-family: var(--font-mono);
}
.lang-switcher.lang-switcher--raised { bottom: 150px; transition: bottom 0.4s ease; }
@media (max-width: 640px) { .lang-switcher.lang-switcher--raised { bottom: 190px; } }
.lang-switcher-btn {
  display: flex; align-items: center; gap: 9px;
  padding: 11px 16px;
  background: rgba(16,16,18,0.92);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.14);
  color: #F4F1EB;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.12em; font-weight: 500;
  cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
  transition: border-color 0.25s, transform 0.25s, background 0.25s;
}
.lang-switcher-btn:hover { border-color: rgba(225,6,0,0.5); transform: translateY(-2px); background: rgba(20,20,23,0.96); }
.lang-switcher-btn img { width: 22px; height: 16px; object-fit: cover; border-radius: 2px; display: block; }
.lang-switcher-btn .lang-chevron { color: rgba(244,241,235,0.5); transition: transform 0.3s; }
.lang-switcher-btn[aria-expanded="true"] .lang-chevron { transform: rotate(180deg); }

.lang-menu {
  position: absolute; bottom: calc(100% + 10px); right: 0;
  width: 230px;
  background: rgba(16,16,18,0.97);
  backdrop-filter: blur(18px);
  border: 1px solid rgba(255,255,255,0.12);
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
  overflow: hidden;
}
.lang-menu.show { opacity: 1; visibility: visible; transform: translateY(0); }
.lang-menu-head {
  padding: 12px 16px 10px;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--c-blood, #E10600);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.lang-list { max-height: 320px; overflow-y: auto; padding: 6px; }
.lang-list::-webkit-scrollbar { width: 6px; }
.lang-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 3px; }
.lang-item {
  display: flex; align-items: center; gap: 12px; width: 100%;
  padding: 9px 12px;
  background: transparent; border: none; cursor: pointer;
  color: rgba(244,241,235,0.85);
  font-family: var(--font-body); font-size: 14px; text-align: left;
  transition: background 0.18s, color 0.18s;
}
.lang-item:hover { background: rgba(255,255,255,0.06); color: #F4F1EB; }
.lang-item.active { background: rgba(225,6,0,0.16); color: #FF6B66; font-weight: 600; }
.lang-item img { width: 24px; height: 18px; object-fit: cover; border-radius: 2px; flex-shrink: 0; border: 1px solid rgba(255,255,255,0.1); }
.lang-menu-foot {
  display: flex; align-items: center; gap: 6px;
  padding: 9px 16px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 10px; letter-spacing: 0.08em;
  color: rgba(244,241,235,0.4);
}

/* Skry Google Translate panel/banner (čistý vzhľad) */
.goog-te-banner-frame, .skiptranslate, iframe.skiptranslate { display: none !important; }
body { top: 0 !important; }
.goog-te-gadget { display: none !important; }
#goog-gt-tt, .goog-te-balloon-frame { display: none !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Mobil */
@media (max-width: 640px) {
  .lang-switcher { bottom: 16px; right: 16px; }
  .lang-switcher-btn { padding: 9px 12px; }
  .lang-menu { width: 210px; }
}



/* ═══════════════════════════════════════════════════════════
   HERO — dvojstĺpec: texty vľavo, obrázok vpravo (desktop)
   Mobil: obrázok hore, texty pod. Obrázok 16:9.
   ═══════════════════════════════════════════════════════════ */
.hero-img-wrap {
  position: relative;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.08);
}
.hero-img-wrap img { display: block; width: 100%; height: auto; }
/* jemné atmosférické rozmazané pozadie z plagátu za celým hero */
.hero-bg-blur {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  filter: blur(60px) brightness(0.28) saturate(1.1);
  transform: scale(1.2);
  opacity: 0.55;
}


/* ═══════════════════════════════════════════════════════════
   HERO — rozmazané pozadie + trailer eventu
   Vľavo texty, vpravo YouTube trailer a tlačidlá.
   ═══════════════════════════════════════════════════════════ */
/* výrazne rozmazané pozadie z plagátu eventu */
.hero-bg-blur {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  filter: blur(70px) brightness(0.3) saturate(1.15);
  transform: scale(1.25);
}
.hero-bg-blur::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,10,11,0.55), rgba(10,10,11,0.75));
}

/* náhľad traileru (16:9) */
.hero-trailer {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #0A0A0B;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 30px 80px rgba(0,0,0,0.5);
  cursor: pointer;
}
.hero-trailer--static { cursor: default; }
.hero-trailer img,
.hero-trailer iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; border: 0; display: block;
}
.hero-trailer-play {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.3s;
}
.hero-trailer-play::before {
  content: ''; position: absolute; inset: 0;
  background: rgba(10,10,11,0.25);
  transition: background 0.3s;
}
.hero-trailer-play svg {
  position: relative;
  width: 30px; height: 30px; color: #fff; margin-left: 5px;
}
.hero-trailer-play {
  --size: 74px;
}
.hero-trailer-play::after {
  content: ''; position: absolute;
  width: var(--size); height: var(--size);
  border-radius: 50%;
  background: rgba(225,6,0,0.9);
  border: 2px solid rgba(255,255,255,0.9);
  box-shadow: 0 10px 30px rgba(225,6,0,0.4);
  transition: transform 0.3s, background 0.3s;
}
.hero-trailer-play svg { z-index: 2; }
.hero-trailer:hover .hero-trailer-play::after { transform: scale(1.08); background: #E10600; }
.hero-trailer:hover .hero-trailer-play::before { background: rgba(10,10,11,0.1); }

/* ── Fight card v sidebare (kompaktný variant) ── */
.fc-mini {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  transition: border-color 0.25s, background 0.25s;
}
.fc-mini:hover { border-color: rgba(225,6,0,0.35); background: rgba(255,255,255,0.06); }
:root:not([data-theme="dark"]) .fc-mini {
  background: rgba(10,10,11,0.04);
  border-color: rgba(10,10,11,0.1);
}
:root:not([data-theme="dark"]) .fc-mini:hover { background: rgba(10,10,11,0.06); }

/* ═══════════════════════════════════════════════════════════
   RFA HLASOVANIE — výber kandidáta
   ═══════════════════════════════════════════════════════════ */
.vote-option { display: block; cursor: pointer; position: relative; }
.vote-option input { position: absolute; opacity: 0; width: 0; height: 0; }
.vote-option-inner {
  display: flex; align-items: center; gap: 14px;
  padding: 16px;
  height: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  transition: border-color 0.2s, background 0.2s, transform 0.2s;
}
.vote-option:hover .vote-option-inner { border-color: rgba(225,6,0,0.45); transform: translateY(-2px); }
.vote-option input:focus-visible + .vote-option-inner { outline: 2px solid #E10600; outline-offset: 2px; }
.vote-option input:checked + .vote-option-inner {
  border-color: #E10600;
  background: rgba(225,6,0,0.14);
}
.vote-option-img { flex-shrink: 0; width: 56px; height: 56px; overflow: hidden; border-radius: 2px; }
.vote-option-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vote-option-body { flex: 1; min-width: 0; }
.vote-option-label {
  display: block;
  font-family: var(--font-display);
  font-size: 20px; line-height: 1.15;
}
.vote-option-sub {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: 0.06em;
  color: rgba(244,241,235,0.55);
  margin-top: 4px;
}
.vote-option-check {
  flex-shrink: 0;
  width: 26px; height: 26px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.25);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, border-color 0.2s;
}
.vote-option-check svg { width: 14px; height: 14px; color: #fff; opacity: 0; transition: opacity 0.2s; }
.vote-option input:checked + .vote-option-inner .vote-option-check { background: #E10600; border-color: #E10600; }
.vote-option input:checked + .vote-option-inner .vote-option-check svg { opacity: 1; }

.voting-partner-logo { max-height: 56px; width: auto; display: block; }

/* Light režim */
:root:not([data-theme="dark"]) .vote-option-inner {
  background: rgba(10,10,11,0.03);
  border-color: rgba(10,10,11,0.12);
}
:root:not([data-theme="dark"]) .vote-option input:checked + .vote-option-inner {
  background: rgba(225,6,0,0.08);
  border-color: #E10600;
}
:root:not([data-theme="dark"]) .vote-option-sub { color: rgba(10,10,11,0.55); }
:root:not([data-theme="dark"]) .vote-option-check { border-color: rgba(10,10,11,0.25); }

/* ── Výsledky v admine ── */
.vote-bar { height: 8px; background: rgba(255,255,255,0.08); overflow: hidden; border-radius: 999px; }
.vote-bar span { display: block; height: 100%; background: #E10600; }
