/* =========================================================
   Clean UI Refresh - 구인구직사이트
   기존 PHP/DB 로직은 건드리지 않고 화면 스타일만 정돈합니다.
   ========================================================= */
:root{
  --ui-primary:#2563eb;
  --ui-primary-dark:#1d4ed8;
  --ui-ink:#172033;
  --ui-text:#475569;
  --ui-muted:#7c899d;
  --ui-line:#e7ebf1;
  --ui-soft:#f7f9fc;
  --ui-white:#fff;
  --ui-radius:16px;
  --ui-shadow:0 8px 28px rgba(15,23,42,.055);
}

html{scroll-behavior:smooth}
body{
  color:var(--ui-ink);
  background:#fff;
  font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
  word-break:keep-all;
}
body *{box-sizing:border-box}
a{transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}

/* 페이지 폭 / 제목 */
.index-section,.jobs-wrap,.seeker-wrap,.job-view-wrap,.job-view-back,
.login-wrapper,.register-wrapper,.dashboard-wrap,.mypage-wrap,
.profile-wrap,.apply-wrap,.contact-wrap,.about-wrap,.guide-wrap,
.terms-wrap,.privacy-wrap,.form-wrap{
  max-width:1180px !important;
}
.index-section{margin-bottom:54px !important;padding-left:24px !important;padding-right:24px !important}
.section-header{margin-bottom:18px !important;align-items:center !important}
.section-header h1,.jobs-page-head h1,.seeker-page-head h1{
  color:var(--ui-ink) !important;
  font-size:1.55rem !important;
  line-height:1.35 !important;
  letter-spacing:-.035em !important;
}
.section-header .section-sub,.jobs-section-sub,.seeker-page-head p{
  color:var(--ui-muted) !important;
  line-height:1.65 !important;
}
.more-link{color:#64748b !important;font-weight:600 !important}
.more-link:hover{color:var(--ui-primary) !important;text-decoration:none !important}

/* 카드 */
.jobs-grid,.seekers-grid,.seeker-grid{gap:18px !important}
.job-card,.seeker-card{
  border:1px solid var(--ui-line) !important;
  border-radius:var(--ui-radius) !important;
  background:var(--ui-white) !important;
  box-shadow:none !important;
  padding:18px !important;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease !important;
}
.job-card:hover,.seeker-card:hover{
  border-color:#cbd5e1 !important;
  box-shadow:var(--ui-shadow) !important;
  transform:translateY(-2px);
}
.job-thumb{width:104px !important;height:104px !important;border-radius:13px !important;border-color:#edf0f4 !important;background:var(--ui-soft) !important}
.seeker-photo,.seeker-thumb{border-color:#edf0f4 !important;background:var(--ui-soft) !important}
.job-title,.seeker-title{font-size:1.03rem !important;line-height:1.45 !important;letter-spacing:-.02em !important}
.job-title a,.seeker-title a{color:var(--ui-ink) !important}
.job-title a:hover,.seeker-title a:hover{color:var(--ui-primary) !important;text-decoration:none !important}
.job-company,.job-meta,.job-meta-line,.seeker-meta,.seeker-intro{color:#64748b !important;line-height:1.6 !important}

/* 배지 */
.badge,.badge-pill,.badge-tag{
  border:0 !important;
  border-radius:7px !important;
  background:#f1f5f9 !important;
  color:#526175 !important;
  padding:5px 8px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
.badge-top{
  border:0 !important;
  border-radius:7px !important;
  background:#fff1f2 !important;
  color:#e11d48 !important;
  padding:5px 8px !important;
  font-weight:700 !important;
}

/* 검색 / 폼 */
.jobs-search-box,.seeker-search-box,.job-section-box,.apply-box,
.login-box,.register-box{
  border:1px solid var(--ui-line) !important;
  border-radius:18px !important;
  box-shadow:none !important;
  background:#fff !important;
}
.jobs-search-box,.seeker-search-box{background:var(--ui-soft) !important;padding:20px !important}
input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],input[type="time"],select,textarea{
  min-height:44px;
  border:1px solid #dbe1e8 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:var(--ui-ink) !important;
  outline:none !important;
  transition:border-color .18s ease,box-shadow .18s ease !important;
}
textarea{min-height:120px}
input:focus,select:focus,textarea:focus{
  border-color:#93b4f8 !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.09) !important;
}

/* 버튼 */
button,input[type="submit"],.login-btn,.reg-btn,.more-btn,
.btn-search,.btn-primary,.btn-submit,.apply-btn{
  border:0 !important;
  border-radius:10px !important;
  background:var(--ui-primary) !important;
  color:#fff !important;
  font-weight:700 !important;
  box-shadow:none !important;
}
button:hover,input[type="submit"]:hover,.login-btn:hover,.reg-btn:hover,.more-btn:hover,
.btn-search:hover,.btn-primary:hover,.btn-submit:hover,.apply-btn:hover{
  background:var(--ui-primary-dark) !important;
}
.btn-reset,.btn-secondary,.btn-cancel{
  border:1px solid #dbe1e8 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#526175 !important;
}

/* 상세 페이지 */
.job-view-header{border-bottom:1px solid var(--ui-line) !important;padding-bottom:24px !important}
.job-view-title{letter-spacing:-.035em !important;color:var(--ui-ink) !important}
.job-section-box{padding:26px !important;margin-bottom:18px !important}
.info-table{border-collapse:separate !important;border-spacing:0 !important}
.info-table th,.info-table td{border-color:#edf0f4 !important;padding:14px 16px !important}
.info-table th{background:#fafbfc !important;color:#526175 !important}

/* 페이지네이션 */
.pagination a,.pagination span{
  min-width:36px !important;height:36px !important;line-height:34px !important;
  border-radius:9px !important;border:1px solid var(--ui-line) !important;
  color:#64748b !important;background:#fff !important;
}
.pagination .current{background:var(--ui-primary) !important;border-color:var(--ui-primary) !important;color:#fff !important;font-weight:700 !important}

/* 로그인 / 회원가입 */
.login-wrapper,.register-wrapper{padding-top:44px !important;padding-bottom:60px !important}
.login-box,.register-box{padding:32px !important}
.login-box h1,.register-box h1{letter-spacing:-.04em !important;color:var(--ui-ink) !important}
.login-links a{color:#64748b !important}
.login-links a:hover{color:var(--ui-primary) !important}

@media(max-width:767.98px){
  .index-section{padding-left:16px !important;padding-right:16px !important;margin-bottom:38px !important}
  .section-header{align-items:flex-start !important;gap:10px !important}
  .section-header h1,.jobs-page-head h1,.seeker-page-head h1{font-size:1.3rem !important}
  .section-header .section-sub{font-size:.82rem !important}
  .more-link{font-size:.8rem !important;white-space:nowrap}
  .job-card,.seeker-card{padding:14px !important;border-radius:14px !important}
  .job-thumb{width:84px !important;height:84px !important}
  .jobs-search-box,.seeker-search-box{padding:14px !important;border-radius:14px !important}
  .job-section-box{padding:18px !important}
  .login-box,.register-box{padding:22px 18px !important;border-radius:16px !important}
}
