/*------------------------------------------------------------------
   Pack797 SweetAlert theme
   Loaded after sweetalert.min.js so it wins over injected defaults.
----------------------------------------------------------------*/
.swal-overlay {
    background: rgba(8, 51, 93, 0.58) !important;
    backdrop-filter: blur(2px);
}

.swal-modal {
    width: 26.5rem !important;
    max-width: calc(100vw - 2rem) !important;
    padding: 0 !important;
    border-radius: 1rem !important;
    overflow: hidden !important;
    box-shadow: 0 24px 48px rgba(11, 63, 113, 0.24) !important;
    font-family: "Muli", Arial, Helvetica, sans-serif !important;
    background: #fff !important;
}

.swal-modal::before {
    content: "";
    display: block;
    height: 4.35rem;
    background:
        linear-gradient(135deg, #08335d 0%, #0b3f71 48%, #0f4f8a 100%);
    border-bottom: 4px solid #ffcc33;
}

.swal-icon {
    position: relative;
    z-index: 1;
    width: 4.5rem !important;
    height: 4.5rem !important;
    margin: -2.25rem auto 0.65rem !important;
    background: #fff !important;
    border-width: 3px !important;
    box-shadow: 0 10px 24px rgba(11, 63, 113, 0.14) !important;
    transform: none !important;
}

.swal-icon:first-child {
    margin-top: -2.25rem !important;
}

.swal-icon--success,
.swal-icon--success::after,
.swal-icon--success::before {
    border-color: rgba(31, 138, 69, 0.35) !important;
}

.swal-icon--success .swal-icon--success__ring {
    border-color: rgba(31, 138, 69, 0.35) !important;
}

/* Library draws oversized white half-circles (animation masks) that bleed over the header and title. */
.swal-icon--success::before,
.swal-icon--success::after,
.swal-icon--success .swal-icon--success__ring,
.swal-icon--success .swal-icon--success__hide-corners {
    display: none !important;
}

.swal-icon--success .swal-icon--success__line {
    background-color: #1f8a45 !important;
}

.swal-icon--error {
    border-color: rgba(192, 57, 43, 0.4) !important;
}

.swal-icon--error .swal-icon--error__line {
    background-color: #c0392b !important;
}

.swal-icon--warning {
    border-color: rgba(255, 204, 51, 0.9) !important;
}

.swal-icon--warning .swal-icon--warning__body,
.swal-icon--warning .swal-icon--warning__dot {
    background-color: #ffcc33 !important;
}

.swal-icon--info {
    border-color: rgba(11, 63, 113, 0.35) !important;
}

.swal-icon--info::before,
.swal-icon--info::after {
    background-color: #0b3f71 !important;
}

.swal-title {
    margin: 0 !important;
    padding: 0.2rem 1.5rem 0.4rem !important;
    color: #0b3f71 !important;
    font-family: "Futura PT", "Muli", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-align: center !important;
}

.swal-text {
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0.25rem 1.6rem 1.2rem !important;
    color: #5b6b7c !important;
    font-size: 0.98rem !important;
    line-height: 1.6 !important;
    text-align: center !important;
}

.swal-footer {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.55rem;
    margin-top: 0 !important;
    padding: 1rem 1.25rem 1.25rem !important;
    border-top: 1px solid rgba(11, 63, 113, 0.08) !important;
    background: linear-gradient(180deg, rgba(234, 245, 255, 0.55) 0%, rgba(255, 255, 255, 0.95) 100%) !important;
    text-align: center !important;
}

.swal-button-container {
    margin: 0 !important;
}

.swal-button {
    min-width: 7.25rem !important;
    min-height: 2.65rem !important;
    padding: 0.65rem 1.35rem !important;
    border-radius: 0.65rem !important;
    border: 1.5px solid transparent !important;
    box-shadow: 0 8px 18px rgba(11, 63, 113, 0.12) !important;
    font-family: "Muli", Arial, Helvetica, sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        box-shadow 0.2s ease !important;
}

.swal-button:not([disabled]):hover {
    box-shadow: 0 10px 22px rgba(11, 63, 113, 0.18) !important;
}

.swal-button:focus,
.swal-button:active {
    box-shadow: 0 0 0 3px rgba(66, 132, 194, 0.22) !important;
    outline: none !important;
}

.swal-button--cancel {
    background: #fff !important;
    border-color: rgba(11, 63, 113, 0.22) !important;
    color: #0b3f71 !important;
}

.swal-button--cancel:hover:not([disabled]) {
    background: rgba(234, 245, 255, 0.98) !important;
    border-color: rgba(11, 63, 113, 0.34) !important;
    color: #0b3f71 !important;
}

.swal-button--confirm,
.swal-button--danger {
    background: #0b3f71 !important;
    border-color: #0b3f71 !important;
    color: #fff !important;
}

.swal-button--confirm:hover:not([disabled]),
.swal-button--danger:hover:not([disabled]) {
    background: #4284c2 !important;
    border-color: #4284c2 !important;
    color: #fff !important;
}

.swal-button--confirm:not([disabled]):active,
.swal-button--danger:not([disabled]):active {
    background: #08335d !important;
    border-color: #08335d !important;
}

.swal-footer .swal-button--loading {
    opacity: 0.75 !important;
}

@media (max-width: 575px) {
    .swal-modal {
        width: calc(100vw - 1.5rem) !important;
    }

    .swal-title {
        font-size: 1.18rem !important;
        padding-left: 1.1rem !important;
        padding-right: 1.1rem !important;
    }

    .swal-text {
        padding-left: 1.1rem !important;
        padding-right: 1.1rem !important;
        font-size: 0.92rem !important;
    }

    .swal-footer {
        padding: 0.9rem 1rem 1.05rem !important;
    }

    .swal-button-container {
        flex: 1 1 calc(50% - 0.55rem);
    }

    .swal-button {
        width: 100% !important;
    }
}
