/* ==== MODAL UNIVERSAL ==== */
.modal,.modal-ges{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);
    display:flex;justify-content:center;align-items:center;z-index:9999;}
.oculto{display:none;}

/* ==== CAJA DEL MODAL ==== */
.modal-content,.modal-ges-content{background:#f3e9ff;border:1px solid rgba(74,25,87,.15);color:#4a1957;
    padding:2rem;width:95%;max-width:480px;border-radius:12px;box-shadow:0 0 25px rgba(0,0,0,.4);
    animation:fadeIn .25s ease;font-family:Urbanist;}

/* ==== TÍTULOS ==== */
.modal-title,.modal-ges-title{color:#4a1957;font-size:1.6rem;margin-bottom:1.5rem;text-align:center;}

/* ==== LABELS ==== */
.modal-ges-label{color:#4a1957;font-size:.9rem;margin-top:1rem;display:block;}
.modal-ges-label.required::after{content:" *";color:#ff4d4d;font-weight:bold;}

/* ==== INPUTS ==== */
.modal-input,.modal-textarea,.modal-ges-input,.modal-ges-textarea{
    width:95%;background:#fff;border:1px solid rgba(74,25,87,.25);color:#4a1957;
    padding:.7rem;border-radius:6px;margin-top:.3rem;font-size:.95rem;}
.modal-textarea,.modal-ges-textarea{height:120px;resize:none;}
.modal-ges-input.error,.modal-ges-textarea.error{border:2px solid #ff4d4d!important;}

/* ==== BOTONES ==== */
.modal-actions,.modal-ges-buttons{display:flex;justify-content:space-between;margin-top:1.5rem;}
.btn-modal-primary,.btn-ges{background:#c5a028;color:#1a0f1d;padding:.7rem 1.4rem;border:none;
    border-radius:6px;font-weight:700;cursor:pointer;transition:.2s;}
.btn-modal-primary:hover,.btn-ges:hover:not(:disabled){background:#e0b63a;}
.btn-modal-secondary,.btn-ges-sec{background:transparent;border:1px solid rgba(74,25,87,.35);color:#4a1957;
    padding:.7rem 1.4rem;border-radius:6px;cursor:pointer;transition:.2s;}
.btn-modal-secondary:hover,.btn-ges-sec:hover{background:rgba(255,255,255,.1);}

/* ==== ANIMACIÓN ==== */
@keyframes fadeIn{from{opacity:0;transform:scale(.95);}to{opacity:1;transform:scale(1);}}

/* ==== BOTONES DEL FOOTER ==== */
.footer-denuncia-row{width:100%;display:flex;justify-content:center;margin:1rem 0 2rem;}
.footer-denuncia-btn{background:#c5a028!important;color:#1a0f1d!important;padding:.8rem 2rem;border:none;
    border-radius:8px;font-weight:700;cursor:pointer;transition:.2s;font-size:1rem;display:inline-flex;
    align-items:center;gap:.6rem;box-shadow:0 0 10px rgba(0,0,0,.35);}
.footer-denuncia-btn:hover{background:#e0b63a!important;}
.footer-denuncia-btn .icon-14{width:18px;height:18px;stroke-width:2.2;}

/* ==== TOASTS ==== */
.toast-container{position:fixed;top:18vh;left:50%;transform:translateX(-50%);z-index:99999;
    display:flex;flex-direction:column;align-items:center;gap:16px;pointer-events:none;}
.toast{display:flex;align-items:center;gap:14px;padding:20px 32px;font-size:1.2rem;font-weight:600;
    border-radius:12px;color:rgb(28,2,58);opacity:0;transform:translateY(-25px) scale(.96);
    transition:all .45s cubic-bezier(.16,.82,.33,1);max-width:90vw;text-align:center;
    box-shadow:0 8px 28px rgba(0,0,0,.45);backdrop-filter:blur(4px);}
.toast.show{opacity:1;transform:translateY(0) scale(1);}
.toast::before{content:"";width:22px;height:22px;display:inline-block;background-size:contain;background-repeat:no-repeat;}
.toast.ok{background:linear-gradient(135deg,#2ecc71,#27ae60);}
.toast.err{background:linear-gradient(135deg,#e74c3c,#c0392b);}
