/* --- Basis-Einstellunge und Variablen: Schriften, Farben, Abstände, Eck-Radien ------------------------------------------------------------------------------------ */
@font-face {
    font-family: "Neue Haas Grotesk Display";
    src:
        url("../fonts/NeueHaasGroteskDisplayPro55Roman.woff2") format("woff2"),
        url("../fonts/NeueHaasGroteskDisplayPro55Roman.woff") format("woff");
    font-weight: 450;
    font-style: normal;
}

@font-face {
    font-family: "Neue Haas Grotesk Display";
    src:
        url("../fonts/NeueHaasGroteskDisplayPro65Medium.woff2") format("woff2"),
        url("../fonts/NeueHaasGroteskDisplayPro65Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: "Neue Haas Grotesk Display";
    src:
        url("../fonts/NeueHaasGroteskDisplayPro75bold.woff2") format("woff2"),
        url("../fonts/NeueHaasGroteskDisplayPro75bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: "Caecilia";
    src:
        url("../fonts/PMNCaeciliaPro45Light.woff2") format("woff2"),
        url("../fonts/PMNCaeciliaPro45Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
}

/* --- Variablen ------------------------------------------------------------------------- */

:root {
    /* Schriftfamilien ---*/
    --font-family--primary: "Neue Haas Grotesk Display", sans-serif;
    --font-family--secondary: "Caecilia", serif;

    /* Schriftgrössen ---*/
    --font-size--xx-small: clamp(0.75rem, 1vw + 0.5rem, 0.88rem);
    --font-size--x-small: clamp(0.88rem, 1vw + 0.25rem, 1.13rem);
    --font-size--small: clamp(1.13rem, 1vw + 0.5rem, 1.25rem);
    --font-size--medium: clamp(1.25rem, 1.5vw + 0.5rem, 1.5rem);
    --font-size--large: clamp(1.5rem, 1vw + 0.75rem, 1.75rem);
    --font-size--x-large: clamp(1.75rem, 1.5vw + 1rem, 2.5rem);
    --font-size--xx-large: clamp(1.75rem, 2.5vw + 1rem, 3.5rem);
    --font-size--xxx-large: clamp(2.25rem, 4.6809vw + .7872rem, 5rem);

    /* --- Farben --- */
    --color--primary-1: #ee7e04; /* Orange */
    --color--secondary-1: #1e1e1e; /* Anthrazit */
    --color--secondary-2: #ffffff; /* Weiss */
    --color--accent-1: #f2f2f2; /* Hellgrau */
    --color--accent-2: #eaeef5; /* bläuliches Hellgrau */

    /* --- Eck-Radien für Bilder, Kacheln, etc. ---*/
    --border-radius--small: 0.5rem;
    --border-radius--medium: 1rem;

    /* Cards Shatten ---*/
    --shadow--cards: 0px 4px 32px 0px rgba(60, 112, 221, 0.2);
}
/*----------------------------------------------------------------------------------------------------------------------------------------*/

/* --- Editor ------------------------------------------------------------------------------------ */
figure.block-editor-block-list__block > div:has(img) {
    height: 100%;
    width: auto !important;
}

figure.block-editor-block-list__block {
    width: 100%;
    /* max-width: fit-content; */
}

/* --- Einstieg ------------------------------------------------------------------------------------ */
.entry-content {
    overflow-x: clip;
}

.is-root-container.is-desktop-preview.is-layout-flow.wp-block-post-content-is-layout-flow.wp-block-post-content.block-editor-block-list__layout section{
    max-width: var(--wp--style--global--wide-size);
    margin-left: auto;
    margin-right: auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* .is-root-container.is-desktop-preview.is-layout-flow.wp-block-post-content-is-layout-flow.wp-block-post-content.block-editor-block-list__layout section > div {
    min-width: var(--wp--style--global--wide-size);
} */

/* --- Bild-Basiseinstellungen ------------------------------------------------------------------------------------ */
.wp-block-media-text__media img,
.wp-block-cover img,
.wp-block-image img {
    border-radius: var(--border-radius--medium);
}

:where(figure) {
    margin: 0;
}

/* --- Standardparagraph ------------------------------------------------------------------------------------ */
.wp-block-group p {
    font-family: var(--font-family--secondary);
    font-size: var(--font-size--small);
    line-height: 1.4em;
    margin: 0;
}

/* --- Bulletpoint-Liste ------------------------------------------------------------------------------------ */
ul.wp-block-list {
    font-family: var(--font-family--secondary);
    font-size: var(--font-size--small);
    list-style: none; /* Entfernt die Standard-Bullets */
    padding: 0;
    margin: 0;
}

.wp-block-list li {
    position: relative;
    padding-left: clamp(0.85rem, 1vw + 0.4rem, 1.25rem);
    line-height: 1.25em;
    margin-bottom: clamp(0.5rem, 0.8vw, 0.8rem);
}

/* Bulletpoint */
.wp-block-list li::before {
    content: ""; /* Erzeugt ein eigenes Bullet-Element */
    position: absolute;
    left: 0; /* Positioniert das Bullet vor dem Text */
    top: 0.35em; /* Zentriert das Bullet optisch zur ersten Zeile */
    width: 0.4em;
    height: 0.4em;
    background-color: var(--color--primary-1);
    border-radius: 50%;
}

ul {
    list-style-type: none;
}

/* --- Headings H1-H5 ------------------------------------------------------------------------------------ */

h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h4.wp-block-post-title,
h5.wp-block-heading {
    margin: 0;
    font-family: var(--font-family--primary);
    font-size: var(--font-size--xxx-large);
    line-height: 1.1em;
    font-weight: 500;
    margin-bottom: clamp(1.25rem, 1.5vw + 1rem, 2.5rem);
    
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    overflow-wrap: break-word;
    word-wrap: break-word; /* Fallback für ältere Browser */
    
    /* Vermeidet Trennungen, trennt nur im absoluten Notfall */
    hyphenate-limit-before: 5; /* Mindestens 5 Zeichen vor dem Trennstrich */
    hyphenate-limit-after: 5;  /* Mindestens 5 Zeichen nach dem Trennstrich */
    hyphenate-limit-chars: 6 5 5; /* Wort min. 6 Zeichen, davor 5, danach 5 */
    hyphenate-limit-lines: 2;   /* Maximal 2 aufeinanderfolgende getrennte Zeilen */
    hyphenate-limit-zone: 8%;   /* Rechte 8% der Zeile: keine Trennung */
    
    /* Verhindert Waisenzeilen bei Headlines */
    orphans: 2;
    widows: 2;
}

h3.wp-block-heading {
    font-size: var(--font-size--xx-large);
    margin-bottom: clamp(1.25rem, 1.5vw + 1rem, 2.5rem);
    letter-spacing: 0.005em;
}
h4.wp-block-post-title,
h4.wp-block-heading {
    font-size: var(--font-size--large);
    line-height: 1.15em;
    letter-spacing: 0.01em;
}
h5.wp-block-heading {
    font-size: var(--font-size--medium);
    line-height: 1.15em;
}

/* ---- Standard Link -------------------------------------------------------------------------------------------- */

section a:not(:has(img)) {
    text-decoration: none;
    color: var(--color--secondary-1);
    border-bottom: 2px solid var(--color--primary-1);
    line-height: 1.5em;
}

/* ---- Standard Section -------------------------------------------------------------------------------------------- */
.entry-content {
    padding-top: 7.5rem;
}

section.wp-block-group {
    padding-left: 2rem;
    padding-right: 2rem;
    /* padding-top: clamp(1.5rem, 4vw + 1rem, 6.75rem); */
    /* angepasst wegen der Navigation */
    padding-top: clamp(1.5rem, 5.5vw + 1rem, 7.25rem);
    padding-bottom: clamp(1.5rem, 4vw + 1rem, 6.75rem);
}

section.section_freie_platze {
    display: flex;
    flex-direction: column;
}

@media screen and (max-width: 600px) {
    section.wp-block-group {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* ---- Standard iFrames -------------------------------------------------------------------------------------------- */
iframe {
    width: 100%;
    /* height: 100vh; */
}

/* ---- Standard Gap -------------------------------------------------------------------------------------------- */
.is-layout-grid {
    gap: 2rem;
}

/* .wp-block-columns.is-layout-flex:has(p) {
    gap: 4rem;
} */

@media screen and (max-width: 781px) {
    /* .wp-block-columns:is(:has(> .wp-block-column:nth-of-type(2) .wp-block-group p):has(> .wp-block-column:nth-of-type(1) .wp-block-group p)) {
        gap: 3.5rem; 
    } */

    /* .wp-block-columns:not(:has(.is-style-card-standard))
  :has(> .wp-block-column:nth-of-type(1) p)
  :has(> .wp-block-column:nth-of-type(2) p) {
  gap: 3.5rem;
  background-color: green;
} */
}

@media screen and (max-width: 600px) {
    .wp-block-columns.is-layout-flex {
        gap: 1rem;
    }

    /* .wp-block-columns.is-layout-flex > .wp-block-column.is-layout-flow:has(figure) + .wp-block-column.is-layout-flow > .wp-block-group > h3 {
        margin-top: 2rem;
        margin-bottom: 1rem;
    } */
}

/* ---- Standard Cover -------------------------------------------------------------------------------------------- */

.wp-block-cover .wp-block-cover__background {
    opacity: 0;
}

/* ---- Standard Style -------------------------------------------------------------------------------------------- */
html {
    scroll-behavior: smooth;
}

/* ---- Media Queries -------------------------------------------------------------------------------------------- */

@media screen and (max-width: 1280px) {
    .entry-content {
        padding-top: 5.5rem;
    }
}

@media screen and (max-width: 782px) {
    .entry-content {
        padding-top: 5.5rem;
    }
}

@media screen and (max-width: 600px) {
    .entry-content {
        padding-top: 5.75rem;
    }
}

/* ---- 1) Link als inline-flex-Container für Icon + Text -------------------------------------------------------------------------------------------- */

.wp-block-file > a {
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  font-family: var(--font-family--primary);
}
.wp-block-file > a::before {
  width: 3rem;
  height: 3rem;
  position:relative;
  margin-left: -8px;
  content: "";
  display: inline-block;       /* notwendig für Breite/Höhe */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36' fill='none'><g clip-path='url(%23clip0_27_40)'><path d='M23.1968 0.207917C23.0318 0.0340578 22.8055 -0.0703125 22.5709 -0.0703125H8.52732C5.93592 -0.0703125 3.79688 2.06022 3.79688 4.65135V31.2078C3.79688 33.7992 5.93592 35.9298 8.52732 35.9298H27.5881C30.1795 35.9298 32.3185 33.7992 32.3185 31.2078V10.1209C32.3185 9.89486 32.2142 9.6776 32.0664 9.51226L23.1968 0.207917ZM23.449 2.99927L29.3882 9.23403H25.5273C24.3795 9.23403 23.449 8.31227 23.449 7.16447V2.99927ZM27.5881 34.1906H8.52732C6.90134 34.1906 5.53601 32.8429 5.53601 31.2078V4.65135C5.53601 3.02537 6.89255 1.66883 8.52732 1.66883H21.7098V7.16447C21.7098 9.27742 23.4144 10.9732 25.5273 10.9732H30.5794V31.2078C30.5794 32.8429 29.2229 34.1906 27.5881 34.1906Z' fill='black'/><path d='M25.2142 28.1907H10.9012C10.423 28.1907 10.0316 28.5818 10.0316 29.0602C10.0316 29.5384 10.423 29.9298 10.9012 29.9298H25.223C25.7012 29.9298 26.0926 29.5384 26.0926 29.0602C26.0926 28.5818 25.7012 28.1907 25.2142 28.1907Z' fill='%23E67B3D'/><path d='M17.4229 25.0689C17.5883 25.2428 17.8143 25.3471 18.0577 25.3471C18.3013 25.3471 18.5273 25.2428 18.6924 25.0689L23.7882 19.5993C24.1186 19.2514 24.0925 18.6949 23.7448 18.3733C23.3968 18.0429 22.8403 18.0687 22.5187 18.4167L18.9273 22.2688V12.7733C18.9273 12.2948 18.5359 11.9037 18.0577 11.9037C17.5795 11.9037 17.1881 12.2948 17.1881 12.7733V22.2688L13.6055 18.4167C13.275 18.069 12.7271 18.0429 12.3794 18.3733C12.0317 18.7037 12.0056 19.2516 12.336 19.5993L17.4229 25.0689Z' fill='%23E67B3D'/></g><defs><clipPath id='clip0_27_40'><rect width='36' height='36' fill='white'/></clipPath></defs></svg>");
  background-repeat: no-repeat;
  background-position: center;
}

.wp-block-file a {
    border-bottom: none;
}

.wp-block-file-row {
    display: flex;
    gap: 3rem;
}

.wp-block-file a:hover {
    color: #ee7e04;
}

.jahresberichte figure {
    height: auto;
}

@media screen and (max-width: 600px) {
    .wp-block-file-row {
        gap: 1rem;
    }
}