/* FMKE flash-sale slider — [fmke_flash_slider]
   Deliberately different from the hero + spotlight cards: a real sliding
   track (transform: translate3d only — never left/margin/width) so motion
   stays on the compositor thread and never lags or trembles. Every slide,
   and its image, has fixed dimensions up front so nothing reflows mid
   transition. */
.fmke-flash-wrap{max-width:66.4989em;margin:0 auto;padding:0 2.617em;box-sizing:border-box}
@media(max-width:782px){.fmke-flash-wrap{padding:0 12px}}
@media(min-width:1025px){
 .fmke-flash-wrap{width:90vw;max-width:1800px;margin-left:calc(50% - 45vw);margin-right:calc(50% - 45vw);padding:0}
}

.fmke-flash{--f-int:4500ms;position:relative;margin:28px 0;border-radius:16px;box-shadow:0 10px 28px rgba(31,61,44,.16);isolation:isolate}
.fmke-flash *{box-sizing:border-box}

.fmke-flash__viewport{position:relative;overflow:hidden;border-radius:16px;contain:layout paint}
.fmke-flash__track{display:flex;transform:translate3d(0,0,0);transition:transform .6s cubic-bezier(.65,0,.35,1);will-change:transform;backface-visibility:hidden}
.fmke-flash.is-dragging .fmke-flash__track{transition:none}

.fmke-flash__slide{flex:0 0 auto;position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;min-height:280px;background:var(--fmke-primary-light,#FFF1E0)}
/* Alternate which side the image sits on, slide to slide — a small
   layout beat the hero card (image always on the right) doesn't have. */
.fmke-flash__slide:nth-child(even){grid-template-columns:1fr 1.15fr}
.fmke-flash__slide:nth-child(even) .fmke-flash__image{order:-1}
.fmke-flash__slide:nth-child(even) .fmke-flash__text::before{right:auto;left:0}

.fmke-flash__text{position:relative;display:flex;flex-direction:column;justify-content:center;gap:0;padding:34px 44px;min-height:280px}
/* Dashed "ticket stub" divider on the edge that meets the image. */
.fmke-flash__text::before{content:"";position:absolute;top:14%;bottom:14%;right:0;width:0;border-right:2px dashed rgba(31,61,44,.16)}
.fmke-flash__badge{display:inline-flex;align-self:flex-start;align-items:center;padding:5px 12px;border-radius:999px;background:var(--fmke-primary,#FF6A00);color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.fmke-flash__title{margin:14px 0 8px!important;font-size:clamp(24px,3.2vw,36px)!important;line-height:1.15!important;font-weight:800!important;color:var(--fmke-dark,#1F3D2C)!important}
.fmke-flash__sub{margin:0 0 22px;font-size:15.5px;color:var(--fmke-muted,#767676);max-width:42ch}
.fmke-flash__cta{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;background:var(--fmke-dark,#1F3D2C);color:#fff!important;font-weight:700;text-decoration:none!important;transition:transform .2s,background .2s}
.fmke-flash__cta:hover{background:var(--fmke-primary,#FF6A00);transform:translateX(4px)}
.fmke-flash__cta span{transition:transform .2s}.fmke-flash__cta:hover span{transform:translateX(3px)}

.fmke-flash__image{position:relative;overflow:hidden;min-height:280px}
.fmke-flash__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1) translateZ(0);transition:transform 8s ease-out;backface-visibility:hidden}
/* Slow, subtle zoom — only while a slide is the one in view, so it never
   competes with the track's own transform during a swipe/advance. */
.fmke-flash__slide.is-current .fmke-flash__image img{transform:scale(1.06) translateZ(0)}
/* Small angled ribbon tag instead of a rounded "chip" — a different
   accent shape from the hero card's floating pill. */
.fmke-flash__ribbon{position:absolute;top:18px;left:0;padding:6px 16px 6px 20px;background:var(--fmke-dark,#1F3D2C);color:#fff;font-weight:700;font-size:12.5px;letter-spacing:.02em;box-shadow:0 6px 14px rgba(0,0,0,.2);clip-path:polygon(0 0,100% 0,92% 50%,100% 100%,0 100%)}
.fmke-flash__slide:nth-child(even) .fmke-flash__ribbon{left:auto;right:0;padding:6px 20px 6px 16px;clip-path:polygon(8% 0,100% 0,100% 100%,8% 100%,0 50%)}

/* prev/next arrows */
.fmke-flash__arrow{position:absolute;top:50%;z-index:5;width:36px;height:36px;margin-top:-18px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--fmke-dark,#1F3D2C);font-size:13px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 16px rgba(31,61,44,.18);transition:background .2s,transform .2s}
.fmke-flash__arrow:hover{background:var(--fmke-primary,#FF6A00);color:#fff;transform:scale(1.08)}
.fmke-flash__arrow--prev{left:14px}
.fmke-flash__arrow--next{right:14px}

/* dots */
.fmke-flash__dots{position:absolute;left:40px;bottom:16px;z-index:5;display:flex;gap:8px}
.fmke-flash__dot{position:relative;width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(31,61,44,.25);cursor:pointer;transition:background .25s,transform .25s}
.fmke-flash__dot.is-active{background:var(--fmke-primary,#FF6A00);transform:scale(1.25)}

@media(max-width:782px){
 .fmke-flash__slide,.fmke-flash__slide:nth-child(even){grid-template-columns:1fr;min-height:0}
 .fmke-flash__image,.fmke-flash__slide:nth-child(even) .fmke-flash__image{order:-1;height:180px;min-height:180px}
 .fmke-flash__text{padding:22px 20px 44px;min-height:0}
 .fmke-flash__text::before{content:none}
 .fmke-flash__ribbon,.fmke-flash__slide:nth-child(even) .fmke-flash__ribbon{left:0;right:auto;padding:6px 16px 6px 20px;clip-path:polygon(0 0,100% 0,92% 50%,100% 100%,0 100%)}
 .fmke-flash__dots{left:20px}
 .fmke-flash__arrow{display:none}
}
@media(prefers-reduced-motion:reduce){
 .fmke-flash__track{transition-duration:.01s}
 .fmke-flash__image img{transition-duration:.01s}
 .fmke-flash *{animation:none!important}
}

/* Real product photos: anchor the crop toward the top so the product's top isn't cut off. */
.fmke-flash__image img{object-position:center 25%}
