/* ============================================================
 * 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; word-break:keep-all; overflow-wrap:break-word; }

/* 슈퍼관리자 도구바 */
.hmr-admin-bar { display:flex; gap:8px; padding:10px 14px; background:rgba(0,0,0,.045); border:0; border-radius:12px; margin-bottom:16px; align-items:center; font-size:13px; flex-wrap:wrap; }
.hmr-admin-label { color:var(--hmr-main, #111); font-weight:600; margin-right:6px; }
.hmr-toggle { color:#666; }
.hmr-toggle a { color:#999; text-decoration:none; padding:4px 10px; border-radius:8px; }
.hmr-toggle a.on { background:var(--hmr-main, #111); color:#fff; }
.hmr-admin-btn { padding:7px 14px; background:var(--hmr-main, #111); color:#fff; border:0; border-radius:12px; cursor:pointer; font-size:12px; font-weight:600; text-decoration:none; transition:filter .15s, transform .15s; }
.hmr-admin-btn:hover { filter:brightness(1.08); transform:translateY(-1px); }
.hmr-admin-btn.outline { background:rgba(0,0,0,.07); color:var(--hmr-main, #111); border:0; }
.hmr-admin-btn.outline:hover { background:rgba(0,0,0,.12); filter:none; }
.hmr-admin-btn.danger { background:rgba(220,38,38,.09); color:#dc2626; }
.hmr-admin-btn.danger:hover { background:rgba(220,38,38,.15); filter:none; }

/* 툴바 */
.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; background:rgba(0,0,0,.045); border:0; border-radius:12px; font-size:13px; }
.hmr-search button { padding:8px 16px; background:var(--hmr-main, #111); color:#fff; border:0; border-radius:12px; font-weight:600; cursor:pointer; transition:filter .15s, transform .15s; }
.hmr-search button:hover { filter:brightness(1.08); transform:translateY(-1px); }

/* 정원바 */
.hmr-cap { background:#f3f3f3; height:6px; border-radius:3px; margin:8px 0 4px; overflow:hidden; }
.hmr-cap-bar { background:var(--hmr-main, #111); 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,.06); }
.hmr-row { display:flex; padding:18px 20px; gap:18px; align-items:center; border-bottom:1px solid rgba(0,0,0,.06); }
.hmr-row:last-child { border-bottom:0; }
.hmr-row-thumb { width:140px; height:140px; flex-shrink:0; background:rgba(0,0,0,.05); 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:rgba(0,0,0,.05); color:var(--hmr-main, #111); border-radius:6px; 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, #111); }
.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, #111); margin-bottom:8px; }

/* === 그리드형 (개수만큼 가로 꽉채움) === */
.hmr-grid { display:flex; flex-wrap:wrap; gap:18px; }
.hmr-grid .hmr-card { flex:1 1 300px; max-width:calc(33.333% - 12px); }
@media (max-width:1024px){ .hmr-grid .hmr-card { max-width:calc(50% - 9px); } }
@media (max-width:600px){ .hmr-grid .hmr-card { max-width:100%; } }
.hmr-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.06); transition:all .15s; }
.hmr-card:hover { transform:translateY(-3px); box-shadow:0 6px 16px rgba(0,0,0,.08); }
.hmr-card-thumb { display:block; width:100%; aspect-ratio:1/1; background:rgba(0,0,0,.05); 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, #111); 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, #111); color:#fff; border:0; border-radius:12px; cursor:pointer; font-size:13px; font-weight:600; transition:filter .15s, transform .15s; }
.hmr-btn-apply:hover { filter:brightness(1.08); transform:translateY(-1px); }
.hmr-btn-apply:disabled { background:#9ca3af; cursor:not-allowed; filter:none; transform:none; }
.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,.06); }
.hmr-view-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid rgba(0,0,0,.06); }
.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, #111); 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 rgba(0,0,0,.06); border-bottom:1px solid rgba(0,0,0,.06); 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:rgba(0,0,0,.03); border:0; 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 rgba(0,0,0,.06); }
.hmr-buy-price { padding:14px 0; border-bottom:1px solid rgba(0,0,0,.06); 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, #111); 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:rgba(0,0,0,.05); color:var(--hmr-main, #111); border-radius:8px; font-size:12px; }
.hmr-buy-review { padding:12px; background:#fef3c7; border:0; border-radius:8px; 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:12px; font-size:15px; font-weight:600; cursor:pointer; background:var(--hmr-main, #111); color:#fff; transition:filter .15s, transform .15s; }
.hmr-buy-cta:hover { filter:brightness(1.08); transform:translateY(-1px); }
.hmr-buy-cta:disabled { background:#9ca3af; cursor:not-allowed; filter:none; transform:none; }

/* === 글쓰기 폼 === */
.hmr-write { background:#fff; border-radius:12px; padding:32px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.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:rgba(0,0,0,.025); border-bottom:1px solid rgba(0,0,0,.06); font-weight:500; color:#444; font-size:13px; }
.hmr-form-tbl td { padding:14px 16px; border-bottom:1px solid rgba(0,0,0,.06); font-size:13px; }
.hmr-form-tbl .req { color:#dc2626; }
.hmr-form-tbl .hmr-section th { background:var(--hmr-main, #111); 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; background:rgba(0,0,0,.03); border:0; border-radius:8px; 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; background:rgba(0,0,0,.05); box-shadow:0 0 0 2px var(--hmr-main, #111); }
.hmr-write-actions { display:flex; gap:8px; padding-top:20px; border-top:1px solid rgba(0,0,0,.06); }
.hmr-btn-submit { padding:12px 28px; background:var(--hmr-main, #111); color:#fff; border:0; border-radius:12px; font-size:14px; font-weight:600; cursor:pointer; transition:filter .15s, transform .15s; }
.hmr-btn-submit:hover { filter:brightness(1.08); transform:translateY(-1px); }
.hmr-btn-cancel { padding:12px 28px; background:rgba(0,0,0,.07); color:#555; border:0; border-radius:12px; font-size:14px; font-weight:600; text-decoration:none; transition:background .15s; display:inline-flex; align-items:center; }
.hmr-btn-cancel:hover { background:rgba(0,0,0,.12); }

/* === 모달 (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, #111); font-size:14px; }
.hmr-modal-close { position:absolute; top:10px; right:10px; z-index:10; background:#fff; border:0; 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 4px 16px rgba(0,0,0,.10); }
.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 12px; border:0;
    border-radius:12px; font-size:13px; background:rgba(0,0,0,.045);
    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 12px center;
    cursor:pointer;
}
.hmr-search { position:relative; }
.hmr-search input[type="text"] {
    height:36px; padding:0 12px 0 34px; border:0; border-radius:12px;
    font-size:13px; min-width:180px; background:rgba(0,0,0,.045)
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M21 21l-4.3-4.3'/></svg>")
        no-repeat 12px center;
}
.hmr-search input[type="text"]:focus { outline:none; background-color:rgba(0,0,0,.07); box-shadow:0 0 0 2px var(--hmr-main); }
.hmr-search button {
    height:36px; padding:0 16px; background:var(--hmr-main); color:#fff;
    border:0; border-radius:12px; font-size:13px; cursor:pointer; font-weight:600;
    transition:filter .15s, transform .15s;
}
.hmr-search button:hover { filter:brightness(1.08); transform:translateY(-1px); }

.hmr-cats {
    display:flex; gap:0; margin-bottom:18px; overflow-x:auto;
    border-bottom:1px solid rgba(127,127,127,.18);
    border-bottom-color:color-mix(in srgb, currentColor 14%, transparent);
}
.hmr-cat {
    position:relative; flex:0 0 auto; padding:12px 18px; color:#888;
    text-decoration:none; font-size:14px; border:0; white-space:nowrap;
}
.hmr-cat::after {
    content:''; position:absolute; left:18px; right:18px; bottom:0;
    height:3px; border-radius:3px 3px 0 0; background:transparent;
}
.hmr-cat.active { color:var(--hmr-main); font-weight:700; }
.hmr-cat.active::after { background:currentColor; }
.hmr-cat .cnt { color:#aaa; font-size:12px; margin-left:4px; }
.hmr-cat.active .cnt { color:inherit; }

/* === 평면 페이지네이션 (현재페이지 밑줄, 박스 제거) === */
.hmr-paging { margin:32px 0 20px; text-align:center; font-family:'Pretendard','Noto Sans KR',sans-serif; }
.hmr-paging .pg_wrap { display:inline-flex; gap:2px; align-items:center; }
.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:0; border-radius:0; background:none;
    color:#888; text-decoration:none; font-size:14px;
}
.hmr-paging .pg_page:hover { color:var(--hmr-main); }
.hmr-paging .pg_current {
    background:none; color:var(--hmr-main) !important; font-weight:700;
    border-bottom:2px solid var(--hmr-main);
}

.hmr-bulk {
    margin-top:18px; padding:14px 18px;
    background:rgba(0,0,0,.03); border:0; border-radius:12px;
}
.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 rgba(0,0,0,.06); 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:8px; }
.hmr-bulk-chk:hover { background:rgba(0,0,0,.05); }
.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 rgba(0,0,0,.06); justify-content:flex-end; }
.hmr-bulk-actions button {
    padding:7px 16px; border:0; background:rgba(0,0,0,.07); color:#555;
    border-radius:12px; font-size:12px; font-weight:600; cursor:pointer; transition:background .15s;
}
.hmr-bulk-actions button:hover { background:rgba(0,0,0,.12); }
.hmr-bulk-actions button.danger { background:rgba(220,38,38,.09); color:#dc2626; }
.hmr-bulk-actions button.danger:hover { background:rgba(220,38,38,.15); }
