/*==========================================================
    PTN - THEME (SweetAlert2 + base)
    ==========================================================*/

@import url("variables.css");

html,
body,
button,
input,
textarea,
select {
    font-family: var(--app-font) !important;
}

/* === SweetAlert2 Styling === */
.swal2-container,
.swal2-popup,
.swal2-title,
.swal2-html-container,
.swal2-content,
.swal2-actions,
.swal2-styled,
.swal2-input,
.swal2-textarea,
.swal2-validation-message,
.swal2-file {
    font-family: var(--app-font) !important;
}

.swal2-container {
    backdrop-filter: blur(8px);
}

.swal2-popup {
    border-radius: 24px !important;
    border: 1px solid var(--swal-border) !important;
    background: var(--swal-surface) !important;
    color: var(--swal-text) !important;
    box-shadow: var(--swal-shadow) !important;
    padding: 1.75rem 1.5rem 1.5rem !important;
}

.swal2-popup.swal2-toast {
    border-radius: 18px !important;
    padding: 1rem 1.1rem !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .12) !important;
}

.swal2-title {
    color: var(--swal-title) !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    letter-spacing: -.01em;
}

.swal2-html-container {
    color: var(--swal-text) !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    margin-top: .75rem !important;
}

.swal2-actions {
    gap: .75rem !important;
    margin-top: 1.5rem !important;
}

.swal2-styled {
    border-radius: 12px !important;
    padding: .75rem 1.25rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.swal2-styled:focus {
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .15) !important;
}

.swal2-styled.swal2-confirm {
    background: var(--swal-primary) !important;
    border: 1px solid var(--swal-primary) !important;
    color: #ffffff !important;
}

.swal2-styled.swal2-confirm:hover {
    background: var(--swal-primary-hover) !important;
    border-color: var(--swal-primary-hover) !important;
}

.swal2-styled.swal2-cancel {
    background: var(--swal-cancel-bg) !important;
    border: 1px solid transparent !important;
    color: var(--swal-cancel-text) !important;
}

.swal2-styled.swal2-deny {
    background: #f59e0b !important;
    border: 1px solid #f59e0b !important;
    color: #ffffff !important;
}

.swal2-icon {
    margin: 0 auto 1rem !important;
    border-width: 4px !important;
}

.swal2-icon.swal2-success {
    border-color: rgba(22, 163, 74, .2) !important;
    color: var(--swal-success) !important;
}

.swal2-icon.swal2-warning {
    border-color: rgba(217, 119, 6, .2) !important;
    color: var(--swal-warning) !important;
}

.swal2-icon.swal2-error {
    border-color: rgba(220, 38, 38, .2) !important;
    color: var(--swal-error) !important;
}

.swal2-icon.swal2-info {
    border-color: rgba(37, 99, 235, .2) !important;
    color: var(--swal-info) !important;
}

.swal2-icon.swal2-question {
    border-color: rgba(79, 70, 229, .2) !important;
    color: var(--swal-question) !important;
}

.swal2-input,
.swal2-textarea {
    border-radius: 12px !important;
    border: 1px solid #cbd5e1 !important;
    color: var(--swal-text) !important;
    background: #f8fafc !important;
    box-shadow: none !important;
}

.swal2-input:focus,
.swal2-textarea:focus {
    border-color: var(--swal-primary) !important;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, .12) !important;
}

.swal2-validation-message {
    border-radius: 12px !important;
    background: #fff7ed !important;
    color: #9a3412 !important;
}