/* --- CSS-FIX FÜR FRONTEND & BACKEND (GUTENBERG 3x3 GRID COVERS) --- */
/* 1. Haupt-Block Flexbox-Basis */
.wp-block-cover,
.editor-styles-wrapper .wp-block-cover {
    display: flex !important;
    flex-direction: column !important;
    min-height: 300px;
    position: relative;
    overflow: hidden;
}

/* 2. Inneren Inhalts-Wrapper auf Flexbox zwingen (Frontend & Backend) */
.wp-block-cover .wp-block-cover__inner-container,
.editor-styles-wrapper .wp-block-cover .wp-block-cover__inner-container,
.editor-styles-wrapper .wp-block-cover > .block-editor-inner-blocks > .block-editor-block-list__block {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 1320px !important;
    height: 100% !important;
    padding: 3rem var(--bs-gutter-x, .75rem);
    z-index: 2;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* --- Präzise Ausrichtung basierend auf den WP-Klassen (Gilt für FE + BE) --- */

/* OBEN ROW (Flex-Start) */
.wp-block-cover.is-position-top-left .wp-block-cover__inner-container {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left;
}

.wp-block-cover.is-position-top-center .wp-block-cover__inner-container {
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: center;
}

.wp-block-cover.is-position-top-right .wp-block-cover__inner-container {
    justify-content: flex-start !important;
    align-items: flex-end !important;
    text-align: right;
}

/* MITTE ROW (Center) */
.wp-block-cover.is-position-center-left .wp-block-cover__inner-container {
    justify-content: center !important;
    align-items: flex-start !important;
    text-align: left;
}

.wp-block-cover.is-position-center .wp-block-cover__inner-container {
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
}

.wp-block-cover.is-position-center-right .wp-block-cover__inner-container {
    justify-content: center !important;
    align-items: flex-end !important;
    text-align: right;
}

/* UNTEN ROW (Flex-End) */
.wp-block-cover.is-position-bottom-left .wp-block-cover__inner-container {
    justify-content: flex-end !important;
    align-items: flex-start !important;
    text-align: left;
}

.wp-block-cover.is-position-bottom-center .wp-block-cover__inner-container {
    justify-content: flex-end !important;
    align-items: center !important;
    text-align: center;
}

.wp-block-cover.is-position-bottom-right .wp-block-cover__inner-container {
    justify-content: flex-end !important;
    align-items: flex-end !important;
    text-align: right;
}

/* Absätze im Cover-Block */
.wp-block-cover .wp-block-cover__inner-container p.wp-block-paragraph {
    max-width: 650px;
    margin-bottom: 1.5rem;
    width: 100%;
}

:root :where(.wp-block-cover h1:not(.has-text-color)),
:root :where(.wp-block-cover h2:not(.has-text-color)),
:root :where(.wp-block-cover h3:not(.has-text-color)),
:root :where(.wp-block-cover h4:not(.has-text-color)),
:root :where(.wp-block-cover h5:not(.has-text-color)),
:root :where(.wp-block-cover h6:not(.has-text-color)),
:root :where(.wp-block-cover p:not(.has-text-color)) {

    color: var(--fwww-cover-text-default);

    font-family: 'Source Sans 3', sans-serif;
    font-weight: 700;
    font-style: italic;
}

:root :where(h1:not(.has-text-color)),
:root :where(h2:not(.has-text-color)),
:root :where(h3:not(.has-text-color)),
:root :where(h4:not(.has-text-color)),
:root :where(h5:not(.has-text-color)),
:root :where(h6:not(.has-text-color)),
:root :where(p:not(.has-text-color)),
:root :where(a:not(.has-text-color, .wp-element-button)),
:root :where(div.wp-block-coblocks-post-carousel__excerpt:not(.has-text-color)) {
    color: var(--fwww-text-default);
}

:root :where(.custom-footer p.wp-block-paragraph:not(.has-text-color)) {
    color: var(--fwww-footer-text-default);
}

h1, h2, h3, h4, h5, h6, h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    font-family: "Source Sans 3", Arial, Helvetica, sans-serif;
    font-weight: 700;
    font-style: italic;
    font-size: 42px;
    transition: .5s;
}

h2 {
    font-size: 35px;
}

h3 {
    font-size: 30px;
}

h4 {
    font-size: 25px;
}

h5 {
    font-size: 20px;
}

h6 {
    font-size: 15px;
}

h1.has-primary-color,
h2.has-primary-color,
h3.has-primary-color,
h4.has-primary-color,
h5.has-primary-color,
h6.has-primary-color,
p.has-primary-color,
a.has-primary-color {
    color: var(--fwww-heading-text-default);
}


/* --- GUTENBERG SEPARATOR TO SVG OVERRIDE --- */
/* Spricht die Trennlinie mit unserem neuen Standard-Style an */
.wp-block-separator.is-style-fwww-svg-separator,
.editor-styles-wrapper .wp-block-separator.is-style-fwww-svg-separator {
    border: none !important; /* Deaktiviert die Standard-Linie von WP */
    background: none !important; /* Löscht Standard-Hintergründe */
    height: 26px !important; /* Bestimmt die Höhe des SVG-Bereichs */
    width: 100% !important; /* Geht über die volle Breite der Inhaltsbox */
    margin-top: -1rem !important;
    margin-bottom: 0rem !important;
    opacity: 1 !important; /* Verhindert, dass WP das Icon transparent macht */

    /* Bindet das SVG zentriert als Hintergrundgrafik ein */
    background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" id="Ebene_1" width="100" height="25" viewBox="0 0 100 25"%3E%3Cdefs>%3Cstyle%3E.st0 { fill: %23f39104; }    %3C/style%3E%3C/defs%3E%3Cpath class="st0" d="M93.49,15.38l-.19.46h0s0,0,0,0l.18-.47c-.58-.22-1.17-.41-1.73-.56l-1.87-.62-1.92-.53c-.37-.1-.72-.21-1.07-.31-.65-.2-1.31-.4-2.15-.57l-1.55-.26c-.51-.09-1-.19-1.49-.28-1.15-.22-2.23-.43-3.43-.59l-.26-.03c-.59-.07-1.18-.15-1.72-.2l-1.27-.19-4.97-.51c-.73-.1-1.48-.17-2.19-.23-1.43-.09-2.91-.1-4.22-.11-.56,0-1.14-.02-1.72-.04-.63-.02-1.27-.04-1.87-.04h-.12c-1.46.02-2.89.04-4.32.07h-1.57s-2.41.1-2.41.1h-.89c-1.23.03-2.46.1-3.69.17-.62.03-1.24.07-1.87.1-.9.05-1.84.09-2.78.13l-5.87.38-.68.08c-.45.05-.9.1-1.33.16l-8.4.96-.91.14c-.8.12-1.6.25-2.44.34-.73.1-1.46.22-2.19.35-.69.12-1.38.24-2.09.33-.4.05-.81.09-1.22.14-.52.06-1.05.11-1.58.19-.78.1-1.57.23-2.36.36l-1.81.28c-.55.08-1.08.15-1.58.25-1.68.25-3.29.91-4.67,1.91l-.58.42.59.4s.06.05.11.12c.25.31.56.58,1.53.6.05,0,.09,0,.14,0,.85,0,1.72-.05,2.58-.16l6.55-.99c1.65-.21,3.32-.39,4.95-.56.77-.08,1.54-.16,2.3-.24l1.5-.12c1.02-.11,2.03-.2,3.05-.28l2.4-.17c4.31-.32,7.74-.53,10.79-.65.93-.03,1.88-.09,2.82-.15.96-.06,1.91-.12,2.83-.15l8.82-.26h3.91c.93.02,1.86.05,2.79.07l1.12.03c1.59.03,3.26.07,4.84.14,2.1.12,4.23.31,6.29.49h.12c.99.08,2.07.19,3.22.33,1.09.11,2.19.25,3.24.4l2.56.38c1.33.11,2.73.27,4.04.43.64.08,1.35.19,2.05.3,2.89.44,4.21.59,4.77.14.17-.14.27-.33.28-.53.06-.71-1.27-1.26-1.42-1.32Z">%3C/path%3E%3C/svg%3E') !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
}

aside h3.wp-block-heading {
    background: none;
    border: none;
    border-bottom: 5px double var(--fwww-sidebar-divider-initial);
    line-height: 1em;
    margin-bottom: 20px;
    padding-bottom: 12px;
    position: relative;
    display: inline;
    width: 100%;
}

aside h3.wp-block-heading::before, aside h3.wp-block-heading::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid #f29400;
    border-radius: 50%;
    animation-duration: 3s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    margin-top: 17px;
}

aside h3.wp-block-heading::before {
    left: 0;
    animation-name: none;
}

aside h3.wp-block-heading::after {
    right: 0;
    animation-name: none;
}
aside .tribe-common .tribe-common-b2 {
    margin-bottom: 0;
}
aside .tribe-events-widget .tribe-events-widget-events-list__event-title {
    font-size: 1.3em;
    line-height: normal;
}
aside .tribe-events-widget .tribe-events-widget-events-list__event-title > * {
    font-size: 1.3em;
}
aside .widget_block > .wp-block-group {
    padding: 30px;
}
aside .tribe-events-widget {
    margin-bottom: 0;
}