/* body {
    overflow-x: hidden;
    max-width: 100%;
} */



::selection {
    background: var(--brand);
    color: white;
    text-shadow: none;
}

::-moz-selection {
    background: var(--brand);
    color: white;
    text-shadow: none;
}

.site-main {
    padding-top: 20px;
}

.site-main a.is-external::after {
    content: "\F1C5";              
    font-family: "bootstrap-icons";
    display: inline-block;
    margin-left: 0.3em;
    font-size: 0.8em;
    vertical-align: -0.05em;
    color: var(--text-muted);
}

a.is-external:has( .bi )::after {
	content: none;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 1.6rem;
}

h3 {
  font-size: 1.3rem;
}

.container {
	width: 100%;
	max-width: var(--maxw);
	margin-inline: auto;
	padding-inline: var(--gutter);
}

pre {
  font-family: var(--font-monospace);
  font-size: 0.85rem;
  border-radius: var(--radius);
}
/*--------------------------------------------------------------
# Block signature
--------------------------------------------------------------*/
.blocks {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
}
.blocks__sq {
  width: 14px;
  height: 14px;
  background: var(--brand);
}

/* kleine Variante für Eyebrow/Inline */
.blocks--mini .blocks__sq { width: 8px; height: 8px; gap: 3px; }
.blocks--mini { gap: 3px; }

/* horizontale Variante (z.B. als Divider-Marker) */
.blocks--row { flex-direction: row; }


/*--------------------------------------------------------------
# Page Headings
--------------------------------------------------------------*/
.entry-title {
	margin-top: 0;
	padding-top: 0;
}

.site-main:has( .page-hero ) {
    margin-top: 0;
    padding-top: 0;
}

/* ── Hero mit begrenzter Höhe ────────────── */
.page-hero {
    position: relative;
    width: 100%;
    height: clamp( 220px, 30vw, 380px );   /* skaliert mit, aber begrenzt */
    overflow: hidden;
}

.page-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;      /* füllt den Rahmen, beschneidet Überstand */
    object-position: center;
    display: block;
}

/* ── Overlay: Titel unten ────────────────── */
.page-hero__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    padding-bottom: 2rem;
    background: linear-gradient(
        to bottom,
        transparent 40%,
        rgba( 0, 0, 0, 0.55 ) 100%
    );
}

.page-hero__title {
    margin: 0;
    color: #fff;
    text-shadow: 0 2px 10px rgba( 0, 0, 0, 0.5 );
}

/* ── Abstand zum Inhalt ──────────────────── */
.page-hero + .container {
    padding-top: 2rem;
}


.alignfull {
    width: auto;
    max-width: none;
    margin-left: calc( -50vw + 50% );
    margin-right: calc( -50vw + 50% );
}

/* Inhalt innerhalb wieder auf Container-Breite begrenzen */
.alignfull > .wp-block-group__inner-container,
.alignfull > .wp-block-cover__inner-container {
    max-width: var( --maxw );
    margin-inline: auto;
    padding-inline: var( --gutter );
}