/* AP CV / Portfolio – wiederverwendbare Projektseite */
body.single-apcv_project {
  overflow: auto !important;
}

/* Projektseiten sind eine eigene, volle AP-CV-Ansicht. Der reguläre
 * apath-Header und die Begrenzung des Theme-Contentbereichs gelten hier nicht. */
body.single-apcv_project #masthead,
body.single-apcv_project #site-header,
body.single-apcv_project .site-header,
body.single-apcv_project .elementor-location-header {
  display: none !important;
}

body.single-apcv_project #content,
body.single-apcv_project #main,
body.single-apcv_project #content-wrap,
body.single-apcv_project #primary,
body.single-apcv_project .content-area,
body.single-apcv_project .site-content,
body.single-apcv_project .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#apcv-project-page {
  --apcv-project-font: Arial, Helvetica, sans-serif;
  --apcv-project-ink: #111;
  --apcv-project-red: #e00000;
  --apcv-project-edge: max(10px, calc((100vw - 1000px) / 2 + 10px));
  box-sizing: border-box;
  min-height: 100vh;
  color: var(--apcv-project-ink);
  font-family: var(--apcv-project-font);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .9px;
}

#apcv-project-page *,
#apcv-project-page *::before,
#apcv-project-page *::after { box-sizing: inherit; }

#apcv-project-page a,
#apcv-project-page button { color: inherit; font: inherit; letter-spacing: inherit; }
#apcv-project-page a { text-decoration: none; }
#apcv-project-page a:hover,
#apcv-project-page a:focus-visible,
#apcv-project-page button:hover,
#apcv-project-page button:focus-visible { color: var(--apcv-project-red); }

.apcv-project-header,
.apcv-project-layout {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 10px;
  padding-right: 10px;
}

.apcv-project-header {
  display: grid;
  grid-template-columns: 13em minmax(0, 1fr) 6em;
  column-gap: 20px;
  align-items: start;
  padding-top: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

.apcv-project-category { color: var(--apcv-project-red) !important; }
.apcv-project-languages { justify-self: end; white-space: nowrap; }
.apcv-project-languages button { margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.apcv-project-languages .is-active { color: var(--apcv-project-red); }

.apcv-project-layout {
  display: grid;
  grid-template-columns: 13em minmax(0, 1fr) 6em;
  column-gap: 20px;
  padding-top: 10px;
}

.apcv-project-side { grid-column: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.apcv-project-side .is-current { color: var(--apcv-project-red); }
.apcv-project-main { grid-column: 2; min-width: 0; }

.apcv-project-details { margin: 0 0 26px; }
.apcv-project-detail { white-space: pre-line; }
.apcv-project-detail-title { font-style: italic; }

.apcv-project-content {
  display: grid;
  grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
  column-gap: 28px;
  align-items: start;
}

.apcv-project-text { grid-column: 1; max-width: 35em; }
.apcv-project-text p,
.apcv-project-footnotes p { margin: 0 0 1em; }
.apcv-project-gallery { grid-column: 2; grid-row: 1 / span 2; min-width: 0; }
.apcv-project-gallery figure { margin: 0 0 20px; }
.apcv-project-gallery img { display: block; width: 100%; height: auto; }
.apcv-project-gallery figcaption { margin-top: 4px; font-size: 13px; line-height: 1.2; }
.apcv-project-credit::before { content: ' — '; }
.apcv-project-footnotes { grid-column: 1; max-width: 35em; }

@media (max-width: 767px) {
  #apcv-project-page {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .9px;
  }

  .apcv-project-header,
  .apcv-project-layout {
    display: block;
    padding-left: 16px;
    padding-right: 16px;
  }

  .apcv-project-header { padding-top: 16px; font-weight: 600; letter-spacing: 0; }
  .apcv-project-name { display: inline-block; }
  .apcv-project-languages { position: absolute; top: 16px; right: 16px; }
  .apcv-project-category { display: block; margin-top: 16px; }
  .apcv-project-side { display: none; }
  .apcv-project-layout { padding-top: 16px; }
  .apcv-project-main { width: 100%; }
  .apcv-project-details { margin-bottom: 24px; }
  .apcv-project-content { display: block; }
  .apcv-project-text,
  .apcv-project-footnotes { max-width: none; }
  .apcv-project-gallery { margin: 24px 0; }
  .apcv-project-gallery figure { margin-bottom: 16px; }
}
