/*
 * Joy Concept — Content block presentation
 * Theme v1.7.1
 *
 * These rules present normal core blocks within the Joy Concept visual system.
 */

.jc-content-page,
.jc-content-page > * {
    margin-block: 0;
}

.jc-content-page .wp-block-group,
.jc-content-page .wp-block-columns,
.jc-content-page .wp-block-image,
.jc-content-page .wp-block-buttons,
.jc-content-page .wp-block-quote {
    margin-block-start: 0;
    margin-block-end: 0;
}

.jc-content-page .wp-block-columns {
    margin-bottom: 0;
}

.jc-content-page .wp-block-column {
    min-width: 0;
}

.jc-content-page .wp-block-image img {
    display: block;
    max-width: 100%;
}

/* Core buttons retain editable labels and links while matching theme buttons. */
.jc-content-page .wp-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--jc-sp-2);
    font-family: var(--jc-sans);
    font-size: var(--jc-text-sm);
    font-weight: 500;
    letter-spacing: var(--jc-ls-wider);
    text-transform: uppercase;
    padding: .75em 1.75em;
    border: 1.5px solid transparent;
    border-radius: var(--jc-radius-xs);
    white-space: nowrap;
    text-decoration: none;
    transition: background-color var(--jc-transition), color var(--jc-transition), border-color var(--jc-transition), transform var(--jc-dur-fast) var(--jc-ease), box-shadow var(--jc-transition);
}

.jc-content-page .wp-block-button__link:hover {
    transform: translateY(-1px);
    box-shadow: var(--jc-shadow);
}

.jc-content-page .jc-button-primary .wp-block-button__link {
    background: var(--jc-gold);
    border-color: var(--jc-gold);
    color: var(--jc-white);
}

.jc-content-page .jc-button-primary .wp-block-button__link:hover {
    background: var(--jc-gold-light);
    border-color: var(--jc-gold-light);
    color: var(--jc-white);
}

.jc-content-page .jc-button-outline .wp-block-button__link {
    background: transparent;
    border-color: var(--jc-green);
    color: var(--jc-green);
}

.jc-content-page .jc-button-outline .wp-block-button__link:hover {
    background: var(--jc-green);
    color: var(--jc-white);
}

.jc-content-page .jc-button-text .wp-block-button__link {
    background: none;
    border: 0;
    border-radius: 0;
    color: var(--jc-gold);
    padding: 0;
    font-size: var(--jc-text-sm);
    letter-spacing: var(--jc-ls-wide);
    text-transform: none;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.jc-content-page .jc-button-text .wp-block-button__link:hover {
    color: var(--jc-green);
    box-shadow: none;
    transform: none;
}

.jc-content-page .jc-button-large .wp-block-button__link {
    font-size: var(--jc-text-base);
    padding: .9em 2.2em;
}

.jc-content-page .jc-button-full,
.jc-content-page .jc-button-full .wp-block-button__link {
    width: 100%;
}

/* Homepage selected editorial sections. */
.jc-content-page .jc-benefit-strip__item > .wp-block-group {
    min-width: 0;
}

.jc-content-page .jc-pathway-card .wp-block-buttons {
    margin-top: auto;
}

.jc-content-page .jc-pathway-card__button .wp-block-button__link::after {
    content: "→";
    margin-left: .35em;
    text-decoration: none;
}

/* Reusable grid cards. */
.jc-content-page .jc-resource-card .wp-block-buttons {
    margin-top: var(--jc-sp-5);
}

/* About page image-block adaptations. */
.jc-content-about-hero,
.jc-content-about-vision {
    position: relative;
    overflow: hidden;
}

.jc-content-about-hero > .jc-container,
.jc-content-about-vision > .jc-container {
    position: relative;
    z-index: 2;
}

.jc-content-about-hero-image,
.jc-content-about-vision-image {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.jc-content-about-hero-image img,
.jc-content-about-vision-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jc-content-about-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(20, 43, 30, .94), rgba(20, 43, 30, .72) 55%, rgba(20, 43, 30, .28));
}

.jc-content-about-vision::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(249, 245, 238, .96), rgba(249, 245, 238, .82) 48%, rgba(249, 245, 238, .22) 78%);
}

.jc-about-why__image-wrap > .wp-block-image {
    width: 100%;
    height: 100%;
}

.jc-about-why__image-wrap > .wp-block-image img,
.wp-block-image.jc-about-why__image img {
    width: 100%;
    height: 100%;
    min-height: 470px;
    object-fit: cover;
}

.wp-block-quote.jc-about-why__quote p,
.wp-block-quote.jc-about-blog-cta__quote p,
.wp-block-quote.jc-faith-hero__quote p {
    margin: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}

.wp-block-image.jc-meet-joy__image img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: var(--jc-radius-lg);
    box-shadow: var(--jc-shadow-md);
}

.wp-block-image.jc-about-principle__image,
.wp-block-image.jc-about-principle__image img {
    width: 100%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
}

.jc-about-principle__content .wp-block-buttons {
    margin-top: var(--jc-sp-4);
}

/* Faith page block adaptations. */
.jc-content-page .jc-faith-hero__title span,
.jc-content-page .jc-faith-hero__title em {
    display: block;
}

.jc-faith-hero__visual > .wp-block-image,
.jc-faith-hero__visual-image,
.jc-faith-hero__visual-image img {
    width: 100%;
    height: 100%;
}

.jc-faith-hero__visual-image img {
    object-fit: cover;
}

.jc-faith-content-card > .wp-block-image {
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.wp-block-image.jc-faith-content-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jc-faith-content-card__body .wp-block-buttons {
    margin-top: var(--jc-sp-5);
}

/* Learn and Free Guide. */
.jc-coming-soon-card__actions {
    display: flex;
    justify-content: center;
    gap: var(--jc-sp-3);
    flex-wrap: wrap;
}

.jc-guide-preview.wp-block-columns {
    align-items: center;
}

.jc-guide-preview__mockup .wp-block-image {
    margin-inline: auto;
}

.jc-guide-preview__list {
    padding-left: 0;
}

.jc-guide-preview__list li {
    padding-left: 1.6rem;
}

/* Verified global contact output. */
.jc-contact-content-card {
    text-align: center;
}

.jc-global-contact-panel .jc-section-body {
    max-width: 660px;
    margin: 1.25rem auto 2rem;
    text-align: center;
}

.jc-global-contact-panel__action {
    text-align: center;
}

.jc-global-contact-panel__privacy {
    max-width: 680px;
    margin: var(--jc-sp-4) auto 0;
    color: var(--jc-subtle);
    font-size: var(--jc-text-xs);
    line-height: 1.6;
}

@media (max-width: 900px) {
    .jc-content-page .jc-about-why__grid,
    .jc-content-page .jc-meet-joy__grid {
        grid-template-columns: 1fr;
    }

    .jc-content-about-hero-image,
    .jc-content-about-vision-image {
        opacity: .7;
    }
}

@media (max-width: 640px) {
    .jc-coming-soon-card__actions {
        flex-direction: column;
    }

    .jc-coming-soon-card__actions .wp-block-buttons,
    .jc-coming-soon-card__actions .wp-block-button,
    .jc-coming-soon-card__actions .wp-block-button__link {
        width: 100%;
    }
}
