/* Fine Taraa – Home: "New · Loved · On Offer" centre-mode product carousel */
.ft-lv{position:relative;overflow:hidden;padding-bottom:70px;background:radial-gradient(ellipse 70% 60% at 50% 38%,#fff 0,var(--ft-cream) 70%)}
.ft-lv .ft-heading{margin-bottom:26px}

/* filter chips */
.ft-lv__filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 auto 6px;padding:0 16px}
.ft-lv__filters button{padding:9px 22px;border-radius:40px;border:1px solid var(--ft-line);background:#fff;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ft-muted);transition:.3s var(--ft-ease)}
.ft-lv__filters button:hover{border-color:var(--ft-gold);color:var(--ft-maroon)}
.ft-lv__filters button.is-active{background:var(--ft-maroon);border-color:var(--ft-maroon);color:#fff;box-shadow:0 8px 18px rgba(92,10,36,.2)}

/* stage – all cards share one grid cell and are moved with --x */
.ft-lv__stage{--pw:270px;--gap:30px;position:relative;display:grid;place-items:start center;padding:56px 0 30px;overflow:hidden;outline:0;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.ft-js .ft-lv__stage{opacity:0;animation:ftLvShow 0s 3s forwards}
.ft-js .ft-lv__stage.is-ready{opacity:1;transition:opacity .7s;animation:none}
@keyframes ftLvShow{to{opacity:1}}
.ft-lv__ring{position:absolute;left:50%;top:6px;width:min(560px,92vw);aspect-ratio:1;transform:translateX(-50%);border-radius:50%;border:1px dashed rgba(201,164,92,.6);pointer-events:none;animation:ftLvSpin 70s linear infinite}
.ft-lv__ring::before,.ft-lv__ring::after{content:"";position:absolute;border-radius:50%}
.ft-lv__ring::before{inset:48px;border:1px solid rgba(201,164,92,.28)}
.ft-lv__ring::after{width:14px;height:14px;left:50%;top:-7px;margin-left:-7px;background:var(--ft-gold);box-shadow:0 0 0 6px rgba(201,164,92,.2)}
@keyframes ftLvSpin{to{transform:translateX(-50%) rotate(360deg)}}

/* product card */
.ft-pc{grid-area:1/1;width:var(--pw);position:relative;text-align:center;will-change:transform;
  transform:translate3d(var(--x,0px),0,0) scale(var(--sc,.74));
  transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .6s,filter .6s,visibility 0s}
.ft-lv__stage.is-instant .ft-pc,.ft-pc.is-jump{transition:none!important}
.ft-pc.is-active{--sc:1.08;opacity:1;filter:none;cursor:default}
.ft-pc.is-near{--sc:.9;opacity:.9;filter:saturate(.85) brightness(.99);cursor:pointer}
.ft-pc.is-mid{--sc:.74;opacity:.55;filter:saturate(.7);cursor:pointer}
.ft-pc.is-far{--sc:.6;opacity:0;visibility:hidden;pointer-events:none;transition:transform .85s cubic-bezier(.22,.61,.36,1),opacity .5s,visibility 0s .85s}

.ft-pc__media{position:relative;border-radius:999px 999px 16px 16px;padding:7px;background:#fff;border:1px solid var(--ft-line);box-shadow:0 14px 34px rgba(92,10,36,.08);transition:box-shadow .6s,border-color .6s,background .6s}
.ft-pc__link{display:block;position:relative;overflow:hidden;border-radius:999px 999px 10px 10px;aspect-ratio:4/5;background:var(--ft-cream-2)}
.ft-pc__link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ft-ease)}
.ft-pc.is-active .ft-pc__link img{transform:scale(1.06)}
.ft-pc.is-active:hover .ft-pc__link img{transform:scale(1.14)}
.ft-pc.is-active .ft-pc__media{border-color:var(--ft-gold);background:linear-gradient(160deg,#fff,var(--ft-gold-soft));box-shadow:0 0 0 6px rgba(201,164,92,.18),0 34px 60px rgba(92,10,36,.26)}
/* gold sparkles around the highlighted card */
.ft-pc.is-active .ft-pc__media::before,.ft-pc.is-active .ft-pc__media::after{content:"";position:absolute;width:16px;height:16px;background:var(--ft-gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:ftLvSpark 2.6s ease-in-out infinite;z-index:3}
.ft-pc.is-active .ft-pc__media::before{left:-8px;top:34%}
.ft-pc.is-active .ft-pc__media::after{right:-6px;top:16%;animation-delay:1.1s}
@keyframes ftLvSpark{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}}

.ft-pc__tags{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:2;display:flex;gap:5px;flex-wrap:nowrap;white-space:nowrap}
.ft-pc__tags i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:30px;background:#fff;color:var(--ft-maroon);box-shadow:0 4px 12px rgba(0,0,0,.14)}
.ft-pc__tags .is-new{background:var(--ft-maroon);color:#fff}
.ft-pc__tags .is-best{background:var(--ft-gold);color:var(--ft-maroon-dark)}
.ft-pc__tags .is-off,.ft-pc__tags .is-sale{background:#fff;color:var(--ft-danger)}
.ft-pc__acts{position:absolute;right:14px;top:34%;z-index:3;display:flex;flex-direction:column;gap:8px;opacity:0;transform:translateX(10px);transition:.4s var(--ft-ease)}
.ft-pc.is-active .ft-pc__acts{opacity:1;transform:none}
.ft-pc__ico{width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ft-maroon);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,0,0,.16);transition:.3s}
.ft-pc__ico:hover,.ft-pc__ico.is-active{background:var(--ft-maroon);color:#fff}
.ft-pc__ico.is-active svg{fill:currentColor}

.ft-pc__body{padding:18px 6px 0}
.ft-pc__cat{display:block;font-size:10.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ft-gold-dark);margin-bottom:4px}
.ft-pc__title{font-size:23px;line-height:1.15;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.3em}
.ft-pc__title a{color:var(--ft-maroon)}
.ft-pc__price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:4px 10px;margin-bottom:14px}
.ft-pc__price b{font-size:19px;color:var(--ft-maroon);font-weight:700}
.ft-pc__price del{font-size:13px;color:var(--ft-muted)}
.ft-pc__price em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:var(--ft-success);background:rgba(47,125,79,.1);padding:2px 8px;border-radius:20px}
.ft-pc__add{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:13px 16px;border-radius:40px;border:1.5px solid var(--ft-maroon);background:transparent;color:var(--ft-maroon);font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:.35s var(--ft-ease)}
.ft-pc__add:hover{background:var(--ft-maroon);color:#fff}
.ft-pc.is-active .ft-pc__add{background:linear-gradient(135deg,var(--ft-gold),var(--ft-gold-dark));border-color:var(--ft-gold-dark);color:var(--ft-maroon-dark);box-shadow:0 12px 24px rgba(169,132,58,.38)}
.ft-pc.is-active .ft-pc__add:hover{background:var(--ft-maroon);border-color:var(--ft-maroon);color:#fff}
.ft-pc.is-active .ft-pc__add::after{content:"";position:absolute;top:0;bottom:0;width:36%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);animation:ftLvShine 3.4s ease-in-out infinite}
@keyframes ftLvShine{0%,55%{left:-60%}100%{left:130%}}

/* arrows */
.ft-lv__nav{position:absolute;z-index:20;top:238px;width:50px;height:50px;border-radius:50%;background:#fff;border:1px solid var(--ft-line);color:var(--ft-maroon);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,.12);transition:.3s var(--ft-ease)}
.ft-lv__nav:hover{background:var(--ft-maroon);border-color:var(--ft-maroon);color:#fff;transform:scale(1.08)}
.ft-lv__nav--prev{left:max(12px,calc(50% - 860px))}
.ft-lv__nav--next{right:max(12px,calc(50% - 860px))}

/* dots with autoplay progress */
.ft-lv__dots{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px;margin:6px auto 30px;padding:0 20px;max-width:560px}
.ft-lv__dots button{position:relative;width:9px;height:9px;border-radius:9px;background:#d9cbb3;overflow:hidden;transition:width .45s var(--ft-ease),background .3s}
.ft-lv__dots button:hover{background:var(--ft-gold)}
.ft-lv__dots button.is-active{width:38px;background:rgba(201,164,92,.35)}
.ft-lv__dots button.is-active::after{content:"";position:absolute;inset:0;width:0;background:var(--ft-gold-dark);border-radius:9px;animation:ftLvProg var(--lv-int,3600ms) linear forwards}
.ft-lv.is-paused .ft-lv__dots button.is-active::after{animation-play-state:paused}
@keyframes ftLvProg{to{width:100%}}

/* tablet */
@media (max-width:1199px){.ft-lv__stage{--pw:240px;--gap:26px}.ft-lv__nav{top:210px}}
@media (max-width:991px){.ft-lv__nav--prev{left:14px}.ft-lv__nav--next{right:14px}}
/* phone: centre card with the neighbours peeking in */
@media (max-width:767px){
  .ft-lv{padding-bottom:50px}
  .ft-lv__stage{--pw:min(66vw,270px);--gap:12px;padding:44px 0 22px}
  .ft-lv__ring{top:0}
  .ft-lv__nav{width:38px;height:38px;top:178px;background:rgba(255,255,255,.92)}
  .ft-lv__nav--prev{left:6px}.ft-lv__nav--next{right:6px}
  .ft-pc__title{font-size:21px}
  .ft-pc__acts{right:10px}
  .ft-lv__filters button{padding:8px 16px;font-size:10.5px;letter-spacing:.12em}
}
@media (max-width:380px){.ft-lv__nav{display:none}}

/* no-JS fallback: a plain horizontal scroller */
html:not(.ft-js) .ft-lv__stage{display:flex;gap:18px;overflow-x:auto;padding-inline:20px}
html:not(.ft-js) .ft-pc{flex:0 0 var(--pw);transform:none}
html:not(.ft-js) .ft-lv__nav,html:not(.ft-js) .ft-lv__ring{display:none}

@media (prefers-reduced-motion:reduce){.ft-lv__ring,.ft-pc.is-active .ft-pc__media::before,.ft-pc.is-active .ft-pc__media::after,.ft-pc.is-active .ft-pc__add::after{animation:none}.ft-pc{transition-duration:.01s}}
