/* Responsive Anpassungen und viewportabhängige Layout-Korrekturen. */

@media (max-width: 960px) {
  .hero { padding: 28px 20px 20px; gap: 24px; }
  .hero-intro, .hero-showcase, .cards-grid, .prizes-grid { grid-template-columns: 1fr; }
  .hero-brand {
    min-height: 0;
    max-width: 320px;
    margin: 0 auto;
  }
  .hero-brand img {
    width: min(100%, 300px);
  }
  .hero-right { height: 520px; min-height: 420px; width: 100%; }
  .hero-right::before { background: radial-gradient(circle at 50% 38%, rgba(255,255,255,0.05) 0%, transparent 72%); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .stat-cell { padding: 22px 12px; }
  .stat-number { font-size: clamp(15px, 5vw, 26px); }
  .rules-layout, .scout-inner { grid-template-columns: minmax(0, 1fr); }
  .rules-monitor { position: static; }
  .scout-left { padding: 48px 24px 32px; }
  .scout-phone-img { width: 110px; }
  .scout-right { padding: 32px 24px 48px; border-left: none; border-top: 3px solid rgba(238,114,2,0.25); }
  .section, .quote-section, .cta-section { padding: 48px 24px; }
  .section-divider { padding: 32px 24px 0; }
  .section-divider--trash { gap: 10px; }
  .divider-ornament {
    width: 22px;
    height: 22px;
  }
  .mission-briefing-board { margin-bottom: 24px; }
  .mission-briefing-title { margin-bottom: 14px; }
  .mission-briefing-text { font-size: 15px; }
  .quote-inner-content { max-width: 680px; margin: 0 auto; }
.quote-block { padding: 0 30px; }
  .quote-trash {
    width: 40px;
    height: 40px;
    opacity: 0.12;
  }
  .quote-trash.left {
    left: -4px;
    top: 26px;
  }
  .quote-trash.right {
    right: -4px;
    bottom: -6px;
  }
  .network-map-board { padding: 10px; }
  .network-hotspot-tooltip { min-width: 144px; max-width: 180px; }
  .network-hotspot {
    width: var(--hotspot-width-mobile, 34px);
    height: var(--hotspot-height-mobile, 22px);
  }
  .network-hotspot::after {
    width: 7px;
    height: 7px;
  }
  .countdown-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .countdown-unit { padding: 8px 0; }
  .countdown-value { font-size: clamp(14px, 7vw, 24px); margin-bottom: 8px; }
  .countdown-text { font-size: 6px; letter-spacing: 1px; }
  .share-stage { padding: 24px 20px; }
  .share-actions { padding: 20px; }
  .share-button-row { flex-direction: column; }
  .share-button-row .btn-px,
  .share-button-row .btn-px-outline { width: 100%; text-align: center; }
  /* Highscore auf Tablets */
  .highscore-header { padding: 0; max-width: 560px; }
  .highscore-board  { padding: 14px 16px 20px; }
  .highscore-sharebar { padding: 14px 16px 18px; gap: 10px; }
  .highscore-cta { margin-top: 36px; }
  .benchmark-console { width: min(100%, 430px); }
  /* Abteilung ausblenden, Spalten enger setzen */
  .hs2-table {
    grid-template-columns: 28px 74px 1fr 64px;
  }
  .highscore-board.is-dynamic .hs2-table {
    grid-template-columns: 34px minmax(0, 1fr) 80px 60px;
  }
  .hs2-head span, .hs2-row span { font-size: 7px; padding: 8px 6px 8px 0; }
  .hs2-row.r1 span { font-size: 8px; }
  .hs2-c-score { padding-right: 12px !important; }
  .hs2-c-dept { display: none; }
  .hs2-head .hs2-c-dept { display: none; }
  .hs2-title { font-size: 9px; letter-spacing: 2px; }

}

@media (max-width: 480px) {
  .benchmark-console { width: min(100%, 340px); }
  .highscore-sharebar { padding: 14px 14px 16px; }
  .btn-px-outline[data-copy-mission] {
    width: 100%;
    justify-content: center;
  }
  /* Highscore auf kleinen Mobilgeräten */
  .hs2-table {
    grid-template-columns: 22px 60px 1fr 52px;
  }
  /* is-dynamic: RANG | NAME | PUNKTE | STUFE – alle 4 Spalten behalten */
  .highscore-board.is-dynamic .hs2-table {
    grid-template-columns: 22px minmax(0,1fr) 58px 54px;
  }
  .hs2-head span, .hs2-row span { font-size: 6px; padding: 7px 4px 7px 0; }
  .hs2-row.r1 span { font-size: 7px; }
  .hs2-c-score { padding-right: 6px !important; letter-spacing: 0; }
  /* Diff-Badge auf Mobil: klein aber lesbar */
  .hs2-c-diff span {
    padding: 1px 4px !important;
    font-size: 5.5px !important;
    letter-spacing: 0 !important;
  }
  .highscore-board { padding: 10px 12px 16px; }
  /* Mehr Platz oben für absolut positionierte Live-Bar */
  .hs2-title { font-size: 8px; letter-spacing: 1.5px; margin-bottom: 2px; padding-top: 16px; }
}

@media (max-width: 960px) {
  .rnv-tut-facts { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .rnv-tut-section { padding: 44px 24px; }
  .rnv-tut-facts   { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .rnv-tut-fact-num { font-size: clamp(16px, 5vw, 22px); }
}

/* FAHNDUNGSTAFEL: responsive */
@media (max-width: 720px) {
  .wanted-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .wanted-grid { grid-template-columns: 1fr; }
  .wanted-mug { height: 132px; }
}
