/* ============================================================
 * skin/board/hive_model_user/style.css
 * 모델 모집 게시판 스킨 (보라/그레이 톤 — 이벤트와 구분)
 * Module: hive_model_recruit / Version: 1.0.0
 * ============================================================ */

.hmr-wrap { max-width:1280px; margin:24px auto; padding:0 16px; font-family:'Noto Sans KR','Pretendard',sans-serif; color:#222; }

/* 슈퍼관리자 도구바 */
.hmr-admin-bar { display:flex; gap:8px; padding:10px 14px; background:#f3eef9; border:1px solid #d9c8f0; border-radius:8px; margin-bottom:16px; align-items:center; font-size:13px; flex-wrap:wrap; }
.hmr-admin-label { color:#5b3a87; font-weight:600; margin-right:6px; }
.hmr-toggle { color:#666; }
.hmr-toggle a { color:#999; text-decoration:none; padding:4px 10px; border-radius:4px; }
.hmr-toggle a.on { background:var(--hmr-main, #7c3aed); color:#fff; }
.hmr-admin-btn { padding:6px 12px; background:var(--hmr-main, #7c3aed); color:#fff; border:0; border-radius:4px; cursor:pointer; font-size:12px; text-decoration:none; }
.hmr-admin-btn.outline { background:#fff; color:var(--hmr-main, #7c3aed); border:1px solid var(--hmr-main, #7c3aed); }
.hmr-admin-btn.danger { background:#dc2626; }

/* 툴바 */
.hmr-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; flex-wrap:wrap; gap:12px; }
.hmr-title { font-size:22px; font-weight:700; margin:0; }
.hmr-title small { color:#888; font-weight:400; font-size:14px; margin-left:6px; }
.hmr-search { display:flex; gap:6px; }
.hmr-search input { padding:8px 12px; border:1px solid #ddd; border-radius:6px; font-size:13px; }
.hmr-search button { padding:8px 16px; background:#3a3a3a; color:#fff; border:0; border-radius:6px; cursor:pointer; }

/* 정원바 */
.hmr-cap { background:#f3f3f3; height:6px; border-radius:3px; margin:8px 0 4px; overflow:hidden; }
.hmr-cap-bar { background:linear-gradient(90deg,var(--hmr-main, #7c3aed),#a78bfa); height:100%; transition:width .3s; }
.hmr-cap small { display:block; margin-top:4px; font-size:11px; color:#888; }

.hmr-dday { position:absolute; top:8px; left:8px; padding:3px 8px; background:#dc2626; color:#fff; border-radius:4px; font-size:11px; font-weight:700; }
.hmr-closed { position:absolute; top:8px; left:8px; padding:3px 8px; background:#374151; color:#fff; border-radius:4px; font-size:11px; font-weight:700; }

/* === 리스트형 === */
.hmr-list { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.hmr-row { display:flex; padding:18px 20px; gap:18px; align-items:center; border-bottom:1px solid #f0f0f0; }
.hmr-row:last-child { border-bottom:0; }
.hmr-row-thumb { width:140px; height:140px; flex-shrink:0; background:#f3eef9; background-size:cover; background-position:center; border-radius:10px; position:relative; display:block; }
.hmr-row-body { flex:1; min-width:0; }
.hmr-row-meta { display:flex; gap:8px; font-size:11px; color:#999; margin-bottom:6px; flex-wrap:wrap; }
.hmr-row-cat { padding:2px 8px; background:#f3eef9; color:var(--hmr-main, #7c3aed); border-radius:3px; font-weight:500; }
.hmr-row-title { display:block; font-weight:600; font-size:17px; color:#222; text-decoration:none; margin-bottom:6px; }
.hmr-row-title:hover { color:var(--hmr-main, #7c3aed); }
.hmr-row-note { color:#666; font-size:13px; line-height:1.5; }
.hmr-row-right { text-align:right; flex-shrink:0; min-width:180px; }
.hmr-row-price-old { font-size:12px; color:#aaa; text-decoration:line-through; }
.hmr-row-price { font-size:22px; font-weight:800; color:#222; margin-bottom:4px; }
.hmr-row-price.free { color:#10b981; }
.hmr-row-reward { font-size:11px; color:var(--hmr-main, #7c3aed); margin-bottom:8px; }

/* === 그리드형 === */
.hmr-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media (max-width:1024px){ .hmr-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .hmr-grid { grid-template-columns:1fr; } }
.hmr-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 4px rgba(0,0,0,.06); transition:all .15s; }
.hmr-card:hover { transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.1); }
.hmr-card-thumb { display:block; width:100%; aspect-ratio:1/1; background:#f3eef9; background-size:cover; background-position:center; position:relative; }
.hmr-card-body { padding:14px 16px 16px; }
.hmr-card-cat { font-size:11px; color:var(--hmr-main, #7c3aed); font-weight:500; margin-bottom:4px; }
.hmr-card-title { display:block; font-size:14px; font-weight:600; color:#222; text-decoration:none; line-height:1.4; min-height:38px; }
.hmr-card-note { font-size:11px; color:#888; margin:6px 0; line-height:1.5; }
.hmr-card-price { display:flex; align-items:baseline; gap:6px; margin-top:8px; }
.hmr-card-price .strike { font-size:11px; color:#aaa; text-decoration:line-through; }
.hmr-card-price .price { font-size:18px; font-weight:700; color:#222; }
.hmr-card-price .price.free { color:#10b981; }

/* 신청 버튼 */
.hmr-btn-apply { padding:10px 16px; background:var(--hmr-main, #7c3aed); color:#fff; border:0; border-radius:6px; cursor:pointer; font-size:13px; font-weight:600; }
.hmr-btn-apply:hover { filter:brightness(.85); }
.hmr-btn-apply:disabled { background:#9ca3af; cursor:not-allowed; }
.hmr-card-body .hmr-btn-apply { display:block; width:100%; margin-top:6px; padding:11px; }

.hmr-empty { padding:80px 20px; text-align:center; color:#999; background:#fff; border-radius:12px; }
.hmr-paging { margin-top:24px; text-align:center; }

/* === VIEW (글 상세) === */
.hmr-view { background:#fff; border-radius:12px; padding:32px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.hmr-view-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid #f0f0f0; }
.hmr-view-back { color:#666; text-decoration:none; font-size:13px; }
.hmr-view-actions { display:flex; gap:6px; }
.hmr-view-grid { display:grid; grid-template-columns:1fr 360px; gap:32px; align-items:start; }
.hmr-view-side { position:sticky; top:80px; align-self:start; }
@media (max-width:900px){
    .hmr-view-grid { grid-template-columns:1fr; }
    .hmr-view-side { position:static; }
}
.hmr-view-cat { color:var(--hmr-main, #7c3aed); font-size:13px; font-weight:500; margin-bottom:8px; }
.hmr-view-title { font-size:26px; font-weight:700; margin:0 0 12px; }
.hmr-view-note { color:#666; font-size:14px; margin:0 0 16px; }
.hmr-view-meta { display:flex; gap:14px; padding:12px 0; border-top:1px solid #f0f0f0; border-bottom:1px solid #f0f0f0; font-size:13px; color:#666; flex-wrap:wrap; align-items:center; }
.hmr-dday-text { padding:3px 10px; background:#dc2626; color:#fff; border-radius:4px; font-size:12px; font-weight:700; }
.hmr-closed-text { padding:3px 10px; background:#374151; color:#fff; border-radius:4px; font-size:12px; font-weight:700; }
.hmr-view-content { margin-top:24px; line-height:1.7; font-size:15px; color:#333; }
.hmr-view-content img { max-width:100%; height:auto; border-radius:6px; }
.hmr-view-images { margin-bottom:20px; display:flex; flex-direction:column; gap:10px; }
.hmr-view-images img { width:100%; border-radius:8px; }

/* 우측 신청 카드 */
.hmr-buy-card { background:#fafafa; border:1px solid #eee; border-radius:12px; padding:20px; }
.hmr-buy-title { font-size:15px; font-weight:600; margin:0 0 14px; padding-bottom:14px; border-bottom:1px solid #eee; }
.hmr-buy-price { padding:14px 0; border-bottom:1px solid #eee; margin-bottom:16px; position:relative; }
.hmr-buy-price-old { color:#aaa; text-decoration:line-through; font-size:13px; }
.hmr-buy-price-now { font-size:32px; font-weight:800; color:var(--hmr-main, #7c3aed); margin-top:4px; }
.hmr-buy-price-now.free { color:#10b981; }
.hmr-buy-discount { position:absolute; top:14px; right:0; padding:4px 8px; background:#dc2626; color:#fff; border-radius:4px; font-size:13px; font-weight:700; }
.hmr-buy-reward { margin-top:8px; padding:8px 10px; background:#f3eef9; color:#5b3a87; border-radius:4px; font-size:12px; }
.hmr-buy-review { padding:12px; background:#fef3c7; border:1px solid #fde68a; border-radius:6px; margin-bottom:14px; }
.hmr-buy-review strong { color:#78350f; display:block; margin-bottom:4px; }
.hmr-buy-review small { color:#92400e; font-size:11px; }
.hmr-buy-cta { display:block; width:100%; padding:14px; border:0; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; background:var(--hmr-main, #7c3aed); color:#fff; }
.hmr-buy-cta:hover { filter:brightness(.85); }
.hmr-buy-cta:disabled { background:#9ca3af; cursor:not-allowed; }

/* === 글쓰기 폼 === */
.hmr-write { background:#fff; border-radius:12px; padding:32px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.hmr-write-head { margin-bottom:20px; }
.hmr-write-head h2 { margin:0 0 6px; font-size:22px; font-weight:700; }
.hmr-write-help { color:#888; font-size:13px; margin:0; }
.hmr-form-tbl { width:100%; border-collapse:collapse; margin-bottom:20px; }
.hmr-form-tbl th { width:160px; padding:14px 16px; text-align:left; vertical-align:top; background:#fafafa; border-bottom:1px solid #eee; font-weight:500; color:#444; font-size:13px; }
.hmr-form-tbl td { padding:14px 16px; border-bottom:1px solid #eee; font-size:13px; }
.hmr-form-tbl .req { color:#dc2626; }
.hmr-form-tbl .hmr-section th { background:var(--hmr-main, #7c3aed); color:#fff; padding:10px 16px; border:0; font-weight:600; font-size:13px; }
.hmr-help { display:block; margin-top:4px; color:#888; font-size:11px; }
.hmr-input { padding:8px 10px; border:1px solid #d1d5db; border-radius:4px; font-size:13px; box-sizing:border-box; font-family:inherit; }
.hmr-input.wide { width:100%; }
.hmr-input.small { width:140px; }
.hmr-input.mono { font-family:monospace; }
.hmr-input:focus { outline:none; border-color:var(--hmr-main, #7c3aed); box-shadow:0 0 0 2px rgba(0,0,0,.06); }
.hmr-write-actions { display:flex; gap:8px; padding-top:20px; border-top:1px solid #eee; }
.hmr-btn-submit { padding:12px 28px; background:var(--hmr-main, #7c3aed); color:#fff; border:0; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; }
.hmr-btn-cancel { padding:12px 28px; background:#fff; color:#666; border:1px solid #ccc; border-radius:6px; font-size:14px; text-decoration:none; }

/* === 모달 (AJAX 인젝트, iframe 없음) === */
.hmr-modal { position:fixed; inset:0; z-index:99999; display:none; }
.hmr-modal.open { display:block; }
.hmr-modal-bg { position:fixed; inset:0; background:rgba(0,0,0,.55); animation:hmrFadeIn .2s; }
.hmr-modal-frame { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:96%; max-width:880px; max-height:92vh; background:transparent; animation:hmrScaleIn .2s; }
.hmr-modal-scroll { width:100%; max-height:92vh; overflow-y:auto; background:#fff; border-radius:14px; }
.hmr-modal-content { background:transparent; padding:0; position:relative; }
.hmr-modal-loading { padding:60px 20px; text-align:center; color:var(--hmr-main, #7c3aed); font-size:14px; }
.hmr-modal-close { position:absolute; top:10px; right:10px; z-index:10; background:#fff; border:1px solid #e5e5e5; width:34px; height:34px; border-radius:50%; cursor:pointer; font-size:18px; line-height:1; display:flex; align-items:center; justify-content:center; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.hmr-modal-close:hover { background:#f5f5f5; }
@keyframes hmrFadeIn { from{opacity:0} to{opacity:1} }
@keyframes hmrScaleIn { from{opacity:0;transform:translate(-50%,-50%) scale(.96)} to{opacity:1;transform:translate(-50%,-50%) scale(1)} }
@media (max-width:768px){
    .hmr-modal-frame { width:100%; max-width:100%; max-height:100vh; top:0; left:0; transform:none; }
    .hmr-modal-scroll { max-height:100vh; border-radius:0; }
    @keyframes hmrScaleIn { from{opacity:0} to{opacity:1} }
}

/* ============================================================
 * 표준 게시판 골격 — 카테고리 / 검색 / 정렬 / 페이징 / 일괄관리
 * ============================================================ */
.hmr-toolbar-right { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.hmr-search { display:flex; align-items:center; gap:6px; }
.hmr-search select, .hmr-sort {
    height:36px; padding:0 28px 0 10px; border:1px solid #e5e7eb;
    border-radius:6px; font-size:13px; background:#fff;
    appearance:none; -webkit-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none'/></svg>");
    background-repeat:no-repeat; background-position:right 10px center;
}
.hmr-search input[type="text"] {
    height:36px; padding:0 12px; border:1px solid #e5e7eb; border-radius:6px;
    font-size:13px; min-width:180px;
}
.hmr-search input[type="text"]:focus { outline:none; border-color:var(--hmr-main); }
.hmr-search button {
    height:36px; padding:0 16px; background:var(--hmr-main); color:#fff;
    border:0; border-radius:6px; font-size:13px; cursor:pointer; font-weight:500;
}

.hmr-cats { display:flex; gap:0; margin-bottom:18px; border-bottom:1px solid #e5e7eb; overflow-x:auto; }
.hmr-cat {
    padding:12px 18px; color:#888; text-decoration:none;
    font-size:14px; border-bottom:2px solid transparent; white-space:nowrap;
}
.hmr-cat.active { color:var(--hmr-main); font-weight:700; border-bottom-color:var(--hmr-main); }
.hmr-cat .cnt { color:#aaa; font-size:12px; margin-left:4px; }

.hmr-paging { margin:32px 0 20px; text-align:center; }
.hmr-paging .pg_wrap { display:inline-flex; gap:4px; }
.hmr-paging .pg_page, .hmr-paging .pg_current,
.hmr-paging .pg_start, .hmr-paging .pg_prev,
.hmr-paging .pg_end, .hmr-paging .pg_next {
    display:inline-flex; align-items:center; justify-content:center;
    min-width:36px; height:36px; padding:0 10px;
    border:1px solid #e5e7eb; border-radius:6px;
    color:#666; text-decoration:none; font-size:13px;
}
.hmr-paging .pg_page:hover { border-color:var(--hmr-main); color:var(--hmr-main); }
.hmr-paging .pg_current { background:var(--hmr-main); color:#fff !important; border-color:var(--hmr-main); font-weight:600; }

.hmr-bulk {
    margin-top:18px; padding:14px 18px;
    background:#fafafa; border:1px solid #e5e7eb; border-radius:10px;
}
.hmr-bulk-all { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#444; font-weight:500; padding-bottom:12px; border-bottom:1px solid #f0f0f0; margin-bottom:12px; width:100%; }
.hmr-bulk-checks { display:flex; flex-wrap:wrap; gap:6px 14px; max-height:140px; overflow-y:auto; margin-bottom:12px; padding:4px; }
.hmr-bulk-chk { display:inline-flex; align-items:center; gap:5px; font-size:12px; color:#666; cursor:pointer; user-select:none; padding:3px 8px; border-radius:4px; }
.hmr-bulk-chk:hover { background:#f0f0f0; }
.hmr-bulk-chk span { max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hmr-bulk-actions { display:flex; gap:6px; padding-top:12px; border-top:1px solid #f0f0f0; justify-content:flex-end; }
.hmr-bulk-actions button {
    padding:7px 16px; border:1px solid #ddd; background:#fff; color:#555;
    border-radius:5px; font-size:12px; cursor:pointer;
}
.hmr-bulk-actions button:hover { border-color:var(--hmr-main); color:var(--hmr-main); }
.hmr-bulk-actions button.danger { color:#dc2626; }
.hmr-bulk-actions button.danger:hover { border-color:#dc2626; background:#fef2f2; }
