/* V7: a shared KBB signature with page-specific editorial compositions. */
:root { --kbb-v7-ink:#173e37; --kbb-v7-teal:#007d75; --kbb-v7-blue:#235674; --kbb-v7-mist:#eef4f2; }
.kbb-v7-events { color:var(--kbb-v7-ink); max-width:1180px; margin:0 auto; }
body.kbb-v7-hersteller-events .entry-content-wrap { padding:0; }
body.kbb-v7-hersteller-events .entry-content { margin-top:0; }
body.kbb-v7-hersteller-events .entry-header { padding-bottom:1rem; }
.kbb-v7-events p { margin:0 0 1.1rem; }
.kbb-v7-events h2 { font-size:clamp(1.8rem,3.4vw,2.65rem); line-height:1.15; letter-spacing:-.025em; margin:0 0 1.25rem; color:var(--kbb-v7-ink); }
.kbb-v7-events h3 { font-size:1.35rem; line-height:1.25; letter-spacing:-.015em; color:var(--kbb-v7-ink); margin:.5rem 0 .9rem; }
body .kbb-v7-kicker { font-size:.72rem; font-weight:750; letter-spacing:.13em; text-transform:uppercase; color:var(--kbb-v7-teal); margin:0 0 1.35rem; line-height:1.5; }
.kbb-v7-event-hero { display:grid; grid-template-columns:1.02fr 1fr; background:#edf3f0; }
.kbb-v7-event-copy { padding:clamp(1.5rem,4vw,3.75rem); align-self:center; }
.kbb-v7-event-copy h2 { font-size:clamp(2.25rem,4.8vw,4rem); max-width:9.5em; }
.kbb-v7-event-copy .kbb-v7-lead { font-size:1.04rem; line-height:1.75; max-width:36em; }
.kbb-v7-events .kbb-location-visual { margin:0; max-width:none; background:transparent; }
body .kbb-v7-event-lead img { height:100%; min-height:510px; aspect-ratio:4/5; object-fit:cover; object-position:57% 50%; }
.kbb-v7-event-lead { display:flex; flex-direction:column; }
body .kbb-v7-events .kbb-location-visual figcaption { background:#fff; font-size:.73rem; padding:.7rem 0; line-height:1.45; }
.kbb-v7-events .kbb-location-visual figcaption span { display:block; color:#5b7069; font-size:.67rem; }
.kbb-v7-event-hero .kbb-location-visual figcaption { padding:.7rem 1rem; }
body .kbb-v7-link { display:inline-flex; align-items:center; gap:1.4rem; color:var(--kbb-v7-ink); font-weight:750; border-bottom:2px solid var(--kbb-v7-teal); padding:.4rem 0; text-decoration:none; font-size:.96rem; }
.kbb-v7-link span { font-size:1.4rem; }
.kbb-v7-event-principle { display:grid; grid-template-columns:1fr 2fr; gap:3rem; padding:2.25rem 0 3.5rem; border-bottom:1px solid #cddbd5; align-items:start; }
.kbb-v7-event-principle p { font-size:1.05rem; line-height:1.8; margin:0; }
.kbb-v7-event-principle .kbb-v7-kicker { padding-top:.3rem; }
.kbb-v7-formats { padding:4.5rem 0; }
.kbb-v7-section-heading { max-width:41rem; margin-bottom:2rem; }
.kbb-v7-section-heading > p:last-child { color:#53685f; font-size:.9rem; }
.kbb-v7-format-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2rem; }
.kbb-v7-format { padding:1.5rem 0 1.75rem; border-top:1px solid #b6cdc3; }
.kbb-v7-format-number { font-size:.8rem; letter-spacing:.08em; font-weight:700; color:#3c6d60; }
.kbb-v7-format p { font-size:.97rem; line-height:1.7; margin:0; }
.kbb-v7-format-1 { grid-column:span 2; background:#173e37; padding:2rem 2.4rem; border-top:0; margin-bottom:1.5rem; display:grid; grid-template-columns:2rem 1fr; column-gap:1rem; }
.kbb-v7-format-1 h3,.kbb-v7-format-1 p,.kbb-v7-format-1 .kbb-v7-format-number { color:#fff; }
.kbb-v7-format-1 h3 { font-size:1.85rem; margin:0 0 .9rem; }
.kbb-v7-format-1 .kbb-v7-format-number { grid-row:span 2; padding-top:.45rem; color:#b9e2d2; }
.kbb-v7-format-2 { padding:1.5rem 0; }
.kbb-v7-format-3 { border-top-color:#356c89; }
.kbb-v7-format-4 { border-top-color:#639989; }
.kbb-v7-format-5 { border-top-color:#356c89; }
.kbb-v7-format-6 { grid-column:1/-1; display:grid; grid-template-columns:2rem 1fr 2fr; gap:1rem; align-items:start; border-bottom:1px solid #b6cdc3; }
.kbb-v7-format-6 h3 { margin:0; }
.kbb-v7-event-topics { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(2rem,4vw,4rem); padding:3rem 0; align-items:center; }
body .kbb-v7-event-room img { aspect-ratio:4/5; object-position:43% 50%; }
.kbb-v7-event-topics ul { list-style:none; margin:0; padding:0; }
.kbb-v7-event-topics li { padding:.85rem 0; border-top:1px solid #d4e1db; font-size:.91rem; line-height:1.65; }
.kbb-v7-event-topics li strong { display:block; color:var(--kbb-v7-blue); }
.kbb-v7-event-audience { display:grid; grid-template-columns:.9fr 1.2fr; gap:3rem; margin:3rem 0 5rem; padding:2.5rem; background:#f0f4f6; align-items:center; }
body .kbb-v7-event-lounge img { aspect-ratio:4/3; }
.kbb-v7-event-audience h2 { font-size:2rem; }
.kbb-v7-event-audience p { font-size:.96rem; line-height:1.8; }
.kbb-v7-event-audience .kbb-location-visual figcaption { background:transparent; }
.kbb-v7-event-process { padding:0 0 2rem; }
.kbb-v7-event-process ol { padding:0; margin:2rem 0; counter-reset:kbb-event-step; list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1.3rem; }
.kbb-v7-event-process li { counter-increment:kbb-event-step; font-size:.9rem; line-height:1.65; border-top:2px solid #0b7c73; padding-top:1rem; }
.kbb-v7-event-process li:before { content:"0" counter(kbb-event-step); display:block; font-size:1.75rem; color:#437a6b; font-weight:300; margin-bottom:.75rem; }
.kbb-v7-event-process li strong { display:block; margin-bottom:.5rem; color:var(--kbb-v7-ink); }
.kbb-v7-event-quality { background:#edf3ef; padding:1.4rem 1.75rem; border-top:1px solid #b9cec4; }
.kbb-v7-event-quality summary { cursor:pointer; font-weight:750; font-size:1.05rem; color:var(--kbb-v7-ink); }
.kbb-v7-event-quality ul { margin:1.4rem 0 0; padding-left:1.3rem; }
.kbb-v7-event-quality li { padding-bottom:.55rem; font-size:.94rem; }
.kbb-v7-events .kbb-v7-event-notice { font-size:.83rem; color:#4d665d; margin:1.25rem 0 3rem; line-height:1.65; }
.kbb-v7-event-cta { background:#173e37; padding:clamp(1.5rem,4vw,3.5rem); display:grid; grid-template-columns:2fr 1fr; gap:3rem; margin-bottom:2rem; }
.kbb-v7-event-cta h2,.kbb-v7-event-cta p,.kbb-v7-event-cta a { color:#fff; }
.kbb-v7-event-cta .kbb-v7-kicker { color:#b9e2d2; }
.kbb-v7-event-cta p { font-size:.97rem; line-height:1.75; }
.kbb-v7-event-cta nav { align-self:end; display:grid; gap:1rem; font-size:.87rem; }
body .kbb-v7-button { display:inline-flex; gap:1.5rem; padding:.9rem 1.15rem; background:#e1eee7; color:#173e37; font-size:.94rem; font-weight:750; text-decoration:none; }
.kbb-v7-events a:hover { text-decoration:underline; }
.kbb-v7-events a:focus-visible,.kbb-v7-events summary:focus-visible { outline:3px solid #197d76; outline-offset:5px; }
/* Home correction: retain the original cover and panel hierarchy; improve legibility only. */
body.kbb-v7-start .kbb-home-hero .kbb-glass { backdrop-filter:blur(4px) saturate(110%) !important; }
body.kbb-v7-start .kbb-home-hero .kbb-reading-panel { background:linear-gradient(180deg,rgba(16,40,33,.80),rgba(16,40,33,.72)) !important; }
body.kbb-v7-start .kbb-home-hero .kbb-info-panel { background:rgba(249,252,250,.94) !important; }
body.kbb-v7-start .kbb-home-hero .is-style-outline .wp-block-button__link { color:#fff !important; border-color:rgba(255,255,255,.9) !important; }
/* Company: an asymmetric location diptych; contact is a compact editorial strip. */
body.kbb-v7-unternehmen .kbb-location-pair { grid-template-columns:1.65fr 1fr; gap:1.25rem; align-items:start; margin:2.5rem 0 3rem; }
body.kbb-v7-unternehmen .kbb-location-pair figure:nth-child(2) { margin-top:4rem; }
body.kbb-v7-unternehmen .kbb-location-pair figure:first-child img { aspect-ratio:16/10; }
body.kbb-v7-unternehmen .kbb-location-pair figure:nth-child(2) img { aspect-ratio:4/5; object-position:55% 50%; }
body.kbb-v7-kontakt .kbb-location-contact { display:grid; grid-template-columns:1.65fr 1fr; max-width:none; background:#eff4f1; }
body.kbb-v7-kontakt .kbb-location-contact img { aspect-ratio:16/9; }
body.kbb-v7-kontakt .kbb-location-contact figcaption { display:flex; flex-direction:column; justify-content:center; padding:clamp(1rem,3vw,2rem); background:#eff4f1; color:#173e37; font-size:1.4rem; font-weight:700; }
body.kbb-v7-kontakt .kbb-location-contact figcaption span { font-size:.7rem; font-weight:400; margin-top:1rem; }
body.kbb-v7-kontakt .kbb-location-contact { display:block; }
body.kbb-v7-kontakt .kbb-location-contact figcaption { display:block; font-size:1.15rem; padding:1rem 1.25rem; }
body.kbb-v7-kontakt .kbb-location-contact figcaption span { margin-top:.35rem; }
body.kbb-v7-foerderung .kbb-foerderung-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
body.kbb-v7-foerderung .kbb-foerderung-step-title { overflow-wrap:normal; word-break:normal; hyphens:none; }
/* The learning overview uses a panorama, About keeps a visual travel through the rooms. */
body.kbb-v7-bildungsangebote .kbb-location-learning { max-width:none; display:grid; grid-template-columns:2fr 1fr; margin:2rem 0 3rem; background:#edf2f5; }
body.kbb-v7-bildungsangebote .kbb-location-learning img { aspect-ratio:2/1; max-height:none; }
body.kbb-v7-bildungsangebote .kbb-location-learning figcaption { background:#edf2f5; padding:2rem; display:flex; flex-direction:column; justify-content:center; font-size:1.5rem; color:#235674; font-weight:700; }
body.kbb-v7-bildungsangebote .kbb-location-learning figcaption span { font-size:.7rem; font-weight:400; }
body.kbb-v7-kbb-das-sind-wir .kbb-location-visual { max-width:none; margin:1.75rem 0; }
body.kbb-v7-kbb-das-sind-wir .kbb-location-visual[data-kbb-location-visual="seminar-digital"] img { aspect-ratio:2/1; }
body.kbb-v7-kbb-das-sind-wir .kbb-location-visual[data-kbb-location-visual="lounge"] img { aspect-ratio:4/3; }
body.kbb-v7-kbb-das-sind-wir .kbb-location-visual[data-kbb-location-visual="seminar-tageslicht"] img { aspect-ratio:3/2; }
/* Course identities remain tied to their actual image family, not DOM position. */
body .kbb-course-card:has(img[data-kbb-image-family="office-course"]) { border-top:4px solid #235674; }
body .kbb-course-card:has(img[data-kbb-image-family="coaching-course"]) { border-top:4px solid #4d7663; }
body .kbb-course-detail:has(img[data-kbb-image-family="office-course"]) .kbb-course-detail-hero { background:#edf2f6; border-left:5px solid #235674; }
body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-hero { background:#eff4ee; border-top:5px solid #4d7663; grid-template-columns:.85fr 1.15fr; }
body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-image { grid-column:1; grid-row:1; }
body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-copy { grid-column:2; grid-row:1; }
body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-image img { aspect-ratio:4/5; object-position:49% 50%; }
body .kbb-course-detail:has(img[data-kbb-image-family="office-course"]) .kbb-course-detail-image img { aspect-ratio:4/3; object-position:46% 50%; }
@media(max-width:900px) {
 .kbb-v7-event-copy { padding:1.5rem; }
 .kbb-v7-event-copy h2 { font-size:2.6rem; }
 .kbb-v7-event-process ol { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .kbb-v7-event-audience { padding:1.5rem; gap:1.5rem; }
}
@media(max-width:680px) {
 .kbb-v7-events h2 { font-size:1.9rem; }
 .kbb-v7-event-hero,.kbb-v7-event-topics,.kbb-v7-event-audience,.kbb-v7-event-cta { grid-template-columns:minmax(0,1fr); }
 .kbb-v7-event-copy h2 { font-size:2.8rem; }
 body .kbb-v7-event-lead img { min-height:0; height:auto; aspect-ratio:4/3; }
 .kbb-v7-event-principle { grid-template-columns:1fr; gap:.5rem; padding:1.75rem 0 2rem; }
 .kbb-v7-formats { padding:3rem 0 1rem; }
 .kbb-v7-format-grid { grid-template-columns:1fr; }
 .kbb-v7-format-1 { grid-column:auto; padding:1.5rem; }
 .kbb-v7-format-6 { display:block; }
 .kbb-v7-format-6 h3 { margin:.5rem 0 .9rem; }
 .kbb-v7-event-topics { gap:2rem; padding:2rem 0; }
 body .kbb-v7-event-room img { aspect-ratio:4/3; }
 .kbb-v7-event-audience { margin:1rem 0 3rem; }
 .kbb-v7-event-process ol { grid-template-columns:1fr; gap:.75rem; }
 .kbb-v7-event-process li { display:block; padding:1rem 0 1rem 3.5rem; position:relative; }
 .kbb-v7-event-process li:before { position:absolute; left:0; top:.7rem; }
 .kbb-v7-event-quality { padding:1.25rem; }
 .kbb-v7-event-cta { gap:2rem; }
 body.kbb-v7-unternehmen .kbb-location-pair { grid-template-columns:minmax(0,1fr); }
 body.kbb-v7-unternehmen .kbb-location-pair figure:nth-child(2) { margin-top:0; max-width:85%; margin-left:auto; }
 body.kbb-v7-unternehmen .kbb-location-pair figure:nth-child(2) img { aspect-ratio:4/3; }
 body.kbb-v7-kontakt .kbb-location-contact,body.kbb-v7-bildungsangebote .kbb-location-learning { grid-template-columns:minmax(0,1fr); }
 body.kbb-v7-kontakt .kbb-location-contact figcaption,body.kbb-v7-bildungsangebote .kbb-location-learning figcaption { padding:1.25rem; font-size:1.25rem; }
 body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-hero { grid-template-columns:minmax(0,1fr); }
 body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-image { grid-column:1; grid-row:2; }
 body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-copy { grid-column:1; grid-row:1; }
 body .kbb-course-detail:has(img[data-kbb-image-family="coaching-course"]) .kbb-course-detail-image img { aspect-ratio:4/3; }
 body .kbb-course-detail-hero h1 { font-size:clamp(1.3rem,5.7vw,1.8rem) !important; line-height:1.25 !important; overflow-wrap:normal; word-break:normal; hyphens:auto; }
 body.kbb-v7-unternehmen .entry-content h2 { font-size:clamp(1.25rem,5.3vw,1.8rem); line-height:1.3; overflow-wrap:normal; word-break:normal; hyphens:auto; }
 body.kbb-v7-foerderung .kbb-foerderung-steps { grid-template-columns:minmax(0,1fr); }
}

/* Minimal image provenance: thin text at the image edge, without a badge. */
body figure:has(> img[data-kbb-ai-content]),body .kbb-coherent-thumbnail { position:relative; }
body figure:has(> img[data-kbb-ai-content]) > figcaption,
body .kbb-coherent-thumbnail > .kbb-coherent-caption,
body .kbb-home-hero > .kbb-location-hero-credit,
body .kbb-ai-generated-media > .kbb-ai-generated-label {
 position:absolute !important; right:7px !important; bottom:7px !important; left:auto !important; top:auto !important;
 display:inline-block !important; width:auto !important; max-width:calc(100% - 14px) !important;
 margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important;
 background:transparent !important; color:#28443a !important; opacity:.72 !important;
 font-size:8px !important; font-weight:300 !important; line-height:1.1 !important; letter-spacing:0 !important;
 box-shadow:none !important; text-shadow:none !important; z-index:3; white-space:nowrap; text-align:left;
}

/* Keep the compact provenance badge within the full learning panorama. */
body.kbb-v7-bildungsangebote .kbb-location-learning > img { grid-column:1 / -1; }

/* The preserved dark homepage hero needs a quiet light credit. */
body .kbb-home-hero > .kbb-location-hero-credit { color:#fff !important; }
