/* ===========================================================
   FurniLove — slider hero na stronie głównej
   Slajdy leżą jeden na drugim (wspólna komórka siatki), więc wysokość
   sekcji nie skacze przy zmianie. Zmiana = przenikanie zdjęć + tekst
   wjeżdżający lekko od dołu. Kropki z paskiem postępu + pauza.
   =========================================================== */
/* Slajdy BEZ własnego z-index: warstwy zdjęć, kół i plakietek ze wszystkich slajdów układają się
   we wspólnym kontekście toru — ozdobne koło (z 0) leży zawsze pod KAŻDYM zdjęciem, więc przy
   zmianie nie prześwituje na moment nad poprzednim zdjęciem. */
.fl-hs__track{display:grid;position:relative;isolation:isolate;touch-action:pan-y pinch-zoom;}
.fl-hs__slide{grid-area:1 / 1;min-width:0;visibility:hidden;pointer-events:none;transition:visibility 0s linear .9s;}
.fl-hs__slide.is-active{visibility:visible;pointer-events:auto;transition:none;}
.fl-hs__slide .fl-hero-media .fl-blob{z-index:0;}
.fl-hs__slide .fl-hero-media .fl-img{z-index:1;}
.fl-hs__slide .fl-badge{z-index:2;}
.fl-hs__slide.is-active .fl-hero-media .fl-img{z-index:3;}
.fl-hs__slide.is-active .fl-badge{z-index:4;}
.fl-hs .fl-hero-grid{padding-bottom:clamp(22px,2.6vw,36px);}
.fl-hs picture{display:block;}

/* tekst: znika szybko, nowy wjeżdża kaskadowo */
.fl-hs__slide .fl-hero-copy > *{opacity:0;transform:translate3d(0,16px,0);transition:opacity .35s ease,transform 0s linear .9s;}
.fl-hs__slide.is-active .fl-hero-copy > *{opacity:1;transform:none;transition:opacity .8s ease .25s,transform 1s cubic-bezier(.16,1,.3,1) .25s;}
.fl-hs__slide.is-active .fl-hero-copy > :nth-child(2){transition-delay:.33s;}
.fl-hs__slide.is-active .fl-hero-copy > :nth-child(3){transition-delay:.41s;}
.fl-hs__slide.is-active .fl-hero-copy > :nth-child(4){transition-delay:.49s;}
.fl-hs__slide.is-active .fl-hero-copy > :nth-child(5){transition-delay:.57s;}

/* zdjęcie: nowe przenika nad starym (stare zostaje pod spodem do końca przejścia) */
.fl-hs__slide .fl-img{opacity:0;transition:opacity 0s linear .9s;}
.fl-hs__slide.is-active .fl-img{opacity:1;transition:opacity .9s ease;}
.fl-hs__slide .fl-hero-media .fl-img img{transform:scale(1.06);transition:transform 0s linear .9s;}
.fl-hs__slide.is-active .fl-hero-media .fl-img img{transform:scale(1.01);transition:transform 1.8s cubic-bezier(.16,1,.3,1);}

/* plakietka na zdjęciu */
.fl-hs__slide .fl-badge{opacity:0;transform:translate3d(0,10px,0);transition:opacity .3s ease,transform 0s linear .9s;}
.fl-hs__slide.is-active .fl-badge{opacity:1;transform:none;transition:opacity .7s ease .55s,transform .9s cubic-bezier(.16,1,.3,1) .55s;}

/* ---------- kontrolki: kropki (styl Apple) + pauza ---------- */
.fl-hs__controls{display:flex;justify-content:center;align-items:center;gap:10px;padding-bottom:clamp(18px,2.4vw,32px);position:relative;z-index:3;}
.fl-hs__dots{display:flex;align-items:center;height:44px;padding:0 9px;border-radius:999px;background:var(--fl-cream-2,#f4f0e6);}
.fl-hs .fl-hs__dot{position:relative;display:grid;place-items:center;width:22px;height:44px;margin:0;padding:0;border:0;border-radius:999px;background:none;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:width .5s cubic-bezier(.4,0,.2,1);}
.fl-hs__pip{position:relative;display:block;width:8px;height:8px;border-radius:999px;background:#cdbfa6;overflow:hidden;transition:width .5s cubic-bezier(.4,0,.2,1),background-color .3s ease;}
.fl-hs .fl-hs__dot[aria-current="true"]{width:62px;}
.fl-hs__dot[aria-current="true"] .fl-hs__pip{width:46px;background:#e2d6bf;}
.fl-hs__fill{position:absolute;inset:0;border-radius:inherit;background:var(--fl-gold,#a17c44);transform:translateX(-100%);}
.fl-hs .fl-hs__toggle{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:50%;background:var(--fl-cream-2,#f4f0e6);color:var(--fl-ink,#1b1b1b);box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease,color .2s ease;}
.fl-hs__toggle svg{width:15px;height:15px;display:block;}
.fl-hs__toggle .fl-hs__i-play{display:none;margin-left:2px;}
.fl-hs.is-paused .fl-hs__toggle .fl-hs__i-pause{display:none;}
.fl-hs.is-paused .fl-hs__toggle .fl-hs__i-play{display:block;}
.fl-hs .fl-hs__dot:focus-visible,.fl-hs .fl-hs__toggle:focus-visible{outline:none;}
.fl-hs__dot:focus-visible .fl-hs__pip{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--fl-gold,#a17c44);}
.fl-hs__toggle:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--fl-gold,#a17c44)!important;}
@media (hover:hover){
  .fl-hs__dot:not([aria-current="true"]):hover .fl-hs__pip{background:#b3a07f;}
  .fl-hs .fl-hs__toggle:hover{background:#ebe3d3;color:var(--fl-gold-d,#876230);}
}

/* telefon / tablet: wysokość toru dopasowana do AKTYWNEGO slajdu (ustawia ją skrypt),
   z płynnym przejściem — krótszy slajd nie zostawia pustej przerwy przed kolejną sekcją. */
@media (max-width:980px){
  .fl-hs.is-ready .fl-hs__slide{align-self:start;}
  .fl-hs.is-ready .fl-hs__track{transition:height .6s cubic-bezier(.4,0,.2,1);}
}

/* telefon / tablet: zdjęcie na górze, wszystkie slajdy wyrównane do góry.
   Kontrolki tuż pod zdjęciem (widoczne bez przewijania, w tym samym miejscu na każdym slajdzie);
   top = górny odstęp slajdu + wysokość zdjęcia z home.css + dół ozdobnego koła (8%) + 8px. */
@media (max-width:980px){
  .fl-hs__slide{align-content:start;}
  .fl-hs .fl-hero-grid{padding-bottom:24px;}
  .fl-hs__controls{position:absolute;left:0;right:0;top:calc(clamp(40px,5vw,80px) + clamp(360px,46vw,560px) * 1.08 + 8px);padding:0;}
  .fl-hs .fl-hero-copy{padding-top:calc(clamp(360px,46vw,560px) * .08 + 8px + 44px + 22px - clamp(28px,4vw,64px));}
}

/* ograniczony ruch: bez przesunięć i powiększeń, samo przenikanie */
@media (prefers-reduced-motion:reduce){
  .fl-hs__slide .fl-hero-copy > *,.fl-hs__slide .fl-badge,.fl-hs__slide .fl-hero-media .fl-img img{transform:none!important;}
  .fl-hs__pip,.fl-hs .fl-hs__dot,.fl-hs.is-ready .fl-hs__track{transition:none;}
}
