/* Small reusable modifiers for existing archive components, not a second card system. */
.archive-source-grid.gfgf-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.archive-source-grid.gfgf-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.gfgf-caption,
.gfgf-placeholder figcaption,
.gfgf-event-photo figcaption {
    margin: 14px 0 0;
    color: var(--gfgf-text-muted, #424751);
    font-size: 15px;
    line-height: 1.55;
}

.gfgf-placeholder,
.gfgf-event-photo { margin: 0 0 22px; }
.gfgf-placeholder img,
.gfgf-event-photo img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: var(--gfgf-surface-low, #eff4ff);
    border-radius: 8px;
}
.gfgf-placeholder img { border: 1px dashed var(--gfgf-border, #c2c6d3); }
.gfgf-event-photo img { border: 1px solid var(--gfgf-border, #c2c6d3); }
.gfgf-placeholder--wide { margin-bottom: 32px; }
.gfgf-placeholder--wide img { height: clamp(160px, 25vw, 320px); object-fit: contain; }

/* Real event images stay native Gutenberg image blocks and remain editor-replaceable. */
.about-page #unterwegs .gfgf-event-photo--ham-radio {
    margin: 0 0 18px;
}
.about-page #unterwegs .gfgf-event-photo--ham-radio img {
    display: block;
    width: 100%;
    height: clamp(180px, 21vw, 250px);
    object-fit: cover;
    border-radius: 8px;
}
.about-page #unterwegs .gfgf-event-photo--ham-radio figcaption {
    margin-top: 9px;
    color: var(--gfgf-text-muted, #424751);
    font-size: 14px;
    line-height: 1.45;
}

/* Prepared for a later, complete set of approved topic-card images. */
.about-page #was-uns-verbindet .gfgf-topic-photo {
    margin: 0 0 14px;
    overflow: hidden;
    border-radius: 8px;
}
.about-page #was-uns-verbindet .gfgf-topic-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.gfgf-cover {
    margin: 0 0 24px;
    padding: 20px;
    background: var(--gfgf-surface-low, #eff4ff);
    border-radius: 6px;
}
.gfgf-cover img {
    display: block;
    width: 100%;
    height: 280px;
    object-fit: contain;
    filter: drop-shadow(4px 6px 5px rgb(18 28 42 / 18%));
}
.gfgf-cover--feature { background: transparent; margin-bottom: 0; }
.gfgf-cover--feature img { height: 400px; }
.gfgf-captioned-media .gfgf-caption { text-align: center; }

.about-page .archive-source-card p:not(.archive-source-card__meta) {
    margin: 12px 0 0;
    color: var(--gfgf-text-muted);
    font-size: 17px;
    line-height: 1.65;
}
.about-page .archive-detail__hero-copy p.archive-source-card__meta { margin: 0 0 14px; font-size: 13px; }
.about-page .archive-detail__hero-copy h1 { margin-bottom: 18px; }
.about-page .archive-offer h3 { margin: 0; color: var(--gfgf-primary); }
.about-page .wp-block-button__link { white-space: normal; padding-top: 12px; padding-bottom: 12px; }
.about-page .archive-tour__content .wp-block-buttons { margin-top: 24px; }
.about-page .archive-sources__container > .wp-block-buttons { margin-top: 20px; }
.about-page .gfgf-closing { margin-top: 0; }
.about-page .gfgf-closing .wp-block-buttons { flex: 0 0 230px; gap: 12px; }
.about-page .gfgf-closing .wp-block-button,
.about-page .gfgf-closing .wp-block-button__link { width: 100%; }
.about-page section[id] { scroll-margin-top: 170px; }

@media (max-width: 980px) {
    .archive-source-grid.gfgf-grid--three,
    .archive-source-grid.gfgf-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .archive-source-grid.gfgf-grid--three,
    .archive-source-grid.gfgf-grid--four { grid-template-columns: minmax(0, 1fr); }
    .gfgf-cover img { height: 260px; }
    .gfgf-cover--feature img { height: 320px; }
    .about-page #unterwegs .gfgf-event-photo--ham-radio img { height: auto; aspect-ratio: 4 / 3; }
    .about-page .gfgf-closing .wp-block-buttons { flex: 0 1 auto; width: 100%; }
}

/* Board group photo: native, editor-replaceable core/image block; no placeholder frame. */
.about-page #vorstand .gfgf-board-photo {
    display: block;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 32px;
}
.about-page #vorstand .gfgf-board-photo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    border: 0;
    border-radius: 8px;
}

/* Unified visual rhythm for all six native Gutenberg topic photos. */
.about-page #was-uns-verbindet .archive-source-grid.gfgf-grid--three > .archive-source-card > figure.wp-block-image {
    display: block;
    margin: 0 0 14px;
    width: 100%;
    overflow: hidden;
    border-radius: 8px;
}
.about-page #was-uns-verbindet .archive-source-grid.gfgf-grid--three > .archive-source-card > figure.wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
}
/* The welcoming human-centered hero retains the original Gutenberg image block. */
.about-page .archive-detail__hero .gfgf-people-hero img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center 42%;
    border-radius: 8px;
}

/* Final layout alignment: WordPress inserts wp-block-group__inner-container wrappers. */
/* Match descendants rather than direct children: both old and newly imported
   Gutenberg core/image blocks have different figure classes and wrappers. */
#was-uns-verbindet .archive-source-grid .archive-source-card figure.wp-block-image,
#unterwegs .archive-source-grid .archive-source-card figure.wp-block-image {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
}

/* One proportional crop for all six topic images and both event photos.
   Captions remain below their images; original media files are untouched. */
#was-uns-verbindet .archive-source-grid .archive-source-card figure.wp-block-image img,
#unterwegs .archive-source-grid .archive-source-card figure.wp-block-image img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: center;
    border-radius: 8px;
}

/* GFGF editorial events feature teaser - native Gutenberg group. */
.about-page #unterwegs .gfgf-event-cta.gfgf-event-cta--feature {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: block;
    max-width: none;
    margin: clamp(24px, 5vw, 46px) auto 8px;
    padding: clamp(30px, 5vw, 56px);
    border: 1px solid #b4d8e9;
    border-radius: 18px;
    background: linear-gradient(120deg, #e5f4fc 0%, #d0eaf7 55%, #acd8ed 100%);
    box-shadow: 0 16px 34px rgba(0, 67, 114, .10);
}
.about-page #unterwegs .gfgf-event-cta--feature::after {
    content: "↗";
    position: absolute;
    z-index: -1;
    inset-block-start: 50%;
    inset-inline-end: clamp(20px, 6vw, 90px);
    display: grid;
    place-items: center;
    width: clamp(130px, 16vw, 220px);
    aspect-ratio: 1;
    transform: translateY(-50%);
    border: 13px solid rgba(0, 88, 144, .13);
    border-radius: 50%;
    color: rgba(0, 88, 144, .28);
    font-size: clamp(95px, 12vw, 160px);
    font-weight: 600;
    line-height: 1;
}
.about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__eyebrow {
    margin: 0 0 11px;
    color: #15567e;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.about-page #unterwegs .gfgf-event-cta--feature h3 {
    max-width: 670px;
    margin: 0 0 14px;
    color: #003f72;
    font-size: clamp(26px, 3.2vw, 40px);
    line-height: 1.2;
}
.about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__description {
    max-width: 660px;
    margin: 0 0 26px;
    color: #24485e;
    font-size: clamp(16px, 1.7vw, 19px);
    line-height: 1.6;
}
.about-page #unterwegs .gfgf-event-cta--feature .wp-block-buttons {
    position: relative;
    z-index: 1;
    margin: 0;
}
.about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__button .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 24px;
    border-radius: 8px;
    background: #00578e;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    transition: background .15s ease, transform .15s ease;
}
.about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__button .wp-block-button__link:hover,
.about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__button .wp-block-button__link:focus-visible {
    background: #003e67;
    transform: translateY(-1px);
}
@media (max-width: 680px) {
    .about-page #unterwegs .gfgf-event-cta--feature::after { display: none; }
    .about-page #unterwegs .gfgf-event-cta.gfgf-event-cta--feature {
        padding: 28px 22px;
    }
    .about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__button,
    .about-page #unterwegs .gfgf-event-cta--feature .gfgf-event-cta__button .wp-block-button__link {
        width: 100%;
    }
}

/* Issue 64: five-person community icon and contained Almanach cover. */
/* Replace the old north-east arrow with a quiet five-person community motif. */
.about-page #unterwegs .gfgf-event-cta--feature::after {
    content: "";
    display: block;
    box-sizing: border-box;
    width: clamp(160px, 19vw, 250px);
    height: auto;
    aspect-ratio: 1;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20240%20240%22%20fill%3D%22none%22%20stroke%3D%22%2300578e%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%22120%22%20cy%3D%22120%22%20r%3D%2277%22%20stroke-width%3D%223.5%22%20stroke-dasharray%3D%224%2012%22%2F%3E%3Cg%20transform%3D%22translate(120%2033)%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22-11%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M-17%2019v-5a17%2017%200%200%201%2034%200v5%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(46%2092)%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22-11%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M-17%2019v-5a17%2017%200%200%201%2034%200v5%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(194%2092)%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22-11%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M-17%2019v-5a17%2017%200%200%201%2034%200v5%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(74%20192)%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22-11%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M-17%2019v-5a17%2017%200%200%201%2034%200v5%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22translate(166%20192)%22%3E%3Ccircle%20cx%3D%220%22%20cy%3D%22-11%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M-17%2019v-5a17%2017%200%200%201%2034%200v5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    color: transparent;
    font-size: 0;
    opacity: .21;
    pointer-events: none;
}

/* Almanach book cover 113 is portrait: show the entire cover, not a 4:3 crop.
   The image *box* remains 4:3 so all six topic card images still align. */
.about-page #was-uns-verbindet .archive-source-card figure.wp-block-image img.wp-image-113 {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    box-sizing: border-box;
    object-fit: contain;
    object-position: center;
    background: #e9f2f7;
    padding: clamp(7px, 1.4vw, 14px);
    border-radius: 8px;
}

/* A restrained editor-native archival-magazine cover on the Funkgeschichte page. */
.gfgf-fg-page .gfgf-fg-archive-272 {
    margin: 28px 0;
    padding: clamp(18px, 3vw, 32px);
    border: 1px solid #c9e2f0;
    border-radius: 12px;
    background: #edf6fb;
}
.gfgf-fg-page .gfgf-fg-archive-272 h3 {
    margin-top: 0;
    color: #064a76;
}
.gfgf-fg-page .gfgf-fg-archive-272 figure.wp-block-image {
    width: min(100%, 250px);
    margin: 20px auto 0;
}
.gfgf-fg-page .gfgf-fg-archive-272 figure.wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 5px;
    box-shadow: 0 5px 15px rgba(0, 47, 81, .13);
}
.gfgf-fg-page .gfgf-fg-archive-272 figcaption {
    margin-top: 8px;
    text-align: center;
    font-size: 14px;
}

/* Issue 67: avoid the unused stripe beneath the right-hand human hero image.
   The outer figure was 1.08:1 while the actual image is 4:3. */
.about-page .archive-detail__hero .gfgf-people-hero.archive-detail__hero-media {
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
    margin: 0;
}
.about-page .archive-detail__hero .gfgf-people-hero img {
    display: block;
    aspect-ratio: 4 / 3;
    width: 100%;
    height: auto;
}
.about-page .archive-detail__hero .gfgf-captioned-media .gfgf-caption {
    display: none;
}


/* Issue 89: subtle editorial color for eight existing board/function cards.
   Keep native Gutenberg groups/paragraphs; no new block type or global card style. */
.about-page #vorstand .archive-source-grid.gfgf-grid--four {
    align-items: stretch;
    gap: clamp(14px, 1.5vw, 22px);
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    min-height: 193px;
    padding: clamp(19px, 2vw, 25px);
    border: 1px solid #dbe6ef;
    border-radius: 11px;
    box-shadow: 0 6px 16px rgba(10, 57, 93, .045);
    background: linear-gradient(143deg, #fff 5%, #eef6fc 100%);
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card:nth-child(4n+2) {
    background: linear-gradient(143deg, #fff 5%, #ebf8f8 100%);
    border-color: #d7e9e8;
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card:nth-child(4n+3) {
    background: linear-gradient(143deg, #fff 5%, #fcf6ea 100%);
    border-color: #ece2d1;
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card:nth-child(4n+4) {
    background: linear-gradient(143deg, #fff 5%, #f1f1fb 100%);
    border-color: #e0e3f0;
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card h3 {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.3;
}
.about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card p.gfgf-board-bio {
    margin: 15px 0 0;
    color: #43596b;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    overflow-wrap: break-word;
}
@media (max-width: 720px) {
    .about-page #vorstand .archive-source-grid.gfgf-grid--four .archive-source-card {
        min-height: 0;
    }
}

/* Issue 124: four linked, fully editable Gutenberg editorial teasers. */
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) {
  box-sizing: border-box;
  width: min(1100px, calc(100% - 40px));
  margin: clamp(32px, 5vw, 58px) auto;
  padding: clamp(26px, 4vw, 45px);
  border: 1px solid #d6e5f3;
  border-left: 5px solid #3a77ae;
  border-radius: 15px;
  background: linear-gradient(120deg, #eaf3fc, #f6f9fe 75%);
  box-shadow: 0 7px 25px rgba(20, 63, 102, .055);
}
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) h2 {
  margin: 0 0 12px;
  color: #003f83;
  font-size: clamp(24px, 2.3vw, 33px);
  line-height: 1.25;
}
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) p {
  max-width: 760px;
  margin: 0 0 24px;
  color: #39536d;
  font-size: 16px;
  line-height: 1.7;
}
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) .wp-block-buttons {
  margin: 0;
}
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 45px;
  padding: 11px 19px;
  background: #004581;
  border: 1px solid #004581;
  border-radius: 7px;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
}
:is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
    .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) .wp-block-button__link:hover {
  background: #1365a8;
  border-color: #1365a8;
  color: #fff;
}
.gfgf-ported-teaser-satzung .wp-block-button__link::before {
  content: "↓";
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
}
@media (max-width: 640px) {
  :is(.gfgf-ported-teaser-satzung,.gfgf-ported-teaser-spenden,
      .gfgf-ported-teaser-antiquariat,.gfgf-ported-teaser-online) {
    width: calc(100% - 26px);
    padding: 24px 20px;
    margin-block: 30px;
  }
}
