/* 프로그램 실제 화면 갤러리 */
.jj-shots {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  margin-top: clamp(28px, 3vw, 40px);
}

.jj-shot {
  margin: 0;
  padding: 16px 16px 18px;
  border-radius: 20px;
  background: #fff;
  border: 1px solid #0f172a14;
  box-shadow: 0 20px 46px #0a0e181f;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.jj-shot:hover {
  transform: translateY(-6px);
  box-shadow: 0 28px 60px #0a0e182e;
}

/* 화면마다 비율이 달라서 정사각 프레임 안에 contain 으로 맞춤 */
.jj-shot__frame {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 14px;
  background: linear-gradient(160deg, #f5f7fb 0%, #eceff6 100%);
  overflow: hidden;
}

.jj-shot__frame img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 8px 22px #0f172a24;
}

.jj-shot figcaption {
  margin-top: 16px;
  padding-inline: 4px;
}

.jj-shot figcaption b {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #16181d;
}

.jj-shot figcaption span {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.65;
  color: #5b6068;
}

.jj-shot figcaption i {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 9px;
  border-radius: 99px;
  font-style: normal;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #1965c8;
  background: #1965c814;
}

@media (max-width: 900px) {
  .jj-shots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}

@media (max-width: 620px) {
  .jj-shots { grid-template-columns: minmax(0, 1fr); }
}
