.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="checkbox"] {
        .op3-element-checkbox-label > * {
            font-size: 16px;
        }
    }

    .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 input field will be replaced
    // with stripe iframe on frontend
    .op3-element[data-op3-element-type="input"][data-op3-element-spec="card-entry"] {
        .op3-element-input-edit {
            display: block;
        }

        // Set input element to invisible making sure
        // it will use space before stripe iframe is
        // loaded
        .opc-card-entry-placeholder ~ .op3-element-input-edit-text {
            visibility: hidden;
        }

        // While iframe loads we can remove input
        .opc-card-entry-placeholder.StripeElement ~ .op3-element-input-edit-text {
            display: none;
        }

        // No need for icon
        .opc-card-entry-placeholder ~ .op3-divider,
        .opc-card-entry-placeholder ~ .op3-icon {
            display: none !important;
        }
    }

}
