.lpsw-wrap { position: relative; width: 100%; }

.lpsw-swiper { width: 100%; overflow: hidden; }

.lpsw-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: transparent;
}

.lpsw-thumb {
  display: block;
  width: 100%;
  overflow: hidden;
  text-decoration: none;
  border-radius: 12px;
}

/* ratio */
.lpsw-thumb {
  aspect-ratio: var(--lpsw-ratio, 16/9);
}
.lpsw-thumb .lpsw-img,
.lpsw-thumb img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: var(--lpsw-fit, cover);
}

.lpsw-img--placeholder {
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.06);
  display: block;
}

.lpsw-body { display: flex; flex-direction: column; gap: 6px; }

.lpsw-title { margin: 0; line-height: 1.35; }
.lpsw-title a { text-decoration: none; }

.lpsw-meta { font-size: 12px; opacity: 0.8; display: flex; flex-wrap: wrap; gap: 6px; }
.lpsw-meta__sep { opacity: 0.5; }

.lpsw-excerpt { font-size: 14px; opacity: 0.95; line-height: 1.7; }

.lpsw-readmore { margin-top: 6px; display: inline-flex; width: fit-content; text-decoration: none; }

.lpsw-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
  opacity: 0.95;
}
.lpsw-prev { left: 10px; }
.lpsw-next { right: 10px; }

.lpsw-pagination { margin-top: 10px; position: relative; }
