/* =========================
   SINGLE JOB PAGE
========================= */

.single-job {
  padding-top: 70px;
  background: var(--bg-bright);
}

.single-job-wrap {
  max-width: 900px;
}

/* HEADER */

.job-header {
  margin-bottom: 40px;
}

.job-title {
  font-size: 34px;
  font-weight: 600;
  color: var(--primary);
  margin-bottom: 15px;
}

.job-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 14px;
  color: #555;
}

.job-meta span {
  display: flex;
  align-items: center;
  gap: 8px;
}

.job-meta i {
  color: var(--us-app-red);
  font-size: 14px;
}

/* DESCRIPTION */

.job-content {
  background: #fff;
  padding: 35px;
  border-radius: 8px;
  margin-bottom: 50px;
}

.job-content h3 {
  font-size: 20px;
  margin-bottom: 15px;
  color: var(--primary);
}

.job-description {
  font-size: 15px;
  line-height: 1.7;
  color: #444;
}

.job-description ul {
  padding-left: 20px;
  margin-top: 10px;
}

.job-description li {
  margin-bottom: 8px;
}

/* APPLY SECTION */

.job-apply {
  background: #fff;
  padding: 35px;
  border-radius: 8px;
}

.job-apply h3 {
  font-size: 20px;
  margin-bottom: 20px;
  color: var(--primary);
}

/* CF7 FORM CLEANUP */

.job-apply input,
.job-apply textarea {
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.job-apply input[type="submit"] {
  background: var(--us-app-red);
  color: #fff;
  border: none;
  padding: 12px 30px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 4px;
}

.job-apply input[type="submit"]:hover {
  background: var(--primary);
}
.job-apply-page {
  /* background: #f4f6f9; */
}

/* Section */
.job-apply-section {
  padding-bottom: 90px;
}

/* Layout */
.apply-layout {
  display: flex;
  gap: 50px;
  align-items: stretch;
}

/* LEFT FORM */
.apply-form {
  flex: 1;
  background: #ffffff;
  padding: 45px;
  border-radius: 14px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.apply-form h2 {
  font-size: 28px;
  margin-bottom: 10px;
  color: #222;
}

.apply-form p {
  margin-bottom: 30px;
  color: #666;
  font-size: 15px;
}

/* CF7 Styling */
.apply-card input,
.apply-card textarea,
.apply-card select {
  width: 100%;
  padding: 12px 14px;
  border-radius: 6px;
  border: 1px solid #ddd;
  margin-bottom: 5px;
  font-size: 14px;
}

.apply-card input:focus,
.apply-card textarea:focus {
  border-color: #0073e6;
  outline: none;
}

.apply-card input[type="submit"] {
  background: #0073e6;
  color: #fff;
  border: none;
  padding: 14px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  border-radius: 6px;
  transition: background 0.3s ease;
}

.apply-card input[type="submit"]:hover {
  background: #005bb5;
}

/* RIGHT IMAGE */
.apply-image {
  flex: 1;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

.apply-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Optional overlay for brightness */
.apply-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(0, 115, 230, 0.25),
    rgba(0, 0, 0, 0.1)
  );
}

/* ===============================
   FORM FIELD ENHANCEMENTS
================================ */

.apply-card .wpcf7-form-control-wrap {
  display: block;
}

/* Common Inputs */
.apply-card input[type="text"],
.apply-card input[type="email"],
.apply-card input[type="file"] {
  width: 100%;
  padding: 14px 16px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #dcdcdc;
  background: #fff;
  transition: all 0.3s ease;
}

/* Focus State */
.apply-card input:focus {
  border-color: #0073e6;
  box-shadow: 0 0 0 3px rgba(0, 115, 230, 0.15);
  outline: none;
}

/* FILE INPUT – CUSTOM LOOK */
.resume-input {
  padding: 12px;
  border: 2px dashed #cfd6dd;
  background: #f9fbfd;
  cursor: pointer;
}

/* File hover */
.resume-input:hover {
  border-color: #0073e6;
  background: #f1f7ff;
}

/* Optional helper text */
.resume-input::file-selector-button {
  background: #0073e6;
  color: #fff;
  border: none;
  padding: 10px 14px;
  border-radius: 6px;
  margin-right: 12px;
  cursor: pointer;
}

.resume-input::file-selector-button:hover {
  background: #005bb5;
}

/* SUBMIT BUTTON */
.apply-btn {
  width: 100%;
  background: #0073e6;
  color: #fff;
  border: none;
  padding: 14px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
}

.apply-btn:hover {
  background: #005bb5;
}

/* Validation Messages */
.wpcf7-not-valid {
  border-color: #e63946 !important;
}

.wpcf7-response-output {
  border-radius: 8px;
  padding: 12px;
  font-size: 14px;
}

/* ===============================
   CUSTOM FILE UPLOAD
================================ */

.custom-file-upload {
  position: relative;
  border: 2px dashed #cfd6dd;
  border-radius: 12px;
  padding: 30px;
  text-align: center;
  background: #f9fbfd;
  transition: all 0.3s ease;
  cursor: pointer;
}

.custom-file-upload:hover {
  border-color: #0073e6;
  background: #f1f7ff;
}

.custom-file-upload label {
  cursor: pointer;
  display: block;
}

.upload-icon {
  font-size: 36px;
  display: block;
  margin-bottom: 10px;
}

.upload-text strong {
  font-size: 16px;
  color: #222;
}

.upload-text small {
  color: #666;
  font-size: 13px;
}

/* Hide ugly default input */
.resume-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

/* Selected file name */
.file-name {
  margin-top: 10px;
  font-size: 14px;
  color: #0073e6;
  font-weight: 500;
}

/* Error state */
.wpcf7-not-valid {
  border-color: #e63946 !important;
}

/* ===============================
   CAREER FORM
================================ */

.career-form {
  max-width: 520px;
  width: 100%;
}

.form-field {
  margin-bottom: 20px;
}

.form-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 6px;
  color: #222;
}

/* Inputs */
.career-form input[type="text"],
.career-form input[type="email"] {
  width: 100%;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #cfd6dd;
  font-size: 15px;
  transition: border 0.3s ease;
}

.career-form input:focus {
  outline: none;
  border-color: #0073e6;
}

/* Submit Button */
.apply-btn {
  background: #0073e6;
  color: #fff;
  padding: 12px 28px;
  border-radius: 30px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.3s ease;
}

.apply-btn:hover {
  background: #005bb5;
}

.job-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 25px;
  font-size: 14px;
  font-weight: 500;
  color: var(--us-primary, #0a3161);
  text-decoration: none;
  transition: all 0.2s ease;
}

.job-back-btn i {
  font-size: 13px;
  transition: transform 0.2s ease;
}

.job-back-btn:hover {
  color: var(--us-app-red, #b31942);
}

.job-back-btn:hover i {
  transform: translateX(-4px);
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .apply-layout {
    flex-direction: column;
  }

  .apply-image {
    height: 320px;
  }
}
