/* region Modal */

:root {
    --modal-color: #000000;
    --modal-bg: #ffffff;
    --modal-border: 3px solid #888888;
    --modal-border-radius: 8px;
    --modal-box-shadow: 3px 3px 3px #bbbbbb;
    --modal-focus-box-shadow: 3px 3px 3px #888888;
    --modal-overlay-bg: #888888;
    --modal-overlay-opacity: 0.3;
    --modal-header-color: inherit;
    --modal-header-bg: #bbbbbb;
    --modal-header-border-radius: 6px;
    --modal-close-hover-color: #ffffff;
    --modal-close-hover-bg: #888888;
    --modal-close-active-color: #000000;
    --modal-close-active-bg: #ffffff;
    --modal-footer-border-top: 1px solid #333333;
}

.modal {
    display: none;
    flex-direction: column;
    width: 900px;
    height: fit-content;
    max-height: calc(100% - 40px);
    z-index: 10000;
    color: var(--modal-color);
    background: var(--modal-bg);
    padding: 5px;
    border: var(--modal-border);
    border-radius: var(--modal-border-radius);
    box-shadow: var(--modal-box-shadow);
    position: fixed;
    top: 40px;
    left: 50%;
    margin-left: -450px;
}
.modal:focus,
.modal:focus-visible {
    outline: none;
    box-shadow: var(--modal-focus-box-shadow);
}

.modal-overlay {
    display: none;
    z-index: 9999;
    background: var(--modal-overlay-bg);
    opacity: var(--modal-overlay-opacity);
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.modal-header {
    display: none;
    padding: 10px 20px;
    color: var(--modal-header-color);
    background: var(--modal-header-bg);
    border-radius: var(--modal-header-border-radius);
    position: relative;
    line-height: 30px;
    font-size: 22px;
}

.modal-header .modal-close {
    position: absolute;
    top: 10px;
    right: 11px;
    height: 30px;
    width: 30px;
    text-align: center;
    font-weight: 1000;
    font-size: 30px;
    cursor: pointer;
    line-height: 24px;
    border-radius: 4px;
    user-select: none;
}

.modal-header .modal-close:hover,
.modal-header .modal-close:focus,
.modal-header .modal-close:focus-visible
{
    background: var(--modal-close-hover-bg);
    color: var(--modal-close-hover-color);
    outline: none;
}

.modal-header .modal-close:active
{
    background: var(--modal-close-active-bg);
    color: var(--modal-close-active-color);
}

.modal-header .modal-title {
    width: calc(100% - 30px);
    font-weight: 500;
}

.modal-body {
    padding: 10px 20px;
    overflow-y: auto;
    min-height: 300px;
    flex-grow: 1;
}

.modal-footer {
    display: none;
    border-top: var(--modal-footer-border-top);
    padding: 10px 20px;
}

.modal.show {
    display: flex;
}

.modal-header.show,
.modal-footer.show,
.modal-overlay.show
{
    display: block;
}

.modal.disabled {
    z-index: 9998;
}

body.modal-on {
    overflow: hidden;
}

@media (max-width: 940px) {
    .modal {
        width: calc(100% - 40px);
        left: 0;
        margin: 20px;
    }
}
@media (max-width: 540px) {
    .modal {
        width: 100%;
        height: 100%;
        max-height: 100%;
        top: 0;
        left: 0;
        margin: 0;
        border: none;
        border-radius: 0;
    }
}

/* endregion */

/* region Toaster */
.toaster {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
}

.toaster-message-container {
    margin: 10px 20px;
    max-width: 520px;
}

.toast-message {
    margin-top: 10px;
    float: right;
    clear: both;
    background: #ffffff;
    color: #000000;
    border: 1px solid #888888;
    border-radius: 8px;
    display: flex;
    flex-direction: row;
    flex-basis: fit-content;
}

.toast-message-body {
    flex: 1;
    padding: 10px;
}

.toast-message-dismiss {
    cursor: pointer;
    height: 100%;
    min-height: 50px;
    width: 50px;
    border: 1px solid transparent;
    border-right: 1px solid #888888;
    border-radius: 0 7px 0 7px;
    color: #888888;
    font-weight: 1000;
    font-size: 40px;
    line-height: 42px;
    text-align: center;
}

.toast-message.click-to-dismiss {
    cursor: pointer;
}

.toast-message-success {
    background: #7bdcb5;
}
.toast-message-error {
    background: #f78da7;
}
.toast-message-warning {
    background: #fcb900;
}

.toaster-dismiss-all {
    display: none;
    float: right;
    clear: both;
    cursor: pointer;
    max-width: 450px;
    min-width: 200px;
}

.toast-message.click-to-dismiss:hover,
.toast-message.click-to-dismiss:focus,
.toast-message.click-to-dismiss:focus-visible,
.toast-message-dismiss:hover,
.toast-message-dismiss:focus,
.toast-message-dismiss:focus-visible,
.toaster-dismiss-all:hover,
.toaster-dismiss-all:focus,
.toaster-dismiss-all:focus-visible
{
    filter: brightness(0.85);
}


.toast-message.click-to-dismiss:active,
.toaster-dismiss-all:active
{
    filter: brightness(1.5);
}

.toast-message.click-to-dismiss:hover,
.toast-message.click-to-dismiss:focus,
.toast-message.click-to-dismiss:focus-visible,
.toast-message.click-to-dismiss:active,
.toast-message-dismiss:hover,
.toast-message-dismiss:focus,
.toast-message-dismiss:focus-visible,
.toast-message-dismiss:active,
.toaster-dismiss-all:hover,
.toaster-dismiss-all:focus,
.toaster-dismiss-all:focus-visible,
.toaster-dismiss-all:active {
    outline: none;
}

.toaster.show,
.toaster-dismiss-all.show {
    display: block;
}

/* endregion */

/* region Overlay */

:root {
    --overlay-bg: #888888;
    --overlay-message-container-bg: #ffffff;
    --overlay-message-container-color: #333333;
}

.overlay,
.overlay-message {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}

.overlay {
    z-index: 999998;
    background: var(--overlay-bg);
    opacity: 0.5;
}

.overlay-message {
    z-index: 999999;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
}

.overlay-message-container {
    background: var(--overlay-message-container-bg);
    color: var(--overlay-message-container-color);
    min-width: 200px;
    min-height: 50px;
    max-width: calc(100% - 40px);
    max-height: calc(100% - 40px);
    padding: 20px;
    width: fit-content;
    margin: auto;
}

.overlay.fixed,
.overlay-message.fixed
{
    position: fixed;
}

body.overlay-on {
    overflow: hidden;
}

/* endregion */

/* region General */
.text-right {
    text-align: right !important;
}
.text-left {
    text-align: left !important;
}
.text-center {
    text-align: center !important;
}
.row {
    display: flex;
    flex-direction: row;
}
.col {
    flex-grow: 1;
}
.col-half {
    flex-grow: .5;
}
.w-100 {
    width: 100%;
}
.w-50 {
    width: 50%;
}
.w-25 {
    width: 25%;
}
.mwpx-100 {
    min-width: 100px;
}
.mwpx-200 {
    min-width: 200px;
}
.mwpx-500 {
    min-width: 500px;
}
.pt-1 {
    padding-top: .5em;
}
.pt-2 {
    padding-top: 1em;
}
.pt-3 {
    padding-top: 2em;
}
.pb-1 {
    padding-bottom: 0.5em;
}
.pb-2 {
    padding-bottom: 1em;
}
.pb-3 {
    padding-bottom: 2em;
}
/* endregion */

/* region Form */
.field-group {
    padding: 20px;
}
@media (max-width: 940px) {
    .field-group {
        padding: 20px 0;
    }
}

.field-group-label {
    margin-bottom: 20px;
}
.field > label {
    display: block;
    padding: 0;
    margin: 10px 0 0 0;
}
.field > .field-element {
    width: 100%;
    display: block;
    padding: 5px;
}
.field.required > label:after {
    content: '*';
    color: var(--wp--preset--color--vivid-red);
}

form.touched .field-element:invalid {
    border-color: var(--wp--preset--color--vivid-red);
}

/* endregion */

/* region Order dialog */
.listings-table {

}
.listings-table td {
    font-size: medium;
    vertical-align: top;
    padding: 5px 10px;
}
.listings-table .summary td {
    border-top-width: 3px;
    font-size: larger;
}
.listings-table td select {
    border: none;
    padding: 0;
}
/* endregion */

/* region Customizations */
.btn.btn-primary,
.btn.btn-primary:not(:hover):not(:active):not(.has-background) {
    background-color: var(--wp--preset--color--vivid-green-cyan);
    color: black;
}
.btn.btn-secondary,
.btn.btn-secondary:not(:hover):not(:active):not(.has-background) {
    background-color: var(--wp--preset--color--cyan-bluish-gray);
    color: black;
}

.modal-footer .block-buttons button {
    min-width: 200px;
}
@media (max-width: 540px) {
    .modal-footer .block-buttons {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .modal-footer .block-buttons button {
        flex: 1;
    }
}

.hideable {
    display: none;
}
.hideable.show {
    display: block;
}

.--not-delivery_to_payer,
.--not-delivery_in_store {
    display: none;
}
.--not-delivery_to_payer.show,
.--not-delivery_in_store.show {
    display: block;
}
label > input[type="checkbox"],
label > input[type="radio"] {
    vertical-align: middle;
}

.modal {
    --boja-bijela: #ffff;
    --boja-žuta: #ffff60;
    --boja-zuta: #ffff60;
    --boja-narančasta: #ff9060;
    --boja-narancasta: #ff9060;
    --boja-roza:  var(--wp--preset--color--pale-pink);
    --boja-svijetlo-roza:  var(--wp--preset--color--pale-pink);
    --boja-tamno-roza: #ff00ff;
    --boja-crvena: var(--wp--preset--color--vivid-red);
    --boja-bordo: #601010;
    --boja-lila: #a0a0ff;
    --boja-ljubičasta: var(--wp--preset--color--vivid-purple);
    --boja-ljubicasta: var(--wp--preset--color--vivid-purple);
    --boja-plava: #4080ff;
    --boja-zelena: var(--wp--preset--color--vivid-green-cyan);
    --boja-svijetlo-zelena: var(--wp--preset--color--vivid-green-cyan);
    --boja-tamno-zelena: #106010;
    --boja-smeđa: #52321d;
    --boja-sivaa: #666;
    --boja-crna: #001;
    --boja-prirodna: #c48967;
    --boja-zlatna: #dede87;
    --boja-srebrna: #888;
}

.cookie-dialog.modal {
    top: initial;
    bottom: 30px;
}
@media (max-width: 540px) {
    .cookie-dialog.modal {
        height: fit-content;
        top: initial;
        bottom: 0;
    }
}
/* endregion */

/* region custom handling of WP */

.price-box .disabled .wp-block-button__link {
    cursor: default !important;
    pointer-events: none;
    background: var(--wp--preset--color--cyan-bluish-gray) !important;
}

/* endregion */
