/**
 * [한글 유지보수 안내]
 * 파일 역할: 스크롤 캐러셀·탭·이미지 패널을 정의합니다.
 * 연결 및 수정 시 주의: 스타일 적용 순서는 layout.tsx 또는 theme/functions.php를 기준으로 확인합니다. 글자 크기·키보드 초점·모바일 터치 영역을 함께 유지하세요.
 */
/* One image per horizontal snap point. No autoplay; every change is visitor controlled. */
.faith-carousel.is-carousel{display:flex;align-items:stretch;width:100%;min-width:0;max-width:100%;height:clamp(360px,70dvh,900px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9aaecb #edf2f8;border:1px solid #d8e2ef;border-radius:6px;background:#f4f7fb;cursor:grab;touch-action:auto;overflow-anchor:none}
.faith-carousel.is-carousel>[data-faith-slide]{display:flex;flex-direction:column;flex:0 0 100%;width:100%;min-width:0;height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;margin:0;padding:0;scroll-snap-align:start;scroll-snap-stop:always;border:0;opacity:1;transform:none}
.faith-carousel.is-carousel>[data-faith-slide]:focus-visible{outline:3px solid #2765b4;outline-offset:-3px}
.faith-carousel.is-carousel img{display:block;width:100%;max-width:100%;height:auto;max-height:none;flex:none;margin:auto 0;object-fit:contain;user-select:none;-webkit-user-select:none}
.faith-carousel.is-carousel:focus-visible{outline:3px solid #2765b4;outline-offset:3px}
.faith-carousel.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none;-webkit-user-select:none}
.faith-carousel.single-slide{cursor:auto}
.faith-page-nav [role=tab][aria-selected=true]{background:var(--dept,#245793);border-color:var(--dept,#245793);color:#fff;font-weight:700}
.faith-carousel-controls{margin:1rem 0}.faith-carousel-controls[hidden]{display:none}
.carousel-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;margin:0 0 .8rem}
.carousel-navigation button{min-height:48px}.carousel-navigation button:last-child{justify-self:end}
.carousel-position{font-weight:700;font-size:1rem;color:#304f78;white-space:nowrap;margin:0}
.carousel-tools{display:flex;justify-content:flex-end;align-items:center;gap:.8rem;flex-wrap:wrap}
.faith-detail:has(.is-carousel)>.faith-carousel-hint{font-size:.9rem;color:#566b84;margin:.5rem 0 1rem}
.faith-carousel.is-carousel .document-heading{display:none}
.faith-carousel.is-carousel .detail-image-wrap{flex:none;margin:auto 0;padding:0;border:0;border-radius:0;background:transparent}
.faith-carousel.is-carousel .detail-image{margin:0;box-shadow:none;border:0}
#faith-document-panel>.page-navigation{padding:.25rem 0 .8rem}
#faith-document-panel .faith-carousel img{width:100%;margin:0}
@media(max-width:720px){.carousel-navigation{gap:.5rem}.carousel-navigation .button{font-size:.9rem;padding:.55rem .7rem}.carousel-tools{justify-content:stretch;gap:.5rem}.carousel-tools .button{flex:1}.faith-carousel.is-carousel{border-radius:4px}}
@media(prefers-reduced-motion:reduce){.faith-carousel.is-carousel{scroll-behavior:auto}}
@media print{.faith-carousel.is-carousel{display:block!important;height:auto!important;overflow:visible!important;border:0;cursor:auto}.faith-carousel.is-carousel>[data-faith-slide]{display:block!important;width:100%;height:auto!important;overflow:visible!important;break-inside:avoid}.faith-carousel.is-carousel .document-heading{display:flex}.faith-carousel-controls,.faith-carousel-hint{display:none!important}}
