@charset "utf-8";
/* ===== 의성중부교회 갤러리 최신글 슬라이드 : gallery_slide ===== */

.gallery_slide { position: relative; }
.gallery_slide * { box-sizing: border-box; }

/* Swiper 기본 보정 (테마 CSS 미의존) */
.gs_swiper { position: relative; overflow: hidden; padding: 6px 4px 10px; }
.gs_swiper .swiper-wrapper { display: flex; box-sizing: content-box; }
.gs_swiper .swiper-slide { flex-shrink: 0; height: auto; }

.gs_item { display: block; text-decoration: none; color: #333; }
.gs_thumb { position: relative; display: block; border-radius: 10px; overflow: hidden; background: #f1f1f1; box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.gs_thumb img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.gs_item:hover .gs_thumb img { transform: scale(1.06); }
.gs_thumb .gs_noimg { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4 / 3; color: #bbb; font-size: 14px; }
.gs_new { position: absolute; left: 12px; top: 12px; background: #ff5722; color: #fff; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 5px; }

.gs_tit { display: block; margin-top: 14px; font-size: 16px; font-weight: 600; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .2s; }
.gs_item:hover .gs_tit { color: #2f6db3; }
.gs_date { display: block; margin-top: 5px; font-size: 13px; color: #999; }

/* 페이지네이션 */
.gs_pagination { text-align: center; margin-top: 22px; }
.gs_pagination .swiper-pagination-bullet { width: 9px; height: 9px; background: #cdd3de; opacity: 1; margin: 0 5px !important; transition: width .25s, background .25s; border-radius: 5px; }
.gs_pagination .swiper-pagination-bullet-active { width: 26px; background: #2f6db3; }

/* 좌우 버튼 */
.gs_prev, .gs_next { position: absolute; top: 39%; transform: translateY(-50%); z-index: 10; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; color: #2f6db3; box-shadow: 0 4px 14px rgba(0,0,0,.16); cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; transition: background .2s, color .2s, opacity .2s; }
.gs_prev { left: -10px; }
.gs_next { right: -10px; }
.gs_prev:hover, .gs_next:hover { background: #2f6db3; color: #fff; }
.gs_prev.swiper-button-disabled, .gs_next.swiper-button-disabled { opacity: 0; pointer-events: none; }

.gs_empty { text-align: center; padding: 60px 0; color: #aaa; border: 1px solid #ececec; border-radius: 10px; }

@media (max-width: 1023px) {
    .gs_prev, .gs_next { display: none; }
    .gs_tit { font-size: 15px; }
}
