.bh-one-click-checkout-wrapper-submit {
    margin : 16px 0;
}

.bh-one-click-checkout-button-container,
.bh-one-click-checkout-select-address-container {
    margin-block : 16px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height : 16px;
}

.bh-one-click-checkout-button-container button.bh-one-click-checkout-button {
    float : none;
}

.bh-one-click-checkout-button-container .bh-one-click-checkout-button {
    font-size        : 1em;
    display          : inline-block;
    padding          : 1rem 2rem;
    text-decoration  : none;
    border-radius    : 6px;
    background-color : var(--bh-one-click-checkout-button-background, #ebe9eb);
    border-color     : var(--bh-one-click-checkout-button-background, #ebe9eb);
    color            : var(--bh-one-click-checkout-button-text, #515151);
}

.bh-one-click-checkout-button-container .bh-one-click-checkout-button:hover {
    background-color : var(
            --bh-one-click-checkout-button-background-hover,
            #ebe9eb
    );
    border-color     : var(--bh-one-click-checkout-button-background-hover, #ebe9eb);
    color            : var(--bh-one-click-checkout-button-text-hover, #515151);
}

li.wp-block-post.type-product .bh-one-click-checkout-button-container {
    text-align : center;
}

.bh-one-click-checkout-divider {
    margin-bottom : 15px;
    text-align    : center;
    position      : relative;
}

.bh-one-click-checkout-divider span {
    padding    : 0 15px;
    background : #fff;
    z-index    : 2;
    position   : relative;
}

.bh-one-click-checkout-divider:after {
    content          : "";
    width            : 100%;
    background-color : transparent;
    display          : block;
    border-top       : 1px solid #e7e7e7;
    position         : absolute;
    top              : 50%;
    margin-top       : 1px;
    z-index          : 1;
}

/** MODAL **/

html.bh-one-click-checkout-modal-opened {
    overflow : hidden;
}

#bh-one-click-checkout-modal-wrapper {
    display            : flex;
    justify-content    : center;
    align-items        : center;
    position           : fixed;
    top                : 0;
    left               : 0;
    width              : 100vw;
    height             : 100vh;
    z-index            : 10000;

    opacity            : 0;
    visibility         : hidden;
    -webkit-transition : all 0.3s ease;
    -moz-transition    : all 0.3s ease;
    transition         : all 0.3s ease;
}

#bh-one-click-checkout-modal-wrapper.opened {
    opacity            : 1;
    visibility         : visible;
    -webkit-transition : all 0.3s ease;
    -moz-transition    : all 0.3s ease;
    transition         : all 0.3s ease;
}

#bh-one-click-checkout-modal-overlay {
    position   : fixed;
    top        : 0;
    left       : 0;
    width      : 100vw;
    height     : 100vh;
    background : rgba(0, 0, 0, 0.5);
}

#bh-one-click-checkout-modal {
    position      : relative;
    background    : rgb(255, 255, 255);
    border-radius : 22px;
    width         : 700px;
    overflow      : hidden;
    max-width     : 90vw;
    padding       : 40px 0;
}

#bh-one-click-checkout-modal .bh-one-click-checkout-modal-title {
    padding  : 0 40px 20px;
    margin   : 0;
    position : relative;
}

#bh-one-click-checkout-modal .bh-one-click-checkout-modal-close {
    display  : block;
    width    : 20px;
    position : absolute;
    top      : 20px;
    right    : 20px;
    cursor   : pointer;
}

#bh-one-click-checkout-modal .bh-one-click-checkout-modal-content {
    height          : 700px;
    max-height      : 80vh;
    padding         : 0 25px 0 40px;
    overflow-y      : scroll;
    overflow-x      : hidden;
    scrollbar-color : transparent transparent;
    transition      : scrollbar-color 0.3s ease;
}

#bh-one-click-checkout-modal
.bh-one-click-checkout-modal-content::-webkit-scrollbar {
    background : transparent;
    width      : 8px;
}

#bh-one-click-checkout-modal
.bh-one-click-checkout-modal-content::-webkit-scrollbar-thumb {
    background    : #c0c0c0;
    border-radius : 10px;
}

#bh-one-click-checkout-modal .bh-one-click-checkout-modal-content:hover {
    scrollbar-color : #c0c0c0 transparent;
    transition      : scrollbar-color 0.3s ease;
}

#bh-one-click-checkout-modal select.select2-hidden-accessible {
    display : none;
}

#bh-one-click-checkout-modal
.bh-one-click-checkout-modal-content
input[type="submit"] {
    width  : 100%;
    margin : 0;
}

/** MY ACCOUNT SECTION **/

.bh-one-click-checkout-account-options {
    display        : flex;
    flex-direction : column;
    row-gap        : 15px;
    font-size      : 0.9rem;
}

.bh-one-click-checkout-account-option {
    display         : flex;
    align-items     : center;
    justify-content : space-between;
    padding         : 15px;
    border          : 1px solid #e6e6e6;
    border-radius   : 10px;
}

.bh-one-click-checkout-account-option
.bh-one-click-checkout-input
input[type="checkbox"],
.bh-one-click-checkout-account-option
.bh-one-click-checkout-input
.checkboxbutton {
    display : none;
}

.bh-one-click-checkout-account-option .bh-one-click-checkout-input {
    position : relative;
    flex     : 0 0 44px;
    width    : 44px;
    height   : 25px;
}

.bh-one-click-checkout-account-option .bh-one-click-checkout-input-slider {
    position           : absolute;
    cursor             : pointer;
    top                : 0;
    left               : 0;
    right              : 0;
    bottom             : 0;
    background-color   : #cccccc;
    -webkit-transition : 0.4s;
    transition         : 0.4s;
    border-radius      : 34px;
}

.bh-one-click-checkout-account-option .bh-one-click-checkout-input-slider span {
    position           : absolute;
    content            : "";
    height             : 17px;
    width              : 17px;
    left               : 4px;
    top                : 4px;
    background-color   : white;
    -webkit-transition : 0.4s;
    transition         : 0.4s;
    border-radius      : 50%;
    display            : flex;
    align-items        : center;
    justify-content    : center;
    color              : #cccccc;
}

.bh-one-click-checkout-account-option .bh-one-click-checkout-input-slider svg {
    width : 11px;
}

.bh-one-click-checkout-account-option
.bh-one-click-checkout-input-slider
.bh-one-click-checkout-input-slider-on,
.bh-one-click-checkout-account-option
input:checked
+ .bh-one-click-checkout-input-slider
.bh-one-click-checkout-input-slider-off {
    display : none;
}

.bh-one-click-checkout-account-option
.bh-one-click-checkout-input-slider
.bh-one-click-checkout-input-slider-off,
.bh-one-click-checkout-account-option
input:checked
+ .bh-one-click-checkout-input-slider
.bh-one-click-checkout-input-slider-on {
    display : inline;
}

.bh-one-click-checkout-account-option
input:checked
+ .bh-one-click-checkout-input-slider {
    background-color : #98aa36;
}

.bh-one-click-checkout-account-option
input:checked
+ .bh-one-click-checkout-input-slider
span {
    -moz-transform : translateX(19px);
    -ms-transform  : translateX(19px);
    transform      : translateX(19px);
    color          : #98aa36;
}

.bh-one-click-checkout-account-addresses {
    margin : 30px 0;
}

.bh-one-click-checkout-account-addresses .custom-addresses-title {
    display         : flex;
    align-items     : center;
    justify-content : space-between;
}

.bh-one-click-checkout-account-addresses .custom-addresses-title a {
    margin    : 0;
    font-size : 0.8rem;
}

.bh-one-click-checkout-account-addresses .custom-addresses-empty {
    padding          : 30px;
    border           : 1px solid #e6e6e6;
    border-radius    : 10px;
    background-color : #f9f9f9;
    min-height       : 200px;
    display          : flex;
    justify-content  : center;
    align-items      : center;
    flex-direction   : column;
    row-gap          : 15px;
    font-size        : 0.9rem;
}

.bh-one-click-checkout-account-addresses .custom-addresses-empty a {
    margin : 0;
}

.bh-one-click-checkout-account-addresses .custom-addresses {
    display               : grid;
    grid-template-columns : repeat(3, 1fr);
    gap                   : 15px;
    margin                : 20px 0;
    font-size             : 14px;
    counter-reset         : address;
}

.bh-one-click-checkout-account-addresses .custom-address {
    width            : 100%;
    border           : 1px solid #e6e6e6;
    background-color : #fafafa;
    padding          : 20px;
    border-radius    : 5px;
    display          : flex;
    row-gap          : 15px;
    flex-direction   : column;
}

.bh-one-click-checkout-account-addresses .custom-address-title {
    text-transform : uppercase;
    font-weight    : 600;
    padding-bottom : 10px;
    border-bottom  : 1px solid #e6e6e6;
}

.bh-one-click-checkout-account-addresses .custom-address-title:after {
    counter-increment : address;
    content           : "#" counter(address);
}

.bh-one-click-checkout-account-addresses .custom-address address {
    font-style : normal;
    flex       : 1 1 100%;
    margin     : 0;
}

.bh-one-click-checkout-account-addresses .custom-address-action {
    text-decoration : none;
}

/* select2 container fix z-index */
.select2-container.select2-container--open {
    z-index : 10000;
}

.bh-one-click-checkout-select-address-container
.bh-one-click-checkout-select-address:not(.select2-hidden-accessible) {
    width  : 100% !important;
    height : 30px;
}

.bh-one-click-checkout-select-address-container .select2-container {
    max-width  : 100%;
    margin-top : 10px;
    text-align : left;
}

/** YITH Proteo style fixes */
.theme-yith-proteo .bh-one-click-checkout-button.add_to_cart_button {
    background-color : transparent;
    padding          : 0;
    border           : none;
    color            : var(--proteo-general_link_color, #448a85);
}

.theme-yith-proteo .bh-one-click-checkout-button.add_to_cart_button:hover {
    color : var(--proteo-general_link_hover_color, #448a85);
}

.theme-yith-proteo
#bh-one-click-checkout-modal
.bh-one-click-checkout-modal-content {
    padding : 0 10px 0 25px;
}

.theme-yith-proteo
#bh-one-click-checkout-modal
.bh-one-click-checkout-modal-content
form
> p {
    padding : 0 15px;
}
