/* ====================================
   HABECU SWEETALERT2 GLOBAL STYLE APP2
   ==================================== */

.swal2-container {
    --hb-swal-bg-top: rgba(15, 48, 20, 0.98);
    --hb-swal-bg-bottom: rgba(7, 26, 11, 0.99);
    --hb-swal-border: rgba(255, 216, 106, 0.34);
    --hb-swal-shadow: rgba(0, 0, 0, 0.4);
    --hb-swal-title: #ffd86a;
    --hb-swal-text: #f6faef;
    --hb-swal-text-soft: rgba(246, 250, 239, 0.82);
    --hb-swal-gold-strong: #ffd86a;
    --hb-swal-gold-soft: #ffe9a7;
    --hb-swal-success: #98d98d;
    --hb-swal-error: #ff9087;
}

.swal2-container.swal2-backdrop-show {
    background: rgba(4, 16, 7, 0.76) !important;
}

.swal2-popup {
    position: relative;
    overflow: hidden;
    border-radius: 18px !important;
    padding: 1.6rem 1.5rem 1.45rem !important;
    border: 1px solid var(--hb-swal-border) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%),
        linear-gradient(180deg, var(--hb-swal-bg-top) 0%, var(--hb-swal-bg-bottom) 100%) !important;
    box-shadow: 0 24px 50px var(--hb-swal-shadow) !important;
    color: var(--hb-swal-text) !important;
    font-family: "Segoe UI", Tahoma, Arial, sans-serif !important;
}

.swal2-popup:not(.swal2-toast)::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 216, 106, 0) 0%, rgba(255, 216, 106, 0.9) 50%, rgba(255, 216, 106, 0) 100%);
}

.swal2-toast {
    border-radius: 16px !important;
    border: 1px solid rgba(255, 216, 106, 0.3) !important;
    background:
        linear-gradient(180deg, rgba(18, 59, 23, 0.98) 0%, rgba(8, 28, 11, 0.99) 100%) !important;
    color: var(--hb-swal-text) !important;
    box-shadow: 0 20px 36px rgba(0, 0, 0, 0.32) !important;
}

.swal2-title {
    padding: 0 !important;
    margin: 0 0 0.45rem !important;
    font-size: 1.34rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: var(--hb-swal-title) !important;
    letter-spacing: 0.01em !important;
}

.swal2-html-container {
    margin: 0 !important;
    padding: 0.05rem 0 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: var(--hb-swal-text-soft) !important;
}

.swal2-html-container strong,
.swal2-html-container b {
    color: var(--hb-swal-text) !important;
}

.swal2-html-container a,
.swal2-footer a {
    color: var(--hb-swal-gold-soft) !important;
}

.swal2-footer {
    border-top-color: rgba(255, 216, 106, 0.16) !important;
    color: var(--hb-swal-text-soft) !important;
}

.swal2-actions {
    gap: 10px !important;
    margin: 1.3rem auto 0 !important;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny,
.HABECU-btn,
.HABECU-btn-cancel {
    min-width: 132px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0.68rem 1rem !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.01em !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease !important;
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22) !important;
}

.swal2-styled.swal2-confirm,
.HABECU-btn {
    border: 1px solid #f7d97a !important;
    background: linear-gradient(180deg, #ffe49a 0%, #ffd86a 52%, #efc34c 100%) !important;
    color: #153117 !important;
}

.swal2-styled.swal2-cancel,
.swal2-styled.swal2-deny,
.HABECU-btn-cancel {
    border: 1px solid rgba(255, 216, 106, 0.46) !important;
    background: linear-gradient(180deg, rgba(14, 43, 18, 0.98) 0%, rgba(8, 26, 11, 1) 100%) !important;
    color: #f8efca !important;
}

.swal2-styled.swal2-confirm:hover,
.swal2-styled.swal2-cancel:hover,
.swal2-styled.swal2-deny:hover,
.HABECU-btn:hover,
.HABECU-btn-cancel:hover {
    filter: brightness(1.04) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 14px 22px rgba(0, 0, 0, 0.28) !important;
}

.swal2-styled.swal2-confirm:active,
.swal2-styled.swal2-cancel:active,
.swal2-styled.swal2-deny:active,
.HABECU-btn:active,
.HABECU-btn-cancel:active {
    transform: translateY(0) !important;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2) !important;
}

.swal2-styled:focus-visible,
.HABECU-btn:focus-visible,
.HABECU-btn-cancel:focus-visible {
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(255, 216, 106, 0.26), 0 10px 20px rgba(0, 0, 0, 0.28) !important;
}

.swal2-icon {
    margin: 1.7rem auto 0.8rem !important;
}

.swal2-icon.swal2-success {
    border-color: var(--hb-swal-success) !important;
    color: var(--hb-swal-success) !important;
}

.swal2-icon.swal2-success .swal2-success-ring {
    border-color: rgba(152, 217, 141, 0.28) !important;
}

.swal2-icon.swal2-success [class^="swal2-success-line"] {
    background-color: var(--hb-swal-success) !important;
}

.swal2-icon.swal2-error {
    border-color: var(--hb-swal-error) !important;
    color: var(--hb-swal-error) !important;
}

.swal2-icon.swal2-error [class^="swal2-x-mark-line"] {
    background-color: var(--hb-swal-error) !important;
}

.swal2-icon.swal2-warning,
.swal2-icon.swal2-info,
.swal2-icon.swal2-question {
    border-color: var(--hb-swal-gold-strong) !important;
    color: var(--hb-swal-gold-strong) !important;
}

.swal2-validation-message {
    margin-top: 0.95rem !important;
    border: 1px solid rgba(255, 144, 135, 0.26) !important;
    border-radius: 12px !important;
    background: rgba(98, 22, 18, 0.28) !important;
    color: #ffe0dc !important;
}

.swal2-input,
.swal2-textarea,
.swal2-select {
    border: 1px solid rgba(255, 216, 106, 0.28) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    color: var(--hb-swal-text) !important;
    box-shadow: none !important;
}

.swal2-input::placeholder,
.swal2-textarea::placeholder {
    color: rgba(246, 250, 239, 0.55) !important;
}

.swal2-input:focus,
.swal2-textarea:focus,
.swal2-select:focus {
    border-color: rgba(255, 216, 106, 0.62) !important;
    box-shadow: 0 0 0 3px rgba(255, 216, 106, 0.14) !important;
}

.swal2-timer-progress-bar {
    background: linear-gradient(90deg, rgba(255, 216, 106, 0.95) 0%, rgba(255, 232, 163, 0.95) 100%) !important;
}

.habecu-swal-errors {
    color: inherit !important;
}
