/*═══════════════════════════════════════════════════════════════
    Diseminado Comunicación - Dpto. Desarrollo Web
    https://dscomunicacion.es

    Copyright (c) 2026 David Carlos Soler Domínguez.

    dlys v6.0 by Estudio LTV
    ─────────────────────────────────────────────────────────────
    Estilos formularios de contacto 
    ../css/componentes/formulario.css    
═══════════════════════════════════════════════════════════════*/
.formulario { max-width: 600px; margin: 0 auto; display: flex; flex-direction: column; gap: 15px; }

.formulario .input {
    padding: 15px; 
    border: 1px solid rgb(var(--color-borde)); 
    border-radius: 8px; 
    width: 100%;
    background-color: rgb(var(--color-bg));
}

.formulario .mensaje-formulario { 
    resize: vertical; 
    padding: 15px; 
    border: 1px solid rgb(var(--color-borde)); 
    border-radius: 8px; 
    width: 100%;
    background-color: rgb(var(--color-bg));
}

.formulario .privacidad-check { 
    display: flex; 
    gap: 10px; 
    align-items: flex-start; 
    margin: 10px 0;
}

.formulario .privacidad-check .casilla { margin-top: 4px; }

.formulario .privacidad-check .con-priv {color: rgb(var(--color-bg)); font-size: 0.9rem; }

.formulario .privacidad-check .con-priv a {color: rgb(var(--color-primario)); font-size: 0.9rem; font-weight: 600;}

.formulario .privacidad-check .con-priv a:hover {color: rgb(var(--color-bg));}

.btn-formulario {
    padding: 16px 30px; 
    background: rgb(255 102 196); 
    color: #000; 
    border: 2px solid rgb(var(--color-primario)); 
    border-radius: 8px; 
    font-weight: 700; 
    cursor: pointer; 
    transition: background 0.3s;
    margin-bottom: 30px;
}

.btn-formulario:hover {
    background: rgb(var(--color-primario)/ 0);
    color: rgb(var(--color-primario));
}

#notificacion-flotante {
    position: fixed; 
    bottom: 30px; 
    right: 30px; 
    padding: 18px 28px;
    border-radius: 8px; 
    color: white; 
    z-index: 1000; 
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    animation: slideInContact 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
            
.msg-success { 
    background: #2ecc71; 
    border-left: 5px solid #27ae60; 
}
            
.msg-error { 
    background: #e74c3c; 
    border-left: 5px solid #c0392b; 
}
            
@keyframes slideInContact { 
    from { 
        transform: translateX(120%); 
        opacity: 0; 
    } 
    
    to { 
        transform: translateX(0); 
        opacity: 1; 
    } 
}