/* クエリーループ全体のラッパー */
.works-carousel {
  position: relative;
  overflow: hidden; /* はみ出すスライドを隠す */
}

/* 投稿リストULを横並びにする */
.works-carousel .wp-block-post-template {
  display: flex;
  gap: var(--wp--style--block-gap, 1.5rem);
  padding: 0;
  margin: 0;
  list-style: none;
  will-change: transform;
  transition: transform 0.5s ease;
}

/* 各スライド(li)の基本レイアウト */
.works-carousel .wp-block-post {
  flex: 0 0 calc(100% / 3); /* デスクトップで3枚表示想定 */
  box-sizing: border-box;
}

.works-carousel .wp-block-post-template {
  display: flex;
  gap: 0; /* 余計な隙間は0に */
}

.works-carousel .wp-block-post-template {
  transition-timing-function: ease-in-out;
}

.works-carousel .wp-block-post {
  flex: 0 0 33.333333%; /* 1画面1枚の場合。2枚なら50%など */
  padding: 15px;
  @media (min-width: 782px) {
    padding: 30px;
  }
}
.works-carousel .wp-block-post-featured-image {
  overflow: hidden;
  /*background-color: var(--wp--preset--color--custom-primary-dark);*/
  transition: all .525s;
  &:hover {
    background-color: var(--wp--preset--color--custom-primary-light);
  }
}
.wp-block-post-featured-image a {
  overflow: clip;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - (4.9444444444vw + 0px)), calc(100% - (4.9444444444vw + 0px)) 100%, 0 100%);
  background-color: #fff;
  box-sizing: border-box;
  padding: 20px;
  transition: all .3s;
  @media (min-width: 782px) {
    padding: 40px;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - (2.9444444444vw + 0px)), calc(100% - (2.9444444444vw + 0px)) 100%, 0 100%);
    & img {
      transition: all .35s;
      clip-path: rect(0% 100% 100% 0%);
      filter: grayscale(.5);
    }
    &:hover {
      & img {
        transform: scale(1.15);
        clip-path: rect(10% 90% 90% 10%) !important;
        filter: grayscale(0);
      }
    }
  }
}
body.archive {
  & .wp-block-post-featured-image a {
    @media (min-width: 782px) {
        padding: 20px;
    }
  }
}
body.single-works {
  & aside {
    & .wp-block-post-featured-image a {
      clip-path: none;
    @media (min-width: 782px) {
      padding: 0;
    }
  }
}
}

/* モバイルでは1枚表示 */
@media (max-width: 767px) {
  .works-carousel .wp-block-post {
    flex: 0 0 100%;
  }
}

/* タブレットあたりでは2枚表示 */
@media (min-width: 768px) and (max-width: 1024px) {
  .works-carousel .wp-block-post {
    flex: 0 0 50%;
  }
}

/* =========================
   矢印ナビ＋インジケータ
   ========================= */

/* ナビ全体のラッパー（下部中央に配置） */
.works-carousel-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 1rem;
  padding: 10px;
  border: 1px solid #ededed;
}

/* 矢印ボタン */
.works-carousel-arrow {
  border: none;
  background: #333;
  color: #fff;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 1.2rem;
  line-height: 1;
}

.works-carousel-arrow:hover {
  opacity: 0.8;
}

/* ドットのラッパー */
.works-carousel-dots {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* 各ドットボタン */
.works-carousel-dot {
  width: 0.7rem;
  height: 0.7rem;
  border-radius: 999px;
  border: 1px solid #999;
  background: #ddd;
  padding: 0;
  cursor: pointer;
}

/* アクティブなドット */
.works-carousel-dot.is-active {
  background: #333;
  border-color: #333;
}

.works-carousel{
  touch-action: pan-y;
}

.works-carousel.is-dragging,
.works-carousel.is-dragging *{
  user-select: none;
}

.works-carousel .wp-block-post-template{
  will-change: transform;
}

.works-carousel .wp-block-post-template img{
  -webkit-user-drag: none;
  user-drag: none;
  pointer-events: none;
}
.works-carousel .wp-block-post-template {
  user-select: none;
}
.works-carousel a,
.works-carousel img {
  -webkit-user-drag: none;
  user-select: none;
}