/**
 * 취업포털 공통 샘플형 검색 셸 — 거래포털(deal-ssot) 패턴
 * 규칙: 폼·카드는 1열 금지. 좁은 폭 2열 · 넓은 폭 3열(카드).
 * 클래스명에 "-grid" 를 쓰지 않음 (모듈 [class*="-grid"] 1열 강제 회피).
 */
.work-ssot-shell {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  box-sizing: border-box;
  background: #fff;
  padding: 0 0 24px;
}
.work-ssot-nav,
.work-ssot-form { width: 100%; box-sizing: border-box; }
.work-ssot-nav {
  background: #fff;
  border-bottom: 1px solid #e5e7eb;
  margin: 0 0 4px;
}
.work-ssot-nav-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 0;
}
.work-ssot-nav-row--2 { grid-template-columns: repeat(2, 1fr) !important; }
.work-ssot-nav-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 44px;
  padding: 10px 6px;
  text-align: center;
  text-decoration: none;
  font-size: var(--fs-sm, 15px);
  font-weight: 700;
  color: #111827;
  border-bottom: 3px solid transparent;
}
.work-ssot-nav-item .work-ssot-cnt {
  font-size: var(--fs-xs, 14px);
  font-weight: 600;
  color: #6b7280;
}
.work-ssot-nav-item.is-active {
  color: #111827;
  border-bottom-color: var(--work-ssot-gold, #eab308);
  background: linear-gradient(180deg, #fffbeb 0%, #fff 100%);
}
.work-ssot-form {
  background: #fff;
  padding: 4px 12px 16px;
}
.work-ssot-section { margin: 0 0 14px; }
.work-ssot-title {
  margin: 10px 0 12px;
  text-align: center;
  font-size: var(--fs-lg, 18px);
  font-weight: 900;
  color: #111827;
}
/* 검색 필드: 항상 2열 (1열 붕괴 금지) */
.work-ssot-shell .work-ssot-pair {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px;
}
.work-ssot-select,
.work-ssot-kw input {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: var(--fs-base, 16px);
  color: #111827;
  background: #fff;
  box-sizing: border-box;
}
.work-ssot-kw {
  grid-column: 1 / -1;
  position: relative;
  display: block;
}
.work-ssot-kw i {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: var(--fs-sm, 15px);
  pointer-events: none;
}
.work-ssot-kw input { padding-left: 36px; }
.work-ssot-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px;
}
/* 유형 칩 — portal-list-shell .pls-chips--type SSOT (자동차 body 동일 · D+M) */
.work-ssot-shell .work-ssot-chips--type,
.work-ssot-shell .pls-chips--type {
  display: grid;
  grid-template-columns: repeat(var(--pls-chip-cols, 4), minmax(0, 1fr)) !important;
  gap: 6px;
  margin: 0 0 12px;
}
.work-ssot-shell .work-ssot-chips--type .work-ssot-chip,
.work-ssot-shell .work-ssot-chips--type .pls-chip,
.work-ssot-shell .pls-chips--type .work-ssot-chip,
.work-ssot-shell .pls-chips--type .pls-chip {
  width: 100%;
  min-width: 0;
  justify-content: center;
  text-align: center;
  padding: 0 4px;
  box-sizing: border-box;
}
@media (max-width: 480px) {
  .work-ssot-shell .work-ssot-chips--type,
  .work-ssot-shell .pls-chips--type {
    grid-template-columns: repeat(var(--pls-chip-cols-m, var(--pls-chip-cols, 2)), minmax(0, 1fr)) !important;
  }
  .work-ssot-shell .pls-nav-grid,
  .work-ssot-shell .work-ssot-nav-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.work-ssot-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  font-size: var(--fs-sm, 15px);
  font-weight: 700;
  color: #111827;
  cursor: pointer;
  user-select: none;
}
.work-ssot-chip input { position: absolute; opacity: 0; pointer-events: none; }
.work-ssot-chip.is-on {
  background: var(--work-ssot-accent, #ea580c);
  border-color: var(--work-ssot-accent, #ea580c);
  color: #fff;
}
.work-ssot-submit {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: var(--work-ssot-accent, #ea580c);
  color: #fff;
  font-size: var(--fs-md, 17px);
  font-weight: 800;
  cursor: pointer;
}
.work-ssot-shell .work-ssot-list-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 12px 12px;
}
.work-ssot-write-link {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  background: var(--work-ssot-accent, #ea580c);
  color: #fff;
  font-size: var(--fs-sm, 15px);
  font-weight: 700;
  text-decoration: none;
}
.work-ssot-reset {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  border: 1.5px solid #d1d5db;
  color: #374151;
  font-size: var(--fs-sm, 15px);
  font-weight: 600;
  text-decoration: none;
  background: #fff;
}
/* 카드: 모바일 2열 · ≥640px 3열 — 모듈 1열 미디어쿼리보다 강하게 */
.work-ssot-shell .wk-recruit-cards,
.work-ssot-shell .wk-talent-cards,
.work-ssot-shell .wk-arbeit-cards {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px;
  padding: 0 12px;
}
@media (min-width: 640px) {
  .work-ssot-shell .wk-recruit-cards,
  .work-ssot-shell .wk-talent-cards,
  .work-ssot-shell .wk-arbeit-cards {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 639px) {
  .work-ssot-shell .wk-recruit-cards,
  .work-ssot-shell .wk-talent-cards,
  .work-ssot-shell .wk-arbeit-cards {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.work-ssot-note {
  margin: 0 0 10px;
  font-size: var(--fs-sm, 15px);
  color: #6b7280;
  text-align: center;
}

/* 지역 부자손 캐스케이드 — assets/css/region-cascade.css (region_cascade_search.inc.php 로드) */
.work-ssot-form .region-cascade-ssot {
  padding: 0 12px;
}
