.lpt{display:grid;gap:var(--lpt-gap,12px)}
.lpt--cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.lpt-card{display:block;position:relative;text-decoration:none;border:var(--lpt-card-border-width,1px) solid var(--lpt-card-border-color,rgba(0,0,0,.08));border-radius:var(--lpt-card-radius,12px);overflow:hidden;transition:transform .18s ease, box-shadow .18s ease}
.lpt-card__img img{display:block;width:100%;height:auto}
.lpt-card__title{display:block;padding:calc(10px + var(--lpt-card-padding,0px)) calc(12px + var(--lpt-card-padding,0px));font-weight:var(--lpt-title-weight,600);font-size:var(--lpt-title-size,16px);color:var(--lpt-title-color,#111)}
.lpt-hover-grow .lpt-card:hover{transform:scale(1.03)}
.lpt-hover-shrink .lpt-card:hover{transform:scale(.97)}
.lpt-hover-rotate .lpt-card:hover{transform:rotate(-1.5deg) scale(1.01)}
.lpt-hover-float .lpt-card:hover{transform:translateY(-6px);box-shadow:0 14px 28px rgba(0,0,0,.12)}
.lpt-hover-sink .lpt-card:hover{transform:translateY(4px)}
@keyframes lpt_pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}
.lpt-hover-pulse .lpt-card:hover{animation:lpt_pulse .65s ease-in-out}
@keyframes lpt_bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.lpt-hover-bounce .lpt-card:hover{animation:lpt_bounce .6s ease}
@keyframes lpt_bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.lpt-hover-bob .lpt-card:hover{animation:lpt_bob 1s ease-in-out infinite}


.lpt--list{display:flex;flex-direction:var(--lpt-list-direction,column);gap:var(--lpt-gap,12px);padding-left:0;margin:0;list-style:var(--lpt-list-style,none)}
.lpt--list .lpt-item{margin:0}
.lpt--list .lpt-link{text-decoration:none}
