.ip-lpt-wrap{ width:100%; }

.ip-lpt-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:26px;
}

.ip-lpt-head{ display:flex; flex-direction:column; gap:10px; }
.ip-lpt-kicker{
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#2EA0FF;
}
.ip-lpt-title{
  font-size:46px;
  font-weight:800;
  line-height:1.05;
  color:#fff;
}

/* Tabs */
.ip-lpt-tabs{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.04);
  border-radius:999px;
  flex-wrap:wrap;
}
.ip-lpt-tab{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(255,255,255,0.70);
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  transition:.2s;
}
.ip-lpt-tab:hover{ background:rgba(255,255,255,0.06); }
.ip-lpt-tab.is-active{
  color:#2EA0FF;
  background:rgba(46,160,255,0.12);
}

/* Grid */
.ip-lpt-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:28px;
}

/* Card */
.ip-lpt-card{
  border:1px solid rgba(255,255,255,0.10);
  background:rgba(255,255,255,0.02);
  border-radius:18px;
  overflow:hidden;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
  position:relative;
}
.ip-lpt-card:hover{
  transform: translateY(-4px);
  border-color: rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.03);
}

.ip-lpt-thumb{
  display:block;
  width:100%;
  height:240px;
  background-size:cover;
  background-position:center;
}

.ip-lpt-body{
  padding:18px 18px 22px;
  position:relative;
}

.ip-lpt-cat{
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  opacity:.72;
  margin-bottom:10px;
  color:rgba(255,255,255,0.75);
}

.ip-lpt-item-title{
  display:block;
  font-size:22px;
  font-weight:700;
  line-height:1.15;
  text-decoration:none;
  margin-bottom:10px;
  color:#fff;
}

.ip-lpt-desc{
  font-size:14px;
  line-height:1.6;
  opacity:.78;
  color:rgba(255,255,255,0.78);
  max-width:60ch;

  /* 1-line clamp */
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ip-lpt-corner{
  position:absolute;
  right:18px;
  bottom:18px;
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.08);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:rgba(255,255,255,0.9);
}
.ip-lpt-corner-mark{ font-size:18px; line-height:1; }

/* Loading state */
.ip-lpt-loading{ opacity:0.55; pointer-events:none; }
.ip-lpt-spinner{
  width:28px; height:28px; border-radius:999px;
  border:2px solid rgba(255,255,255,0.22);
  border-top-color: rgba(255,255,255,0.85);
  animation: ipLptSpin .8s linear infinite;
  margin: 24px auto;
}
@keyframes ipLptSpin { to { transform: rotate(360deg);} }

/* Responsive */
@media (max-width: 1024px){
  .ip-lpt-title{ font-size:36px; }
  .ip-lpt-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ip-lpt-top{ align-items:flex-start; flex-direction:column; }
}
@media (max-width: 767px){
  .ip-lpt-title{ font-size:30px; }
  .ip-lpt-grid{ grid-template-columns: 1fr; gap:18px; }
  .ip-lpt-thumb{ height:200px; }
}
