.popups-root { position: relative; z-index: 3000; }
.popup-item { position: fixed; z-index: 3000; }
.pos-center { inset: 0; display:grid; place-items:center; background: rgba(0,0,0,.5); }

/* 좌표 배치용 */
.popup-item.xy { }

/* 팝업 박스 */
.popup-box {
  position: relative;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
  padding: 0;
  max-width: 500px; /* ✅ 최대 가로 500px */
  width: calc(100% - 40px);
  overflow: hidden;
}
.popup-box img { width: 100%; height: auto; display: block; }

/* 상단 컨트롤 영역 */
.popup-controls {
  position: absolute; top: 8px; right: 8px;
  display: flex; gap: 6px; align-items: center;
  z-index: 2;
}
.popup-controls button {
  border: 0; cursor: pointer; border-radius: 9999px;
  padding: 6px 10px; font-size: 12px; font-weight: 600;
  color: #fff; background: rgba(0,0,0,.45);
}
.popup-controls .popup-close {
  width: 32px; height: 32px; padding: 0;
  display: grid; place-items: center;
  font-size: 18px; line-height: 1;
  background: rgba(0,0,0,.65);
}
.popup-controls .popup-close:hover { background: rgba(0,0,0,.75); }
.popup-controls .popup-hide-today:hover { background: rgba(0,0,0,.55); }

/* 슬라이더 */
.popup-slider { position: relative; overflow: hidden; }
.popup-slider .slides { display: flex; transition: transform .3s ease; }
.popup-slider .slide { min-width: 100%; }
.slide-prev, .slide-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,.45); color:#fff; border:0; width:32px; height:32px; border-radius:50%;
  font-size:20px; cursor:pointer;
  z-index:2;
}
.slide-prev { left: 8px; }
.slide-next { right: 8px; }

.dots { display:flex; gap:6px; justify-content:center; padding:10px; }
.dots button {
  width:8px; height:8px; border-radius:50%; border:0; background:#d1d5db; cursor:pointer;
}
.dots button.active { background:#0b6fb5; }

@media (max-width: 640px) {
  .popup-box{ max-width: 92%; }
}
