/* ================================================================
   RAYBEAM SOFTECH — Careers Page Styles
   Phase 5 | careers.css
   ================================================================ */

/* Job Filters */
.job-filters { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-10); }
.job-filter-btn {
  padding: 7px 16px;
  background: rgba(255,255,255,0.05); border: 1px solid var(--clr-border-2);
  border-radius: var(--radius-full); font-family: var(--font-body);
  font-size: var(--text-sm); font-weight: 500; color: var(--clr-text-muted);
  cursor: pointer; transition: var(--transition);
}
.job-filter-btn:hover { color: var(--clr-white); border-color: rgba(255,255,255,0.2); }
.job-filter-btn.active { background: var(--clr-orange-dim); border-color: var(--clr-orange-border); color: var(--clr-orange-light); }

/* Job Cards */
.jobs-list { display: flex; flex-direction: column; gap: var(--space-4); }
.job-card {
  background: var(--clr-bg-2); border: 1px solid var(--clr-border);
  border-radius: var(--radius); padding: var(--space-6) var(--space-8);
  display: grid; grid-template-columns: 1fr auto;
  gap: var(--space-4); align-items: center;
  transition: var(--transition); cursor: pointer;
}
.job-card:hover { border-color: var(--clr-orange-border); background: rgba(240,136,62,0.03); }
.job-title {
  font-family: var(--font-display); font-size: var(--text-lg);
  font-weight: 700; color: var(--clr-white); margin-bottom: var(--space-2);
}
.job-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.job-actions { display: flex; gap: var(--space-3); align-items: center; flex-shrink: 0; }
.job-arrow {
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,0.05); border: 1px solid var(--clr-border-2);
  border-radius: var(--radius-sm); color: var(--clr-text-muted);
  transition: var(--transition);
}
.job-card:hover .job-arrow { background: var(--clr-orange-dim); border-color: var(--clr-orange-border); color: var(--clr-orange); }

/* Job Modal */
.job-modal-bg {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(0,0,0,0.7); backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  padding: 20px; opacity: 0; visibility: hidden; transition: opacity 0.3s;
}
.job-modal-bg.open { opacity: 1; visibility: visible; }
.job-modal {
  background: var(--clr-bg-2); border: 1px solid var(--clr-border-2);
  border-radius: var(--radius-xl); max-width: 700px; width: 100%;
  max-height: 90vh; overflow-y: auto;
  transform: translateY(20px); transition: transform 0.3s;
}
.job-modal-bg.open .job-modal { transform: translateY(0); }
.job-modal-head {
  padding: var(--space-8); border-bottom: 1px solid var(--clr-border);
  position: sticky; top: 0; background: var(--clr-bg-2); z-index: 1;
  display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-4);
}
.modal-close {
  width: 36px; height: 36px; background: rgba(255,255,255,0.07);
  border: 1px solid var(--clr-border-2); border-radius: var(--radius-sm);
  cursor: pointer; font-size: 1rem; color: var(--clr-text-muted);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  transition: var(--transition);
}
.modal-close:hover { background: rgba(255,255,255,0.14); color: var(--clr-white); }
.job-modal-body { padding: var(--space-8); }
.job-detail-section { margin-bottom: var(--space-8); }
.job-detail-section h4 { font-size: var(--text-base); font-weight: 700; margin-bottom: var(--space-3); color: var(--clr-orange); }
.job-detail-section ul { list-style: disc; padding-left: 20px; }
.job-detail-section li { font-size: var(--text-sm); color: var(--clr-text-muted); font-weight: 300; line-height: 1.75; margin-bottom: 4px; }
.job-modal-apply { padding: var(--space-8); border-top: 1px solid var(--clr-border); }
.job-modal-apply h4 { font-size: var(--text-xl); font-weight: 700; margin-bottom: var(--space-6); }

/* Culture / Perks */
.perks-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--space-4); margin-top: var(--space-12);
}
.perk-card {
  background: var(--clr-bg-2); border: 1px solid var(--clr-border);
  border-radius: var(--radius); padding: var(--space-6);
  text-align: center; transition: var(--transition);
}
.perk-card:hover { border-color: var(--clr-orange-border); }
.perk-icon { font-size: 1.8rem; margin-bottom: var(--space-3); display: block; }
.perk-card h4 { font-size: var(--text-sm); font-weight: 700; margin-bottom: 4px; }
.perk-card p  { font-size: var(--text-xs); color: var(--clr-text-muted); font-weight: 300; line-height: 1.6; }

@media (max-width: 1024px) { .perks-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 768px)  {
  .job-card { grid-template-columns: 1fr; }
  .perks-grid { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 480px) { .perks-grid { grid-template-columns: 1fr; } }
