.events-hero{
  max-width: 1280px;
  margin-inline:auto;
  display:flex;
  flex-direction:column;      
  align-items:center;
  gap: 32px;;
  padding:0;
  margin-top: 50px;
}
.hero-video{
  /* position:absolute;  */
  inset:0;  /* 부모 .hero 기준으로 꽉 채우기 */
  width:90%; 
  height:90%;
  object-fit:cover;            /* 비율 유지, 넘치면 잘림 */
  border-radius: 8px;
}
.mobile-only{
  display:none;
}
.events-copy {
  width: 100%;
  text-align: center;
  font-family: var(ff-display);
  letter-spacing: -0.02rem;
  margin: 40px;
}
.events-copy .hidden {
  display: none;
}
.events-title {
  font-size: 42px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 40px;
  color: var(-c--gray-800);
}
.events-copy .accent {
  color: var(--c-pink);
  font-weight: 700;
}
.events-lead,
.events-sub {
  font-size: 24px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--c-gray-600);
}
.events-books {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px;
  margin-top: 40px;
  margin-bottom: 80px;
  padding: 80px;
}
.book-card{
  break-inside: avoid;        /* 열 분리 방지 */
  display: flex;
  gap: 24px;
  width:100%;        /* 트랙 너비에 강제 맞춤 */
  margin-bottom: 48px;        /* 카드 간 세로 간격 */
  font-size: 15px;
  color: var(--c-gray-800);
}
.book-thumb{
  flex: 0 0 200px;            /* 고정 폭 */
  aspect-ratio: 2/2.95; /* 2:2.95 비율 */
  border-radius: 4px;
  border: 1px solid var(--c-gray-300);
  background-color: var(--c-gray-300);
  overflow: hidden;
}
.book-thumb img{
  display: block;
  object-fit: cover;
  object-position:center;
  width: 100%; 
  height: auto;
}

.book-info{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center; /* 세로 중앙 정렬 */
  padding: 40px;
  border: 1px solid var(--c-gray-300);
  background: var(--c-gray-100);
  color: var(--c-gray-600);
}
.book-title{
  font-weight: 700;
  font-size: 18px;
  margin: 0 0 4px;
  color: var(--c-gray-800);
}
.book-author{
  color: var(--c-gray-400);
  margin: 0 0 20px;
  font-size: 16px;
}
.book-desc{
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 20px;
  /* 2줄 이후 말줄임 – 필요 시 삭제 */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-align: justify;     /* 양쪽 끝 맞춤 */
  text-align-last: left;   /* 마지막 줄은 왼쪽 정렬(옵션) */
}
.book-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.book-tag{
  font-size: 14px;
  font-weight: 400;
  color: var(--c-gray-800);
  background: var(--c-gray-200);
  padding: 2px 6px;
  border-radius: 2px;
}

/* 5) 반응형 – 태블릿 이하 한 열 */
@media (max-width: 768px){
  .events-hero{
    gap: 32px;;
    padding:0;
    margin-top: 0px;
  }
  .hero-video{
    width:100%; 
    border-radius: 0%;
  }
  .desktop-only{
    display:none;
  }
  .mobile-only{
    display:block;
  }
  .events-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  .events-lead,
  .events-sub {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.7;
    color: var(--c-gray-600);
  }
  .events-copy .hidden {
    display: block;
  }
  .events-books {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin-top: 40px;
    margin-bottom: 80px;
    padding: 20px;
  }
  .book-card{ 
    display: flex;
    flex-direction: column;
    gap: 16px; 
    margin-bottom: 32px; 
  }
  .book-thumb{
    flex: none;  
    width: 100%;
    /* height: 100%; */
    border-radius: 4px;
  }
  .book-info{
    flex: none;
    display: flex;
    flex-direction: column;
    justify-content: center; /* 세로 중앙 정렬 */
    padding: 20px;
    border: 1px solid var(--c-gray-300);
    background: var(--c-gray-100);
    color: var(--c-gray-600);
  }
  .book-title{
    /* 2줄 이후 말줄임 – 필요 시 삭제 */
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .book-author{
    margin: 0 0 12px;
    font-size: 16px;
    /* 2줄 이후 말줄임 – 필요 시 삭제 */
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .book-desc{
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 12px;
    /* 2줄 이후 말줄임 – 필요 시 삭제 */
    /* -webkit-line-clamp:2; */

  }
}