/* 골프 조인 게시판 — chat.css 의 토큰·헤더를 그대로 쓰고 목록만 여기서 그린다. */
body.golf .main { padding:10px 14px calc(24px + var(--safe-b)); }
body.golf .hbtn { text-decoration:none; display:inline-flex; align-items:center; }

.flt { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 12px 6px; }
.srch { position:relative; margin-bottom:8px; }
.srch input { width:100%; height:42px; border:1px solid var(--line); border-radius:10px; padding:0 36px 0 12px;
  font-size:16px; background:var(--field); color:var(--fg); }
.srch input:focus { outline:none; border-color:var(--acc); background:var(--card); }
.srch .clr { position:absolute; right:4px; top:4px; width:34px; height:34px; border:0; background:transparent;
  color:var(--mut); font-size:20px; cursor:pointer; }

.frow { display:flex; align-items:center; gap:8px; margin:4px 0; min-height:34px; }
.frow.sub { margin-top:-2px; }
.flbl { flex:none; width:30px; font-size:12px; font-weight:800; color:var(--mut); }
.flt .chips { flex:1; min-width:0; display:flex; flex-wrap:nowrap; gap:6px; margin:0; overflow-x:auto;
  scrollbar-width:none; padding:2px 0; -webkit-overflow-scrolling:touch; }
.flt .chips::-webkit-scrollbar { display:none; }
.fchip { flex:none; white-space:nowrap; height:30px; padding:0 11px; border-radius:999px; border:1px solid var(--line);
  background:var(--card); color:var(--fg); font-size:13px; font-weight:600; cursor:pointer; line-height:1; }
.fchip.on { background:var(--acc); border-color:var(--acc); color:#fff; }
.fchip .n { margin-left:3px; font-size:11px; font-weight:700; opacity:.7; }
.fchip .n:empty { display:none; }
.frow input[type=date], .frow select { height:34px; border:1px solid var(--line); border-radius:8px; padding:0 8px;
  font-size:14px; background:var(--card); color:var(--fg); }
.frow input[type=date] { flex:1; min-width:0; }
.tilde { color:var(--mut); font-size:13px; }
.frow.opts { flex-wrap:wrap; gap:6px 14px; padding-top:4px; border-top:1px solid var(--line); margin-top:6px; }
.ck { display:inline-flex; align-items:center; gap:5px; font-size:12.5px; color:var(--mut); cursor:pointer; }
.ck input { width:16px; height:16px; margin:0; accent-color:var(--acc); }
.sel { margin-left:auto; height:30px; font-size:12.5px; font-weight:700; color:var(--mut); }

.sum { font-size:12.5px; color:var(--mut); margin:10px 2px 4px; display:flex; justify-content:space-between; gap:8px; }
.sum b { color:var(--fg); }
.sum .sumal { margin-left:6px; height:24px; padding:0 8px; border:1px solid #f1c768; border-radius:999px; background:#fff8e6; color:#8a5a00;
  font-size:11.5px; font-weight:800; cursor:pointer; vertical-align:middle; }
.al-cond { margin:-4px 0 10px; padding:7px 10px; border-radius:8px; background:var(--field); font-size:12.5px; font-weight:700; color:var(--acc-d); }
.al-cond:empty { display:none; }

.dh { position:sticky; top:53px; z-index:2; margin:12px 0 6px; padding:5px 2px; font-size:14px; font-weight:800;
  background:var(--bg); border-bottom:1px solid var(--line); }
.dh.we { color:#b91c1c; }
.dh small { font-weight:600; color:var(--mut); margin-left:6px; font-size:12px; }

.it { display:block; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:10px 12px;
  margin-bottom:8px; text-decoration:none; color:var(--fg); }
.it:active { background:var(--field); }
.it .top { display:flex; align-items:baseline; gap:8px; }
.it .tt { flex:none; font-size:18px; font-weight:900; letter-spacing:-.02em; min-width:52px; color:var(--acc-d); }
.it .tt.unk { color:var(--mut); font-size:13px; font-weight:700; }
.it .cs { flex:1; min-width:0; font-size:16px; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.it .cs.unk { color:var(--mut); font-weight:600; }
.it .pr { flex:none; max-width:44%; overflow:hidden; text-overflow:ellipsis; font-size:14px; font-weight:900; color:#8a5a00; background:#fff4d6; border-radius:6px; padding:1px 6px; white-space:nowrap; }
.it .cs { min-width:4.5em; }
.it .tag.rg { background:#f3e8ff; color:var(--violet); font-size:11px; font-weight:800; border-radius:999px; }
.it .pr small { font-size:10.5px; font-weight:700; margin-left:3px; opacity:.8; }
.it .pr.txt { font-size:12px; font-weight:700; max-width:38%; overflow:hidden; text-overflow:ellipsis; }
.it .rg { flex:none; font-size:11px; font-weight:800; color:var(--violet); background:#f3e8ff; border-radius:999px; padding:2px 7px; }
.it .ti { margin-top:4px; font-size:13.5px; color:var(--fg); line-height:1.45; overflow:hidden; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical; word-break:break-word; }
.it .meta { margin-top:6px; display:flex; flex-wrap:wrap; gap:4px 6px; align-items:center; font-size:12px; color:var(--mut); }
.it .tag { border-radius:6px; padding:2px 7px; font-weight:700; background:var(--field); color:var(--fg); }
.it .tag.price { background:#fff4d6; color:#8a5a00; }
.it .tag.need { background:#dcfce7; color:#166534; }
.it .tag.nc { background:#e0f2fe; color:#075985; }
.it .tag.dup { background:transparent; border:1px dashed var(--line); color:var(--mut); font-weight:600; }
.it .src { margin-left:auto; font-size:11px; color:var(--mut); }
.it .src::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:4px; background:#03c75a; vertical-align:1px; }
.it .src.band::before { background:#1fb75f; border:1px solid #0f7a3d; box-sizing:border-box; }

.it mark { background:#fef08a; color:inherit; border-radius:3px; padding:0 1px; }
.more { display:block; width:100%; height:44px; margin:8px 0 16px; border:1px solid var(--line); border-radius:10px;
  background:var(--card); color:var(--acc-d); font-weight:800; font-size:14px; cursor:pointer; }
.empty { text-align:center; color:var(--mut); font-size:13.5px; padding:36px 10px; }

.ft { padding:6px 14px calc(18px + var(--safe-b)); font-size:11.5px; color:var(--mut); line-height:1.6; }
.ft a { color:var(--acc-d); }
.ft-src { font-weight:700; }
.biz-foot { margin-top:8px; padding-top:8px; border-top:1px solid #e2e5ea; font-size:11px; line-height:1.6; color:var(--mut); }
.biz-foot a { color:var(--mut); }

@media (max-width:380px) {
  .flbl { width:26px; font-size:11px; }
  .it .cs { font-size:15px; }
}

/* ── 탭 ── */
.tabs { display:flex; background:var(--card); border-bottom:1px solid var(--line); position:sticky; top:53px; z-index:4; }
.tab { flex:1; height:42px; border:0; background:transparent; font-size:14.5px; font-weight:800; color:var(--mut); cursor:pointer;
  border-bottom:2px solid transparent; }
.tab.on { color:var(--acc-d); border-bottom-color:var(--acc); }
body.golf .dh { top:95px; }

/* ── 매니저 부킹 ── */
.dstrip .dchip { display:flex; flex-direction:column; align-items:center; justify-content:center; height:40px; padding:0 9px; line-height:1.1; }
.dstrip .dchip small { font-size:10px; font-weight:700; opacity:.75; }
.dstrip .dchip.we:not(.on) { color:#b91c1c; }
.dstrip .fchip:not(.dchip) { height:40px; }   /* 띠 양끝의 '전체'·'기간'을 날짜 칩과 같은 높이로 */
.it.bk { cursor:default; }
.it.bk .pr { flex:none; font-size:15px; font-weight:900; color:#8a5a00; }
.it.bk .who { margin-top:5px; font-size:12.5px; color:var(--mut); }
.it.bk .tel { color:var(--acc-d); font-weight:800; text-decoration:none; margin-left:4px; }
.it.bk .telq { margin-left:4px; height:22px; padding:0 8px; border:1px solid var(--line); border-radius:999px; background:var(--card);
  color:var(--acc-d); font-size:11.5px; font-weight:800; cursor:pointer; }
.it.bk .telq:disabled { color:var(--mut); }
.it .src.golfmon::before { background:#111; } .it .src.golfpang::before { background:#e11d48; }
.sum em { font-style:normal; color:var(--danger); font-weight:700; }
.it.bk .pr small { font-size:11px; font-weight:700; color:var(--mut); margin-left:2px; }
.it.bk .offer { display:flex; align-items:center; gap:5px; padding:2px 0; }
.it.bk .offer .dot { width:7px; height:7px; border-radius:50%; background:#111; flex:none; }
.it.bk .offer .dot.golfpang { background:#e11d48; }
.it.bk .offer .op { margin-left:auto; font-weight:700; color:#8a5a00; font-size:12px; }
.it.bk .mgr-more { margin-top:4px; border:0; background:transparent; color:var(--acc-d); font-size:12px; font-weight:700; cursor:pointer; padding:4px 0; }

/* ── 회원가입·내 정보 ── */
/* 'in' 은 chat.css 의 하단 입력창(footer.in) 클래스라 쓰면 버튼이 화면 아래에 붙는다 → me-in */
.hbtn.me-in { color:var(--acc-d); border-color:var(--acc); max-width:96px; overflow:hidden; text-overflow:ellipsis; }
.me-card { position:relative; text-align:left; max-width:380px; max-height:calc(100dvh - 40px); overflow-y:auto; }
.me-card .gate-ttl, .me-card .gate-sub { text-align:center; }
.me-x { position:absolute; right:8px; top:6px; width:36px; height:36px; border:0; background:transparent; font-size:22px; color:var(--mut); cursor:pointer; }
.me-l { display:block; font-size:12px; font-weight:800; color:var(--mut); margin-top:10px; }
.me-l input { display:block; width:100%; height:44px; margin-top:4px; border:1px solid var(--line); border-radius:10px; padding:0 12px; font-size:16px; background:var(--field); color:var(--fg); }
.me-l input:focus { outline:none; border-color:var(--acc); background:var(--card); }
.me-row { display:flex; gap:6px; margin-top:4px; } .me-row input { margin-top:0; flex:1; min-width:0; }
.me-b { flex:none; height:44px; padding:0 12px; border:1px solid var(--acc); border-radius:10px; background:var(--card); color:var(--acc-d); font-weight:800; font-size:13px; cursor:pointer; white-space:nowrap; }
.me-b:disabled { opacity:.5; cursor:default; }
.me-hint { display:block; margin-top:4px; font-size:11.5px; font-weight:600; color:var(--mut); }
.me-ok { margin-top:10px; font-size:13px; font-weight:800; color:#166534; background:#dcfce7; border-radius:8px; padding:8px 10px; }
.me-agree { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; display:flex; flex-direction:column; gap:9px; }
.me-agree .ck, .me-mkt { align-items:flex-start; font-size:13px; color:var(--fg); line-height:1.4; flex-wrap:wrap; }
.me-agree .ck.all { font-weight:800; } .me-agree .ck input, .me-mkt input { margin-top:2px; flex:none; }
.me-agree small, .me-mkt small { color:var(--mut); font-size:11.5px; } .me-agree a { color:var(--acc-d); }
.me-submit { display:block; width:100%; margin-top:14px; } .me-submit:disabled { opacity:.45; }
.me-err { min-height:18px; margin-top:8px; font-size:12.5px; color:var(--danger); text-align:center; }
.me-kv { display:grid; grid-template-columns:auto 1fr; gap:6px 14px; font-size:14px; margin:12px 0; } .me-kv dt { color:var(--mut); } .me-kv dd { margin:0; font-weight:700; }
.it.bk .pr.ask { color:var(--mut); font-size:13px; font-weight:800; }
.it .ti.sub { color:var(--mut); font-size:12.5px; -webkit-line-clamp:3; white-space:pre-line; }

/* 카드 — 시간 앞에 라운드 날짜 */
.it .dt { flex:none; font-size:12.5px; font-weight:800; color:var(--mut); }
.it .dt.we { color:#b91c1c; }
.it .dt.unk { font-weight:600; }

/* ── 달력(기간 선택) — 필터·알림 설정 공용 ── */
.calwrap { flex:1; min-width:0; }
.cal { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:8px 8px 6px; max-width:340px; }
.cal-hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; }
.cal-hd b { font-size:14px; }
.cal-nav { width:32px; height:32px; border:0; background:transparent; font-size:18px; color:var(--acc-d); cursor:pointer; border-radius:8px; }
.cal-nav:disabled { opacity:.25; cursor:default; }
.cal-g { display:grid; grid-template-columns:repeat(7, 1fr); gap:2px; }
.cal-w { text-align:center; font-size:11px; font-weight:800; color:var(--mut); padding:2px 0 4px; }
.cal-w.su, .cal-d.su { color:#b91c1c; } .cal-w.sa, .cal-d.sa { color:#1d4ed8; }
.cal-d { height:34px; border:0; border-radius:8px; background:transparent; font-size:13.5px; font-weight:700; color:var(--fg); cursor:pointer; }
.cal-d:disabled { color:var(--line); cursor:default; }
.cal-d.today { box-shadow:inset 0 0 0 1px var(--acc); }
.cal-d.in { background:#eef2ff; border-radius:0; }
.cal-d.st, .cal-d.en { background:var(--acc); color:#fff !important; border-radius:8px; }
.cal-d.st.in { border-radius:8px 0 0 8px; } .cal-d.en.in { border-radius:0 8px 8px 0; }
.cal-ft { display:flex; align-items:center; justify-content:space-between; margin-top:6px; font-size:12.5px; color:var(--mut); }
.cal-ft b { color:var(--fg); }
.cal-clr { border:0; background:transparent; color:var(--acc-d); font-weight:800; font-size:12.5px; cursor:pointer; padding:4px 6px; }

/* ── 조인 알림 설정 시트 ── */
.hbtn.al { color:var(--acc-d); }
.al-card { max-width:400px; }
.al-l { font-size:12px; font-weight:800; color:var(--mut); margin:12px 0 4px; }
.al-l small { font-weight:700; color:var(--acc-d); margin-left:4px; }
.al-chips { margin:0; }
.al-card .frow.sub { margin:6px 0 0; }
.al-card .me-l small { font-weight:600; }
.al-sel { display:block; width:100%; height:40px; margin-top:4px; border:1px solid var(--line); border-radius:10px; padding:0 10px; font-size:14px; background:var(--field); color:var(--fg); }
.al-opts { display:flex; flex-wrap:wrap; gap:6px 14px; margin-top:10px; }
.al-opts .ck { color:var(--fg); font-size:13px; }
.al-mine { margin-top:18px; border-top:1px solid var(--line); padding-top:10px; }
.al-list .al-it { display:flex; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--line); font-size:13px; }
.al-list .al-it .tx { flex:1; min-width:0; line-height:1.4; }
.al-list .al-it .tx small { display:block; color:var(--mut); font-size:11.5px; }
.al-list .al-del { flex:none; border:1px solid var(--line); background:transparent; color:var(--danger); font-weight:800; font-size:12px; border-radius:8px; height:30px; padding:0 10px; cursor:pointer; }
.al-list .al-none { color:var(--mut); font-size:12.5px; padding:6px 0; }
