/* ═══════════════════════════════════════════════
   VYHRAJ COMPETITION DETAIL — Dark Theme
   Scoped to body.vyhraj-detail only
   ═══════════════════════════════════════════════ */

@import url('https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@500,700,800&f[]=satoshi@400,500,700&display=swap');

body.vyhraj-detail {
  --bg:        #0f1629;
  --surface:   #18233d;
  --surface-2: #202d4d;
  --line:      rgba(255,255,255,.08);
  --text:      #eef3ff;
  --muted:     #9bacd3;
  --blue:      #3d6df2;
  --blue-l:    #6b96ff;
  --amber:     #f5a623;
  --purple:    #7b2fbe;
  --green:     #30c48d;
  --danger:    #ff6b6b;
  --radius:    18px;
  --shadow:    0 8px 24px rgba(0,0,0,.22);
}

body.vyhraj-detail {
  font-family: "Satoshi", sans-serif;
  background:
    radial-gradient(circle at top right, rgba(61,109,242,.10),
                    transparent 30%),
    var(--bg);
  color: var(--text);
}

/* ── Page wrapper ─────────────────────────────── */
body.vyhraj-detail .det-wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 24px 16px 48px;
  min-height: auto;
}

/* ── Category pill row ────────────────────────── */
body.vyhraj-detail .cat-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

body.vyhraj-detail .cat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none !important;
  transition: background .14s, color .14s;
  white-space: nowrap;
}

body.vyhraj-detail .cat-pill:hover {
  background: var(--surface-2);
  color: #fff;
}

body.vyhraj-detail .cat-pill.all {
  border-color: rgba(61,109,242,.3);
  color: var(--blue-l);
  background: rgba(61,109,242,.08);
}

body.vyhraj-detail .cat-pill.is-active {
  background: rgba(61,109,242,.15);
  border-color: rgba(61,109,242,.4);
  color: var(--blue-l);
}

/* ── Success alert ────────────────────────────── */
body.vyhraj-detail .det-alert-success {
  padding: 14px 20px;
  border-radius: 14px;
  background: rgba(48,196,141,.12);
  border: 1px solid rgba(48,196,141,.3);
  color: #6ee7b7;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

body.vyhraj-detail .det-alert-error {
  padding: 14px 20px;
  border-radius: 14px;
  background: rgba(224,85,85,.12);
  border: 1px solid rgba(224,85,85,.35);
  color: #fca5a5;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 10px;
}

body.vyhraj-detail .det-success-banner .alert-success {
  background: rgba(48,196,141,.12) !important;
  border: 1px solid rgba(48,196,141,.3) !important;
  color: #6ee7b7 !important;
  border-radius: 14px !important;
}

body.vyhraj-detail .det-success-banner .alert-heading,
body.vyhraj-detail .det-success-banner .h3 {
  color: #e8fff5 !important;
}

body.vyhraj-detail .det-success-banner .close {
  color: #6ee7b7 !important;
}

/* ── Missing competition alert ────────────────── */
body.vyhraj-detail .det-alert-missing {
  text-align: center;
  padding: 60px 24px;
  color: var(--muted);
}

body.vyhraj-detail .det-alert-missing h2 {
  font-family: "Cabinet Grotesk", sans-serif;
  font-weight: 800;
  color: #fff;
  margin-bottom: 12px;
}

body.vyhraj-detail .det-missing-state .alert-warning {
  background: rgba(245,166,35,.12) !important;
  border: 1px solid rgba(245,166,35,.35) !important;
  color: #ffd37a !important;
  border-radius: 14px !important;
}

body.vyhraj-detail .det-missing-state .alert-heading,
body.vyhraj-detail .det-missing-state .h4 {
  color: #fff !important;
}

/* ── Main 2-column layout ─────────────────────── */
body.vyhraj-detail .det-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 24px;
  align-items: start;
}

@media (max-width: 900px) {
  body.vyhraj-detail .det-layout {
    grid-template-columns: 1fr;
  }
}

/* ── Main column ──────────────────────────────── */
body.vyhraj-detail .det-main {
  min-width: 0;
}

/* ── CompetitionCardDetail wrapper ───────────── */
body.vyhraj-detail .det-card-wrap {
  background: #18233d;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 18px;
  box-shadow: 0 8px 32px rgba(0,0,0,.3);
  overflow: hidden;
}

body.vyhraj-detail .det-card-wrap section.bg-light {
  background: transparent !important;
}

body.vyhraj-detail .det-card-wrap section.py-4 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

body.vyhraj-detail .det-card-wrap .card,
body.vyhraj-detail .det-card-wrap > div > section,
body.vyhraj-detail .det-card-wrap > div {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

body.vyhraj-detail .det-card-wrap .det-register-nudge {
  display: block;
  margin-top: 14px;
  text-align: center;
  color: #9bacd3 !important;
  font-size: 14px;
  text-decoration: none;
}

body.vyhraj-detail .det-card-wrap .det-register-nudge:hover {
  color: #fff !important;
  text-decoration: underline;
}

/* Deadline badge — single row on detail page */
body.vyhraj-detail .det-card-wrap .det-deadline-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

body.vyhraj-detail .det-card-wrap .det-deadline-badge--active {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #1a1a1a;
}

body.vyhraj-detail .det-card-wrap .det-deadline-badge--ended {
  background: rgba(34, 197, 94, 0.95);
  color: #1a1a1a;
}

body.vyhraj-detail .det-card-wrap .det-deadline-badge .det-deadline-label,
body.vyhraj-detail .det-card-wrap .det-deadline-badge .det-deadline-when {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

body.vyhraj-detail .det-card-wrap .det-deadline-badge .det-deadline-when {
  font-weight: 800;
}

body.vyhraj-detail .det-card-wrap .det-hero-media {
  position: relative;
  width: 100%;
  max-width: 920px;
  margin: 0 auto 1.75rem;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  background: #141c26;
}

body.vyhraj-detail .det-card-wrap .det-hero-media .det-deadline-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  margin-bottom: 0;
}

body.vyhraj-detail .det-card-wrap .det-hero-media .det-assigned-check {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  margin: 0;
}

body.vyhraj-detail .det-card-wrap .det-hero-media .det-hero-img {
  width: 100%;
  height: auto;
  max-height: none;
  display: block;
  border-radius: 0 !important;
}

@media (min-width: 992px) {
  body.vyhraj-detail .det-card-wrap .det-hero-media {
    max-width: 100%;
  }
}

body.vyhraj-detail .det-card-wrap .det-assigned-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-left: 8px;
  margin-bottom: 12px;
  border-radius: 50%;
  background: #22c55e;
  color: #1a1a1a;
  vertical-align: middle;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

body.vyhraj-detail .det-card-wrap .det-assigned-check .fe-check {
  font-size: 18px;
  font-weight: 700;
}

/* socialType label — chip */
body.vyhraj-detail .det-card-wrap h5.det-source-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: #9bacd3 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

/* Notification instruction copy — secondary */
body.vyhraj-detail .det-card-wrap p.notif-instruction {
  color: #7a8ba8 !important;
  font-size: 13px !important;
  line-height: 1.6;
  border-left: 2px solid rgba(255,255,255,.08);
  padding-left: 12px;
  margin-top: 16px;
}

body.vyhraj-detail .det-card-wrap p.notif-instruction strong {
  color: inherit !important;
  font-weight: 600;
}

body.vyhraj-detail .det-card-wrap p.notif-instruction a {
  color: #6b96ff !important;
  text-decoration: underline;
}

/* Primary CTA — col-md-7 (Chcem vyhrať / Pozri rebríček) */
body.vyhraj-detail .det-card-wrap .col-12.col-md-7 .btn.btn-primary.btn-block,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-7 .btn-block.btn-primary {
  background: linear-gradient(135deg, #3d6df2, #7b2fbe) !important;
  border: none !important;
  color: #fff !important;
  font-weight: 800;
  font-size: 16px;
  padding: 14px 20px;
  border-radius: 999px !important;
  letter-spacing: .02em;
  box-shadow: 0 4px 20px rgba(61,109,242,.3);
  transition: filter .15s, transform .15s;
}

body.vyhraj-detail .det-card-wrap .col-12.col-md-7 .btn.btn-primary.btn-block:hover,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-7 .btn-block.btn-primary:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

body.vyhraj-detail .det-card-wrap .col-12.col-md-7 .btn.btn-primary.btn-block h3,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-7 .btn-block.btn-primary h3 {
  color: #fff !important;
}

/* Share — col-md-5 secondary ghost */
body.vyhraj-detail .det-card-wrap .col-12.col-md-5 .btn.btn-primary.btn-block,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 .btn-block.btn-primary {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #9bacd3 !important;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 20px;
  border-radius: 999px !important;
  box-shadow: none !important;
  transition: border-color .15s, color .15s;
}

body.vyhraj-detail .det-card-wrap .col-12.col-md-5 .btn.btn-primary.btn-block:hover,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 .btn-block.btn-primary:hover {
  border-color: rgba(255,255,255,.25) !important;
  color: #eef3ff !important;
  filter: none;
  transform: none;
}

body.vyhraj-detail .det-card-wrap .col-12.col-md-5 .btn.btn-primary.btn-block h3,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 .btn-block.btn-primary h3 {
  color: inherit !important;
}

body.vyhraj-detail .det-card-wrap img.card-img,
body.vyhraj-detail .det-card-wrap img.card-img-top,
body.vyhraj-detail .det-card-wrap .card-zoom,
body.vyhraj-detail .det-card-wrap img.figure-img,
body.vyhraj-detail .det-card-wrap img.img-fluid {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0 !important;
}

body.vyhraj-detail .det-card-wrap .card-body {
  background: var(--surface) !important;
  padding: 24px !important;
}

body.vyhraj-detail .det-card-wrap .card-title,
body.vyhraj-detail .det-card-wrap h1,
body.vyhraj-detail .det-card-wrap h2,
body.vyhraj-detail .det-card-wrap h3 {
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 800 !important;
  color: #fff !important;
}

body.vyhraj-detail .det-card-wrap .btn h3 {
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 800 !important;
  color: inherit !important;
}

body.vyhraj-detail .det-card-wrap .card-text,
body.vyhraj-detail .det-card-wrap p:not(.notif-instruction) {
  color: var(--muted) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.vyhraj-detail .det-card-wrap small,
body.vyhraj-detail .det-card-wrap .text-muted {
  color: var(--muted) !important;
}

body.vyhraj-detail .det-card-wrap .badge {
  border-radius: 999px !important;
  font-size: 11px !important;
  padding: 4px 10px !important;
}

body.vyhraj-detail .det-card-wrap .badge-danger {
  background: rgba(255,107,107,.2) !important;
  color: #ffb3b3 !important;
  border: 1px solid rgba(255,107,107,.3) !important;
}

body.vyhraj-detail .det-card-wrap .badge-success {
  background: rgba(48,196,141,.2) !important;
  color: #6ee7b7 !important;
  border: 1px solid rgba(48,196,141,.3) !important;
}

body.vyhraj-detail .det-card-wrap .badge-warning {
  background: rgba(245,166,35,.2) !important;
  color: #ffd37a !important;
  border: 1px solid rgba(245,166,35,.3) !important;
}

body.vyhraj-detail .det-card-wrap .badge-secondary {
  background: rgba(255,255,255,.08) !important;
  color: var(--muted) !important;
  border: 1px solid var(--line) !important;
}

body.vyhraj-detail .det-card-wrap .btn-primary,
body.vyhraj-detail .det-card-wrap .btn-success {
  border-radius: 999px !important;
  font-weight: 700 !important;
  padding: 12px 24px !important;
  font-size: 15px !important;
  transition: filter .15s, transform .15s !important;
}

body.vyhraj-detail .det-card-wrap .btn-primary {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  color: #fff !important;
}

body.vyhraj-detail .det-card-wrap .btn-primary:hover {
  filter: brightness(1.12) !important;
  transform: translateY(-1px) !important;
}

body.vyhraj-detail .det-card-wrap .btn-success {
  background: var(--green) !important;
  border-color: var(--green) !important;
  color: #0a2010 !important;
}

body.vyhraj-detail .det-card-wrap .btn-success:hover {
  filter: brightness(1.1) !important;
  transform: translateY(-1px) !important;
}

body.vyhraj-detail .det-card-wrap .btn-warning {
  background: var(--amber) !important;
  border-color: var(--amber) !important;
  color: #1a0a00 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

body.vyhraj-detail .det-card-wrap .btn-danger {
  background: rgba(255,107,107,.15) !important;
  border-color: rgba(255,107,107,.4) !important;
  color: var(--danger) !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
}

body.vyhraj-detail .det-card-wrap .btn-outline-secondary,
body.vyhraj-detail .det-card-wrap .btn-secondary {
  border-radius: 999px !important;
  border-color: var(--line) !important;
  background: rgba(255,255,255,.05) !important;
  color: var(--muted) !important;
}

body.vyhraj-detail .det-card-wrap .btn-outline-secondary:hover {
  background: rgba(255,255,255,.10) !important;
  color: #fff !important;
}

body.vyhraj-detail .det-card-wrap .btn-facebook,
body.vyhraj-detail .det-card-wrap a[href*="facebook"],
body.vyhraj-detail .det-card-wrap a[href*="zdielaj"] {
  background: #1877f2 !important;
  border-color: #1877f2 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
}

/* Share column: ghost style wins over facebook/zdielaj rule above */
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 a.btn.btn-primary.btn-block[href*="facebook"],
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 a.btn.btn-primary.btn-block[href*="zdielaj"] {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #9bacd3 !important;
  font-weight: 700 !important;
}

body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 a.btn.btn-primary.btn-block[href*="facebook"]:hover,
body.vyhraj-detail .det-card-wrap .row .col-12.col-md-5 a.btn.btn-primary.btn-block[href*="zdielaj"]:hover {
  border-color: rgba(255,255,255,.25) !important;
  color: #eef3ff !important;
}

body.vyhraj-detail .det-card-wrap .countdown,
body.vyhraj-detail .det-card-wrap [data-countdown],
body.vyhraj-detail .det-card-wrap .timer {
  color: var(--amber) !important;
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 800 !important;
}

body.vyhraj-detail .det-card-wrap strong,
body.vyhraj-detail .det-card-wrap b {
  color: rgba(255,255,255,.9) !important;
}

body.vyhraj-detail .det-card-wrap p.notif-instruction strong,
body.vyhraj-detail .det-card-wrap p.notif-instruction b {
  color: inherit !important;
}

body.vyhraj-detail .det-card-wrap a {
  color: var(--blue-l) !important;
}

body.vyhraj-detail .det-card-wrap a:hover {
  color: #fff !important;
}

body.vyhraj-detail .det-card-wrap .card-footer {
  background: rgba(255,255,255,.03) !important;
  border-top: 1px solid var(--line) !important;
  padding: 14px 24px !important;
}

body.vyhraj-detail .det-card-wrap .list-group-item {
  background: var(--surface-2) !important;
  border-color: var(--line) !important;
  color: var(--text) !important;
}

body.vyhraj-detail .det-card-wrap .alert-warning {
  background: rgba(245,166,35,.1) !important;
  border-color: rgba(245,166,35,.3) !important;
  color: #ffd37a !important;
  border-radius: 14px !important;
}

body.vyhraj-detail .det-card-wrap .alert-info {
  background: rgba(61,109,242,.1) !important;
  border-color: rgba(61,109,242,.25) !important;
  color: #a0c0ff !important;
  border-radius: 14px !important;
}

body.vyhraj-detail .det-card-wrap .alert-success {
  background: rgba(48,196,141,.1) !important;
  border-color: rgba(48,196,141,.3) !important;
  color: #6ee7b7 !important;
  border-radius: 14px !important;
}

/* ── Sidebar ──────────────────────────────────── */
body.vyhraj-detail .det-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 80px;
}

@media (max-width: 900px) {
  body.vyhraj-detail .det-sidebar {
    display: none;
  }
}

body.vyhraj-detail .sidebar-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 20px;
}

body.vyhraj-detail .sidebar-card h4 {
  font-family: "Cabinet Grotesk", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 14px;
}

body.vyhraj-detail .det-sidebar .card,
body.vyhraj-detail .det-sidebar .competition-card {
  background: var(--surface-2) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  transition: transform .18s, box-shadow .18s;
  margin-bottom: 12px;
}

body.vyhraj-detail .det-sidebar .card:last-child {
  margin-bottom: 0;
}

body.vyhraj-detail .det-sidebar .card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.25) !important;
}

body.vyhraj-detail .det-sidebar .card-img,
body.vyhraj-detail .det-sidebar img {
  width: 100%;
  aspect-ratio: 749/628;
  object-fit: cover;
}

body.vyhraj-detail .det-sidebar .card-body {
  background: var(--surface-2) !important;
  padding: 12px !important;
}

body.vyhraj-detail .det-sidebar .card-title,
body.vyhraj-detail .det-sidebar .card-title a {
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.vyhraj-detail .det-sidebar .card-title a:hover {
  color: var(--amber) !important;
}

body.vyhraj-detail .det-sidebar small,
body.vyhraj-detail .det-sidebar .text-muted {
  color: var(--muted) !important;
  font-size: 11px !important;
}

body.vyhraj-detail .det-sidebar .badge {
  border-radius: 999px !important;
  font-size: 10px !important;
  padding: 3px 8px !important;
}

body.vyhraj-detail .det-sidebar .comp-card-media,
body.vyhraj-detail .det-related-mobile .comp-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  background: #141c26;
}

body.vyhraj-detail .det-sidebar .comp-card-media .card-img,
body.vyhraj-detail .det-related-mobile .comp-card-media .card-img {
  display: block;
  width: 100%;
  margin: 0;
}

body.vyhraj-detail .det-sidebar .comp-card-deadline-badge,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: auto;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-align: left;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

body.vyhraj-detail .det-sidebar .comp-card-deadline-badge--active,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge--active {
  background: linear-gradient(135deg, #fbbf24, #f59e0b);
  color: #1a1a1a;
}

body.vyhraj-detail .det-sidebar .comp-card-deadline-badge--ended,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge--ended {
  background: rgba(34, 197, 94, 0.95);
  color: #1a1a1a;
}

body.vyhraj-detail .det-sidebar .comp-card-deadline-badge .deadline-label,
body.vyhraj-detail .det-sidebar .comp-card-deadline-badge .deadline-when,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge .deadline-label,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge .deadline-when {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

body.vyhraj-detail .det-sidebar .comp-card-deadline-badge .deadline-when,
body.vyhraj-detail .det-related-mobile .comp-card-deadline-badge .deadline-when {
  font-weight: 800;
}

/* ── Related competitions (mobile — below main) ─ */
body.vyhraj-detail .det-related-mobile {
  margin-top: 28px;
  display: none;
}

@media (max-width: 900px) {
  body.vyhraj-detail .det-related-mobile {
    display: block;
  }
}

body.vyhraj-detail .related-head {
  font-family: "Cabinet Grotesk", sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
  color: #fff;
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

body.vyhraj-detail .det-related-mobile .related-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

body.vyhraj-detail .det-related-mobile .card {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  overflow: hidden;
  transition: transform .18s;
}

body.vyhraj-detail .det-related-mobile .card:hover {
  transform: translateY(-2px);
}

body.vyhraj-detail .det-related-mobile .card-img,
body.vyhraj-detail .det-related-mobile .comp-card-media .card-img {
  width: 100%;
  aspect-ratio: 749 / 628;
  object-fit: cover;
}

body.vyhraj-detail .det-related-mobile .card-body {
  background: var(--surface) !important;
  padding: 10px !important;
}

body.vyhraj-detail .det-related-mobile .card-title a {
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Adult gate inline dialog (non-fragment) */
body.vyhraj-detail .det-adult-gate .modal-content {
  background: var(--surface-2) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius) !important;
}

body.vyhraj-detail .det-adult-gate .modal-header.bg-warning {
  background: rgba(245,166,35,.2) !important;
  border-bottom: 1px solid rgba(245,166,35,.35) !important;
}

body.vyhraj-detail .det-adult-gate .modal-title {
  color: #ffd37a !important;
}

body.vyhraj-detail .det-adult-gate .modal-footer.bg-warning {
  background: rgba(245,166,35,.15) !important;
  border-top: 1px solid rgba(245,166,35,.35) !important;
}

/* ── Bootstrap modal dark override ───────────── */
body.vyhraj-detail .modal-content {
  background: var(--surface-2) !important;
  border: 1px solid var(--line) !important;
  border-radius: 22px !important;
  color: var(--text) !important;
}

body.vyhraj-detail .modal#myModal .modal-content {
  border-radius: 22px !important;
}

body.vyhraj-detail .modal-header {
  border-bottom: 1px solid var(--line) !important;
}

body.vyhraj-detail .modal-title {
  color: #fff !important;
  font-family: "Cabinet Grotesk", sans-serif !important;
  font-weight: 700 !important;
}

body.vyhraj-detail .modal-footer {
  border-top: 1px solid var(--line) !important;
}

body.vyhraj-detail .modal .btn-primary {
  background: var(--blue) !important;
  border-color: var(--blue) !important;
  border-radius: 999px !important;
}

body.vyhraj-detail .modal .btn-secondary,
body.vyhraj-detail .modal .close {
  color: var(--muted) !important;
}

body.vyhraj-detail .modal#myModal .modal-body.bg-success,
body.vyhraj-detail .modal#myModal .modal-footer.bg-success {
  background: rgba(48,196,141,.25) !important;
}

/* ── Ad slots (keep neutral) ──────────────────── */
body.vyhraj-detail .ad-slot {
  min-height: 0;
  overflow: hidden;
}

/* ── F-27 detail banner (contextual micro-notification) ──
   Thin inline "useful tip" bar on the dark detail surface.
   Reuses the page tokens: --surface / --line / --muted + pill shapes. */
body.vyhraj-detail .detail-banner-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  margin: 0 0 16px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
  font-size: 13px;
  color: var(--text);
}

/* Family pill tag — same shape as .cat-pill, family-tinted accent */
body.vyhraj-detail .detail-banner__tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  white-space: nowrap;
  flex-shrink: 0;
  border: 1px solid rgba(61,109,242,.3);
  background: rgba(61,109,242,.10);
  color: var(--blue-l);
}
body.vyhraj-detail .detail-banner--SOCIAL_PROOF .detail-banner__tag {
  border-color: rgba(48,196,141,.3);
  background: rgba(48,196,141,.10);
  color: #6ee7b7;
}
body.vyhraj-detail .detail-banner--FRESHNESS .detail-banner__tag {
  border-color: rgba(123,47,190,.4);
  background: rgba(123,47,190,.14);
  color: #c9a4ff;
}
body.vyhraj-detail .detail-banner--VALUE_TIP .detail-banner__tag {
  border-color: rgba(245,166,35,.3);
  background: rgba(245,166,35,.10);
  color: #fbbf24;
}

body.vyhraj-detail .detail-banner__text {
  min-width: 0;
  line-height: 1.45;
}
body.vyhraj-detail .detail-banner__title {
  color: var(--text);
  font-weight: 700;
  margin-right: 6px;
}
body.vyhraj-detail .detail-banner__msg {
  color: var(--muted);
  font-weight: 500;
}

/* CTA — outlined secondary pill (same ghost style as the share button) */
body.vyhraj-detail .detail-banner__cta {
  margin-left: auto;
  flex-shrink: 0;
  padding: 6px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  color: var(--text) !important;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
  transition: border-color .15s, background .15s;
}
body.vyhraj-detail .detail-banner__cta:hover {
  border-color: rgba(107,150,255,.5);
  background: rgba(61,109,242,.12);
}

body.vyhraj-detail .detail-banner__dismiss {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--muted);
  font-size: 16px;
  line-height: 1;
  padding: 2px 6px;
  border-radius: 50%;
  transition: color .15s;
}
body.vyhraj-detail .detail-banner__dismiss:hover {
  color: var(--text);
}

/* Mobile: tag + dismiss on top row, text full-width, CTA below the text */
@media (max-width: 576px) {
  body.vyhraj-detail .detail-banner-bar {
    flex-wrap: wrap;
    gap: 8px 12px;
  }
  body.vyhraj-detail .detail-banner__tag { order: 0; }
  body.vyhraj-detail .detail-banner__dismiss { order: 1; margin-left: auto; }
  body.vyhraj-detail .detail-banner__text { order: 2; width: 100%; }
  body.vyhraj-detail .detail-banner__cta { order: 3; margin-left: 0; }
}

/* ── SEO verified-facts card (fragments/seo/detailFacts) ───────────
   Matches the dark sidebar-card design: uppercase muted title, line-divided
   label/value rows, themed text. The .sidebar-card wrapper already supplies
   the surface/border/radius/padding. */
body.vyhraj-detail .det-seo-facts-title {
  font-family: "Cabinet Grotesk", sans-serif;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 14px;
}

body.vyhraj-detail .det-seo-facts-list {
  margin: 0;
}

body.vyhraj-detail .det-seo-fact {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

body.vyhraj-detail .det-seo-fact:last-of-type {
  border-bottom: 0;
  padding-bottom: 0;
}

body.vyhraj-detail .det-seo-fact dt {
  margin: 0;
  color: var(--muted);
  font-weight: 500;
  font-size: 13.5px;
}

body.vyhraj-detail .det-seo-fact dd {
  margin: 0;
  color: var(--text);
  font-weight: 500;
  font-size: 14.5px;
  line-height: 1.45;
}

body.vyhraj-detail .det-seo-facts-summary {
  margin: 14px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13.5px;
  line-height: 1.55;
}

@media (max-width: 520px) {
  body.vyhraj-detail .det-seo-fact {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
