/* Ingetrans – Jobs Widget CSS */
:root { --gfjobs-brand: #f59e0b; }

.gfjobs-section { background:#f8fafc; padding:112px 0; overflow:hidden; }
.gfjobs-section, .gfjobs-section * { box-sizing: border-box; }
.gfjobs-container { max-width:1440px; margin:0 auto; padding:0 24px; }
@media(min-width:1024px){ .gfjobs-container { padding:0 48px; } }

/* Two-col grid */
.gfjobs-grid { display:grid; gap:64px; align-items:start; }
@media(min-width:1024px){ .gfjobs-grid { grid-template-columns:1fr 1.3fr; } }

/* LEFT */
@media(min-width:1024px){ .gfjobs-left { position:sticky; top:112px; } }
.gfjobs-eyebrow { display:inline-block; font-size:11px; text-transform:uppercase; letter-spacing:3px; font-weight:700; color:var(--gfjobs-brand); margin-bottom:12px; }
.gfjobs-title   { font-size:clamp(2rem,4vw,3rem); font-weight:900; letter-spacing:-0.03em; line-height:1.05; color:#0f172a; margin:0 0 20px; }
.gfjobs-subtitle{ font-size:1.0625rem; color:#64748b; line-height:1.7; margin:0 0 32px; }

/* Benefits */
.gfjobs-benefits { list-style:none; padding:0; margin:0 0 32px; display:flex; flex-direction:column; gap:12px; }
.gfjobs-benefit  { display:flex; align-items:center; gap:12px; color:#334155; font-size:0.9375rem; font-weight:500; }
.gfjobs-benefit__icon { flex-shrink:0; }

/* HR card */
.gfjobs-hr-card { padding:20px; border-radius:14px; background:#0f172a; color:#fff; }
.gfjobs-hr-card__head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.gfjobs-hr-card__label { font-size:10px; text-transform:uppercase; letter-spacing:2px; font-weight:700; color:#94a3b8; }
.gfjobs-hr-card__contact { font-size:0.875rem; color:#cbd5e1; margin:0; line-height:1.6; }

/* RIGHT: form card */
.gfjobs-form {
  box-sizing: border-box;
  width: 100%;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 40px;
  box-shadow: 0 2px 16px rgba(15,23,42,.04);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media(max-width:639px){ .gfjobs-form { padding:24px; } }

.gfjobs-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:768px){ .gfjobs-row { grid-template-columns:1fr; } }

.gfjobs-field { display:flex; flex-direction:column; gap:8px; }

.gfjobs-label {
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.5px;
  color:#475569;
}

.gfjobs-input {
  width:100%;
  box-sizing:border-box;
  padding:14px 16px;
  border-radius:10px;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#0f172a;
  font-size:0.9375rem;
  outline:none;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
  font-family:inherit;
}
.gfjobs-input:focus {
  background:#fff;
  border-color:#0f172a;
  box-shadow:0 0 0 3px rgba(15,23,42,.08);
}
.gfjobs-input::placeholder { color:#94a3b8; }
.gfjobs-select { appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:40px; cursor:pointer; }
.gfjobs-textarea { resize:none; }

/* Alerts */
.gfjobs-alert { padding:14px 16px; border-radius:10px; font-size:0.9rem; font-weight:500; }
.gfjobs-alert--error   { background:#fef2f2; color:#dc2626; border:1px solid #fecaca; }
.gfjobs-alert--success { background:#f0fdf4; color:#16a34a; border:1px solid #bbf7d0; }

/* Submit button */
.gfjobs-submit {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:16px 24px;
  border-radius:12px; border:none;
  background:#0f172a; color:#fff;
  font-size:1rem; font-weight:700;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease, opacity .25s;
  font-family:inherit;
}
.gfjobs-submit:hover:not(:disabled) { background:#334155; transform:translateY(-1px); }
.gfjobs-submit:disabled { opacity:.65; cursor:not-allowed; }
.gfjobs-submit__text,
.gfjobs-submit__loading,
.gfjobs-submit__sent { display:flex; align-items:center; gap:8px; }
.gfjobs-submit__text[hidden],
.gfjobs-submit__loading[hidden],
.gfjobs-submit__sent[hidden] { display:none !important; }

.gfjobs-submit__spin {
  width: 20px;
  height: 20px;
  animation: gfjobs-spin 1s linear infinite;
  flex-shrink: 0;
}

@keyframes gfjobs-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* CF7 override styles */
.gfjobs-cf7-wrap { box-sizing: border-box; width: 100%; background:#fff; border:1px solid #e2e8f0; border-radius:24px; padding:40px; overflow:hidden; }
.gfjobs-cf7-wrap .wpcf7 { width:100%; }
.gfjobs-cf7-wrap input,
.gfjobs-cf7-wrap select,
.gfjobs-cf7-wrap textarea { width:100%; box-sizing:border-box; padding:14px 16px; border-radius:10px; border:1px solid #e2e8f0; background:#f8fafc; color:#0f172a; font-size:0.9375rem; font-family:inherit; outline:none; transition:border-color .2s,box-shadow .2s; margin-bottom:16px; }
.gfjobs-cf7-wrap input:focus,
.gfjobs-cf7-wrap select:focus,
.gfjobs-cf7-wrap textarea:focus { background:#fff; border-color:#0f172a; box-shadow:0 0 0 3px rgba(15,23,42,.08); }
.gfjobs-cf7-wrap input[type="submit"] { background:#0f172a; color:#fff; border:none; cursor:pointer; font-weight:700; }
.gfjobs-cf7-wrap input[type="submit"]:hover { background:#334155; }
.gfjobs-cf7-wrap .wpcf7-response-output { border-radius:10px; padding:12px 16px; margin-top:0; font-size:0.875rem; }

/* Reveal */
.gfjobs-reveal { opacity:0; transform:translateY(28px); transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1); }
.gfjobs-reveal.gfjobs-animated { opacity:1; transform:none; }

.gfjobs-job__icon svg, .gfjobs-job__icon i {
  width: 24px;
  height: 24px;
  font-size: 24px;
  flex-shrink: 0;
  color: inherit;
}
