@charset "utf-8";

/* ===== 공통 ===== */
.gallery-grid{
  --gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PC: 3개 */
  gap: var(--gap);
}

/* 태블릿: 2열, 첫 아이템은 100% 가로(span 2) */
@media (max-width: 1024px){
  .gallery-grid{
    grid-template-columns: repeat(2, 1fr);
    --gap: 14px;
  }
  .gallery-grid > .gallery-item:nth-child(1){
    grid-column: 1 / -1; /* 첫 카드 하나만 100% */
  }
}

/* 모바일: 1열 */
@media (max-width: 560px){
  .gallery-grid{
    grid-template-columns: 1fr;
    --gap: 12px;
  }
}

/* 카드 전체를 균일 높이로: flex column */
.card{
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #e6e9ef;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  border-radius: 1rem !important;
}

.card-media{display:block;}
.card-img{width: 100% !important; height: auto; border-radius: 0 !important; aspect-ratio: 16 / 9; object-fit: cover; display: block;}
.card-body{
	display: flex;
    flex-direction: column;
    justify-content: space-between;
	gap: 8px;
	padding: 12px 12px 14px;
	flex: 1 1 auto;
	min-height: 100px;
}

.card-title{margin: 0;}
.card-title a{color: #111; text-decoration: none;}
.title-clamp{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
	font-size: 20px;
	font-weight: 500;
}

.card-date{margin-top: auto; color: #6F6F6F;}
.pic_lt{ all: unset; }

.card-title {margin-bottom: 0 !important;}
.card-title a {color: #000; line-height: 1.4;}
.card-text:last-child {color: #6F6F6F;}

/* 포커스 수정 */
/* a태그 포커스 */
.gallery-grid .card-media:focus-visible,
.gallery-grid .card-title a:focus-visible {
	position: relative;
	z-index: 2;
}

.gallery-grid .card-media, .gallery-grid .card-title a {display: block; pointer-events: auto;}

@media (max-width: 1499px) {
	.card {border-radius: 12px !important;}
}

@media (min-width: 576px) {
    .card-group>.card:only-child .card-header, .card-group>.card:only-child .card-img-top {
        border-top-left-radius: 0 !important;
        border-top-right-radius: 0 !important;
    }
	.card-group>.card:only-child {border-radius: 0 !important;}
	.title-clamp{font-size: 18px;}
}

@media (max-width: 767px) {
	.title-clamp{font-size: 18px;}
}