/* Hirameki Lucid — clean ticketing (Melon/Interpark 스타일) */
* { box-sizing:border-box; }
:root {
  --brand:#00c9a7;
  --brand-dark:#00a389;
  --accent:#e94560;
  --ink:#222;
  --ink-2:#444;
  --ink-3:#666;
  --ink-4:#999;
  --line:#e5e5e5;
  --line-2:#eee;
  --bg:#f5f6f8;
  --bg-card:#fff;
}
body {
  font-family:'Malgun Gothic','Apple SD Gothic Neo','Noto Sans KR','Segoe UI',sans-serif;
  background:var(--bg); color:var(--ink); margin:0; font-size:14px;
  -webkit-font-smoothing:antialiased;
}

/* 경고 배너 */
.warn-banner {
  background:#fff4d6; color:#7a5a00; border-bottom:1px solid #f0d97c;
  padding:10px 20px; text-align:center; font-size:13px; font-weight:500;
  position:sticky; top:0; z-index:100;
}
.warn-banner .emph { font-weight:700; color:#a07400; }
.warn-banner .sub { display:block; font-size:11px; font-weight:400; margin-top:2px; opacity:0.75; }

/* 상단 헤더 */
.top {
  background:var(--bg-card); border-bottom:1px solid var(--line);
  padding:14px 32px; display:flex; align-items:center; gap:20px;
}
.top h1 {
  margin:0; font-size:20px; font-weight:700; color:var(--brand-dark);
  letter-spacing:-0.02em;
  display:inline-flex; align-items:center; gap:8px;
}
.top h1::before {
  content:''; display:inline-block; width:24px; height:16px;
  background:var(--brand); border-radius:2px;
  box-shadow:inset -6px 0 0 rgba(255,255,255,0.35);
}
.top > span:not(.nav) { color:var(--ink-3); font-size:13px; }
.top .nav { margin-left:auto; font-size:12px; color:var(--ink-3); }
.top .nav b { color:var(--brand-dark); font-weight:600; }

/* 공통 카드·입력 */
input[type=text], input[type=email], input[type=tel], select {
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:4px;
  font-size:14px; background:#fff; font-family:inherit; color:var(--ink);
}
input:focus, select:focus { outline:none; border-color:var(--brand); }
label { display:block; color:var(--ink-3); font-size:13px; margin-bottom:6px; font-weight:500; }

.next-btn, .pay-btn {
  background:var(--brand); color:#fff; border:none; border-radius:4px;
  font-family:inherit; font-size:15px; font-weight:600; cursor:pointer;
  transition:background 0.15s;
}
.next-btn:hover:not(:disabled), .pay-btn:hover:not(:disabled) { background:var(--brand-dark); }
.next-btn:disabled, .pay-btn:disabled { background:#ccc; cursor:not-allowed; }

/* HUD */
.hud {
  position:fixed; bottom:16px; right:16px;
  background:rgba(34,34,34,0.9); color:#8ef6e0;
  padding:7px 12px; border-radius:4px;
  font-family:Consolas,monospace; font-size:12px;
}
