/* 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 {
    margin: 14px 0 0;
    color: var(--gfgf-text-muted, #424751);
    font-size: 15px;
    line-height: 1.55;
}

.gfgf-placeholder { margin: 0 0 22px; }
.gfgf-placeholder img {
    display: block;
    width: 100%;
    height: 160px;
    object-fit: cover;
    background: var(--gfgf-surface-low, #eff4ff);
    border: 1px dashed var(--gfgf-border, #c2c6d3);
    border-radius: 8px;
}
.gfgf-placeholder--wide { margin-bottom: 32px; }
.gfgf-placeholder--wide img { height: clamp(160px, 25vw, 320px); object-fit: contain; }

.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 .gfgf-closing .wp-block-buttons { flex: 0 1 auto; width: 100%; }
}
