/* ── Toastr Toasts ── */
#toast-container.toast-top-right {
    top: 90px;
}

#toast-container > div,
#toast-container > div.toast {
    font-family: 'Ithaca', serif;
    color: #c8a94e !important;
    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,
#toast-container > div.toast .toast-title {
    font-family: 'Ithaca', serif;
    font-weight: 600;
    color: #c8a94e !important;
    font-size: 1.1rem;
}

#toast-container > div .toast-message,
#toast-container > div.toast .toast-message {
    font-family: 'Ithaca', serif;
    color: #c8a94e !important;
    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;
}

/* ── Toastr slide-in animation ── */
@keyframes toast-slide-in-right {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes toast-slide-out-right {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

#toast-container > div.toast-slide-in {
    animation: toast-slide-in-right 0.4s ease-out both;
}

#toast-container > div.toast-slide-out {
    animation: toast-slide-out-right 0.4s ease-in both;
}

#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;
    max-width: 560px !important;
    padding: calc(20px + 1rem) calc(16px + 1.5rem) calc(20px + 1rem) calc(16px + 1.5rem) !important;
}

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

.swal2-popup .swal2-html-container {
    font-family: 'Ithaca', serif !important;
    color: #d4cbbe !important;
    font-size: 2rem !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: 0 !important;
    font-size: 1rem !important;
    font-weight: 600;
    padding: 0.5rem 2.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: 0 !important;
    font-size: 1rem !important;
    font-weight: 600;
    padding: 0.5rem 2.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: 2px solid;
    image-rendering: pixelated;
}

.alert-success {
    background: rgba(106, 154, 58, 0.2) !important;
    border-color: #6a9a3a !important;
    color: #d4cbbe !important;
}

.alert-danger {
    background: rgba(168, 72, 63, 0.2) !important;
    border-color: #A8483F !important;
    color: #d4cbbe !important;
}

.alert-warning {
    background: rgba(200, 169, 78, 0.2) !important;
    border-color: #c8a94e !important;
    color: #d4cbbe !important;
}

.alert-info {
    background: rgba(200, 169, 78, 0.15) !important;
    border-color: #c8a94e !important;
    color: #d4cbbe !important;
}

.alert-dismissible .btn-close {
    filter: invert(1);
}

/* ── 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;
}
