/* BAUES + PARTNER · Projektseiten. Nur auf einzelnen Portfolio-Projekten geladen. */
.bp-detail-header, .bp-detail-shell, .bp-detail-copy, .bp-detail-gallery {
    --bp-detail-ink: #1c2029;
    --bp-detail-line: var(--bp-line, rgba(0,0,0,.18));
    box-sizing: border-box;
    color: var(--bp-detail-ink);
}
/* Die globale .bp-shell steuert Breite und seitliche Abstände. */
.bp-detail-header { margin-bottom: clamp(32px, 5vw, 80px); }
.bp-detail-hero { width: 100%; overflow: hidden; background: #f2f2ef; }
.bp-detail-hero .bp-detail-hero-image { display: block; width: 100%; max-width: none; height: clamp(360px, 70svh, 1000px); object-fit: cover; object-position: center; }
.bp-detail-heading { padding-top: clamp(28px, 4vw, 64px); }
.bp-detail-kicker { display: block; margin: 0 0 22px; font: inherit; font-size: 11px; line-height: 1.6; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.bp-detail-title { margin: 0; max-width: 1250px; color: inherit; font-family: inherit; font-size: clamp(34px, 4.8vw, 84px); line-height: 1.02; font-weight: 400; letter-spacing: -.045em; text-transform: uppercase; overflow-wrap: break-word; }
.bp-detail-copy { font-size: clamp(17px, 1.3vw, 21px); line-height: 1.65; }
.bp-detail-copy p { font-size: inherit; line-height: inherit; }
.bp-detail-facts { padding-top: clamp(36px, 5vw, 72px); padding-bottom: clamp(48px, 6vw, 96px); }
.bp-detail-facts > .bp-detail-kicker { border-top: 1px solid var(--bp-detail-line); padding-top: 28px; }
.bp-detail-facts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 48px; margin: 32px 0 0; }
.bp-detail-fact { min-width: 0; }
.bp-detail-fact dt { margin: 0 0 10px; font-size: 11px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; font-weight: 400; }
.bp-detail-fact dd { margin: 0; font-size: clamp(18px, 1.7vw, 26px); line-height: 1.35; font-weight: 400; overflow-wrap: anywhere; }
/* Klasse am Builder-Abschnitt: Bilder und Spalten bleiben im Builder editierbar. */
.bp-detail-gallery { padding-top: clamp(16px, 3vw, 40px); padding-bottom: clamp(32px, 5vw, 72px); }
.bp-detail-gallery.bp-shell > .section_wrapper { width: 100%; max-width: none; margin-inline: 0; }
.bp-detail-gallery img { height: auto; }
.bp-detail-navigation { padding-top: 32px; padding-bottom: clamp(56px, 8vw, 120px); }
.bp-detail-overview { display: table; margin: 0 auto 48px; padding-bottom: 8px; border-bottom: 1px solid currentColor; font-size: 11px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; }
.bp-detail-overview span { margin-right: 10px; }
.bp-detail-navigation a { color: inherit; text-decoration: none; }
.bp-detail-next { display: flex; gap: clamp(20px, 3vw, 48px); align-items: center; padding-top: 32px; border-top: 1px solid var(--bp-detail-line); }
.bp-detail-next > span:not(.bp-detail-next-arrow) { flex: 1; min-width: 0; }
.bp-detail-next .bp-detail-next-image { display: block; width: 25%; max-width: 260px; aspect-ratio: 4 / 3; object-fit: cover; }
.bp-detail-next .bp-detail-kicker { margin-bottom: 12px; }
.bp-detail-next-title { display: block; font-size: clamp(22px, 2.4vw, 40px); line-height: 1.12; letter-spacing: -.03em; text-transform: uppercase; overflow-wrap: break-word; }
.bp-detail-next-arrow { font-size: 32px; }
.bp-detail-navigation a:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
@media (hover: hover) {
    .bp-detail-overview:hover, .bp-detail-next:hover .bp-detail-next-title { text-decoration: underline; text-underline-offset: 5px; }
}
@media (max-width: 767px) {
    .bp-detail-hero .bp-detail-hero-image { height: 52svh; min-height: 280px; max-height: 600px; }
    .bp-detail-facts-grid { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 28px 24px; }
    .bp-detail-next { flex-wrap: wrap; }
    .bp-detail-next .bp-detail-next-image { width: 100%; max-width: none; aspect-ratio: 16 / 9; }
}
@media (max-width: 380px) {
    .bp-detail-facts-grid { grid-template-columns: 1fr; }
}
