/**
 * GC Theme — Base Layout
 *
 * Site-wide layout primitives: full-page wrapper,
 * content container, and main flex region.
 *
 * @package GC_Theme
 */
.site-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 1.5rem;
}

.site-main {
    flex: 1;
}

/* ──────────────────────────────────────────────────────────
   Banner utility — for image blocks placed mid-content
   Apply via Gutenberg "Additional CSS Classes" → gc-banner
   Rounds corners, centers the banner, lifts on hover when linked.
   ────────────────────────────────────────────────────────── */
.wp-block-image.gc-banner {
    margin: 28px auto;
    max-width: 100%;
}
.wp-block-image.gc-banner img {
    border-radius: 12px;
    width: 100%;
    height: auto;
    display: block;
}
.wp-block-image.gc-banner a {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 180ms ease, box-shadow 180ms ease;
}
.wp-block-image.gc-banner a:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(13, 27, 62, 0.10);
}

/* ════════════════════════════════════════════════════════════════════
   GLOBAL — tighten the gap between the breadcrumb and the page hero.
   Hero blocks across templates share the "__hero-content" suffix and a
   56px top padding. Reducing just the top padding halves the gap on every
   page consistently, without negative margins. Horizontal/bottom padding
   is preserved because we only override padding-top.
   ════════════════════════════════════════════════════════════════════ */
main [class$="__hero-content"] {
    padding-top: 32px;
}