/* Karriere uses the same 1328px content boundary and responsive AO gutters
   as Homepage, Leistungen, Kontakt and Projekte. */
body.karriere-page main > section,
body.job-detail-page .job-detail-main {
  padding-inline:var(--ao-page-gutter,var(--ao-responsive-gutter,56px));
}
body.karriere-page .career-container,
body.job-detail-page .job-container {
  width:100%; max-width:1328px; margin-inline:auto;
}
body.karriere-page .career-hero { height:auto; min-height:560px; }
body.karriere-page .career-hero-content { padding-bottom:64px; }
body.karriere-page :is(.career-hero h1,.career-hero-copy) { max-width:100%; overflow-wrap:anywhere; }
body.karriere-page .career-why { height:auto; padding-bottom:64px; }
body.karriere-page .career-why-layout { grid-template-columns:minmax(0,460px) minmax(0,1fr); }
body.karriere-page .career-jobs { height:auto; padding-bottom:56px; }
body.karriere-page .career-job { height:auto; min-height:104px; }
body.karriere-page .career-job-meta { flex-wrap:wrap; }
body.karriere-page .career-job-meta > span { min-width:0; }
body.karriere-page .career-process { height:auto; padding-bottom:56px; }
body.karriere-page .career-process-steps { gap:var(--ao-card-gap,40px); }
body.karriere-page .career-process-steps li { height:auto; min-height:220px; }
body.karriere-page .career-application-copy { min-width:0; }
body.karriere-page .career-application-button { max-width:100%; white-space:normal; text-align:center; }
body.job-detail-page .job-page-heading { height:auto; }
body.job-detail-page .job-detail-card > :not(.job-back-button) { width:100%; max-width:100%; min-width:0; }
body.job-detail-page .job-columns { grid-template-columns:minmax(0,1fr) 360px; gap:var(--ao-card-gap,40px); }
body.job-detail-page :is(.job-title,.job-meta,.job-contact-email) { overflow-wrap:anywhere; }
body.job-detail-page .job-application-panel { gap:32px; }
body.job-detail-page .job-application-copy { flex:1; width:auto; min-width:0; }
body.job-detail-page .job-back-button { align-items:center; min-height:44px; }
body.job-detail-page .job-back-button > span:first-child { flex:1; min-width:0; }
body.job-detail-page .job-apply-button { min-height:54px; text-align:center; }
body.job-detail-page .job-apply-button > span:first-child { flex:1; min-width:0; }
body.job-detail-page .job-button-arrow { display:grid; place-items:center; line-height:1; }
@media (max-width:1300px) {
  body.karriere-page .career-why-layout { grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); }
  body.job-detail-page .job-columns { grid-template-columns:minmax(0,1fr) 320px; }
}
@media (max-width:1050px), (orientation:portrait) and (max-width:1199px) {
  body.karriere-page .career-why-layout { grid-template-columns:minmax(0,1fr); }
  body.karriere-page .career-process-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.karriere-page .career-application-card { flex-direction:column; align-items:flex-start; }
  body.job-detail-page .job-columns { grid-template-columns:minmax(0,1fr); }
  body.job-detail-page .job-sidebar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.job-detail-page .job-application-panel { flex-direction:column; align-items:flex-start; gap:24px; }
  body.job-detail-page .job-application-copy { flex:auto; }
}
@media (max-width:700px), (orientation:landscape) and (max-height:500px) and (max-width:1100px) {
  body.karriere-page .career-hero { min-height:0; }
  body.karriere-page .career-hero-content { padding-block:56px 64px; }
  body.karriere-page .career-hero h1 { font-size:clamp(30px,8.2vw,38px); line-height:1.2; }
  body.karriere-page .career-why-layout { padding-top:56px; }
  body.karriere-page .career-reasons li { grid-template-columns:24px minmax(0,1fr); gap:12px 16px; min-height:0; }
  body.karriere-page .career-reasons p { grid-column:2; }
  body.karriere-page .career-job { min-height:0; }
  body.karriere-page .career-job-meta { flex-direction:column; align-items:flex-start; gap:10px; }
  body.karriere-page .career-process-steps { grid-template-columns:minmax(0,1fr); }
  body.karriere-page .career-process-steps li { min-height:0; }
  body.job-detail-page .job-sidebar { display:flex; }
  body.job-detail-page .job-title { font-size:clamp(28px,7.7vw,34px); line-height:1.2; }
  body.job-detail-page .job-page-heading { font-size:clamp(30px,8.2vw,38px); line-height:1.2; }
}
@media (hover:none), (pointer:coarse) {
  body.karriere-page .career-job:hover:not(:focus-visible) .career-arrow-hover { opacity:0; }
  body.karriere-page .career-job:hover:not(:focus-visible) .career-arrow-default { opacity:1; }
  body.karriere-page .career-job:hover:not(:focus-visible) .career-job-arrow > span { color:inherit; transform:none; }
}
/* Wide tablet landscapes retain useful editorial columns. */
@media (orientation:landscape) and (min-width:951px) and (min-height:501px) {
  html:is([data-ao-tablet="landscape"], [data-ao-tablet-header="landscape"]) body.karriere-page .career-why-layout {
    grid-template-columns:minmax(0,.36fr) minmax(0,.64fr);
  }
  html:is([data-ao-tablet="landscape"], [data-ao-tablet-header="landscape"]) body.job-detail-page .job-columns {
    grid-template-columns:minmax(0,1fr) 280px;
  }
  html:is([data-ao-tablet="landscape"], [data-ao-tablet-header="landscape"]) body.job-detail-page .job-sidebar { display:flex; }
}

/* Anchor the existing overview hero text toward the photo's lower edge. */
body.karriere-page .career-hero-content {
  display:flex; flex-direction:column; justify-content:flex-end;
  min-height:556px; padding-block:88px 64px;
}
/* The two portrait-tablet information cards share their content-driven row height. */
@media (orientation:portrait) and (min-width:701px) and (max-width:1199px) {
  body.job-detail-page .job-sidebar { align-items:stretch; }
  body.job-detail-page :is(.job-facts,.job-direct-contact) { justify-content:flex-start; }
}
@media (max-width:700px), (orientation:landscape) and (max-height:500px) and (max-width:1100px) {
  body.karriere-page .career-hero-content { min-height:0; padding-block:56px 64px; }
  body.karriere-page .career-application-button { width:min(280px,90%); align-self:center; }
  body.job-detail-page :is(.job-facts,.job-about),
  body.job-detail-page .job-detail-card > .job-divider:has(+ .job-about) { display:none; }
}
