.op3-element[data-op3-element-type="cart"] {

    .op3-element[data-op3-element-type="input"],
    .op3-element[data-op3-element-type="select"] {
        [data-op3-background="overlay"]::before,
        [data-op3-background="overlay"]::after {
            background: #fff;
        }
    }

    .op3-element[data-op3-element-type="headline"] {
        margin: 0 0 12px 0;
        text-align: left;
    }

    .op3-element[data-op3-element-type="formsection"],
    .op3-element[data-op3-element-type="descriptionlist"] {
        margin: 0 0 24px 0;
        padding: 0;
    }

    .op3-element[data-op3-element-type="orderbump"] {
        margin: 15px 0 20px 0;
    }

    .op3-element[data-op3-element-type="button"] {
        max-width: 100%;

        [data-op3-background="overlay"]::before,
        [data-op3-background="overlay"]::after {
            background-image: none;
            background-color: rgb(31, 31, 31);
        }

        a {
            height: 48px;
            color: rgb(255, 255, 255);
            border-radius: 4px;
        }

        .op3-text-container {
            font-weight: bold;
            font-size: 16px;
            line-height: 1;
        }
    }

    // Card entry is dummy field, will be
    // replaced with stripe iframe
    .op3-element[data-op3-element-type="input"][data-op3-element-spec="card-entry"] {
        // The field's css will be sent to stripe
        // so it can style it's input like dummy
        // one. Our dummy field is disabled, let's
        // style it like the normal one.
        input[name="opc_card_entry"][disabled] {
            color: currentColor;
        }
    }

    // Before stripe iframe loads the field
    // is left as designed in live-editor.
    // When stripe iframe loads there is no
    // need for input/icon (just stripe form).
    .opc-form[data-opc-payment-status="ready"] .op3-element[data-op3-element-type="input"][data-op3-element-spec="card-entry"] .opc-card-entry-placeholder {
        flex: 1;

        ~ .op3-element-input-edit-text,
        ~ .op3-divider,
        ~ .op3-icon {
            display: none !important;
        }
    }

}
