/* ivslider — 공용 가로 슬라이더(js/ivslider.js, 원본 js/ivslider.src.js + Embla). 한 화면 장수=--ivs-per, 간격=--ivs-gap 를 스킨에서 지정 */
.ivs {position:relative;--ivs-per:1;--ivs-gap:0px}
.ivs-track {position:relative;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none}
.ivs-track::-webkit-scrollbar {display:none}
.ivs-slide {position:relative;flex:0 0 auto;min-width:0;width:calc((100% - (var(--ivs-per) - 1) * var(--ivs-gap)) / var(--ivs-per));margin-right:var(--ivs-gap);scroll-snap-align:start}
.ivs-slide:last-child {margin-right:0}
.ivs-free .ivs-track {scroll-snap-type:none}
.ivs-free .ivs-slide {width:auto;scroll-snap-align:none}
.ivs-autoh .ivs-track {align-items:flex-start;transition:height .3s ease}
.ivs-grab .ivs-track {cursor:grab}
.ivs.is-dragging .ivs-track {scroll-snap-type:none;cursor:grabbing;-webkit-user-select:none;user-select:none}
/* Embla 엔진(.ivs-embla): 트랙=뷰포트(넘침 숨김), 스크립트가 끼운 .ivs-container 가 실제 줄. 끝없이 넘길 땐(.ivs-looping) 마지막 장 뒤에도 간격 */
.ivs-embla .ivs-track {display:block;overflow:hidden;scroll-snap-type:none}
.ivs-container {display:flex;height:100%;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent}
.ivs-embla .ivs-slide {scroll-snap-align:none}
.ivs-looping .ivs-slide:last-child {margin-right:var(--ivs-gap)}
.ivs-autoh .ivs-container {align-items:flex-start}

/* 화살표(기본 모양 — 스킨에서 덮어씀) */
.ivs-prev,.ivs-next {position:absolute;top:50%;z-index:3;display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-top:-18px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.6);color:#222;font-size:16px;line-height:1;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ivs-prev {left:8px}
.ivs-next {right:8px}
.ivs-prev svg {transform:rotate(180deg)}
.ivs-prev.is-disabled,.ivs-next.is-disabled {opacity:.35;cursor:default;pointer-events:none}
/* 스킨이 CSS 선으로 화살표를 그리는 버튼(옛 Swiper 기본 크기·위치 그대로) */
.ivs-noicon {width:27px;height:44px;margin-top:-22px;border-radius:0;background:transparent;color:inherit}
.ivs-single .ivs-prev,.ivs-single .ivs-next,.ivs-single .ivs-dots {display:none !important}

/* 점(기본=배너 위 하단 흰 점, .ivs-dots-below 는 슬라이더 아래) */
.ivs-dots {position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;justify-content:center;align-items:center;line-height:0;pointer-events:none}
.ivs-dots-below {position:static;padding-top:10px}
.ivs-dot {width:8px;height:8px;margin:0 4px;padding:0;border:0;border-radius:4px;background:#fff;opacity:.55;box-shadow:0 0 3px rgba(0,0,0,.35);cursor:pointer;pointer-events:auto;transition:width .3s,opacity .3s}
.ivs-dot.is-active {width:20px;opacity:1}
