.jgf-page {
    padding-top: var(--wp--preset--spacing--xl)
}

/* Base section spacing */
.jgf-section {
    padding-top: var(--wp--preset--spacing--lg);
}

.jgf-section-full {
    padding-bottom: var(--wp--preset--spacing--lg);

}

main.jgf-section-full,
.jgf-program-archive .category-description.jgf-section-full {
    padding-bottom: 0;
}
 
/* Reusable card */
.jgf-card {
    padding: var(--wp--preset--spacing--lg);
    border-radius: 0.75rem;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Testimonials */
.jgf-testimonial {
    padding: var(--wp--preset--spacing--md);
    border-radius: 0.75rem;
    height: 100%;
}

/* Small highlight band */
.jgf-highlight {
    margin-top: var(--wp--preset--spacing--md);
    padding: var(--wp--preset--spacing--md);
    border-left: 4px solid var(--wp--preset--color--primary);
    background: var(--wp--preset--color--muted);
}

/* Soft section background */
.jgf-section--soft {
    background: var(--wp--preset--color--muted);
    border: 1px solid var(--wp--preset--color--border);
    border-radius: 0.75rem;
    padding-left: var(--wp--preset--spacing--lg);
    padding-right: var(--wp--preset--spacing--lg);
}

.wp-block-image {
    border-radius: 0.75rem;
    border: 1px solid var(--wp--preset--color--border);
    display: block;
    overflow: hidden;
}

img {
    border-radius: 0.75rem;
    display: block;
}

.jgf-site-main {
    margin-top: 0;
}

.jgf-hero {
    position: relative;
    background-size: cover;
    background-position: bottom;
    text-shadow: 0 0 1px #000;
}

.jgf-hero::after {
    content: "";
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(3px);
}

.jgf-hero-light {
    position: relative;
    background-size: cover;
    background-position: top;
    text-shadow: 0 0 1px #000;
}

.jgf-hero-light::after {
    content: "";
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(2px);
}

.jgf-hero-content {
    position: relative;
    z-index: 1;
}

.jgf-hero .wp-block-buttons {
    text-shadow: none;
}

h1.wp-block-post-title {
    text-align: center;
}

.jgf-site-footer,
.jgf-footer-menu {
    margin-top: 0;
    margin-block-start: 0 !important;
}

@media (max-width: 600px) {
    main .wp-block-group-is-layout-constrained,
    main.wp-block-group-is-layout-constrained {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    main .wp-block-group-is-layout-constrained.programs-title,
    main .wp-block-group-is-layout-constrained.jgf-program-schedules {
        padding-left: 0;
        padding-right: 0;
    }

    .jgf-hero {
        background-position: 25% 100%;
    }

    .jgf-hero-light {
        background-position: 65% 0%;
    }

    .jgf-hero-content .wp-block-columns {
        margin-top: 24px !important;
    }
}