/* KOMENDANT — HERO + STATYSTYKI V3. Tylko strona publiczna. */

/* POPRAWKA: stary blysk V2 wychodzil poza obszar logo. */
body.v3 .hero .k-clean-mark::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
/* Błysk ma swoj ograniczony obszar, nie zaslania ani tekstu hero, ani polowy strony. */
body.v3 .hero .k-clean-mark {
  isolation: isolate;
}
body.v3 .hero .km3-logo-sweep {
  position: absolute;
  left: 10%; right: 10%; top: 52%; height: 27%;
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
  border-radius: 10px;
  -webkit-mask-image: radial-gradient(ellipse 76% 95% at 50% 50%,#000 47%, transparent 98%);
  mask-image: radial-gradient(ellipse 76% 95% at 50% 50%,#000 47%, transparent 98%);
  opacity: .85;
}
body.v3 .hero .km3-logo-sweep::before {
  content:'';
  position:absolute;
  top:-40%;bottom:-40%;left:-35%;
  width:22%;
  transform:translateX(0) skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(242,208,255,.07) 12%,rgba(250,225,255,.36) 50%,rgba(185,115,245,.10) 82%,transparent);
  filter: blur(1px);
  animation: km3-local-sweep 7.1s ease-in-out 1.2s infinite;
}
@keyframes km3-local-sweep {
  0%, 48%, 100% { transform: translateX(0) skewX(-18deg); opacity: 0; }
  53% { opacity: .65; }
  66% { transform: translateX(570%) skewX(-18deg); opacity: .93; }
  72% { transform: translateX(635%) skewX(-18deg); opacity: 0; }
}
body.v3 .hero .k-clean-mark img[src*="komendant-logo-home"] {
  filter: brightness(1.18) contrast(1.09) saturate(1.08)
    drop-shadow(0 16px 27px rgba(0,0,0,.32))
    drop-shadow(0 0 13px rgba(155,92,222,.18)) !important;
  transition: filter .42s ease !important;
}
body.v3 .hero .k-clean-mark:hover img[src*="komendant-logo-home"] {
  filter: brightness(1.29) contrast(1.10) saturate(1.12)
    drop-shadow(0 16px 30px rgba(0,0,0,.34))
    drop-shadow(0 0 18px rgba(182,116,239,.27)) !important;
}

/* Przesuniecie statystyk blizej sekcji hero — bez zmiany ukladu logo. */
body.v3 .hero.container {
  min-height: 0 !important;
  padding-bottom: 16px !important;
}
body.v3 #statystyki.section-stats {
  position: relative;
  z-index: 2;
  margin-top: -16px !important;
  padding: 0 0 38px !important;
  background: transparent !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(172,136,240,.13) !important;
}
body.v3 #statystyki > .container { position: relative; }
body.v3 #statystyki .section-topline,
body.v3 #statystyki .section-heading { display: none !important; }
body.v3 #statystyki .stats-grid {
  display: grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px !important;
}
body.v3 #statystyki .stat-card {
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  min-height:108px !important;
  padding:16px 10px !important;
  gap:6px !important;
  overflow: hidden;
  border:1px solid rgba(155,119,213,.24) !important;
  border-radius:14px !important;
  background:linear-gradient(160deg,rgba(30,22,49,.76),rgba(13,12,27,.93)) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.09) !important;
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
body.v3 #statystyki .stat-card:hover {
  transform:translateY(-3px) !important;
  border-color:rgba(188,151,246,.54) !important;
  box-shadow:0 12px 28px rgba(84,45,142,.14) !important;
}
body.v3 #statystyki .stat-card::before,
body.v3 #statystyki .stat-card::after {
  content: none !important;
  display:none !important;
}
body.v3 #statystyki .stat-card .card-icon {display:none !important;}
body.v3 #statystyki .stat-card strong:not(.stat-status) {
  margin:0 !important;
  font-size:clamp(27px,2.5vw,34px) !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
  color:#fbf9ff !important;
  font-variant-numeric:tabular-nums;
}
body.v3 #statystyki .stat-card > span:last-child {
  color:#bcb2cb !important;
  font-size:12px !important;
  line-height:1.35 !important;
  margin:0 !important;
}

/* ONLINE / OFFLINE: tekst pozostaje w #status, bo JS/API go aktualizuje. */
body.v3 #statystyki .km3-status-main {
  position:relative;
  display:grid;
  place-items:center;
  width: min(100%, 210px);
  height:38px;
  margin:0;
  isolation:isolate;
}
body.v3 #statystyki .km3-status-main > #status {
  position:relative;
  z-index:1;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#fdfbff !important;
  font-weight:800 !important;
  font-size:clamp(20px,2.1vw,26px) !important;
  line-height:38px !important;
  text-align:center !important;
  letter-spacing:-.025em !important;
  white-space:nowrap;
  text-transform:uppercase !important;
}
body.v3 #statystyki .stat-status.k4-online::before { content:none !important;display:none !important; }
body.v3 #statystyki .km3-heartline {
  position:absolute;
  z-index:2;
  inset:0;
  width:100%;height:100%;
  overflow:hidden;
  pointer-events:none;
}
body.v3 #statystyki .km3-heartline .km3-base {
  stroke:#d1b1ff;
  stroke-width:1.2;
  opacity:.32;
}
body.v3 #statystyki .km3-heartline .km3-travel {
  fill:none;
  stroke:#f2c4ff;
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 0 2.8px rgba(222,149,255,.95));
  animation:km3-heartbeat-move 3.4s linear infinite;
}
@keyframes km3-heartbeat-move {
  from {transform:translateX(-100px);}
  to {transform:translateX(225px);}
}
body.v3 #statystyki .stat-card[data-km3-state="offline"] .km3-base {
  stroke:#f2576f;
  stroke-width:2.2;
  opacity:1;
  filter:drop-shadow(0 0 3px rgba(242,87,111,.45));
}
body.v3 #statystyki .stat-card[data-km3-state="offline"] .km3-travel {display:none !important;animation:none !important;}
body.v3 #statystyki .stat-card[data-km3-state="unknown"] .km3-base {stroke:#8e879a;opacity:.3;}
body.v3 #statystyki .stat-card[data-km3-state="unknown"] .km3-travel {display:none !important;animation:none !important;}

@media(max-width:900px) {
  body.v3 .hero.container {padding-bottom:20px !important;}
  body.v3 #statystyki.section-stats {margin-top:0 !important;}
}
@media(max-width:700px) {
  body.v3 .hero.container {padding-bottom:20px !important;}
  body.v3 #statystyki.section-stats {padding-bottom:28px !important;}
  body.v3 #statystyki .stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px !important;}
  body.v3 #statystyki .stat-card {min-height:102px !important;padding:12px 7px !important;}
  body.v3 #statystyki .stat-card strong:not(.stat-status) {font-size:29px !important;}
  body.v3 #statystyki .km3-status-main {height:34px;width:min(100%,180px);}
  body.v3 #statystyki .km3-status-main > #status {font-size:21px !important;line-height:34px !important;}
}
@media(max-width:380px) {
  body.v3 #statystyki .stat-card {min-height:98px !important;}
  body.v3 #statystyki .stat-card > span:last-child {font-size:11px !important;}
}
@media(prefers-reduced-motion:reduce) {
  body.v3 .hero .km3-logo-sweep::before,
  body.v3 #statystyki .km3-heartline .km3-travel {animation:none !important;}
  body.v3 #statystyki .km3-heartline .km3-travel {display:none !important;}
}
