.bppe__button {
    --background: var(--bppe-button-background-color, #555555);
    background: var(--background);
    color: var(--bppe-button-color, #fff);
    padding: var(--bppe-button-padding-y, 0.75em) var(--bppe-button-padding-x, 2em);
    border: var(--bppe-button-border-width, 1px solid var(--background));
}
.bppe__button:hover,
.bppe__button:focus {
    --background: var(--bppe-button-hover-background-color, #333333);
    border: var(--bppe-button-hover-border-width, 1px solid var(--background));
    color: var(--bppe-button-hover-color, #fff);
}
.bppe__button[disabled],
.bppe__activate[disabled] {
    opacity:0.5;
    cursor: not-allowed;
}

.bppe__message {
    margin: var(--bppe-message-margin, 1em 0 0 0);
    border: var(--bppe-message-border, 1px solid rgba(0, 255, 0, 0.3));
    background: var(--bppe-message-background, rgba(0, 255, 0, 0.01));
    padding: var(--bppe-message-padding-y, 0.75em) var(--bppe-message-padding-x, 2em);
}

.bppe__error {
    border: var(--bppe-message-error-border, 1px solid rgba(255, 0, 0, 0.3));
    background: var(--bppe-message-error-background, rgba(255, 0, 0, 0.01));
    color: var(--bppe-message-error-color, rgba(255, 0, 0, 0.9));
}

.bppe__container {
    position: fixed;
    right: var(--bppe-modal-position-right, 0);
    top: var(--bppe-modal-position-top, 50%);
    height:0;
    width:0;
    z-index:8999;
}

.bppe__activate {
    --background: var(--bppe-activate-background-color, #555555);
    background: var(--background);
    color: var(--bppe-activate-color, #fff);
    padding: var(--bppe-activate-padding-y, 0.75em) var(--bppe-activate-padding-x, 2em);
    border: var(--bppe-activate-border-width, 1px solid var(--background));
    position: absolute;
    right:0;top:0;
    z-index:9000;
    transform: rotate(90deg) translateX(50%);
    transform-origin: 100% 0%;
    white-space: nowrap;
}
.bppe__activate:hover,
.bppe__activate:focus {
    --background: var(--bppe-activate-hover-background-color, #333333);
    border: var(--bppe-activate-hover-border-width, 1px solid var(--background));
    color: var(--bppe-activate-hover-color, #fff);
}

.bppe__close {
    --background: var(--bppe-close-background-color, rgba(0,0,0,0));
    background: var(--background);
    color: var(--bppe-close-color, currentColor);
    display:flex;width:2em;height:2em;
    align-items: center;justify-content: center;
    font-size:1.5em;
    border: var(--bppe-close-border-width, 1px solid var(--background));
    position: absolute;top:0;right:0;
    padding:0;
}
.bppe__close:hover,
.bppe__close:focus {
    --background: var(--bppe-close-hover-background-color, rgba(0,0,0,0.1));
    border: var(--bppe-close-hover-border-width, 1px solid var(--background));
}

.bppe__details {
    position: absolute;
    display:flex;flex-direction: column;
    top:0;left:0;
    transform: translate(100%, -50%);
    transition: 0.2s linear all;
    opacity:0;
    width:400px;
    max-width:95vw;

    max-height:min(95vh, calc(100vh - 100px));
    background: var(--bppe-form-background, #fff);
    padding: var(--bppe-form-padding, 1.5em);
    z-index:9005;
    box-shadow: 0 0 0 15px rgba(0,0,0,0), 0 0 0 5px rgba(0,0,0,0);
}
.bppe__details.show {
    transform: translate(-100%, -50%);
    opacity:1;
    box-shadow: 0 0 0 15px rgba(0,0,0,0.2), 0 0 0 5px rgba(0,0,0,0.2);
}

.bppe__form {

}

.bppe__form .wpcf7-form p:last-of-type {
    margin-bottom:0;
}

.bppe__form .wpcf7-form .wpcf7-submit {
    display:none;
}
.bppe__footer {
    background: rgba(0,0,0,0.02);
    padding:0.75em;
    margin:1.5em -1.5em -1.5em -1.5em;
    display:flex;align-items: center;
    justify-content: space-between;
}
.bppe__footer button {
    --background: var(--bppe-footer-button-background-color, #555555);
    background: var(--background);
    color: var(--bppe-footer-button-color, #fff);
    padding: var(--bppe-footer-button-padding-y, 0.5em) var(--bppe-footer-button-padding-x, 1em);
    border: var(--bppe-footer-button-border-width, 1px solid var(--background));
    display:inline-block;
    min-width:45%;
}
.bppe__footer button:hover,
.bppe__footer button:focus {
    --background: var(--bppe-footer-button-background-color, #333333);
}
.bppe__footer button.bppe__back {
    --background: var(--bppe-footer-button-background-color, transaprent);
    --bppe-footer-button-color: #555555;
    border: var(--bppe-footer-button-border-width, 1px solid #555555);
    text-align: left;
}
.bppe__footer button.bppe__back:hover,
.bppe__footer button.bppe__back:focus {
    --background: var(--bppe-footer-button-background-color, #555555);
    --bppe-footer-button-color: #fff;
}
.bppe__next,.bppe__send {
    margin-left:auto;
    justify-self: flex-end;
    text-align: right;
}

.bppe__products,.bppe__form {
    flex-grow:1;width:100%;
}
.bppe__products_container,.bppe__form {
    overflow-y: auto;flex-grow:1;
    max-height:max(85vh, calc(100vh - 100px));
}
.bppe__details h3 {
    font-size: 2rem;
}

.bppe__product {
    display:flex;width:100%;align-items: center;
}
.bppe__product + .bppe__product {
    margin-top:0.5em;
}
.bppe__product.removing * {
    pointer-events: none;
}
.bppe__product.removing {
    opacity: 0.2;
    cursor: not-allowed;
}
.bppe__thumbnail {
    width:48px;margin-right:.5em;
    flex-grow:0;
    img {
        object-fit: cover;
        aspect-ratio: 1;
        width:100%;
    }
}
.bppe__name {
    flex-grow:1;
    margin-right:0.5em;
}
.bppe__remove {
    flex-grow:0;
    display:flex;width:1.5em;height:1.5em;
    align-items: center;justify-content: center;
    font-size:1.5em;
    margin-left:auto;
    background:none;
    border:1px solid transparent;
    line-height:1;
}
.bppe__remove span {
    display: block !important;
    height: 0.5em;
    line-height: .3em;
}
.bppe__remove:hover,.bppe__remove:focus {
    border-color: red;
    color:red;
}
