/* Openlane Three Column Feature Grid Block */
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) { padding: 0; background: #F9F9F9; position: relative; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-grid { display: flex; align-items: stretch; gap: 12px; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card { flex: 1 1 0; min-width: 224px; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; padding: 24px; border-radius: 16px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.1); min-height: 325px; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-icon { width: 64px; height: 64px; border-radius: 999px; background: #0061FF; display: flex; align-items: center; justify-content: center; overflow: hidden; flex-shrink: 0; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-icon img { width: 42px; height: 42px; object-fit: contain; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card h3 { color: #0A1B5F; font-family: Poppins, sans-serif; font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -0.24px; margin-bottom: 8px; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card p { color: #0A1B5F; font-family: Poppins, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.75; margin: 0; }
.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .container > p { margin-top: 40px; color: #0A1B5F; font-family: Poppins, sans-serif; font-size: 12px; font-weight: 400; line-height: 1.75; text-align: center; margin-bottom: 0; }
@media (max-width: 1199px) {
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .container { max-width: 100%; }
}
@media (max-width: 1024px) {
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-grid { align-items: center; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card { height: 100%; }
}
@media (max-width: 991px) {
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-grid { gap: 8px; align-items: stretch; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card { gap: 20px; padding: 20px; height: auto; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card h3 { font-size: 20px; line-height: 24px; letter-spacing: -0.2px; }
}
@media (max-width: 767px) {
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-grid { flex-direction: column; gap: 8px; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card { flex: 1 1 100%; width: 100%; padding: 20px; border-radius: 12px; gap: 20px; min-height: 0; min-width: 0; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .feature-card h3 { font-size: 20px; letter-spacing: -0.2px; margin-bottom: 4px; }
	.openlane-three-column-feature-grid-block:where(:not(.is-ev-campaign)) .container > p { margin-top: 32px; }
}


/* OLUS EV installer presentation start */
/* Opt-in EV campaign: shared foundations scoped to this block. */
.openlane-three-column-feature-grid-block.is-ev-campaign {
    --ev-section-space: var(--gaps-spaces-xl,96px);
    margin:0;
    font-family:poppins,sans-serif;
}
.openlane-three-column-feature-grid-block.is-ev-campaign h2 {
    color:inherit;
    margin:0;
}
.openlane-three-column-feature-grid-block.is-ev-campaign h3 {
    color:inherit;
    margin:0;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-body p {
    color:inherit;
    margin:0;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-actions {
    display:flex;
    align-items:center;
    gap:var(--gaps-spaces-xs,16px);
    flex-wrap:wrap;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:13px 37px;
    border:3px solid var(--openlane-blue);
    border-radius:999px;
    background:var(--openlane-blue);
    color:var(--openlane-core-white);
    font-size:18px !important;
    line-height:24px !important;
    font-weight:600;
    text-align:center;
    text-decoration:none;
    white-space:normal;
    transition:background-color .2s,color .2s,border-color .2s;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button:hover {
    background:var(--openlane-onward-blue);
    border-color:var(--openlane-onward-blue);
    color:var(--openlane-core-white);
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button:focus-visible, .openlane-three-column-feature-grid-block.is-ev-campaign a:focus-visible {
    outline:3px solid var(--openlane-blue);
    outline-offset:4px;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button-secondary {
    background:transparent;
    color:var(--openlane-core-white);
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button-secondary:hover {
    background:var(--openlane-blue);
    border-color:var(--openlane-blue);
}
.openlane-three-column-feature-grid-block.is-ev-campaign figure {
    margin:0;
}
.openlane-three-column-feature-grid-block.is-ev-campaign.is-editor-preview .inview, .openlane-three-column-feature-grid-block.is-ev-campaign.is-editor-preview .from-below {
    opacity:1 !important;
    transform:none !important;
}
@media(max-width:767px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign {
        --ev-section-space:64px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .openlane-three-column-feature-grid-block.is-ev-campaign .from-below, .openlane-three-column-feature-grid-block.is-ev-campaign .inview {
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
    .openlane-three-column-feature-grid-block.is-ev-campaign .ev-button {
        animation:none !important;
        transition:none;
    }
}
/* Section gaps are real, editable Brand Spacer blocks on migrated campaigns. */
.openlane-three-column-feature-grid-block.is-ev-campaign.ev-brand-spaced {
    padding-top:0;
    padding-bottom:0;
}
/* Inset cards retain their accessible foreground when the section background changes. */
.openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-card, .openlane-testimonial-block.ev-testimonial .ev-testimonial-panel {
    color:var(--openlane-onward-blue);
}
/* Brand library typography; keep shared utilities intact for other pages. */
.openlane-three-column-feature-grid-block.is-ev-campaign {
    --Font-H2:48px;
    --Font-H3:40px;
    --Font-H4:24px;
    --Font-Body-Large:20px;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .universal-h1 {
    letter-spacing:-3px;
}
.openlane-three-column-feature-grid-block.is-ev-campaign :is(.universal-h2,.universal-h3,.universal-h4) {
    letter-spacing:-1px;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .universal-h4 {
    line-height:1.2 !important;
}
.openlane-three-column-feature-grid-block.is-ev-campaign :is(.universal-body,.universal-body-large):not(.ev-button) {
    line-height:1.75 !important;
}
@media(min-width:1440px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign {
        --Font-H2:56px;
        --Font-H3:48px;
    }
}
@media(max-width:1023px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign {
        --Font-H2:40px;
        --Font-H3:32px;
        --Font-H4:20px;
        --Font-Body-Large:18px;
    }
}
@media(max-width:767px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign {
        --Font-H2:32px;
        --Font-H3:24px;
    }
}
/* Primary focus follows the library's active treatment on light surfaces. */
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-button:focus-visible {
    background:var(--openlane-onward-blue);
    border-color:var(--openlane-onward-blue);
    color:var(--openlane-core-white);
}
/* Dark surfaces use white hover treatments; inset testimonial panels remain light. */
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-core-white:not(.ev-testimonial) .ev-button:hover,
.openlane-cta-block.ev-offer .ev-offer-card .ev-button:hover {
    background:var(--openlane-core-white);
    border-color:var(--openlane-core-white);
    color:var(--openlane-blue);
}
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-core-white:not(.ev-testimonial) .ev-button:focus-visible,
.openlane-cta-block.ev-offer .ev-offer-card .ev-button:focus-visible {
    background:var(--openlane-onward-blue);
    border-color:var(--openlane-blue);
    color:var(--openlane-core-white);
}
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-core-white:not(.ev-testimonial) .ev-button-secondary:hover {
    background:transparent;
    border-color:var(--openlane-core-white);
    color:var(--openlane-core-white);
}
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-core-white:not(.ev-testimonial) .ev-button-secondary:focus-visible {
    background:var(--openlane-core-white);
    border-color:var(--openlane-core-white);
    color:var(--openlane-blue);
}
/* Secondary actions retain contrast on the approved light surfaces. */
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-onward-blue .ev-button-secondary {
    color:var(--openlane-onward-blue);
}
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-onward-blue .ev-button-secondary:hover {
    background:var(--openlane-blue);
    border-color:var(--openlane-blue);
    color:var(--openlane-core-white);
}
.openlane-three-column-feature-grid-block.is-ev-campaign.universal-text-color-onward-blue .ev-button-secondary:focus-visible {
    color:var(--openlane-core-white);
}


/* Opt-in EV campaign presentation. */
.openlane-three-column-feature-grid-block.is-ev-campaign {
    padding:var(--ev-section-space) 0;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-section-content {
    width:min(1320px,calc(100vw - 120px));
    position:relative;
    left:50%;
    transform:translateX(-50%);
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-section-intro {
    max-width:780px;
    margin:0 auto 40px;
    text-align:center;
}
.openlane-three-column-feature-grid-block.is-ev-campaign .ev-section-intro h2 {
    margin-bottom:20px;
}
.openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-card {
    background:var(--openlane-core-white);
    border-radius:16px;
    min-height:290px;
    padding:24px;
    box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;
}
.openlane-three-column-feature-grid-block.ev-benefits .ev-feature-icon {
    width:64px;
    height:64px;
    display:grid;
    place-items:center;
    margin-bottom:28px;
}
.openlane-three-column-feature-grid-block.ev-benefits .ev-feature-icon img {
    max-width:100%;
    height:auto;
}
.openlane-three-column-feature-grid-block.ev-benefits h3 {
    margin:0 0 8px;
}
.openlane-three-column-feature-grid-block.ev-benefits p {
    color:inherit;
    margin:0;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-section-content {
    width:min(1280px,calc(100vw - 160px));
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-card {
    position:relative;
    border-radius:8px;
    min-height:461px;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    background:var(--openlane-onward-blue);
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-image {
    position:absolute;
    inset:0;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,#23313d00 40%,#050d15 90%);
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-copy {
    position:relative;
    padding:20px;
    color:var(--openlane-core-white);
    width:100%;
}
.openlane-three-column-feature-grid-block.ev-filters h3 {
    line-height:1.5;
    margin-bottom:12px;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-tags {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.openlane-three-column-feature-grid-block.ev-filters .ev-filter-tags span {
    display:inline-block;
    padding:2px 8px;
    border-radius:99px;
    border:.5px solid #ffffff33;
    background:#ffffff33;
    backdrop-filter:blur(5px);
}
.openlane-three-column-feature-grid-block.ev-filters .ev-actions {
    margin-top:40px;
    justify-content:center;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-section-content {
    width:min(1272px,calc(100vw - 168px));
}
.openlane-three-column-feature-grid-block.ev-steps .ev-section-intro {
    margin-bottom:40px;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-section-intro h2 {
    margin:0;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-layout {
    display:grid;
    grid-template-columns:minmax(0,808fr) minmax(0,464fr);
    align-items:center;
    min-height:698px;
    position:relative;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-image {
    position:relative;
    border-radius:24px;
    overflow:hidden;
    height:698px;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-image img {
    position:absolute;
    width:100%;
    max-width:none;
    height:100%;
    inset:0;
    object-fit:cover;
    object-position:73% center;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-image::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,#0061ff00 40.45%,var(--openlane-blue)),linear-gradient(#0000001a,#0000001a);
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-list {
    position:relative;
    z-index:1;
    width:calc(100% + 125px);
    margin:0 0 0 -125px;
    padding:0;
    list-style:none;
    counter-reset:ev-step;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-list li {
    position:relative;
    background:#ffffffb3;
    backdrop-filter:blur(30px);
    padding:24px 24px 24px 92px;
    border-radius:16px;
    margin:0 0 12px;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-list li:last-child {
    margin-bottom:0;
}
.openlane-three-column-feature-grid-block.ev-steps .ev-steps-list li::before {
    counter-increment:ev-step;
    content:counter(ev-step,decimal-leading-zero);
    position:absolute;
    left:24px;
    top:24px;
    color:var(--openlane-blue);
    font-size:40px;
    font-weight:400;
    line-height:1.1;
}
.openlane-three-column-feature-grid-block.ev-steps h3 {
    margin:0 0 8px;
}
.openlane-three-column-feature-grid-block.ev-steps p {
    margin:0;
    color:inherit;
}
@media(max-width:1199px) {
    .openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .openlane-three-column-feature-grid-block.ev-filters .ev-filter-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:24px;
    }
}
@media(max-width:1023px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign .ev-section-content {
        width:calc(100vw - 48px);
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-layout {
        display:block;
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-image {
        height:500px;
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-list {
        width:100%;
        margin:24px 0 0;
    }
}
@media(max-width:767px) {
    .openlane-three-column-feature-grid-block.is-ev-campaign .ev-section-content {
        width:calc(100vw - 40px);
    }
    .openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-grid, .openlane-three-column-feature-grid-block.ev-filters .ev-filter-grid {
        grid-template-columns:minmax(0,1fr);
        gap:20px;
    }
    .openlane-three-column-feature-grid-block.ev-benefits .ev-benefit-card {
        min-height:0;
    }
    .openlane-three-column-feature-grid-block.ev-filters .ev-filter-card {
        min-height:461px;
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-image {
        height:360px;
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-list li {
        padding:20px 20px 20px 72px;
    }
    .openlane-three-column-feature-grid-block.ev-steps .ev-steps-list li::before {
        left:16px;
        top:20px;
        font-size:32px;
    }
}

/* OLUS EV installer presentation end */
