/* ================================================================
   stellenangebote-styles.css  -  Stellenangebote + Bewerbungsformular
   ================================================================
   VERSION: 3
   ABLAGEORT: /site/templates/styles/stellenangebote-styles.css

   Wird nur auf der Stellenangebote-Seite geladen (siehe _main.php,
   $rivaNeedsStellenangebote). Seiten-Header/Basis-Klassen kommen
   bereits aus header-styles.css.

   Datei enthaelt nur ASCII-Zeichen.
   ================================================================ */

/* ---------- Jobs + Info ---------- */
.jobs-wrap{padding:70px 0;}
.jobs-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start;}

.job-list{display:flex;flex-direction:column;gap:2px;}
.job-row{background:var(--surface-alt);border-radius:2px;overflow:hidden;}
.job-row-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;cursor:pointer;}
.job-row-head h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:16px;letter-spacing:.01em;}
.job-chevron{color:var(--accent-deep);font-size:16px;flex:0 0 auto;transition:transform .4s var(--ease);}
.job-row.open .job-chevron{transform:rotate(90deg);}
.job-detail{max-height:0;overflow:hidden;transition:max-height .45s var(--ease);}
.job-row.open .job-detail{max-height:500px;}
.job-detail-in{padding:0 22px 22px;font-size:15px;line-height:1.7;color:var(--text-muted);font-weight:300;border-top:1px solid var(--line);padding-top:16px;margin-top:-2px;}

.jobs-info{background:var(--surface-alt);border-radius:3px;padding:34px 36px;position:relative;}
.jobs-info .eyebrow2{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:14px;
  letter-spacing:.06em;color:var(--accent-deep);margin-bottom:14px;display:block;
}
.jobs-info p{font-size:15px;line-height:1.75;color:var(--text-muted);font-weight:300;margin:0 0 16px;}
.jobs-info b{color:var(--text);font-weight:600;}
.jobs-info a.inline-link{color:var(--accent-deep);border-bottom:1px solid var(--accent-deep);}
.jobs-info a.inline-link:hover{color:var(--text);border-color:var(--text);}
.jobs-info .btn{margin-top:8px;}

/* PDF-Bewerbungsformular-Button: kleiner als der Standard-Button
   und mit eigener Farbe (#B98A5C), statt die globale .btn-dark-Klasse
   projektweit zu veraendern. */
.btn-pdf{
  display:inline-flex;align-items:center;
  background:#B98A5C;color:#fff;
  font-size:12.5px;padding:8px 16px;gap:6px;
}
.btn-pdf svg{width:14px;height:14px;}
.btn-pdf:hover{background:#A67849;transform:translateY(-2px);box-shadow:var(--shadow-2);}

/* ---------- Bewerbungsformular ---------- */
.form-section{background:var(--surface-alt);padding:70px 0;}
.form-head{text-align:center;margin-bottom:44px;}
.form-head h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:30px;margin-top:2px;}

.bewerbung-form{max-width:1180px;margin:0 auto;padding:0 40px;}
.f-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 28px;margin-bottom:24px;}
.field label{display:block;font-size:14px;color:var(--text-muted);margin-bottom:7px;}
.field label .req{color:var(--accent-deep);}
.field input[type="text"],.field input[type="tel"],.field input[type="email"],.field input[type="date"],
.field select,.field textarea{
  width:100%;font-family:'Barlow',sans-serif;font-size:15px;color:var(--text);
  background:var(--surface);border:1px solid var(--line);border-radius:2px;
  padding:11px 13px;transition:border-color .3s var(--ease);
}
.field select{appearance:auto;-webkit-appearance:auto;cursor:pointer;}
.field textarea{resize:vertical;min-height:140px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent-deep);}
.field-file{
  display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);
  border-radius:2px;padding:9px 13px;
}
.field-file label.file-btn{
  flex:0 0 auto;font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--navy);
  background:var(--surface-alt);border:1px solid var(--line);border-radius:2px;padding:8px 13px;cursor:pointer;
}
.field-file .file-name{font-size:13px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.field-file input[type="file"]{display:none;}
.field-hint{font-size:12px;color:var(--text-muted);margin-top:6px;}

.checkbox-group{display:flex;flex-wrap:wrap;gap:13px 20px;margin-top:4px;}
.checkbox-group label{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-muted);cursor:pointer;}
.checkbox-group input{accent-color:var(--accent-deep);width:16px;height:16px;cursor:pointer;}

.bewerbung-form .btn{margin-top:6px;}
.bewerbung-form .btn[disabled]{opacity:.6;cursor:default;transform:none !important;}

.form-error{
  background:#FDEAEA;color:#B23B3B;border:1px solid #F0B8B8;border-radius:3px;
  padding:12px 16px;margin-bottom:18px;font-size:14px;
}
html.dark .form-error{background:rgba(178,59,59,.15);border-color:rgba(178,59,59,.4);}

.form-success{display:none;background:var(--navy);color:#fff;padding:34px;border-radius:2px;text-align:center;}
.form-success.show{display:block;}
.form-success h3{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;font-size:20px;color:var(--accent);}
.form-success p{font-size:15px;color:#D5D8DF;margin-top:10px;}

/* ---------- Einblend-Animation (lokal, wie ueberall im Projekt) ---------- */
.jobs-wrap .reveal,.form-section .reveal{
  opacity:0;transform:translateY(26px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
.jobs-wrap .reveal.in,.form-section .reveal.in{opacity:1;transform:translateY(0);}

@media(max-width:980px){
  .bewerbung-form{padding-left:20px;padding-right:20px;}
  .jobs-grid{grid-template-columns:1fr;gap:30px;}
  .f-grid{grid-template-columns:1fr;}
}

@media(max-width:760px){
  .wrap.jobs-wrap{padding-left:30px;padding-right:30px;}
}