/* Oberer Seitenrand für Folgeseiten: Seit der Header nicht mehr fixiert auf
   jeder Seite wiederholt wird (kein header-space-Trick mehr), muss der Abstand
   über @page kommen. Seite 1 bekommt ihren Abstand durch den statischen Header
   und bleibt per :first ohne zusätzlichen Rand. */
@page {
    margin: 1cm 0 1cm 0;
}

@page :first {
    margin-top: 0;
}

body, .main-content.bg-white {
    background: #fff !important;
}

.print-only {
    display: block;
}

header, .header-space {
    /*background: #f857d8 !important;*/
    width: 100%;

}

.header-space {
    height: 3cm;
    display: block !important;
}

footer, .footer-space {
    /*background: green !important;*/
    height: 0cm;
}

tfoot {
    display: none;
}


header {
    height: 3cm;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    width: 100%;

}

/* In der ?pdf-/?print-Bildschirmvorschau soll der Header normal mitscrollen
   (nicht fixiert). Greift in beiden Vorschauen — im echten Druck wird der
   Header in print-browser.css ohnehin auf static gestellt. */
body.pdf-mode header,
body[data-printmode="true"] header {
    position: static !important;
    height: auto !important;
    padding: 0 0 0.4cm 0 !important;
    margin-bottom: 0.7cm !important;
    border-bottom: 1px solid #828282 !important;
}

body.pdf-mode .header-space,
body[data-printmode="true"] .header-space {
    display: none !important;
}

/* Der fixe Footer-Wrapper schiebt mit margin-top:48px (aus main.css) alles
   nach unten — im Druck/PDF unerwünscht. */
.footer-fixed {
    margin-top: 0 !important;
}

.ccm-page header.sticky .logo-holder img, .ccm-page header.sticky .navbar {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

header .navbar {
    position: relative;
    top: 0 !important;             /* Bildschirm-CSS setzt top:48px → würde die Linie ins H1 schieben */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important; /* Trennlinie nur am Header selbst, nicht an der Navbar */
    background: transparent !important;
}

.container-fluid {
    display: flex;
}

.main-content {
    padding: 0 1cm !important;
    margin: 0 !important;

}

section.pb-5 {
    padding: 0 !important;
}

h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
}

h2 {
    font-size: 20pt !important;
    margin-bottom: 0.5cm !important;
    margin-top: 1cm !important;
}

p.lead, p {
    font-size: 11pt !important;
}

.testimonial-paragraph {
    font-size: 14pt !important;
}

.testimonial-quote {
    page-break-inside: avoid;
    margin-bottom: 1cm;
}

.testimonial-quote .mt-8 {
    margin-top: 1cm !important;
}

/*.testimonial-name{
    text-align: left!important;
}*/


.ccm-block-custom-template-bildunterschrift {
    margin-bottom: 0.5cm !important;
}

.ccm-page .container-wrapper .ccm-image-block-wrapper {
    margin-bottom: 0.5cm !important;
}

.opener, .ccm-page .wide-header .intro-holder {
    margin-bottom: 0 !important;
}

.container {
    max-width: none !important;
}

.print-footer {
    position: fixed !important;
    bottom: 0;
    /*background: green;*/
}

.ccm-page .container-wrapper img {
    margin-bottom: 1cm !important;
}

.ccm-image-block-wrapper.nachweis-wrapper img {
    margin-bottom: 0 !important;
}

.col-lg-8.content-area {
    width: 66.66666667% !important;
}

.opener-project .col-lg-8.content-area {
    width: 66.66666667% !important;
    margin-left: 25% !important;
}

/*Kachel-Bild Geschaeftsentwicklung*/
.bID-3402 {
    max-width: 66% !important;
    margin-bottom: 0 !important;
}

/*Digramm-Ueberschriften Geschaeftsentwicklung*/
.ccm-custom-style-main240maincontent-1593 {
    page-break-before: always !important;
}

.ccm-custom-style-main240maincontent-3340 {
    margin-top: 0px;
}

/*Geschaeftsentwicklung*/
#ausblick {
    margin-top: 0px;
}

.col-lg-6 {
    width: 50% !important;
}

.col-lg-7 {
    width: 58.33333333% !important;
}

.col-lg-5 {
    width: 41.66666667% !important;
}

.nav-area.offset-left .overline {
    margin-left: 26% !important;
    text-align: left !important;
}


.ccm-page .sticky-image-container {
    page-break-after: avoid;
    height: 0;
    margin-top: -3.3cm;
}

.ccm-page .sticky-image-container,
.ccm-custom-style-container.ccm-custom-style-main234maincontent-4941 {
    margin-bottom: 0;
    position: static;
}

.ccm-page .sticky-image-container img {
    page-break-after: avoid;
    transform: translate(0, 0);
}

.ccm-page.page-template-kulturprojekt .gray-bg {
    margin: 0;
}

.ccm-page.page-template-kulturprojekt .gray-bg .row-2,
.ccm-custom-style-container.ccm-custom-style-main188maincontent-3634 {
    padding: 0;
}

.ccm-page.page-template-kulturprojekt .img-grid {
    transform: translate(0, 0);
    width: 100% !important;
}

.static-card .themen-number {
    font-size: 16pt !important;
}

.hamburger-menu, footer, .content-footer, .print-control,
.pointer-event, .ccm-block-custom-template-bildunterschrift + hr, #scrollnav, .btn,
.ccm-page.page-template-kulturprojekt .gray-bg .row-2::before,
.header-push-button {
    display: none !important;
}

/* Concrete CMS Bearbeitungsleiste / Edit-UI im Druck & Druckvorschau (?print/?pdf) ausblenden.
   #ccm-page-controls-wrapper ist der äußere Container der Leiste, #ccm-toolbar die Leiste selbst.
   Achtung: .ccm-page NICHT ausblenden – das ist der Seiten-Wrapper mit dem Inhalt. */
#ccm-page-controls-wrapper,
#ccm-toolbar,
.ccm-toolbar-mobile-menu-button,
.ccm-mobile-menu-overlay {
    display: none !important;
}

/* Zur Sicherheit auch explizit im echten Druck (Strg+P / Druck-Button), unabhängig vom Lade-Modus. */
@media print {
    #ccm-page-controls-wrapper,
    #ccm-toolbar {
        display: none !important;
    }
}

/* Vom Toolbar erzeugten Versatz zurücksetzen, damit der Inhalt oben bündig druckt. */
html.ccm-toolbar-visible,
body.ccm-toolbar-visible {
    margin-top: 0 !important;
    padding-top: 0 !important;
}


.d-none {
    display: block !important;
}

/*Geschäftsentwicklung h2*/
h2 {
    page-break-after: avoid;
}

.sticky-top {
    position: static !important;
}

.sticky-top .display-2 {
    font-size: 2rem !important;
    margin-bottom: 0.4cm;
}

.sticky-top span.text-center {
    line-height: 1 !important;
    font-size: 12pt !important;
}

/*Page-Break Element*/
.print-pagebreak {
    display: none;
    page-break-before: always;
    break-before: always;
}

/* Kachel-Grid (z.B. Engagements/Kulturstiftung-Übersicht) nicht über Seiten zerschneiden.
   .post-details ist die einzelne Kachel mit rotem Border im Druck;
   .grid > * fängt zusätzlich den unmittelbaren Bootstrap-CSS-Grid-Wrapper ab. */
.post-details,
.grid > * {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
}

/* Höhe der Kacheln nur im echten Druck (Strg+P / Browser-Druckdialog) fixieren,
   damit 5 Kacheln + Folge-Text in 2 A4-Seiten passen. Die rote Fläche stammt vom
   <a>-Wrapper im .g-col-6-Grid-Item — dieses Item ist per aspect-ratio:1/1 quadratisch.
   Der externe PDF-Service (chrome.teamorange.dev/url2pdf) rendert mit media=screen,
   dort sollen die Kacheln quadratisch mit Bild bleiben (wie 2024). */
@media print {
    .grid.g-2 > .g-col-6 {
        aspect-ratio: auto !important;
        height: 4.5cm !important;
        max-height: 4.5cm !important;
    }

    .post-details {
        height: 100% !important;
        overflow: hidden !important;
    }
}

@media print {
    .print-pagebreak {
        display: block;
        height: 0;
        margin: 0;
        padding: 0;
        border: none;
    }
}


/*Startseite*/
.col-7.col-lg-4.mb-4.mb-lg-0 {
    width: 40% !important;
}


/*Zahlen und Fakten*/
@media print {
    .table-wrapper table {
        width: 100% !important;
        table-layout: fixed !important;
    }

    .table-wrapper th,
    .table-wrapper td {
        word-wrap: break-word !important;
        white-space: normal !important;
        font-size: 9pt !important;
        padding: 4px !important;
    }

    .table-wrapper {
        overflow: hidden !important;
    }

    /*dicke Schrift in Tabelle*/
    .table-wrapper h3 {
        font-size: 12pt !important;
        margin: 0 !important;
    }

    .table-wrapper .ps-5,
    .table-wrapper .ps-7,
    .table-wrapper .list-point {
        padding-left: 0 !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
        display: inline !important;
    }

    .table-wrapper td span {
        white-space: normal !important;
        word-break: break-word !important;
    }


}

/* Zwei br am Ende entfernen, sonst gibts leere Seite.
   Auch in der ?pdf-/?print-Bildschirmvorschau aktiv (media=all greift, @media print nicht). */
p + br,
p + br + br,
div > br:last-child,
div > br:nth-last-child(2) {
    display: none !important;
}

/*Kulturstiftung Projekt*/
@media print {
    h2 {
        page-break-inside: avoid;
        break-inside: avoid;
        white-space: normal !important;
    }

    h2 span {
        display: inline-block;
    }

}

/*Themenseiten*/
@media print {
    .opener-topic .topic-digit {
        font-size: 72pt !important;
        line-height: 1 !important;
        margin-bottom: 0.6cm !important;
    }

    .opener-topic .row-1 {
        display: flex !important;
        align-items: flex-end !important;
    }

    .opener-topic .col-md-8.content-area {
        margin-left: 0 !important;
        width: auto !important;
        flex: 1 1 auto !important;
    }

    .opener-topic .nav-area.offset-left {
        width: auto !important;
        margin-left: 0 !important;
        padding-right: 2cm; /* optional spacing */
    }
}

/* Tabellen */
.bootstrap-table {
    font-size: 11pt;
}

.table-wrapper .tab-content > .tab-pane {
    display: block;
    margin-bottom: 1cm;
    break-inside: avoid;
    page-break-inside: avoid; /* für ältere Browser */
}

.table-wrapper .nav-tabs {
    display: none;
}

.table-wrapper .list-point:before {
    content: "•";
    display: inline-block;
    margin-right: 0.2cm;
    position: relative;
    left: 0.1cm;
}

/* Bootstrap-Table-Detail-Icon-Spalte (+/− Toggle) im Druck komplett entfernen —
   sowohl die Header-Zelle <th class="detail"> als auch die Body-<td> mit a.detail-icon. */
th.detail,
tr[data-has-detail-view="true"] > td:first-child {
    display: none !important;
}


.ccm-page .opener-topic .row {
    display: block !important;
}


.ccm-page .opener-topic {
    margin-bottom: 0 !important;
}

.ccm-page .opener-topic p.lead {
    margin-bottom: 0;
}

.ccm-page .opener-topic .topic-digit,
.ccm-page .opener-topic h1 {
    font-size: 26pt !important;
    margin: 0 !important;
}

.text-white {
    color: #fff !important;
    opacity: 1 !important;
}

.counter-wrapper .display-2 {
    margin-bottom: 0 !important;
}

.print-hint {
    padding: 0.25cm;
    border: 2px solid grey;
    font-size: 8pt;
    line-height: 11pt;
    text-wrap: balance;
}

.print-hint i {
    font-size: 8pt !important;
}


.counter-to {
    animation: none !important;
    transition: none !important;
}
