
.elementor-section-wrap,
.elementor,
body { overflow-x: hidden; }
/* ----------------------------
  ROOT / BASE
---------------------------- */
.ll-pts,
.ll-pts *{
  box-sizing: border-box;
}

.ll-pts{
  width:100%;
  border-radius: 18px;
  background: #1f1f1f;
  color:#fff;

  padding: clamp(24px, 4vw, 72px) clamp(16px, 3vw, 24px);

  overflow-x: hidden; /* ✅ stop horizontal scroll */
}

/* ----------------------------
  HEADING
---------------------------- */
.ll-pts__heading{
  text-align:center;
  line-height:1.1;
  margin-bottom: clamp(22px, 4vw, 65px);
}

.ll-pts__heading b,
.ll-pts__heading strong{
  color: var(--ll-pts-accent);
}

/* ----------------------------
  GRID
---------------------------- */
.ll-pts__grid{
  display:grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: clamp(16px, 3vw, 28px);
  align-items:center;
}

.ll-pts__left{
  display:flex;
  flex-direction:column;
  gap: clamp(10px, 2vw, 18px);
  min-width: 0;
}

/* ----------------------------
  BUTTON (Elementor-proof reset)
---------------------------- */
.ll-pts .ll-pts__item{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  /* line-height: 1.25 !important; */
  margin: 0 !important;
  border-radius: 0 !important;
  appearance: none;
  -webkit-appearance: none;

  display:flex !important;
  align-items:flex-start !important;
  gap: 14px !important;

  padding: 10px 36px 10px 0 !important;

  cursor:pointer !important;
  text-align:left !important;

  opacity: .85 !important;

  position: relative !important;
  width: 100% !important;
  min-width: 0 !important; /* ✅ allow wrapping */

  outline: none !important;
  transition: opacity .2s ease, color .2s ease !important;
}

/* ✅ wrap text properly */
.ll-pts__item,
.ll-pts__text{
  min-width: 0;
}

.ll-pts .ll-pts__text{
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* RIGHT LINE (Desktop only by default) */
.ll-pts .ll-pts__item::after{
  content: "" !important;
  width: 3px !important;
  height: 62px !important;
  background-color: #fbfbfb !important;

  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* states */
.ll-pts .ll-pts__item:hover{ opacity: 1 !important; }
.ll-pts .ll-pts__item:focus-visible{ opacity: 1 !important; outline: none !important; }

.ll-pts .ll-pts__item:focus-visible::after,
.ll-pts .ll-pts__item:active::after{
  background-color: var(--ll-pts-accent) !important;
}

.ll-pts .ll-pts__item.is-active{
  opacity: 1 !important;
  color: var(--ll-pts-accent) !important;
}

.ll-pts .ll-pts__item.is-active::after{
  background-color: var(--ll-pts-accent) !important;
}

.ll-pts .ll-pts__item.is-active span svg path{
  fill: var(--ll-pts-accent) !important;
}

.ll-pts__star{ opacity:.9; margin-top: 2px; }

/* ----------------------------
  RIGHT STACK
---------------------------- */
.ll-pts__right{
  display:flex;
  justify-content:flex-end;
  min-width: 0;
}

.ll-pts__stack{
  position:relative;
  width: 370px;
  max-width: 100%;
  height: 450px;
}

.ll-pts__card{
  position:absolute;
  inset:0;
  border-radius: 18px;
  overflow:hidden;
  transform-origin: center;
  transition: transform .25s ease, z-index .25s ease, opacity .25s ease;
  background:#111;
}

.ll-pts__card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* ✅ top card offset (Desktop) + reset left/bottom to avoid overflow */
.ll-pts__card.is-top{
  top: 25px;
  right: 25px;
}

/* ----------------------------
  TABLET & DOWN
---------------------------- */
@media (max-width: 1024px){
  .ll-pts__grid{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .ll-pts__right{
    justify-content: center;
    margin-top: 18px;
    margin-left: 30px;

  }

  .ll-pts__stack{
    width: 100%;
    max-width: 520px;
    height: clamp(280px, 60vw, 420px);
  }

  .ll-pts .ll-pts__item::after{
    display:none !important;
    content:none !important;
  }

  .ll-pts .ll-pts__item{
    padding-right: 0 !important;
  }

  .ll-pts__card.is-top{
    top: 12px;
    right: 12px;
  }
}

/* ----------------------------
  MOBILE
---------------------------- */
@media (max-width: 600px){
  .ll-pts{
    border-radius: 14px;
    padding: 20px 14px;
  }

  .ll-pts__heading{
    margin-bottom: 18px;
  }

  .ll-pts .ll-pts__item{
    gap: 12px !important;
    padding: 8px 0 !important;
  }

  .ll-pts__stack{
    max-width: 100%;
    height: clamp(240px, 75vw, 360px);
  }

  .ll-pts__card{
    border-radius: 14px;
  }

  .ll-pts__card.is-top{
    top: 10px;
    right: 10px;
  }
}
