/* === Hypercon Page Loader (stroke only + slide-down) === */

/* Overlay */
.hc-pl{
  position: fixed;
  inset: 0;
  z-index: 999999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000c9;
  color: #fff;
  transform: translateY(0);
  transition:
    transform .6s cubic-bezier(.22,.61,.36,1),
    opacity .3s ease,
    visibility .3s ease;
  backdrop-filter: blur(20px);
}
.hc-pl--slideout{
  transform: translateY(100%);
  opacity: 0;
  visibility: hidden;
}

/* Wewnętrzny układ + bezpieczny padding, żeby nic nie „obcinało” */
.hc-pl__inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 16px; /* bufor przeciwko clippingowi krawędzi */
}

/* Logo (SVG) – ukryte do startu animacji, bez przycinania stroke */
.hc-pl__logo{
  width: 220px;
  height: auto;
  display: block;
  overflow: visible;               /* kluczowe: pozwala malować poza box */
  opacity: 0;                      /* brak flasha na starcie */
  transition: opacity .3s ease;
}
.hc-pl__logo.is-ready{
  opacity: 1;                      /* pokazuj dopiero, gdy JS odpala animację */
}

/* Tylko stroke (bez fill) dla ścieżek logo */
.hc-stroke{
  stroke: #fff;
  fill: transparent;
  stroke-width: 1.6px;             /* możesz wrócić do 1.8 jeśli wolisz */
  stroke-linejoin: round;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke; /* stroke nie skaluje się z rozmiarem SVG */
  shape-rendering: geometricPrecision;
}

/* Blokuj scroll podczas ładowania */
html.hc-loading,
body.hc-loading{
  overflow: hidden;
  overscroll-behavior: none;
}

/* Sprzątanie po starym pasku postępu */
.hc-pl__bar,
.hc-pl__percent{
  display: none !important;
}

/* Preferencje dostępności */
@media (prefers-reduced-motion: reduce){
  .hc-pl{ transition: none; }
}
