/* ========================================
   CONTENT PROZON
   Generic single-area content
   Scoped + editor-theme friendly
======================================== */

.pz-content {
    --content-heading: var(--pz-heading, var(--pz-color-h1, #000000));
    --content-subheading: var(--pz-subheading, var(--pz-color-h2, var(--content-heading)));
    --content-body: var(--pz-body, var(--pz-color-body-text, #1f2933));
    --content-muted: var(--pz-muted, var(--pz-color-muted-text, color-mix(in srgb, var(--content-body) 68%, transparent)));
    --content-card-bg: var(--pz-card-bg, #ffffff);
    --content-border: var(--pz-border, var(--pz-border-medium, color-mix(in srgb, var(--content-body) 22%, transparent)));
    --content-radius: var(--pz-radius, 14px);
    --content-spacing: var(--pz-spacing, 1rem);
    --content-shadow: var(--pz-shadow, 0 12px 30px rgba(15, 23, 42, 0.08));

    width: 100%;
    margin: 0;
    color: var(--content-body);
    font-family: var(--pz-font-body, inherit);
    font-size: var(--pz-size-body, 1rem);
}

.pz-content,
.pz-content * {
    box-sizing: border-box;
}

.pz-content__area {
    width: 100%;
    min-width: 0;
    color: var(--content-body);
}

.pz-content__area--panel-card {
    overflow: hidden;
    padding: calc(var(--content-spacing) * 1.5);
    border: 1px solid var(--content-border);
    border-radius: var(--content-radius);
    background: var(--content-card-bg);
    box-shadow: var(--content-shadow);
}

.pz-content__area--panel-none {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* Approved site palette roles. These consume existing site variables. */
.pz-content__area--role-background { --content-card-bg: var(--pz-color-background, var(--pz-background, #ffffff)); }
.pz-content__area--role-surface { --content-card-bg: var(--pz-color-surface, var(--pz-card-bg, #ffffff)); }
.pz-content__area--role-primary { --content-card-bg: var(--pz-color-primary, var(--pz-primary, var(--pz-card-bg, #ffffff))); }
.pz-content__area--role-secondary { --content-card-bg: var(--pz-color-secondary, var(--pz-secondary, var(--pz-card-bg, #ffffff))); }
.pz-content__area--role-accent { --content-card-bg: var(--pz-color-accent, var(--pz-accent, var(--pz-card-bg, #ffffff))); }

.pz-content__primary {
    display: grid;
    gap: calc(var(--content-spacing) * 1.5);
    align-items: center;
    min-width: 0;
    grid-template-columns: 1fr;
}

/* Text to the left/right of media uses two equal columns. */
.pz-content__area--text-left .pz-content__primary,
.pz-content__area--text-right .pz-content__primary {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/* Above, below, none, and text-only are single-column layouts. */
.pz-content__area--text-above .pz-content__primary,
.pz-content__area--text-below .pz-content__primary,
.pz-content__area--text-none .pz-content__primary,
.pz-content__area--text-text-only .pz-content__primary {
    grid-template-columns: 1fr;
}

.pz-content__media,
.pz-content__copy {
    min-width: 0;
    width: 100%;
}

/* Defensive fallback: if one side is absent, the remaining item spans the row. */
.pz-content__primary > :only-child {
    grid-column: 1 / -1;
}

.pz-content__image,
.pz-content__video {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: var(--content-radius);
    background: #000;
}

.pz-content__image {
    height: auto;
    object-fit: cover;
}

.pz-content__video {
    aspect-ratio: 16 / 9;
}

.pz-content__video--embed {
    min-height: 240px;
}

.pz-content__eyebrow {
    margin: 0 0 calc(var(--content-spacing) * .45);
    color: var(--content-muted);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.pz-content__title {
    margin: 0;
    color: var(--content-heading);
    font-family: var(--pz-font-h2, var(--pz-font-body, inherit));
    font-size: var(--pz-size-h2, 2rem);
    line-height: 1.15;
}

.pz-content__subtitle {
    margin: calc(var(--content-spacing) * .55) 0 0;
    color: var(--content-subheading);
    line-height: 1.45;
}

.pz-content__text {
    margin-top: var(--content-spacing);
}

.pz-content__text p,
.pz-content__details p {
    margin: 0 0 var(--content-spacing);
    line-height: 1.65;
}

.pz-content__text p:last-child,
.pz-content__details p:last-child {
    margin-bottom: 0;
}

.pz-content__details-section {
    margin-top: calc(var(--content-spacing) * 1.5);
    padding-top: calc(var(--content-spacing) * 1.25);
    border-top: 1px solid var(--content-border);
}

.pz-content__details-title {
    margin: 0 0 calc(var(--content-spacing) * .7);
    color: var(--content-heading);
    font-family: var(--pz-font-h3, var(--pz-font-h2, var(--pz-font-body, inherit)));
    font-size: var(--pz-size-h3, 1.2rem);
    line-height: 1.25;
}

.pz-content__message {
    margin: 0;
    color: var(--content-body);
}

@media (max-width: 760px) {
    .pz-content__area--text-left .pz-content__primary,
    .pz-content__area--text-right .pz-content__primary {
        grid-template-columns: 1fr;
    }

    .pz-content__area--panel-card {
        padding: var(--content-spacing);
    }

    .pz-content__title {
        font-size: calc(var(--pz-size-h2, 2rem) * .88);
    }
}
