:root {
    --success: #32c071;
    --error: #dc3545;
    --warning: #f4a100;
    --info: #0dcaf0;
    --navy: #0b2350;
}

/* Popup Container */
.alert-popup {
    width: 420px;
    max-width: 95%;
    margin: 50px auto;
}

/* Card */
.alert-card {
    width:100%;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.12);
    background: #ffffff;
    position: relative;
}

/* Top Section */
.alert-top {
    height: 200px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom-left-radius: 100% 60px;
    border-bottom-right-radius: 100% 60px;
}

/* Type Backgrounds */
.alert-popup.success .alert-top {
    background: var(--success);
}
.alert-popup.error .alert-top {
    background: var(--error);
}
.alert-popup.warning .alert-top {
    background: var(--warning);
}
.alert-popup.info .alert-top {
    background: var(--info);
}

/* Large Icon */
.alert-icon-large {
    font-size: 52px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.25);
    width: 110px;
    height: 110px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
}

/* Close Button */
.alert-close {
    position: absolute;
    top: 18px;
    right: 18px;
    background: rgba(255, 255, 255, 0.3);
    border: none;
    color: #fff;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
}

    .alert-close:hover {
        background: rgba(255, 255, 255, 0.45);
    }

/* Bottom Section */
.alert-bottom {
    padding: 30px 30px 35px;
    text-align: center;
}

.alert-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #000;
}

.alert-message {
    font-size: 15px;
    color: #555;
    margin-bottom: 28px;
    line-height: 1.6;
}

/* Buttons */
.alert-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.alert-btn {
    padding: 10px 28px;
    border-radius: 8px;
    border: none;
    font-weight: 600;
    min-width: 120px;
    transition: .2s ease;
}

/* Success */
.alert-btn-success {
    background: var(--success);
    color: #fff;
}
    .alert-btn-success:hover {
        opacity: .9;
    }

/* Danger */
.alert-btn-danger {
    background: var(--error);
    color: #fff;
}
    .alert-btn-danger:hover {
        opacity: .9;
    }

/* Warning */
.alert-btn-warning {
    background: var(--warning);
    color: #fff;
}
    .alert-btn-warning:hover {
        opacity: .9;
    }

/* Info */
.alert-btn-info {
    background: var(--info);
    color: #fff;
}
    .alert-btn-info:hover {
        opacity: .9;
    }

/* Secondary */
.alert-btn-secondary {
    background: #f1f3f6;
    color: #333;
}
    .alert-btn-secondary:hover {
        background: #e2e6ea;
    }