.jobs-hero h1 { max-width: 14ch; font-size: clamp(3rem, 7vw, 5.7rem); }
.job-summary { padding: clamp(1.5rem, 4vw, 2.6rem); background: #fff; border: 1px solid var(--line); border-radius: 2rem; box-shadow: var(--playful-shadow); transform: rotate(1deg); }
.job-summary .card-icon { margin-bottom: 1.5rem; }
.job-summary h2 { font-size: clamp(2rem, 4vw, 3rem); }
.job-summary .eyebrow { display: table; }
.job-summary dl { margin: 1.5rem 0; }
.job-summary dl div { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.job-summary dd { margin: 0; color: var(--ink); font-weight: 750; }
.connection-note { padding: 1.2rem; background: var(--sun-soft); border-radius: 1rem; color: var(--ink); }
.connection-note span { display: block; margin-top: .4rem; font-size: .95rem; }
.jobs-grid { display: grid; gap: 1.5rem; }
.job-list { padding-left: 1.3rem; margin-bottom: 0; }
.job-list li { padding-left: .3rem; margin-bottom: .8rem; }
.job-list li::marker { color: var(--teal-700); }
.job-note { font-size: .9rem; margin-top: 1.3rem; margin-bottom: 0; }
.apply-panel { display: grid; gap: 2rem; padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid var(--line); border-radius: 2rem; background: var(--teal-50); }
.apply-panel h2 { font-size: clamp(2rem, 4vw, 3rem); }
.apply-checklist { background: #fff; border-radius: 1.3rem; padding: 1.6rem; align-self: start; }
.apply-checklist ol { padding-left: 1.3rem; }
.apply-checklist li { padding: .3rem 0; }
.inline-mail { text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
#vacature, #solliciteren { scroll-margin-top: 7rem; }
@media (min-width: 48rem) { .jobs-grid { grid-template-columns: 1fr 1fr; } .apply-panel { grid-template-columns: 1.3fr 1fr; align-items: center; } }
@media (max-width: 47.999rem) { .job-summary { transform: none; } }
.application-panel { max-width: 62rem; padding: clamp(1.2rem, 4vw, 3rem); background: var(--teal-50); border-radius: 2rem; border: 1px solid var(--line); }
.application-panel h2 { font-size: clamp(2rem, 4vw, 3rem); }
.application-panel fieldset { min-width: 0; padding: 1.5rem 0; margin: 1.5rem 0 0; border: 0; border-top: 1px solid var(--line); }
.application-panel legend { padding-right: 1rem; font-size: 1.3rem; font-weight: 800; color: var(--ink); }
.application-fields { display: grid; gap: 1.2rem; }
.application-fields label { display: grid; gap: .4rem; font-weight: 650; color: var(--ink); }
.application-panel input:not([type=checkbox]):not([type=radio]), .application-panel textarea { width: 100%; min-width: 0; padding: .75rem; background: white; border: 1px solid #8caeb8; border-radius: .6rem; color: var(--ink); }
.application-panel textarea { resize: vertical; }
.application-panel input:focus-visible, .application-panel textarea:focus-visible, .application-panel button:focus-visible { outline: 3px solid var(--teal-700); outline-offset: 3px; }
.application-fields small { font-weight: 400; }
.form-check, .schedule-choice label { display: flex; gap: .65rem; align-items: flex-start; margin: 1rem 0; cursor: pointer; }
.form-check input, .schedule-choice input { margin-top: .35rem; flex-shrink: 0; width: 1.2rem; height: 1.2rem; accent-color: var(--teal-700); }
.schedule-choice { display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.schedule-week { padding: 1.1rem; margin-top: 1.4rem; background: #fff; border-radius: 1rem; border: 1px solid var(--line); }
.schedule-week[hidden], .application-panel [hidden] { display: none; }
.week-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: 1rem; }
.week-heading h3 { margin: 0; font-size: 1.3rem; }
.week-total { padding: .4rem .7rem; border-radius: .6rem; background: var(--sun-soft); color: var(--ink); font-weight: 750; }
.week-total.over-limit { background: #ffe5e5; color: #962326; }
.day-row { border-top: 1px solid var(--line); padding: 1rem 0; }
.day-label { display: flex; justify-content: space-between; align-items: center; gap: .5rem; color: var(--ink); }
.day-label h4 { margin: 0; font-size: 1rem; }
.add-block, .remove-block { border: 1px solid var(--line); border-radius: .6rem; background: var(--teal-50); padding: .5rem .75rem; cursor: pointer; color: var(--navy-950); }
.time-block { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; margin-top: .7rem; }
.time-block label { flex: 1; min-width: 6.5rem; font-size: .85rem; }
.time-block .remove-block { min-height: 3.2rem; }
.empty-day { margin: .5rem 0 0; font-size: .9rem; }
.form-error { color: #962326; font-weight: 650; margin-top: 1.5rem; }
.form-error:empty { margin: 0; }
.application-panel button:disabled { opacity: .6; cursor: not-allowed; }
#application-status { margin: 1rem 0 0; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width: 40rem) { .application-fields { grid-template-columns: 1fr 1fr; } .field-wide { grid-column: 1 / -1; } }

.application-panel select { width: 100%; padding: .75rem; background: #fff; border: 1px solid #8caeb8; border-radius: .6rem; color: var(--ink); font: inherit; }
.application-panel select:focus-visible { outline: 3px solid var(--teal-700); outline-offset: 3px; }
.language-levels { padding: 1.2rem; border: 1px solid var(--line); border-radius: .8rem; background: white; }
.language-levels h3 { font-size: 1.2rem; }

.availability-notice { margin: 1.25rem 0 1.5rem; padding: 1.2rem 1.4rem; border-left: .3rem solid var(--teal-700); border-radius: .65rem; background: var(--sun-soft); color: var(--navy-950); font-size: 1.1rem; line-height: 1.55; }
