/* LokerPintar - Custom Styles */

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #16a34a; border-radius: 3px; }

/* Job card hover */
.job-card { transition: transform .18s ease, box-shadow .18s ease; }
.job-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }

/* Gradient hero text */
.hero-gradient {
  background: linear-gradient(135deg, #15803d 0%, #16a34a 50%, #22c55e 100%);
}

/* Prose override for job description */
.prose p { margin-bottom: .75rem; }
.prose ul { list-style: disc; padding-left: 1.5rem; margin-bottom: .75rem; }
.prose li { margin-bottom: .25rem; }

/* Skeleton loading */
.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.4s ease infinite;
}
@keyframes skeleton-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}

/* Back-to-top button */
#backToTop {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
#backToTop.visible {
  opacity: 1;
  pointer-events: all;
}

/* Responsive table (admin) */
@media (max-width: 640px) {
  .admin-table { font-size: 12px; }
  .admin-table td, .admin-table th { padding: 6px 8px; }
}

/* Print-friendly job detail */
@media print {
  header, footer, aside, #backToTop { display: none !important; }
  .job-card { break-inside: avoid; }
}

/* Focus ring override */
input:focus, select:focus, textarea:focus, button:focus {
  outline: none;
}

/* Ad labels */
.ad-label {
  font-size: 10px;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .05em;
}
