/*
 * NBC031B — Get Pricing (Cash Discount) mobile funnel.
 * Markup: template-parts/get-pricing/get-pricing-cd-mobile.php
 * Mobile only (<= 768px, keep in sync with mobileQuery in js/get-pricing-cd-mobile.js). On desktop the
 * mobile markup is hidden and the original .get-pricing-wrapper funnel renders untouched.
 */
@media screen and (min-width: 769px) {
    .NBC031B-progress-bar-wrapper,
    .NBC031B-cc-accepted {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .NBC031B-container {
        padding: 16px 12px 20px 12px;
        background: #F5F9FA;
    }

    .NBC031B-progress-bar-wrapper:has(+ .NBC031B-cc-accepted + .get-pricing-wrapper.get-thanks) {
        display: none;
    }

    .NBC031B-progress-bar-wrapper + .NBC031B-cc-accepted + .get-pricing-wrapper {
        display: none;
    }

    .NBC031B-progress-bar-wrapper + .NBC031B-cc-accepted + .get-pricing-wrapper.get-thanks {
        display: block;
    }

    /* progress bar — tracks step1 (+ processor/payment micro-commitments) → step2 → step3.
     * position: sticky stays here; `top` is a placeholder — override it in your own CSS
     * based on the real site header height. */
    .NBC031B-progress-bar-wrapper .NBC031B-progress-nav {
        padding: 22px 15px;
        background: #ffffff;
        position: sticky;
        top: 78px;
        z-index: 20;
        border-top: 1px solid #DDE0E3;
        border-bottom: 1px solid #DDE0E3;
    }

    .NBC031B-progress-bar-wrapper .NBC031B-progress-line {
        width: 100%;
        max-width: 260px;
        margin: 0 auto;
        border-top: 5px solid #DDE0E3;
        position: relative;
        height: 5px;
    }

    .NBC031B-progress-bar-wrapper .NBC031B-progress-line::after {
        content: "";
        height: 5px;
        width: var(--NBC031B-progress, 0%);
        position: absolute;
        top: -5px;
        left: 0;
        background: #00B2A3;
        z-index: 0;
    }

    .NBC031B-progress-bar-wrapper .NBC031B-progress-steps {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: absolute;
        top: -16px;
        left: 0;
        width: 100%;
    }

    .NBC031B-progress-bar-wrapper .NBC031B-progress-step {
        width: 0px;
        height: 0px;
        border-radius: 50%;
        background: #DDE0E3;
        color: #1D1E2C;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: Soleil, sans-serif;
        font-size: 0px;
        font-style: normal;
        font-weight: 700;
        line-height: 100%;
        position: relative;
        z-index: 1;
    }

    .NBC031B-progress-bar-wrapper .NBC031B-progress-step.active {
        background: #00B2A3;
        color: #FFF;
    }

    /* per-step headline — sits directly above its numbered step inside .step-accordion;
     * hidden until that exact step (the next sibling) is the active one */
    .NBC031B-container .NBC031B-step-headline {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 24px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        letter-spacing: -0.24px;
        text-align: center;
        max-width: 351px;
        width: 100%;
        margin: 0px auto;
    }

    .NBC031B-container .NBC031B-step-headline strong {
        font-weight: 700;
    }

    .NBC031B-container .NBC031B-step-headline--1:has(+ .NBC031B-accordion-item.NBC031B-step--1.active) {
        display: block;
    }

    .NBC031B-container .NBC031B-step-headline--2:has(+ .NBC031B-accordion-item.NBC031B-step--2.active) {
        display: block;
    }

    .NBC031B-container .NBC031B-step-headline--3:has(+ .NBC031B-accordion-item.NBC031B-step--3.active) {
        display: block;
    }

    .NBC031B-container .NBC031B-step-accordion {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding-top: 16px;

    }

    .NBC031B-container .NBC031B-step-accordion .NBC031B-accordion-item.not-filled {
        opacity: 0.3;
        pointer-events: none;
    }

    /* Micro-commitment cards are fully hidden (not just dimmed) until their turn in the flow */
    .NBC031B-container .NBC031B-step-accordion .NBC031B-accordion-item.NBC031B-step--processor.not-filled,
    .NBC031B-container .NBC031B-step-accordion .NBC031B-accordion-item.NBC031B-step--payment.not-filled {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-header {
        border-radius: 6px 6px 0 0;
        border: 1px solid #DDE0E3;
        background: #FFF;
        padding: 16px;
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-content {
        border-radius: 0 0 6px 6px;
        border-right: 1px solid #DDE0E3;
        border-bottom: 1px solid #DDE0E3;
        border-left: 1px solid #DDE0E3;
        background: #FFF;
        /* padding: 15px; */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-content {
        display: none !important;
    }

    /* Numbered steps (1/2/3): circle always visible — shows the digit until filled, then the
     * checkmark. Processor/payment (unnumbered) override this below to hide the whole circle
     * until filled, since they have no digit to show in the meantime. */
    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-header-number {
        display: flex;
        border-radius: 100px;
        background: #00B2A3;
        width: 24px;
        height: 24px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        aspect-ratio: 1 / 1;
        color: #FFF;
        text-align: center;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 100%;
        text-transform: capitalize;
        flex-shrink: 0;
    }

    .NBC031B-container .NBC031B-accordion-header-number-check {
        display: none;
        align-items: center;
        justify-content: center;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-header-number-text {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-header-number-check {
        display: flex;
    }
    .NBC031B-container .NBC031B-step-subheadline--1 {
        font-size: 14px;
        line-height: 22px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .NBC031B-container .NBC031B-step-subheadline--1 span {
        color: #02b3a3;
        margin-left: 5px;
        display: inline-flex;
        align-items: end;
        justify-content: center;
        flex-direction: row;
        gap: 5px;
        margin-bottom: -1px;
        line-height: 1;
    }
    /* Glow ring only on the completed (checkmark) state — plain number stays unstyled */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-header-number {
        box-shadow: rgba(0, 178, 163, 0.18) 0px 0px 0px 3px;
    }

    /* Processor/payment/step 2 cards: hide the circle entirely until answered, then show the checkmark */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--processor .NBC031B-accordion-header-number,
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--payment .NBC031B-accordion-header-number,
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-accordion-header-number {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--processor.NBC031B-filled .NBC031B-accordion-header-number,
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--payment.NBC031B-filled .NBC031B-accordion-header-number,
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2.NBC031B-filled .NBC031B-accordion-header-number {
        display: flex;
    }

    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-header-title {    
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        line-height: 20px;
        font-weight: 600;   
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-header-title {
        font-size: 12px;
        font-weight: 400;
        line-height: 14px; /* 116.667% */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2.NBC031B-filled .NBC031B-accordion-header-title {
        font-size: 0px;
        line-height: 0px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2.NBC031B-filled .NBC031B-accordion-header-title::after {
        content: 'Processing method';
        display: block;
        font-size: 12px;
        line-height: 14px;
    }

    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-edit {
        display: none;
        margin-left: auto;
        text-align: center;
        font-family: Soleil, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 600;
        line-height: 20px; /* 142.857% */

        background: var(--Gradient-1, linear-gradient(180deg, #00B2A3 0%, #0AA6C9 100%));
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        cursor: pointer;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-edit {
        display: block;
    }

    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-selected-item {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-selected-item {
        display: block;
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 18px;
        font-style: normal;
        line-height: 20px; /* 111.111% */
        margin-top: 3px;
    }

    /* step one----------------------- */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-accordion-content-image {
        width: 100%;
        max-width: 100%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-accordion-content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
        align-self: stretch;
        padding-right: 12px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-step-button-wrapper {
        max-width: 184px;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-step-button {
        border-radius: 100px;
        background: linear-gradient(180deg, #00B2A3 0%, #0AA6C9 100%);
        padding: 10px 24px;
        color: #FFF;
        text-align: center;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        border: none;
    }

    /* processor / payment-type cards — unnumbered, shown only when step 1 = "Yes" -----*/

    .NBC031B-container .NBC031B-step-option-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        padding: 15px 16px;
    }

    .NBC031B-container .NBC031B-step-option-tile {
        border-radius: 8px;
        border: 1px solid #EBECF0;
        background: #F5F9FA;
        padding: 16px 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 64px;
        cursor: pointer;
        box-shadow: rgb(235, 236, 240) 0px 0px 0px 1px;
    }

    .NBC031B-container .NBC031B-step-option-tile.selected {
        border: 2px solid #00B2A3;
    }

    .NBC031B-container .NBC031B-step-option-tile-logo {
        max-height: 28px;
        max-width: 100%;
    }

    .NBC031B-container .NBC031B-step-option-tile--text span {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        line-height: 120%;
    }

    /* payment-type tiles: image + title + subtitle, stacked */
    .NBC031B-container .NBC031B-step-option-tile--payment {
        flex-direction: column;
        gap: 8px;
        padding: 12px 12px 20px;
        box-shadow: rgb(235, 236, 240) 0px 0px 0px 1px;
    }

    .NBC031B-container .NBC031B-step-option-tile-image {
        max-width: 100%;
        max-height: 90px;
        object-fit: contain;
    }

    .NBC031B-container .NBC031B-step-option-tile-title {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 120%;
        text-align: center;
        margin: 0;
    }

    .NBC031B-container .NBC031B-step-option-tile-subtitle {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        text-align: center;
        margin: 0;
    }

    /* step two---------------- */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-accordion-header-description {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 14px;
        /* 116.667% */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2.NBC031B-filled .NBC031B-accordion-header-description {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-step-method-wrapper {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-item {
        border-radius: 8px;
        border: 1px solid #EBECF0;
        background: #F5F9FA;
        padding: 4px 12px;
        position: relative;
    }
    .NBC031B-container .NBC031B-method-pos-active #NBC031B-method-pos {
        padding: 0px;
        border: none;
        background: #ffffff;
    }

    .NBC031B-method-pos-active #NBC031B-method-pos .NBC031B-sub-method-item {
        padding: 12px;
        border-radius: 8px;
        border: 1px solid #EBECF0;
        background: #F5F9FA;
        position: relative;
    }
    /* "In Person" payment path: Online Processing doesn't apply, so hide it from step 2's methods */
    .NBC031B-container.in-store-selected .NBC031B-accordion-item.NBC031B-step--2 #NBC031B-method-online {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-item.selected {
        border: 2px solid #00B2A3;
    }

    /* .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-item.has-sub-method:has(.active) {
        border: 2px solid #00B2A3;
    } */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-accordion-header-title{
        font-weight: 400;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-accordion-header-number{
        display: none;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-free-badge {
        color: #FFF;
        font-family: Soleil, sans-serif;
        font-size: 11px;
        font-style: normal;
        line-height: 15px;
        position: absolute;
        right: -4px;
        padding: 2px 12px;
        top: -4px;
        border-radius: 26.667px;
        background: linear-gradient(90deg, #067790 0%, #0C9ABA 51.44%, #02B0A6 100%);
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-item-content {
        display: flex;
        gap: 8px;
        align-items: center;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-image {
        width: 100%;
        max-width: 82px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-content {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-content-title {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        line-height: 120%;
        /* 19.2px */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-content-description {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        /* 16.8px */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-wrapper {
        display: none;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-wrapper.active {
        display: block;
    }

    /* has sub method-------------- */

    /* Point of Sale sub-panel header (shown only while NBC031B-method-pos-active is set) */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 #NBC031B-method-pos .NBC031B-method-pos-header {
        display: none;
        padding-bottom: 8px;
        padding-top: 8px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2.NBC031B-method-pos-active #NBC031B-method-pos .NBC031B-method-pos-header {
        border-radius: 6px 6px 0 0;
        border: 1px solid #DDE0E3;
        background: #FFF;
        padding: 16px;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }
    .NBC031B-sub-method-wrapper-inr {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 15px;
        border: 1px solid #DDE0E3;
        border-top: 0px;
        border-radius: 0px 0px 6px 6px;
    }

    .NBC031B-accordion-item.NBC031B-method-pos-active .NBC031B-free-badge,
    .NBC031B-accordion-item.NBC031B-method-pos-active .NBC031B-accordion-header {
        display: none;
    }

    .NBC031B-accordion-item.NBC031B-method-pos-active .NBC031B-step-method-wrapper {
        padding: 0px !important;
        border: 0px;
    }
    .NBC031B-accordion-item.NBC031B-method-pos-active .NBC031B-accordion-content {
        border: none;
        border-radius: 0px;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 #NBC031B-method-pos .NBC031B-method-pos-header-title {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 20px;
        margin: 0 0 4px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 #NBC031B-method-pos .NBC031B-method-pos-header-description {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 14px;
        /* 116.667% */
        margin: 0;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item {
        border-radius: 8px;
        border: 1px solid #EBECF0;
        background: #F5F9FA;
        display: flex;
        padding: 4px;
        align-items: center;
        gap: 8px;
        align-self: stretch;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item:nth-child(3) {
        margin-top: 4px;
        margin-bottom: 4px;

    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item-image {
        max-width: 52px;
        width: 100%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item-content-title {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 120%;
        /* 16.8px */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item-content-description {
        color: #6b7280;
        font-family: Soleil, sans-serif;
        font-size: 11px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        /* 13.2px */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item.selected {
        border-radius: 8px;
        border: 1px solid var(--Gradient-1, #00B2A3);
        background: #FFF;
    }

    /* step three----- */

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3.active .NBC031B-step3-eyebrow{
        display: block;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-step3-eyebrow {
        color: #00B2A3;
        text-align: left;
        text-transform: uppercase;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        letter-spacing: 0.6px;
        display: none;
    }

    /* Hidden until a real method has been chosen (updateStep3Summary tags step 3 once it runs) */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-whats-included {
        display: none;
        background: #EAF6F5;
        margin-top: 6px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3.NBC031B-has-method .NBC031B-whats-included {
        display: block;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-whats-included-label {
        color: #00B2A3;
        text-align: center;
        font-family: Soleil, sans-serif;
        font-size: 13px;
        font-style: normal;
        font-weight: 700;
        letter-spacing: 0.6px;
        padding: 6px 13px;
        border-bottom: 1px solid rgb(178, 232, 224);
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method {
        display: flex;
        align-items: center;
        gap: 2px;
        align-self: stretch;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-selected-method-image {
        max-width: 80px;
        width: 100%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-selected-method-content {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        flex: 1 0 0;
        padding: 10px 12px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-content-header {
        display: flex;
        align-items: center;
        gap: 8px;
        align-self: stretch;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-free-badge {
        border-radius: 26.667px;
        background: linear-gradient(90deg, #067790 0%, #0C9ABA 51.44%, #02B0A6 100%);
        padding: 2px 8px;
        color: #FFF;
        font-family: Soleil, sans-serif;
        font-size: 10px;
        font-style: normal;
        font-weight: 700;
        line-height: 14px;
        flex-shrink: 0;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-content-title {
        color: #1D1E2C;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 20px;
        /* 125% */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-method-features {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-method-feature {
        display: flex;
        align-items: center;
        gap: 5px;
        align-self: stretch;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-method-feature svg {
        width: 14px;
        height: 14px;
        aspect-ratio: 1/1;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method .NBC031B-method-feature p {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 10px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        /* 12px */
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-divider {
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-content .NBC031B-pricing-form {
        padding: 15px;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-form-item {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        gap: 4px;
        align-self: stretch;
        margin-bottom: 8px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form label {
        color: #333;
        font-family: Soleil, sans-serif;
        font-size: 14px;
        font-style: normal;
        font-weight: 700;
        line-height: 120%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form input {
        border-radius: 8px;
        border: 1px solid rgba(51, 51, 51, 0.20);
        background: #F5F9FA;
        height: 40px;
        padding: 10px 16px;
        width: 100%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form input.error {
        border: 1px solid #e81139;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form span.NBC031B-form-error {
        color: #e81139;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 600;
        line-height: 120%; /* 16.8px */
        text-transform: capitalize;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form input::placeholder {
        color: rgba(10, 10, 10, 0.50);
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-form-button {
        color: #FFF;
        text-align: center;
        font-family: Soleil, sans-serif;
        font-size: 16px;
        font-style: normal;
        font-weight: 700;
        line-height: 24px;
        letter-spacing: 1.6px;
        text-transform: uppercase;
        border-radius: 100px;
        background: linear-gradient(180deg, #00B2A3 0%, #0AA6C9 100%);
        padding: 12px 32px;
        width: 100%;
        border: navajowhite;
        margin-top: 16px;
        margin-bottom: 16px;
    }

    /* Consent / pricing-info / legal-copy — content is cloned from the live control page, but
     * restyled entirely under our own project classes (not the client's nbc37b_ and legal-copy
     * classes) so a future client-side rename or redesign can't silently break this test's
     * appearance or the JS lookup surface. */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-consent {
        margin-top: 16px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-consent-inner {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        background: #F1FAF8;
        border: 1px solid #CDEEE7;
        border-radius: 10px;
        padding: 10px 12px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-consent-inner svg {
        color: #16B9A3;
        width: 22px;
        height: 22px;
        flex-shrink: 0;
        margin-top: 2px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-consent-text p {
        color: #15706A;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
        margin: 0;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-consent-text p strong {
        font-weight: 700;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-outer {
        margin-bottom: 16px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info {
        background: #F8FAFB;
        border: 1px solid #EAEEF2;
        border-radius: 10px;
        padding: 13px 14px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-item {
        display: flex;
        align-items: flex-start;
        gap: 8px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-item + .NBC031B-pricing-info-item {
        margin-top: 12px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-item svg {
        width: 15px;
        height: 15px;
        flex-shrink: 0;
        color: #16B9A3;
        margin-top: 2px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-item span {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: 16px;
        width: 100%;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-pricing-info-item span strong {
        color: #000;
        font-weight: 700;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-legal-copy {
        margin-top: 16px;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-legal-copy p {
        color: #000;
        font-family: Soleil, sans-serif;
        font-size: 10px;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        margin: 0;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-legal-copy a {
        color: inherit;
        text-decoration: underline;
    }

    .NBC031B-cc-accepted {
        padding: 16px 12px 20px 12px;
        text-align: center;
    }

    .NBC031B-cc-accepted:has(+ .get-pricing-wrapper.get-thanks) {
        display: none;
    }

    .NBC031B-cc-accepted p {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 12px;
    }

    .NBC031B-cc-accepted .NBC031B-img-wrapper {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        font-size: 0;
    }

    .NBC031B-cc-accepted .NBC031B-img-wrapper img {
        margin-right: 20px;
        max-width: calc(25% - 20px);
        text-align: center;
    }

    /* ── Motion (layout/colors unchanged; respects reduced-motion) ── */
    @keyframes NBC031B-fade-in {
        from {
            opacity: 0;
            transform: translateY(6px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes NBC031B-fade-in-soft {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
    .NBC031B-container .NBC031B-step-accordion .NBC031B-accordion-item,
    .NBC031B-accordion-item.NBC031B-filled .NBC031B-accordion-header {
        border-radius: 6px;
    }

    @media (prefers-reduced-motion: no-preference) {
        .NBC031B-container .NBC031B-step-accordion .NBC031B-accordion-item {
            transition: opacity 0.35s ease;
        }

        .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-header-title,
        .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-selected-item,
        .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-edit,
        .NBC031B-container .NBC031B-accordion-item .NBC031B-accordion-header-description {
            transition: opacity 0.3s ease, font-size 0.3s ease, line-height 0.3s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.active:not(.NBC031B-filled) .NBC031B-accordion-content {
            animation: NBC031B-fade-in 0.35s ease both;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .NBC031B-method-item,
        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item {
            transition: border-color 0.25s ease, background-color 0.25s ease, border-width 0.25s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-step-button,
        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-form-button {
            transition: transform 0.15s ease, opacity 0.15s ease;
        }

        .NBC031B-container .NBC031B-step-option-tile {
            transition: border-color 0.2s ease;
        }

        .NBC031B-progress-bar-wrapper .NBC031B-progress-line::after {
            transition: width 0.35s ease;
        }

        .NBC031B-progress-bar-wrapper .NBC031B-progress-step {
            transition: background-color 0.3s ease, color 0.3s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--1 .NBC031B-step-button:active,
        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-form-button:active {
            transform: scale(0.98);
        }

        /* Clover sub-panel: slide open instead of display toggle */
        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-wrapper {
            display: block;
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-wrapper.active {
            max-height: 600px;
            opacity: 1;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method-image img {
            transition: opacity 0.25s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method.NBC031B-animate-in {
            animation: NBC031B-fade-in-soft 0.3s ease both;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-method-features.NBC031B-animate-in .NBC031B-method-feature {
            animation: NBC031B-fade-in 0.35s ease both;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-method-features.NBC031B-animate-in .NBC031B-method-feature:nth-child(1) {
            animation-delay: 0.04s;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-method-features.NBC031B-animate-in .NBC031B-method-feature:nth-child(2) {
            animation-delay: 0.08s;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-method-features.NBC031B-animate-in .NBC031B-method-feature:nth-child(3) {
            animation-delay: 0.12s;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-method-features.NBC031B-animate-in .NBC031B-method-feature:nth-child(4) {
            animation-delay: 0.16s;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form input {
            transition: border-color 0.2s ease, background-color 0.2s ease;
        }

        .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-form-error:not(:empty) {
            animation: NBC031B-fade-in-soft 0.25s ease both;
        }
    }


        .NBC031B-progress-bar-wrapper .NBC031B-progress-line {
            max-width: 100%;
        }
    


        .NBC031B-step--2.NBC031B-method-pos-active #NBC031B-method-tap-to-pay,
    .NBC031B-step--2.NBC031B-method-pos-active #NBC031B-method-terminal {
        display: none;
    }

    .NBC031B-accordion-item.NBC031B-filled {
        opacity: .3;
    }

    .NBC031B-accordion-item.NBC031B-method-pos-active #NBC031B-method-pos .NBC031B-method-item-content {
        display: none;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item-content-title{
        margin-bottom: 4px;
        font-size: 16px;
    }
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--2 .has-sub-method .NBC031B-sub-method-item-content-description{
        font-size: 13px;
    }
    .NBC031B-container .NBC031B-accordion-item:not(.NBC031B-filled) .NBC031B-accordion-header-number {
        display: none;
    }

    /* Lead submit states (js/get-pricing-cd-mobile.js initFormSubmit) */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-form-button:disabled {
        opacity: .7;
        cursor: wait;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-form-submit-error {
        color: #e81139;
        font-family: Soleil, sans-serif;
        font-size: 12px;
        font-weight: 600;
        line-height: 120%;
        text-align: center;
        margin: 8px 0 0;
    }

    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-pricing-form .NBC031B-form-submit-error:empty {
        display: none;
    }

    /* One pre-rendered summary per method; only the selected one is shown */
    .NBC031B-container .NBC031B-accordion-item.NBC031B-step--3 .NBC031B-selected-method:not(.active) {
        display: none;
    }
}
