.gfsc-slider{position:relative;width:100%;max-width:100%;overflow:hidden;background:#050505;--gfsc-ease:cubic-bezier(.22,.61,.36,1)}
.gfsc-track{position:relative;width:100%;overflow:hidden}
.gfsc-slide{position:absolute;inset:0;width:100%;opacity:0;visibility:hidden;pointer-events:none;z-index:1;transform:translate3d(0,0,0) scale(1.018);transition:opacity .72s var(--gfsc-ease),transform 1s var(--gfsc-ease),visibility 0s linear 1s;will-change:opacity,transform}
.gfsc-slide.active{position:relative;opacity:1;visibility:visible;pointer-events:auto;z-index:2;transform:translate3d(0,0,0) scale(1);transition:opacity .9s var(--gfsc-ease),transform 1.2s var(--gfsc-ease),visibility 0s;}
/* Premium transition: subtle parallax + scale. No hard 100% translate, so there is no flash/blank frame. */
.gfsc-slider[data-transition="premium"] .gfsc-slide.enter-next{transform:translate3d(2.2%,0,0) scale(1.018);opacity:0}
.gfsc-slider[data-transition="premium"] .gfsc-slide.enter-prev{transform:translate3d(-2.2%,0,0) scale(1.018);opacity:0}
.gfsc-slider[data-transition="premium"] .gfsc-slide.leave-next{transform:translate3d(-1.5%,0,0) scale(.998);opacity:0}
.gfsc-slider[data-transition="premium"] .gfsc-slide.leave-prev{transform:translate3d(1.5%,0,0) scale(.998);opacity:0}
.gfsc-slider[data-transition="fade"] .gfsc-slide{transform:none;transition:opacity .7s ease,visibility 0s linear .7s}
.gfsc-slider[data-transition="fade"] .gfsc-slide.active{transform:none;transition:opacity .7s ease,visibility 0s}
.gfsc-slider[data-transition="slide"] .gfsc-slide{transform:translate3d(8%,0,0);transition:transform .8s var(--gfsc-ease),opacity .55s ease,visibility 0s linear .8s}
.gfsc-slider[data-transition="slide"] .gfsc-slide.active{transform:translate3d(0,0,0);transition:transform .8s var(--gfsc-ease),opacity .7s ease,visibility 0s}
.gfsc-slider[data-transition="zoom"] .gfsc-slide{transform:scale(1.04);transition:opacity .8s ease,transform 1.05s var(--gfsc-ease),visibility 0s linear 1s}
.gfsc-slider[data-transition="zoom"] .gfsc-slide.active{transform:scale(1);transition:opacity .8s ease,transform 1.05s var(--gfsc-ease),visibility 0s}
.gfsc-slide picture,.imglink{display:block;width:100%;height:100%}
.gfsc-slide img{display:block;width:100%;max-width:100%;height:auto;object-fit:cover;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}
.gfsc-fullscreen .gfsc-slide img{height:var(--gfsc-dh,70vh);min-height:420px}
.gfsc-slider.gfsc-image .gfsc-slide img{height:auto}
.gfsc-slider.gfsc-image.gfsc-fixed .gfsc-slide img{height:var(--gfsc-dh,70vh)}
.gfsc-buy{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;justify-content:center;min-width:125px;padding:12px 26px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(0,0,0,.58);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:600;letter-spacing:.12em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.gfsc-buy:hover{background:#fff;color:#000!important}
.arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:46px;height:46px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-size:30px;line-height:1;cursor:pointer;backdrop-filter:blur(12px)}
.prev{left:20px}.next{right:20px}
.dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:8;display:flex;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(0,0,0,.28);backdrop-filter:blur(12px)}
.dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.dot.active{width:24px;border-radius:999px;background:#fff}
@media(max-width:767px){.gfsc-fullscreen .gfsc-slide img{height:var(--gfsc-mh,70vh);min-height:0}.gfsc-slider.gfsc-image.gfsc-fixed .gfsc-slide img{height:var(--gfsc-mh,auto)}.gfsc-buy{bottom:38px;min-width:115px;padding:10px 20px;font-size:11px}.arrow{width:36px;height:36px;font-size:24px}.prev{left:10px}.next{right:10px}.dots{bottom:11px}.dot{width:6px;height:6px}.dot.active{width:20px}}
@media(prefers-reduced-motion:reduce){.gfsc-slide{transition:none!important;transform:none!important}.gfsc-slider[data-transition="premium"] .gfsc-slide{transition:opacity .25s ease!important}}

/* v4.6 device-specific artwork + link behaviour */
.gfsc-slider .gfsc-desktop-link,.gfsc-slider .gfsc-mobile-link{display:block;width:100%;height:100%}
.gfsc-slider .gfsc-mobile-link{display:none}
.gfsc-slider .imglink[aria-disabled="true"]{pointer-events:none;cursor:default}
.gfsc-device-desktop .gfsc-mobile-link{display:none!important}
.gfsc-device-desktop .gfsc-desktop-link{display:block!important}
.gfsc-device-mobile .gfsc-desktop-link{display:none!important}
.gfsc-device-mobile .gfsc-mobile-link{display:block!important}
.gfsc-device-responsive .gfsc-desktop-link{display:block}
.gfsc-device-responsive .gfsc-mobile-link{display:none}
@media(max-width:767px){
 .gfsc-device-responsive .gfsc-desktop-link{display:none!important}
 .gfsc-device-responsive .gfsc-mobile-link{display:block!important}
}
.gfsc-device-mobile .gfsc-slide img,.gfsc-device-responsive .gfsc-mobile-link img{width:100%;height:auto;object-fit:cover}
.gfsc-device-desktop .gfsc-slide img,.gfsc-device-responsive .gfsc-desktop-link img{width:100%;height:auto;object-fit:cover}

/* v4.7 premium interaction layer */
.gfsc-slider[data-hover="desaturate"] .gfsc-slide img{
  transition:filter .75s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
}
.gfsc-slider[data-hover="desaturate"] .gfsc-slide:hover img{
  filter:saturate(.82) contrast(.99);
  transform:scale(1.008);
}
.gfsc-slider[data-hover="luxe"] .gfsc-slide img{
  transition:filter .9s cubic-bezier(.22,.61,.36,1),transform 1.15s cubic-bezier(.22,.61,.36,1);
}
.gfsc-slider[data-hover="luxe"] .gfsc-slide:hover img{
  filter:saturate(.72) contrast(.98) brightness(.98);
  transform:scale(1.018);
}
.gfsc-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  z-index:20;
  background:rgba(255,255,255,.18);
  overflow:hidden;
}
.gfsc-progress span{
  display:block;
  width:0;
  height:100%;
  background:rgba(255,255,255,.92);
  transform-origin:left center;
  will-change:width;
}
.gfsc-slider.is-paused .gfsc-progress span{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
  .gfsc-slider[data-hover="desaturate"] .gfsc-slide img,
  .gfsc-slider[data-hover="luxe"] .gfsc-slide img{transition:none}
}

@keyframes gfscProgress{from{width:0}to{width:100%}}
