/* ── 이미지 관리자 공통 스타일 ── */
.img-manager { user-select:none; }
.img-grid {
    display:flex; flex-wrap:wrap; gap:10px;
    padding:16px; background:#f9fafb;
    border-radius:10px; border:1.5px dashed #d1d5db;
    min-height:120px; align-items:flex-start;
}
.img-item {
    position:relative; width:110px; height:110px;
    border-radius:8px; overflow:hidden;
    border:2px solid transparent; transition:.2s;
    cursor:grab; background:#e5e7eb;
}
.img-item.is-thumb { border-color:#1a1a2e; }
.img-item.dragging  { opacity:.4; cursor:grabbing; }
.img-item.drag-over { border-color:#ff5a5f; transform:scale(1.04); }
.img-item img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.img-overlay {
    position:absolute; inset:0;
    background:rgba(0,0,0,.45);
    display:flex; align-items:center; justify-content:center; gap:6px;
    opacity:0; transition:opacity .2s;
}
.img-item:hover .img-overlay { opacity:1; }
.img-btn-thumb, .img-btn-del {
    background:rgba(255,255,255,.9); border:none; border-radius:50%;
    width:32px; height:32px; cursor:pointer; font-size:14px;
    display:flex; align-items:center; justify-content:center;
    transition:.15s; line-height:1;
}
.img-btn-del:hover { background:#ef4444; color:#fff; }
.img-btn-thumb:hover { background:#f59e0b; }
.img-thumb-badge {
    background:#1a1a2e; color:#fff; border-radius:4px;
    font-size:10px; font-weight:700; padding:2px 8px;
}
.img-drag-handle {
    position:absolute; bottom:4px; right:4px;
    font-size:16px; color:rgba(255,255,255,.7);
    cursor:grab; line-height:1;
}
.img-add-btn {
    width:110px; height:110px; border-radius:8px;
    border:2px dashed #d1d5db; display:flex;
    flex-direction:column; align-items:center; justify-content:center;
    cursor:pointer; transition:.15s; background:#fff;
}
.img-add-btn:hover { border-color:#1a1a2e; background:#f9fafb; }

/* ── 객실 이미지 갤러리 (host_view) ── */
.room-gallery-thumb {
    width:100%; height:200px; overflow:hidden;
    background:#f3f4f6; border-radius:12px 12px 0 0;
    cursor:pointer; position:relative;
}
.room-gallery-thumb img { width:100%; height:100%; object-fit:cover; transition:.3s; }
.room-gallery-thumb:hover img { transform:scale(1.04); }
.room-gallery-count {
    position:absolute; bottom:8px; right:10px;
    background:rgba(0,0,0,.55); color:#fff;
    font-size:12px; font-weight:700; padding:3px 10px;
    border-radius:20px; backdrop-filter:blur(4px);
}

/* ── 라이트박스 ── */
#mgLightbox {
    display:none; position:fixed; inset:0; z-index:99999;
    background:rgba(0,0,0,.92); align-items:center; justify-content:center;
}
#mgLightbox.open { display:flex; }
.lb-inner { position:relative; max-width:90vw; max-height:90vh; }
.lb-inner img { max-width:90vw; max-height:82vh; object-fit:contain; border-radius:8px; display:block; }
.lb-close {
    position:absolute; top:-40px; right:0;
    background:none; border:none; color:#fff; font-size:28px; cursor:pointer; line-height:1;
}
.lb-prev, .lb-next {
    position:fixed; top:50%; transform:translateY(-50%);
    background:rgba(255,255,255,.15); border:none; color:#fff;
    font-size:28px; width:48px; height:64px; cursor:pointer;
    border-radius:8px; transition:.2s; line-height:1;
}
.lb-prev { left:12px; }
.lb-next { right:12px; }
.lb-prev:hover, .lb-next:hover { background:rgba(255,255,255,.3); }
.lb-dots {
    display:flex; justify-content:center; gap:6px; margin-top:12px;
}
.lb-dot {
    width:8px; height:8px; border-radius:50%;
    background:rgba(255,255,255,.35); border:none; cursor:pointer; transition:.2s;
}
.lb-dot.active { background:#fff; }
.lb-caption {
    text-align:center; color:rgba(255,255,255,.7);
    font-size:13px; margin-top:8px;
}
