/* ═══════════════════════════════════════════════════════════════════
   ASC Animations — Strzelnica Domaniów
   Dołącza się na wierzch istniejących stylów motywu strona-domaniow.
   Nic nie nadpisuje — tylko dokłada efekty premium / tactical.
   Regulacja w bloku :root poniżej.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  /* Czasy i intensywność — zmień tu, aby przyspieszyć/spowolnić cały zestaw */
  --asc-preload-ms: 1100ms;          /* długość preloadera */
  --asc-preload-fade: 700ms;         /* jak płynnie znika */
  --asc-glow-intensity: .95;         /* 0..1, złota poświata tytułów */
  --asc-shine-period: 6s;            /* co ile przebiega blask po CTA */
  --asc-card-lift: 8px;              /* o ile karta podskoczy w hover */
  --asc-card-shadow: 0 18px 48px rgba(201,168,76,.18);
  --asc-gallery-zoom: 1.08;          /* skala zoom zdjęć galerii w hover */
  --asc-gold-rgb: 201,168,76;
}

/* ─────────────────────────────────────────────────────────────
   1) PRELOADER — fullscreen kurtyna z logo, znika po załadowaniu
   ───────────────────────────────────────────────────────────── */
body.asc-anim::before{
  content:"";
  position:fixed; inset:0; z-index:10000;
  background:
    radial-gradient(ellipse at center, #151311 0%, #050505 70%, #000 100%);
  opacity:1;
  transition: opacity var(--asc-preload-fade) ease-out;
  pointer-events:auto;
}
body.asc-anim::after{
  content:"";
  position:fixed; left:50%; top:50%;
  width:120px; height:120px;
  transform: translate(-50%,-50%) scale(.92);
  background:
    url('https://strzelnicadomaniow.pl/wp-content/uploads/2026/04/logo-asc-white.png')
    center / contain no-repeat;
  filter: drop-shadow(0 0 24px rgba(var(--asc-gold-rgb),.55));
  opacity:0;
  z-index:10001;
  animation: ascPreloadLogo var(--asc-preload-ms) ease-out forwards;
  pointer-events:none;
}
@keyframes ascPreloadLogo{
  0%   { opacity:0; transform: translate(-50%,-50%) scale(.88); }
  35%  { opacity:1; transform: translate(-50%,-50%) scale(1); }
  85%  { opacity:1; transform: translate(-50%,-50%) scale(1.02); }
  100% { opacity:0; transform: translate(-50%,-50%) scale(1.06); }
}
body.asc-anim.asc-ready::before,
body.asc-anim.asc-ready::after{
  opacity:0 !important;
  pointer-events:none;
}

/* ─────────────────────────────────────────────────────────────
   2) SHINE na CTA (.btn-gold) — przesuwający się blask
   ───────────────────────────────────────────────────────────── */
.btn-gold, .btn-gold-sm{ position:relative; overflow:hidden; isolation:isolate; }
.btn-gold::before, .btn-gold-sm::before{
  content:"";
  position:absolute; top:0; left:-120%;
  width:60%; height:100%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    rgba(255,255,255,.35) 50%,
    transparent 100%
  );
  transform: skewX(-22deg);
  z-index:0;
  pointer-events:none;
  animation: ascShine var(--asc-shine-period) linear infinite;
}
.btn-gold > *, .btn-gold-sm > *{ position:relative; z-index:1; }
.btn-gold:hover::before, .btn-gold-sm:hover::before{
  animation-duration: calc(var(--asc-shine-period) * .35);
}
@keyframes ascShine{
  0%   { left:-120%; }
  60%  { left:-120%; }    /* pauza między przebiegami */
  100% { left:130%; }
}

/* ─────────────────────────────────────────────────────────────
   3) TACTICAL GOLD GLOW — tytuły ze złotym akcentem
   ───────────────────────────────────────────────────────────── */
.hero-h1 span,
.s-title span{
  display: inline-block;             /* umożliwia filter drop-shadow */
  text-shadow:
    0 0 14px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .85)),
    0 0 32px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .55));
  animation: ascGlow 5s ease-in-out infinite;
  will-change: text-shadow, filter;
}
@keyframes ascGlow{
  0%,100% {
    text-shadow:
      0 0 10px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .65)),
      0 0 24px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .38));
    filter: drop-shadow(0 0 6px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .30)));
  }
  50% {
    text-shadow:
      0 0 22px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * 1.00)),
      0 0 48px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .70));
    filter: drop-shadow(0 0 14px rgba(var(--asc-gold-rgb), calc(var(--asc-glow-intensity) * .55)));
  }
}

/* ─────────────────────────────────────────────────────────────
   4) HOVER KART — lift + złoty cień
   ───────────────────────────────────────────────────────────── */
.dla-kogo-item,
.cennik-block,
.szkolenie-card,
.kadra-card,
.oferta-card{
  transition:
    transform .45s cubic-bezier(.2,.7,.2,1),
    box-shadow .45s ease,
    border-color .45s ease;
  will-change: transform;
}
.dla-kogo-item:hover,
.cennik-block:hover,
.szkolenie-card:hover,
.kadra-card:hover,
.oferta-card:hover{
  transform: translateY(calc(var(--asc-card-lift) * -1));
  box-shadow: var(--asc-card-shadow);
}

/* ─────────────────────────────────────────────────────────────
   5) GALERIA — zoom + przyciemnienie w hover
   ───────────────────────────────────────────────────────────── */
.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:4px;
  isolation:isolate;
}
.gallery-item img{
  transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .4s ease;
  will-change: transform;
  display:block; width:100%; height:100%; object-fit:cover;
}
.gallery-item::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.55) 100%);
  opacity:.35;
  transition: opacity .4s ease;
  pointer-events:none;
  z-index:1;
}
.gallery-item:hover img{
  transform: scale(var(--asc-gallery-zoom));
  filter: brightness(1.05);
}
.gallery-item:hover::after{
  opacity:.15;
}

/* ─────────────────────────────────────────────────────────────
   6) CENNIK — polecany pakiet (.cennik-full) pulsuje subtelnie
   Prosta, niezawodna animacja box-shadow (działa niezależnie od
   border-radius i bez pseudo-elementów wymagających masek).
   ───────────────────────────────────────────────────────────── */
.cennik-full{
  position:relative;
  animation: ascCennikPulse 4s ease-in-out infinite;
  will-change: box-shadow;
}
@keyframes ascCennikPulse{
  0%,100% {
    box-shadow:
      0 0 0 1px rgba(var(--asc-gold-rgb), .45),
      0 0 24px rgba(var(--asc-gold-rgb), .15),
      0 0 0 0 rgba(var(--asc-gold-rgb), 0);
  }
  50% {
    box-shadow:
      0 0 0 2px rgba(var(--asc-gold-rgb), .95),
      0 0 48px rgba(var(--asc-gold-rgb), .40),
      0 0 80px rgba(var(--asc-gold-rgb), .20);
  }
}

/* ─────────────────────────────────────────────────────────────
   7) ANIMATED COUNTERS — ukrycie do startu animacji
   ───────────────────────────────────────────────────────────── */
.hero-stats .stat-num[data-asc-counter]:not(.asc-counted){
  opacity:.85;
}

/* ─────────────────────────────────────────────────────────────
   8) SUBTELNY GOLD RING przy .hero-badge
   ───────────────────────────────────────────────────────────── */
.hero-badge{
  position:relative;
  overflow:hidden;
}
.hero-badge::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(
    110deg,
    transparent 0%,
    rgba(255,255,255,.18) 50%,
    transparent 100%
  );
  transform: translateX(-110%);
  animation: ascBadgeSweep 7s ease-in-out 2s infinite;
  pointer-events:none;
}
@keyframes ascBadgeSweep{
  0%,70% { transform: translateX(-110%); }
  100%   { transform: translateX(130%); }
}

/* ─────────────────────────────────────────────────────────────
   9) PARALLAX — samego elementu tła (JS ustawia --asc-py)
   ───────────────────────────────────────────────────────────── */
.hero-bg{
  transform: scale(1.08) translate3d(0, var(--asc-py,0px), 0);
}

/* ─────────────────────────────────────────────────────────────
   10) MOBILE — lżej, bez parallaxu, szybciej
   ───────────────────────────────────────────────────────────── */
@media (max-width: 900px){
  :root{
    --asc-preload-ms: 700ms;
    --asc-preload-fade: 500ms;
    --asc-card-lift: 4px;
  }
  .hero-bg{ transform: scale(1.08) !important; } /* wyłącz parallax na mobile */
  .gallery-item:hover img{ transform: scale(1.03); }
}

/* ─────────────────────────────────────────────────────────────
   11) PREFERS REDUCED MOTION — wyłącz wszystkie efekty ruchu
   ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  body.asc-anim::before,
  body.asc-anim::after{ display:none !important; }

  .btn-gold::before,
  .btn-gold-sm::before,
  .hero-badge::after,
  .cennik-full::before{ animation:none !important; }

  .hero-h1 span,
  .s-title span{ animation:none !important; text-shadow:none !important; }

  .dla-kogo-item,
  .cennik-block,
  .szkolenie-card,
  .kadra-card,
  .oferta-card,
  .gallery-item img{
    transition:none !important;
  }
  .dla-kogo-item:hover,
  .cennik-block:hover,
  .szkolenie-card:hover,
  .kadra-card:hover,
  .oferta-card:hover,
  .gallery-item:hover img{
    transform:none !important;
  }
  .hero-bg{ transform: scale(1.08) !important; }
}
