/* ── Toastr Toasts ── */
#toast-container > div {
    font-family: 'Ithaca', serif;
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px;
    image-rendering: pixelated;
    background-color: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    padding: 20px 24px 20px 50px !important;
}

#toast-container > .toast-success {
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px;
}

#toast-container > .toast-error {
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px;
}

#toast-container > .toast-warning {
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px;
}

#toast-container > .toast-info {
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px;
}

#toast-container > div .toast-title {
    font-family: 'Ithaca', serif;
    font-weight: normal;
    color: #c8a94e;
    font-size: 1.1rem;
}

#toast-container > div .toast-message {
    font-family: 'Ithaca', serif;
    color: #d4cbbe;
    font-size: 0.95rem;
}

#toast-container > .toast-success::before,
#toast-container > .toast-error::before,
#toast-container > .toast-warning::before,
#toast-container > .toast-info::before {
    color: #c8a94e;
}

#toast-container .toast-close-button {
    color: #c8a94e;
    text-shadow: none;
    opacity: 0.7;
}

#toast-container .toast-close-button:hover {
    opacity: 1;
}

/* ── SweetAlert2 Dialogs ── */
.swal2-popup {
    font-family: 'Ithaca', serif !important;
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 20px 16px 20px 16px !important;
    image-rendering: pixelated;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: calc(20px + 1.5rem) calc(16px + 2rem) calc(20px + 1.5rem) calc(16px + 2rem) !important;
}

.swal2-popup .swal2-title {
    font-family: 'Ithaca', serif !important;
    color: #c8a94e !important;
    font-size: 1.6rem !important;
}

.swal2-popup .swal2-html-container {
    font-family: 'Ithaca', serif !important;
    color: #d4cbbe !important;
    font-size: 1rem !important;
}

.swal2-popup .swal2-icon {
    border: none !important;
    width: 80px !important;
    height: 80px !important;
    margin: 1rem auto !important;
    background-color: transparent !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    image-rendering: pixelated !important;
    border-radius: 0 !important;
}

.swal2-popup .swal2-icon::before,
.swal2-popup .swal2-icon::after {
    display: none !important;
}

.swal2-popup .swal2-icon * {
    display: none !important;
}

.swal2-popup .swal2-icon.swal2-warning {
    background-image: url('/images/WebUI/swal-warning.svg') !important;
}

.swal2-popup .swal2-icon.swal2-error {
    background-image: url('/images/WebUI/swal-error.svg') !important;
}

.swal2-popup .swal2-icon.swal2-success {
    background-image: url('/images/WebUI/swal-success.svg') !important;
}

.swal2-popup .swal2-icon.swal2-info {
    background-image: url('/images/WebUI/swal-info.svg') !important;
}

.swal2-popup .btn-primary,
.swal2-popup .swal2-confirm {
    font-family: 'Ithaca', serif !important;
    background: #c8a94e !important;
    color: #A8483F !important;
    border: 2px solid #c8a94e !important;
    border-radius: 4px !important;
    font-weight: normal;
    padding: 0.5rem 1.5rem;
}

.swal2-popup .btn-primary:hover,
.swal2-popup .swal2-confirm:hover {
    background: #d4b85c !important;
    border-color: #d4b85c !important;
}

.swal2-popup .btn-outline-primary,
.swal2-popup .swal2-cancel,
.swal2-popup .swal2-deny {
    font-family: 'Ithaca', serif !important;
    background: #A8483F !important;
    color: #c8a94e !important;
    border: 2px solid #A8483F !important;
    border-radius: 4px !important;
    font-weight: normal;
    padding: 0.5rem 1.5rem;
}

.swal2-popup .btn-outline-primary:hover,
.swal2-popup .swal2-cancel:hover,
.swal2-popup .swal2-deny:hover {
    background: #934039 !important;
    border-color: #934039 !important;
}

.swal2-backdrop-show {
    background: rgba(10, 14, 20, 0.7) !important;
}

/* ── Page Alerts (Bootstrap) ── */
.alert {
    font-family: 'Ithaca', serif;
    border-radius: 0 !important;
    border-style: solid !important;
    border-color: transparent !important;
    border-image: url('/images/WebUI/Error_Box_Web.png') 20 16 20 16 fill / 10px 8px 10px 8px !important;
    image-rendering: pixelated;
    padding: calc(10px + 0.6rem) calc(8px + 2.5rem) calc(10px + 0.6rem) calc(8px + 0.9rem) !important;
    color: #ffffff !important;
    font-size: 1.1rem;
    position: relative;
}

.alert-dismissible .btn-close {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    filter: invert(1);
    opacity: 0.7;
    padding: 0.5rem;
}

.alert-dismissible .btn-close:hover {
    opacity: 1;
}

.alert-success,
.alert-danger,
.alert-warning,
.alert-info {
    background: transparent !important;
    color: #ffffff !important;
}


/* ── ABP Busy Spinner ── */
.abp-block-area {
    background-color: rgba(10, 14, 20, 0.6) !important;
}

.abp-block-area.abp-block-area-busy::before {
    border-color: transparent #c8a94e #c8a94e #c8a94e !important;
}

/* ── Validation Errors ── */
.field-validation-error,
.validation-summary-errors {
    font-family: 'Ithaca', serif;
    color: #A8483F !important;
    font-size: 0.9rem;
}

.validation-summary-errors ul {
    list-style: none;
    padding-left: 0;
}

.input-validation-error {
    border-color: #A8483F !important;
}
