/* ============ gallery text below image ============ */
:root{
  --g-title-lines: 2;     /* 제목 줄 수 */
  --g-excerpt-lines: 3;   /* 본문 줄 수 */
}

/* 카드 테두리 제거 (섹션 카드가 있으면 보더 숨김) */
.card{ border:0; box-shadow:none; background:transparent; }

/* slick 기본 유지 */
.slick-slide img{ width:100%; }

/* 슬라이드 아이템 */
.g-item{ height:100%; }
.g-card{
  display:block;
  border:0;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  text-decoration:none;
  transition:transform .15s ease, box-shadow .15s ease;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
}
.font-title{
  font-size: 24px;
}
@media (hover:hover){
  .g-card:hover{ transform: translateY(-2px); box-shadow:0 12px 28px rgba(0,0,0,.14); }
}

/* 썸네일 (이미지/iframe 공통) */
.g-thumb{ background:#eef2f7; }
.g-media{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
  border:0;
}

/* iframe 비율박스 */
.g-iframe{ position:relative; width:100%; padding-top:56.25%; }
.g-iframe > iframe{ position:absolute; inset:0; width:100%; height:100%; }

/* 텍스트 영역 */
.g-meta{ padding:12px 14px 16px; }
.g-title{
  margin:0 0 6px;
  font-weight:700;
  color:#111827;
  font-size: clamp(16px,1.7vw,18px);
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp: var(--g-title-lines);
  -webkit-box-orient: vertical;
  overflow:hidden;
}
.g-excerpt{
  margin:0;
  color:#4b5563;
  font-size: clamp(14px,1.5vw,15px);
  line-height:1.55;
  display:-webkit-box;
  -webkit-line-clamp: var(--g-excerpt-lines);
  -webkit-box-orient: vertical;
  overflow:hidden;
}

/* no_img 대체 배경 */
.g-media[src*="no_img"]{
  background: repeating-linear-gradient(45deg,#eef2f7 0 12px,#e6ebf2 12px 24px);
}

/* --- no shadow mode --- */
.card,
.card-header,
.card-body,
.gallery_box,
.g-item,
.g-card {
  box-shadow: none !important;
}

/* hover 시에도 그림자/튀는 효과 제거 */
@media (hover:hover){
  .g-card:hover{
    box-shadow: none !important;
    transform: none !important;
  }
}

.card{ background: transparent !important; }

/* 반응형 비율 조정 */
@media (max-width:1180px){
  .g-media{ aspect-ratio:4/3; }
  .font-title{
    font-size: 18px;
  }
}
@media (max-width:480px){
  .g-media{ aspect-ratio:1/1; }
  :root{ --g-title-lines: 2; --g-excerpt-lines: 2; }
}
