/* Page banner: photo under the dark sheet (plain dark band without one) — breadcrumb, optional tag, H1, intro,
 * optional actions — closed by the secondary rule. */
.ocf-page-header {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: var(--ocf-page-header-height);
    padding-top: var(--ocf-page-header-pad);
    padding-bottom: calc(var(--ocf-page-header-pad) - var(--ocf-space-unit) * 0.5 + var(--cardinal-rule));
    background: var(--cardinal-band);
    color: var(--ocf-heading-alt);
}

.ocf-page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--page-header-image);
    background-size: cover;
    background-position: center 43%;
}

.ocf-page-header::after {
    content: '';
    position: absolute;
    inset: 0;
    background: color-mix(in srgb, var(--cardinal-overlay-color) 84%, transparent);
}

.ocf-page-header__inner { position: relative; z-index: 1; }
.ocf-page-header__content { max-width: calc(var(--ocf-space-unit) * 56.25); }

.ocf-page-header__headline { color: inherit; white-space: pre-line; }

.ocf-page-header__eyebrow {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--ocf-space-unit) * 0.5);
    margin-bottom: calc(var(--ocf-space-unit) * 1);
    color: var(--ocf-body-alt);
    font-size: var(--ocf-font-small-size);
}

.ocf-page-header__eyebrow a:hover { color: var(--ocf-secondary); }
.ocf-page-header .cardinal-tag { margin-bottom: calc(var(--ocf-space-unit) * 1.75); }

.ocf-page-header__subtitle {
    max-width: calc(var(--ocf-space-unit) * 45);
    margin-top: calc(var(--ocf-space-unit) * 1);
    color: var(--ocf-body-alt);
}

.ocf-page-header__actions { margin-top: calc(var(--ocf-space-unit) * 1.5); gap: calc(var(--ocf-space-unit) * 0.75); }

.ocf-page-header__rule {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.ocf-page-header__editor-image,
.ocf-page-header__divider { display: none; }

@media (max-width: 767px) {
    .ocf-page-header {
        min-height: 0;
        padding-top: var(--ocf-page-header-pad-mobile);
        padding-bottom: calc(var(--ocf-page-header-pad-mobile) + var(--cardinal-rule));
    }

    .ocf-page-header__actions > * { flex: 1 1 100%; }
}

/* OCF_AGENT_BLOCK:el-dorado-commercial-estimate-buttons START */
body.postid-58 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-58 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: #FFFFFF; }
body.postid-58 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:el-dorado-commercial-estimate-buttons END */

/* OCF_AGENT_BLOCK:camden-service-area-estimate-buttons START */
body.postid-60 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-60 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: #FFFFFF; }
body.postid-60 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:camden-service-area-estimate-buttons END */

/* OCF_AGENT_BLOCK:camden-city-service-amber-estimates START */
/* Camden city-service estimate buttons */
body.postid-65 .btn-primary,
body.postid-66 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-65 .btn-primary:hover,
body.postid-66 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: #FFFFFF; }
body.postid-65 .btn-primary:focus-visible,
body.postid-66 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:camden-city-service-amber-estimates END */

/* OCF_AGENT_BLOCK:camden-new-service-estimate-buttons START */
body.postid-69 .btn-primary,
body.postid-70 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-69 .btn-primary:hover,
body.postid-70 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: var(--ocf-heading); }
body.postid-69 .btn-primary:focus-visible,
body.postid-70 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:camden-new-service-estimate-buttons END */

/* OCF_AGENT_BLOCK:service-area-city-maps START */
.ocf-city-map {
    grid-column: 1 / -1;
    padding-block: var(--ocf-section-pad);
    background: var(--ocf-bg-alt);
    border-block: var(--card-border-width) solid var(--ocf-border-light);
}
.ocf-city-map__inner { width: 100%; }
.ocf-city-map .heading-2 { margin-bottom: var(--ocf-grid-gap); }
.ocf-city-map__frame { width: 100%; overflow: hidden; }
.ocf-city-map__frame iframe {
    display: block;
    width: 100%;
    height: 350px;
    border: 0;
}
@media (max-width: 767px) {
    .ocf-city-map__frame iframe { height: 350px; }
}
/* OCF_AGENT_BLOCK:service-area-city-maps END */
/* OCF_AGENT_BLOCK:camden-commercial-amber-estimate-cta START */
body.postid-72 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-72 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: #FFFFFF; }
body.postid-72 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:camden-commercial-amber-estimate-cta END */

/* OCF_AGENT_BLOCK:magnolia-amber-estimate-buttons START */
body.postid-73 a.btn-primary,
body.postid-73 .ocf-longform a.btn-secondary {
    background: var(--ocf-secondary);
    border-color: var(--ocf-secondary);
    color: var(--ocf-heading);
}
body.postid-73 a.btn-primary:hover,
body.postid-73 .ocf-longform a.btn-secondary:hover {
    background: var(--ocf-secondary-hover);
    border-color: var(--ocf-secondary-hover);
    color: var(--ocf-heading);
}
/* OCF_AGENT_BLOCK:magnolia-amber-estimate-buttons END */

/* OCF_AGENT_BLOCK:city-map-google-links START */
.ocf-city-map-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-block: 12px;
    padding: 12px 18px;
    border: 1px solid var(--ocf-secondary);
    background: var(--ocf-secondary);
    color: var(--ocf-heading);
    font-family: var(--ocf-font-heading), system-ui, sans-serif;
    font-weight: 700;
    text-decoration: none;
}
.ocf-city-map-link:hover,
.ocf-city-map-link:focus-visible {
    border-color: var(--ocf-secondary-hover);
    background: var(--ocf-secondary-hover);
    color: var(--ocf-heading);
    text-decoration: underline;
}
/* OCF_AGENT_BLOCK:city-map-google-links END */

/* OCF_AGENT_BLOCK:camden-city-map-frame-height START */
.ocf-city-map#city-map-camden .ocf-city-map__frame iframe,
.ocf-city-map#city-map-el-dorado .ocf-city-map__frame iframe {
    height: 350px;
}

@media (max-width: 767px) {
    .ocf-city-map#city-map-camden .ocf-city-map__frame iframe,
    .ocf-city-map#city-map-el-dorado .ocf-city-map__frame iframe {
        height: 350px;
    }
}
/* OCF_AGENT_BLOCK:camden-city-map-frame-height END */

/* OCF_AGENT_BLOCK:hope-city-hub-map-estimate-buttons START */
/* Hope city hub: responsive city map and amber estimate buttons */
.ocf-city-map#city-map-hope .ocf-city-map__frame iframe { height: 350px; }
@media (max-width: 767px) {
  .ocf-city-map#city-map-hope .ocf-city-map__frame iframe { height: 350px; }
}
body.postid-81 .btn-primary { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
body.postid-81 .btn-primary:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: var(--ocf-heading); }
body.postid-81 .btn-primary:focus-visible { outline: 3px solid var(--ocf-heading); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:hope-city-hub-map-estimate-buttons END */

/* OCF_AGENT_BLOCK:site-area-override START */
/* Estimate action uses the site's amber CTA palette on service and city detail heroes. */
.ocf-page-header__actions .ocf-estimate-action { background: var(--ocf-secondary); border-color: var(--ocf-secondary); color: var(--ocf-heading); }
.ocf-page-header__actions .ocf-estimate-action:hover { background: var(--ocf-secondary-hover); border-color: var(--ocf-secondary-hover); color: #fff; }
.ocf-page-header__actions .ocf-estimate-action:focus-visible { outline: 3px solid var(--ocf-heading-alt); outline-offset: 3px; }
/* OCF_AGENT_BLOCK:site-area-override END */

/* OCF_AGENT_BLOCK:call-first-page-header-actions START */
.ocf-page-header__actions .ocf-call-action { order: -1; background: #D99A2B; border-color: #D99A2B; color: #10243E; }
.ocf-page-header__actions .ocf-call-action:hover { background: #A8660A; border-color: #A8660A; color: #10243E; }
.ocf-page-header__actions .ocf-call-action:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 3px; }
.ocf-page-header__actions .ocf-online-action { background: transparent; border: 2px solid #FFFFFF; color: #FFFFFF; }
.ocf-page-header__actions .ocf-online-action:hover { background: #FFFFFF; color: #10243E; }
.ocf-page-header__actions .ocf-phone-preview { pointer-events: none; }
/* OCF_AGENT_BLOCK:call-first-page-header-actions END */

/* OCF_AGENT_BLOCK:city-map-source-marker START */
.ocf-city-map-source { display: none !important; }
/* OCF_AGENT_BLOCK:city-map-source-marker END */
