@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&display=swap');

.lfasp-carousel-wrap{
  --navy:#07101f;--gold:#c8a951;--gold3:#dfc070;
  position:relative;
  width:100%;
  /* No extra bottom padding — dots have their own row */
  padding:16px 0 0;
  overflow:visible;
  background:transparent;
  font-family:'Atkinson Hyperlegible',sans-serif;
  -webkit-user-select:none;user-select:none;
}

/* Track area */
.lfasp-track-outer{
  position:relative;
  width:100%;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.lfasp-track{
  display:flex;align-items:center;justify-content:center;
  position:relative;width:100%;min-height:200px;
  perspective:1200px;
}

/* Slides */
.lfasp-slide{position:absolute;border-radius:18px;overflow:hidden;cursor:pointer;display:block;text-decoration:none;color:inherit;transition:transform .55s cubic-bezier(.4,0,.2,1),opacity .55s cubic-bezier(.4,0,.2,1);will-change:transform,opacity;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.lfasp-slide-bg{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.lfasp-slide-placeholder{background:linear-gradient(135deg,#1a2f55,#07101f)}
.lfasp-slide-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.08) 55%,transparent 100%);transition:background .4s}
.lfasp-slide:hover .lfasp-slide-overlay{background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.18) 55%,transparent 100%)}
.lfasp-slide-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:14px;pointer-events:none}
.lfasp-slide-badge{align-self:flex-start;background:rgba(20,35,60,.52);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:7px;padding:5px 10px;font-size:11px;font-weight:600;color:rgba(255,255,255,.92);letter-spacing:.2px;border:1px solid rgba(255,255,255,.12);max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.lfasp-slide-text{margin-top:auto}
.lfasp-slide-title{font-size:clamp(15px,2.2vw,24px);font-weight:700;color:#fff;line-height:1.2;margin-bottom:4px;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.lfasp-slide-subtitle{font-size:clamp(11px,1.3vw,14px);color:rgba(255,255,255,.88);font-weight:400;text-shadow:0 1px 4px rgba(0,0,0,.5)}

/* Formats */
.lfasp-fmt-square     .lfasp-slide{width:clamp(200px,28vw,340px);height:clamp(200px,28vw,340px)}
.lfasp-fmt-horizontal .lfasp-slide{width:clamp(280px,38vw,520px);height:clamp(158px,21vw,293px)}
.lfasp-fmt-vertical   .lfasp-slide{width:clamp(180px,22vw,280px);height:clamp(225px,27.5vw,350px)}

/* 3D positions */
.lfasp-slide[data-pos="center"]{z-index:10;transform:translateX(0) scale(1) rotateY(0deg);opacity:1}
.lfasp-slide[data-pos="right1"]{z-index:8;transform:translateX(68%) scale(.82) rotateY(-14deg);opacity:.85}
.lfasp-slide[data-pos="right2"]{z-index:6;transform:translateX(118%) scale(.66) rotateY(-22deg);opacity:.55}
.lfasp-slide[data-pos="right3"]{z-index:4;transform:translateX(155%) scale(.54) rotateY(-28deg);opacity:.3}
.lfasp-slide[data-pos="left1"]{z-index:8;transform:translateX(-68%) scale(.82) rotateY(14deg);opacity:.85}
.lfasp-slide[data-pos="left2"]{z-index:6;transform:translateX(-118%) scale(.66) rotateY(22deg);opacity:.55}
.lfasp-slide[data-pos="left3"]{z-index:4;transform:translateX(-155%) scale(.54) rotateY(28deg);opacity:.3}
.lfasp-slide[data-pos="hidden"]{z-index:1;transform:translateX(0) scale(.4);opacity:0;pointer-events:none}

/* Arrows */
.lfasp-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:rgba(10,20,40,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(200,169,81,.35);color:#fff;font-size:22px;cursor:pointer;z-index:20;transition:all .25s;display:flex;align-items:center;justify-content:center}
.lfasp-nav:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lfasp-prev{left:16px}
.lfasp-next{right:16px}

/* Track heights */
.lfasp-track{height:clamp(220px,34vw,420px)}
.lfasp-fmt-horizontal .lfasp-track{height:clamp(180px,26vw,340px)}
.lfasp-fmt-vertical   .lfasp-track{height:clamp(260px,32vw,400px)}

/* ══════════════════════════════════════
   DOTS ROW — completely separate from
   the track, sits below in normal flow
══════════════════════════════════════ */
.lfasp-dots-row{
  /* Normal flow element — not absolute */
  display:flex;
  justify-content:center;
  align-items:center;
  /* Only 14px of space between cards and dots */
  margin-top:12px;
  margin-bottom:4px;
  width:100%;
  line-height:1;
}

.lfasp-dots{
  display:flex;
  align-items:center;
  gap:5px;
  padding:0;margin:0;
  list-style:none;
  /* Total height of this container: 6px */
  height:6px;
}

/* Inactive dot: 6×6 tiny circle */
.lfasp-dot{
  display:block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(185,158,78,0.38);
  border:none;
  cursor:pointer;
  padding:0;
  flex-shrink:0;
  transition:all 0.3s ease;
  /* Constrain strictly — no min-height, no line-height bleed */
  min-width:0;min-height:0;
  line-height:0;font-size:0;
  overflow:hidden;
}

/* Active dot: 16px wide pill */
.lfasp-dot.active{
  width:16px;
  height:6px;
  border-radius:3px;
  background:var(--gold);
  box-shadow:0 0 5px rgba(200,169,81,.35);
}

.lfasp-dot:not(.active):hover{
  background:rgba(200,169,81,.55);
}

/* Mobile */
@media(max-width:600px){
  .lfasp-carousel-wrap{padding:10px 0 0}
  .lfasp-slide[data-pos="right1"]{transform:translateX(85%) scale(.78) rotateY(-10deg);opacity:.6}
  .lfasp-slide[data-pos="right2"]{transform:translateX(140%) scale(.6) rotateY(-18deg);opacity:.25}
  .lfasp-slide[data-pos="right3"]{opacity:0;pointer-events:none}
  .lfasp-slide[data-pos="left1"]{transform:translateX(-85%) scale(.78) rotateY(10deg);opacity:.6}
  .lfasp-slide[data-pos="left2"]{transform:translateX(-140%) scale(.6) rotateY(18deg);opacity:.25}
  .lfasp-slide[data-pos="left3"]{opacity:0;pointer-events:none}
  .lfasp-fmt-square     .lfasp-slide{width:clamp(200px,72vw,300px);height:clamp(200px,72vw,300px)}
  .lfasp-fmt-horizontal .lfasp-slide{width:clamp(240px,82vw,360px);height:clamp(135px,46vw,203px)}
  .lfasp-fmt-vertical   .lfasp-slide{width:clamp(170px,58vw,240px);height:clamp(213px,72.5vw,300px)}
  .lfasp-track{height:clamp(230px,80vw,340px)}
  .lfasp-fmt-horizontal .lfasp-track{height:clamp(160px,50vw,230px)}
  .lfasp-fmt-vertical   .lfasp-track{height:clamp(240px,80vw,340px)}
  .lfasp-prev{left:6px}.lfasp-next{right:6px}
  .lfasp-nav{width:36px;height:36px;font-size:18px}
  /* Mobile dots: same tiny size */
  .lfasp-dots-row{margin-top:10px}
  .lfasp-dots{height:5px;gap:4px}
  .lfasp-dot{width:5px;height:5px}
  .lfasp-dot.active{width:13px;height:5px;border-radius:2.5px}
}
