/* ==========================================================================
   Generic Content Page — Banner + Body
   ========================================================================== */

/* ── Banner ── */

.pv-content-banner {
    background: var(--wp--preset--color--gray-01, #f0f4f8);
    padding: calc(72px * var(--pv-ui-scale)) calc(58px * var(--pv-ui-scale));
    text-align: center;
}

.pv-content-banner__inner {
    max-width: calc(820px * var(--pv-ui-scale));
    margin: 0 auto;
}

/* ── Breadcrumb ── */

.pv-content-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(22px * var(--pv-ui-scale));
    margin-bottom: calc(28px * var(--pv-ui-scale));
    flex-wrap: wrap;
}

.pv-content-breadcrumb__item {
    font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
    font-weight: 600;
    font-size: calc(14px * var(--pv-ui-scale));
    letter-spacing: calc(1.4px * var(--pv-ui-scale));
    text-transform: uppercase;
    color: var(--wp--preset--color--gray-03, #666666);
    text-decoration: none;
    transition: color 0.2s;
}

.pv-content-breadcrumb__item:hover {
    color: var(--wp--preset--color--brand-01-dark, #102f5d);
}

.pv-content-breadcrumb__item--current {
    color: var(--wp--preset--color--brand-01-dark, #102f5d);
}

.pv-content-breadcrumb__separator {
    display: flex;
    align-items: center;
    color: var(--wp--preset--color--gray-03, #666666);
}

.pv-content-breadcrumb__separator svg {
    width: calc(20px * var(--pv-ui-scale));
    height: calc(20px * var(--pv-ui-scale));
}

/* ── Title ── */

.pv-content-banner__title {
    font-family: var(--wp--preset--font-family--plus-jakarta-sans, 'Plus Jakarta Sans', sans-serif);
    font-weight: 700;
    font-size: clamp(calc(38px * var(--pv-ui-scale)), 5.5vw, calc(62px * var(--pv-ui-scale)));
    line-height: 1.1;
    letter-spacing: calc(-1.86px * var(--pv-ui-scale));
    color: var(--wp--preset--color--brand-01-dark, #102f5d);
    margin: 0 0 calc(24px * var(--pv-ui-scale));
}

/* ── Intro text ── */

.pv-content-banner__intro {
    font-family: var(--wp--preset--font-family--inter, 'Inter', sans-serif);
    font-weight: 400;
    font-size: calc(18px * var(--pv-ui-scale));
    line-height: 1.6;
    color: var(--wp--preset--color--gray-03, #666666);
    max-width: calc(590px * var(--pv-ui-scale));
    margin: 0 auto;
}

.pv-content-banner__intro p {
    margin: 0;
}

.pv-content-banner__intro p + p {
    margin-top: calc(12px * var(--pv-ui-scale));
}

/* ── Page body (content below banner) ── */

.pv-content-page__body {
    padding: calc(64px * var(--pv-ui-scale)) calc(58px * var(--pv-ui-scale)) calc(80px * var(--pv-ui-scale));
}

/* ── Responsive ── */

@media (max-width: 900px) {
    .pv-content-banner {
        padding: calc(56px * var(--pv-ui-scale)) calc(24px * var(--pv-ui-scale));
    }

    .pv-content-page__body {
        padding: calc(48px * var(--pv-ui-scale)) calc(24px * var(--pv-ui-scale)) calc(64px * var(--pv-ui-scale));
    }
}

@media (max-width: 640px) {
    .pv-content-banner {
        padding: calc(48px * var(--pv-ui-scale)) calc(16px * var(--pv-ui-scale));
    }

    /* gap + centering live in global.css shared mobile breadcrumb rules */
    .pv-content-breadcrumb {
        margin-bottom: calc(28px * var(--pv-ui-scale));
    }

    .pv-content-banner__title {
        letter-spacing: calc(-1px * var(--pv-ui-scale));
    }

    .pv-content-banner__intro {
        font-size: calc(16px * var(--pv-ui-scale));
    }

    .pv-content-page__body {
        padding: calc(32px * var(--pv-ui-scale)) calc(16px * var(--pv-ui-scale)) calc(48px * var(--pv-ui-scale));
    }
}
